*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:default}:root{--primary-color:#4a90e2;--secondary-color:#f6a966;--success-color:#4caf50;--answered-color:#2196f3;--danger-color:#f44336;--text-color:#333;--text-light:#666;--bg-color:#f5f5f5;--card-bg:#fff;--border-color:#e0e0e0;--shadow-sm:0 2px 4px rgba(0,0,0,.1);--shadow-md:0 4px 8px rgba(0,0,0,.15);--shadow-lg:0 8px 16px rgba(0,0,0,.2);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--font-scale:1;--base-body-font:1.5rem;--base-ruby-font:0.7rem;--base-kanji-font:1.5rem;--base-line-height:3.5rem;--base-kanji-box-size:2.5rem;--base-ruby-offset-top:-2.3rem;--body-font-size:calc(var(--base-body-font)*var(--font-scale));--ruby-font-size:calc(var(--base-ruby-font)*var(--font-scale));--kanji-font-size:calc(var(--base-kanji-font)*var(--font-scale));--line-height-size:calc(var(--base-line-height)*var(--font-scale));--kanji-box-size:calc(var(--base-kanji-box-size)*var(--font-scale));--ruby-offset-top:calc(var(--base-ruby-offset-top)*var(--font-scale));--ruby-offset-right:calc((var(--kanji-box-size))*-0.2 - var(--ruby-font-size)/2)}html{height:100%;width:100%}body,html{overflow:hidden;position:fixed}body{background-color:var(--bg-color);color:var(--text-color);font-family:Hiragino Mincho ProN,MS PMincho,Noto Sans JP,sans-serif;height:100vh;height:var(--app-height,100vh);line-height:1.8;margin:0;padding:0;touch-action:pan-y pan-x;width:100vw;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body.vertical-mode{overflow:hidden}.header{animation:slideDown .5s ease-out;background:linear-gradient(120deg,#f6d365,#fda085);box-shadow:var(--shadow-md);color:#333;left:0;padding:.75rem 0;position:fixed;right:0;top:0;z-index:100}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.header-content{justify-content:space-between;margin:0 auto .5rem;max-width:1200px;padding:0 1rem}.header-title{font-size:1.4rem;font-weight:700;margin:0}.header-actions{gap:.5rem;margin-left:auto}.header-actions,.icon-btn{align-items:center;display:flex}.icon-btn{background:rgba(0,0,0,.1);border:none;border-radius:50%;color:#333;cursor:pointer;height:36px;justify-content:center;transition:var(--transition);width:36px}.icon-btn:hover{background:rgba(0,0,0,.15);transform:scale(1.1)}.icon-btn:active{transform:scale(.95)}.icon-btn.active{background:rgba(0,0,0,.25);box-shadow:0 0 0 2px hsla(0,0%,100%,.5)}.writing-mode-toggle{background:rgba(0,0,0,.1);border-radius:20px;display:flex;gap:.25rem;padding:.25rem}.mode-btn{align-items:center;background:transparent;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition);width:32px}.mode-btn:hover{background:rgba(0,0,0,.1)}.mode-btn.active{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.font-size-control{align-items:center;background:rgba(0,0,0,.1);border-radius:20px;display:flex;gap:.5rem;padding:.5rem .75rem}.font-size-label{align-items:center;color:#333;cursor:pointer;display:flex;justify-content:center}.font-scale-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.5));border-radius:10px;box-shadow:inset 0 1px 3px rgba(0,0,0,.15);cursor:pointer;height:5px;margin:-10px 0;outline:none;padding:10px 0;touch-action:pan-x;-webkit-user-select:none;user-select:none;width:100px}.font-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid rgba(51,51,51,.2);border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.1);cursor:pointer;height:18px;transition:all .2s cubic-bezier(.4,0,.2,1);width:18px;-webkit-tap-highlight-color:transparent}.font-scale-slider::-webkit-slider-thumb:hover{border-color:rgba(51,51,51,.3);box-shadow:0 3px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15);transform:scale(1.15)}.font-scale-slider::-webkit-slider-thumb:active{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 2px rgba(0,0,0,.1);transform:scale(1.1)}.font-scale-slider::-moz-range-thumb{background:linear-gradient(135deg,#fff,#f0f0f0);border:2px solid rgba(51,51,51,.2);border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15),0 1px 3px rgba(0,0,0,.1);cursor:pointer;height:18px;transition:all .2s cubic-bezier(.4,0,.2,1);width:18px}.font-scale-slider::-moz-range-thumb:hover{border-color:rgba(51,51,51,.3);box-shadow:0 3px 8px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15);transform:scale(1.15)}.font-scale-slider::-moz-range-thumb:active{background:linear-gradient(135deg,#f5f5f5,#e0e0e0);box-shadow:0 1px 4px rgba(0,0,0,.2),inset 0 1px 2px rgba(0,0,0,.1);transform:scale(1.1)}.font-scale-slider::-moz-range-track{background:linear-gradient(90deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.5));border-radius:10px;box-shadow:inset 0 1px 3px rgba(0,0,0,.15);height:5px}.font-scale-value{color:#333;font-size:.85rem;min-width:2.5rem;text-align:center}.mode-btn:active{transform:scale(.95)}.sample-loader{position:relative}.sample-menu{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:none;min-width:150px;padding:.5rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.sample-menu.active{animation:fadeIn .2s ease-out;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sample-item{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-color);cursor:pointer;font-size:.85rem;padding:.5rem .75rem;text-align:left;transition:var(--transition);width:100%}.sample-item:hover{background:var(--bg-color);color:var(--primary-color)}.progress-container{align-items:center;display:flex;gap:.6rem;margin:0 auto .4rem;max-width:1200px;padding:0 1rem}.settings-panel{margin:0 auto;max-height:0;max-width:1200px;opacity:0;overflow:hidden;padding:0 1rem;transition:all .3s ease}.settings-panel.active{margin-bottom:.75rem;max-height:200px;opacity:1}.settings-row{align-items:center;background:hsla(0,0%,100%,.35);border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;justify-content:space-between;margin-bottom:.35rem;padding:.4rem .75rem}.settings-row:last-child{margin-bottom:0}.settings-row.compact{gap:.75rem}.font-size-control-inline{align-items:center;display:flex;flex:1;gap:.5rem}.progress-count{color:#333;font-size:.8rem;font-weight:600;min-width:3rem;white-space:nowrap}.progress-count strong{font-size:1rem;font-weight:700}.progress-bar{background:hsla(0,0%,100%,.25);border-radius:10px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);flex:1;height:5px;overflow:hidden}.progress-fill{animation:progressPulse 2s ease-in-out infinite;background:linear-gradient(90deg,#2196f3,#42a5f5);border-radius:10px;height:100%;transition:width .5s ease-out}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.filter-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);color:#333;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:var(--transition);white-space:nowrap}.settings-panel .filter-btn{font-size:.8rem;padding:.35rem .7rem}.filter-btn:hover{background:rgba(0,0,0,.15)}.filter-btn.active{background:#fff;border-color:#fff;color:#ff6b6b;font-weight:600}.sort-container{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.sort-select{background:hsla(0,0%,100%,.9);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;padding:.4rem .8rem}.settings-panel .sort-select{font-size:.8rem;padding:.35rem .7rem}.main-content{display:grid;gap:1.5rem;grid-template-columns:1fr;left:0;margin:0 auto;max-width:1200px;overflow-x:hidden;overflow-y:auto;padding:1rem 1rem 2rem;position:absolute;right:0;top:0;touch-action:pan-y pan-x;transition:top .3s ease,height .3s ease;width:100%;-webkit-overflow-scrolling:touch}@media (min-width:768px){.main-content{grid-template-columns:repeat(2,1fr)}}body.vertical-mode .main-content{align-items:stretch;display:flex;flex-direction:row-reverse;gap:2rem;max-width:none;overflow-x:auto;overflow-y:hidden;padding:1rem 2rem 2rem}.question-card{animation:fadeInUp .5s ease-out backwards;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:visible;padding:1.5rem;position:relative;touch-action:auto;transition:var(--transition);-webkit-user-select:text;user-select:text}.question-card:first-child{animation-delay:.1s}.question-card:nth-child(2){animation-delay:.2s}.question-card:nth-child(3){animation-delay:.3s}.question-card:nth-child(4){animation-delay:.4s}.question-card:nth-child(5){animation-delay:.5s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.question-card.answered{background:linear-gradient(135deg,#e3f2fd,#e1f5fe);border-left:4px solid var(--answered-color)}.question-card.bookmarked{border-left:4px solid var(--secondary-color)}.question-number{color:var(--text-light);font-size:.9rem;margin-bottom:.5rem}body.vertical-mode .question-number{text-align:center}.question-body{align-items:center;display:flex;flex-wrap:wrap;font-size:var(--body-font-size);gap:calc(.1rem + .05em*var(--font-scale));line-height:var(--line-height-size);margin-bottom:1rem;transition:var(--transition)}body.vertical-mode .question-body{display:block;height:auto;line-break:strict;-webkit-line-break:after-white-space;line-height:0;margin:0 auto;max-height:100%;max-width:100%;min-width:0;overflow:visible;overflow-wrap:break-word;padding:0 3rem;text-align:start;width:fit-content;word-break:normal;writing-mode:vertical-rl}body.vertical-mode .question-card{align-items:center;display:flex;flex-direction:column;flex-shrink:0;height:100%;margin-bottom:0;max-width:100%;min-width:280px;overflow:visible;padding-bottom:100px;position:relative;width:fit-content}body.vertical-mode .text{display:inline-block;letter-spacing:.2em;line-height:1.5;margin:.1em;vertical-align:middle;writing-mode:vertical-rl}body.vertical-mode .kanji-answered,body.vertical-mode .kanji-question{display:inline-block;line-height:1;margin:calc(.1rem*var(--font-scale)) calc(.5em*var(--font-scale));vertical-align:middle;writing-mode:vertical-rl}body.vertical-mode .kanji-box,body.vertical-mode .kanji-char{height:auto;line-height:1;min-height:var(--kanji-box-size);min-width:unset;padding:.3rem 0;text-orientation:upright;width:var(--kanji-box-size);writing-mode:vertical-rl}body.vertical-mode .kanji-answered .reading,body.vertical-mode .kanji-question .reading{align-items:center;bottom:auto;display:inline-block;font-size:var(--ruby-font-size);height:auto;justify-content:center;left:auto;letter-spacing:0;line-height:1;margin-top:0;padding:0;position:absolute;right:var(--ruby-offset-right);text-orientation:upright;top:50%;transform:translateY(-50%);white-space:nowrap;width:var(--ruby-font-size);writing-mode:vertical-rl}.kanji-answered,.kanji-question{align-items:center;display:inline-flex;flex-direction:column;margin:0 calc(.25rem + .05em*var(--font-scale));position:relative}.kanji-box{align-items:center;background:#fff;border:2px solid var(--primary-color);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:var(--kanji-font-size);height:var(--kanji-box-size);justify-content:center;min-width:var(--kanji-box-size);padding:0 .3rem;transition:var(--transition);white-space:nowrap}.kanji-box:hover{background:rgba(66,133,244,.1);transform:scale(1.1)}.kanji-box:active{transform:scale(.95)}.reading{color:var(--text-light);font-size:var(--ruby-font-size);left:50%;position:absolute;top:var(--ruby-offset-top);transform:translateX(-50%);white-space:nowrap}.kanji-ruby{align-items:center;display:inline-flex;flex-direction:column;margin:0 calc(.25rem + .05em*var(--font-scale));position:relative}.kanji-ruby .kanji-char{background:none;border:none;color:var(--text-color);font-size:var(--body-font-size);font-weight:400;height:auto;line-height:1;min-width:auto;padding:0}.kanji-ruby .reading{color:var(--text-light);font-size:var(--ruby-font-size);left:50%;position:absolute;top:var(--ruby-offset-top);transform:translateX(-50%);white-space:nowrap}body.vertical-mode .kanji-ruby{display:inline-block;line-height:1;margin:calc(.1rem*var(--font-scale)) calc(.5em*var(--font-scale));vertical-align:middle;writing-mode:vertical-rl}body.vertical-mode .kanji-ruby .kanji-char{line-height:1;text-orientation:upright;writing-mode:vertical-rl}body.vertical-mode .kanji-ruby .reading{bottom:auto;display:inline-block;height:auto;left:auto;padding:0;position:absolute;right:var(--ruby-offset-right);text-orientation:upright;top:50%;transform:translateY(-50%);white-space:nowrap;width:var(--ruby-font-size);writing-mode:vertical-rl}@keyframes revealAnswer{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.kanji-char{align-items:center;background:#fff;border:2px solid var(--answered-color);border-radius:var(--radius-sm);color:var(--answered-color);display:inline-flex;font-size:var(--kanji-font-size);font-weight:600;height:var(--kanji-box-size);justify-content:center;min-width:var(--kanji-box-size);padding:0 .3rem}.question-actions{display:flex;gap:.5rem;margin-top:1rem}body.vertical-mode .question-actions{bottom:1rem;flex-direction:row;left:0;margin-top:0;padding:0 2rem;position:absolute;right:0}.action-btn,body.vertical-mode .question-actions{align-items:center;display:flex;justify-content:center}.action-btn{background:var(--bg-color);border:1px solid var(--border-color);border-radius:50%;color:var(--text-light);cursor:pointer;flex-shrink:0;height:40px;max-height:40px;max-width:40px;min-height:40px;min-width:40px;overflow:hidden;position:relative;transition:var(--transition);width:40px}.action-btn:hover{background:rgba(66,133,244,.1);border-color:var(--primary-color);transform:scale(1.1)}.action-btn:active{transform:scale(.9)}.action-btn:before{background:hsla(0,0%,100%,.5);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;width:0}.action-btn:active:before{height:100%;width:100%}.bookmark-btn.bookmarked{background:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.check-btn.checked{background:var(--success-color);border-color:var(--success-color);color:#fff}.action-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.completion-badge{align-items:center;animation:bounceIn .5s ease-out;background:var(--answered-color);border-radius:50%;box-shadow:var(--shadow-md);color:#fff;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;right:-10px;top:-10px;width:50px}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (min-width:768px){.main-content{grid-template-columns:repeat(2,1fr)}.header-title{font-size:2rem}}@media (max-width:768px){.header{padding:.75rem .5rem}.header-content{gap:.5rem;padding:0 .5rem}.header-title{flex-shrink:1;font-size:1.2rem;min-width:0;white-space:nowrap}.header-actions{flex-shrink:0;gap:.25rem}.icon-btn{height:36px;padding:.4rem;width:36px}.icon-btn svg{height:18px;width:18px}.hamburger-btn{flex-shrink:0}.filter-container{align-items:stretch;flex-direction:column}.filter-buttons,.sort-container{justify-content:center}.question-body{font-size:1.3rem}.fab-container{bottom:1rem;right:1rem}.fab{height:50px;width:50px}.completion-message{font-size:1.1rem!important;max-width:85vw!important;padding:2rem 2.5rem!important}}@media (max-width:390px){.header{padding:.5rem .25rem}.header-content{gap:.25rem;padding:0 .25rem}.header-title{font-size:1rem}.header-actions{gap:.15rem}.icon-btn{height:32px;padding:.35rem;width:32px}.icon-btn svg{height:16px;width:16px}}@media screen and (min-width:481px) and (max-width:1024px){.completion-message{font-size:1.2rem!important;max-width:70vw!important;padding:2.2rem 3rem!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,select:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.hamburger-btn{margin-right:.5rem}.side-menu{background:#fff;box-shadow:2px 0 10px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100vh;left:-300px;position:fixed;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:1000}.side-menu.active{left:0}.side-menu-header{align-items:center;background:var(--primary-color);border-bottom:1px solid var(--border-color);color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.side-menu-title{font-size:1.25rem;font-weight:700;margin:0}.close-menu-btn{background:transparent;color:#fff}.close-menu-btn:hover{background:hsla(0,0%,100%,.1)}.side-menu-nav{flex:1;overflow-y:auto;padding:1rem 0}.side-menu-item{align-items:center;border-left:4px solid transparent;color:var(--text-color);display:flex;gap:1rem;padding:1rem 1.5rem;text-decoration:none;transition:background .2s ease}.side-menu-item:hover{background:var(--bg-color)}.side-menu-item.active{background:rgba(74,144,226,.1);border-left-color:var(--primary-color);color:var(--primary-color);font-weight:700}.side-menu-item svg{flex-shrink:0}.side-menu-item span{font-size:1rem}.side-menu-item[type=button],button.side-menu-item{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left;width:100%}.drill-modal{align-items:center;background:rgba(0,0,0,.5);display:none;height:100%;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100%;z-index:10000}.drill-modal.active{display:flex}.drill-modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:600px;width:100%}.drill-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem}.drill-modal-header h2{flex:1;font-size:1.3rem;margin:0}.drill-modal-controls{align-items:center;display:flex;gap:.75rem}.drill-sort-select{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:var(--transition)}.drill-sort-select:focus,.drill-sort-select:hover{border-color:var(--primary-color)}.drill-sort-select:focus{box-shadow:0 0 0 2px rgba(74,144,226,.1);outline:none}.drill-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-light);cursor:pointer;display:flex;flex-shrink:0;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:var(--transition);width:32px}.drill-modal-close:hover{background:var(--bg-color);color:var(--text-color)}.drill-modal-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.tag-filters{border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;padding:1.5rem 1.5rem 1rem}.tag-filter-btn{background:#fff;border:1px solid var(--border-color);border-radius:1rem;color:var(--text-color);cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.tag-filter-btn:hover{background:#f0f7ff;border-color:var(--primary-color)}.tag-filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.saved-problems-list{display:flex;flex:1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:1.5rem}.saved-problems-empty{color:var(--text-light);font-size:.9rem;padding:2rem 1rem;text-align:center}.saved-problem-item{align-items:flex-start;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.saved-problem-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(74,144,226,.1);transform:translateY(-1px)}.saved-problem-info{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:0}.saved-problem-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.saved-problem-title{flex:1;font-size:.95rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-problem-badges{display:flex;flex-shrink:0;gap:.3rem}.badge{align-items:center;border-radius:1rem;display:inline-flex;font-size:.7rem;font-weight:600;padding:.15rem .5rem;white-space:nowrap}.badge-revision{background:#e3f2fd;color:#1976d2}.badge-count{background:#f3e5f5;color:#7b1fa2}.saved-problem-progress{align-items:center;display:flex;gap:.5rem}.saved-problem-progress .progress-bar{background:#e0e0e0;border-radius:3px;flex:1;height:6px;overflow:hidden}.saved-problem-progress .progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);height:100%;transition:width .3s ease}.progress-text{color:var(--text-light);font-size:.7rem;min-width:80px;text-align:right;white-space:nowrap}.saved-problem-tags{display:flex;flex-wrap:wrap;gap:.3rem}.tag-chip{align-items:center;background:#f5f5f5;border-radius:.75rem;color:var(--text-color);display:inline-flex;font-size:.7rem;font-weight:500;padding:.15rem .5rem}.tag-chip.tag-more{background:#e0e0e0;color:var(--text-light)}.saved-problem-meta{color:var(--text-light);display:flex;flex-wrap:wrap;font-size:.72rem;gap:.5rem}.saved-problem-delete{align-self:flex-start;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;flex-shrink:0;padding:.25rem;transition:all .2s ease}.saved-problem-delete:hover{background:#ffebee;color:#c62828}.drill-notification{background:var(--primary-color);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;font-size:.9rem;font-weight:500;left:50%;opacity:0;padding:1rem 1.5rem;pointer-events:none;position:fixed;top:80px;transform:translateX(-50%);transition:opacity .3s ease;z-index:10001}.drill-notification.show{opacity:1}.menu-overlay{background:rgba(0,0,0,.5);height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:999}.menu-overlay.active{opacity:1;visibility:visible}.header-content{align-items:center;display:flex}.settings-modal{animation:fadeIn .2s ease;background:rgba(0,0,0,.5);display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:10000}.settings-modal.active{align-items:center;display:flex;justify-content:center}.settings-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.settings-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.settings-modal-header h2{color:var(--text-color);font-size:1.25rem;font-weight:600;margin:0}.settings-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-light);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.settings-modal-close:hover{background:var(--bg-hover);color:var(--text-color)}.settings-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.settings-section h3{border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.setting-item{margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{color:var(--text-color);display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.slider-container{align-items:center;display:flex;gap:1rem}.slider-container input[type=range]{flex:1}.font-scale-value{color:var(--primary-color);font-weight:600;min-width:3rem;text-align:right}.toggle-switch{display:inline-block}.toggle-checkbox{display:none}.toggle-label{background:#ccc;border-radius:26px;cursor:pointer;display:block;height:26px;position:relative;transition:background .3s;width:50px}.toggle-checkbox:checked+.toggle-label{background:var(--primary-color)}.toggle-switch-handle{background:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);display:block;height:22px;left:2px;position:absolute;top:2px;transition:transform .3s;width:22px}.toggle-checkbox:checked+.toggle-label .toggle-switch-handle{transform:translateX(24px)}.danger-section{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #f44;border-radius:var(--radius-md);padding:1rem}.danger-section h3{border-bottom-color:#f44;color:#c00}.danger-item{margin-bottom:0}.danger-warning{background:#fff;border-left:4px solid #f44;border-radius:var(--radius-sm);margin-bottom:1rem;padding:1rem}.danger-warning p{color:#c00;font-size:.9rem;line-height:1.5;margin:0 0 .5rem}.danger-warning p:last-child{margin-bottom:0}.danger-warning ul{list-style-type:disc;margin:.5rem 0;padding-left:1.5rem}.danger-warning li{color:#c00;font-size:.9rem;line-height:1.5;margin:.25rem 0}.danger-warning .warning-note{border-top:1px solid #fcc;font-size:.85rem;font-weight:600;margin-top:.75rem;padding-top:.75rem}.btn-danger{align-items:center;background:linear-gradient(135deg,#f44,#c00);border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(255,68,68,.3);color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s;width:100%}.btn-danger:hover{background:linear-gradient(135deg,#c00,#900);box-shadow:0 6px 16px rgba(255,68,68,.4);transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)}.btn-danger svg{height:16px;width:16px}.empty-state{align-items:center;display:none;flex-direction:column;justify-content:center;min-height:60vh;padding:3rem 1.5rem;text-align:center}.empty-state.visible{display:flex}.empty-state-icon{animation:bounce 2s ease-in-out infinite;font-size:4rem;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);font-size:1rem;margin:0 0 2rem}.empty-state-actions{display:flex;flex-direction:column;gap:1rem;max-width:320px;width:100%}.empty-state-btn{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s}.empty-state-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.empty-state-btn.primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;color:#fff}.empty-state-btn.primary:hover{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));box-shadow:0 4px 16px rgba(74,144,226,.4);transform:translateY(-2px)}.empty-state-btn svg{height:20px;width:20px}@media (max-width:768px){.settings-modal-content{max-height:90vh;max-width:95%}.settings-modal-body,.settings-modal-header{padding:1rem}.settings-section h3{font-size:.95rem}}