*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body.modal-open{overflow:hidden;touch-action:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;min-height:100vh;padding:0;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:100%;margin:0;background:#fff;border-radius:0;padding:16px;min-height:100vh;overflow-x:hidden}header{margin-bottom:30px}header h1{color:#1f2937}.stats{color:#6b7280}.settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end}.settings-modal.hidden{display:none}.settings-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;transition:opacity .25s ease;opacity:1}.settings-modal.closing .settings-modal-backdrop{opacity:0}.settings-modal-sheet{position:relative;width:100%;max-height:80vh;background:#f8fafc;border-radius:20px 20px 0 0;overflow-y:auto;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}.settings-modal.closing .settings-modal-sheet{animation:slideDown .22s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.93) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.93) translateY(6px)}}@keyframes popIn{0%{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#f8fafc;z-index:1}.settings-modal-title{font-size:16px;font-weight:700;color:#1e293b}.settings-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;display:flex;align-items:center}.settings-modal-body{padding:16px 20px 32px;display:flex;flex-direction:column;gap:16px}.settings-section{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.settings-section:last-child{border-bottom:none;padding-bottom:0}.settings-lang-row{display:flex;align-items:center;gap:10px;width:100%}.settings-lang-label{font-size:.82rem;color:#64748b;font-weight:500;min-width:28px}.settings-section:before{content:attr(data-label);font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;width:100%}.control-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.btn-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:28px 12px 12px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;position:relative;flex:1 1 0;min-width:0;margin-top:6px}.btn-group:before{content:attr(data-label);position:absolute;top:6px;left:12px;padding:0;font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;z-index:1;pointer-events:none}.btn-group.ai-group{background:linear-gradient(180deg,#faf5ff,#f3e8ff);border-color:#e9d5ff}.btn-group.ai-group:before{color:#a78bfa}.btn-group.ai-group #connection-status{position:absolute;top:8px;right:10px}.mode-btn{padding:7px 10px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;color:#64748b;white-space:nowrap;flex:1;text-align:center}.mode-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0f9ff}.mode-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.btn-icon{width:17px;height:17px;display:inline-block;vertical-align:-.2em;flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:34px;height:34px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:7px;cursor:pointer;color:#64748b;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.icon-btn--text{width:auto;padding:0 10px;font-size:12px;font-weight:600}.icon-btn:hover{background:#f0f9ff;border-color:#0891b2;color:#0891b2}.icon-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}body.dark-mode .icon-btn{background:#2d3748;border-color:#4b5563;color:#94a3b8}body.dark-mode .icon-btn:hover{background:#374151;border-color:#7dd3fc;color:#7dd3fc}@media(max-width:900px){.control-row{gap:8px}}@media(max-width:768px){.control-row{gap:8px;flex-wrap:wrap}.btn-group{flex:1 1 auto;min-width:140px}.mode-btn{padding:8px 12px;font-size:12px}}@media(max-width:750px)and (min-width:481px){.font-size-selector{flex-direction:column}.control-row:last-child .btn-group{flex:1 1 100%;min-width:100%;flex-direction:column;align-items:stretch}.control-row:last-child .btn-group .mode-btn{width:100%}.ai-btn{width:100%!important;flex:none!important}}@media(max-width:480px){.control-panel{padding:12px 8px}.control-row{gap:6px}.btn-group,.control-row:first-child .btn-group,.control-row:last-child .btn-group{padding:32px 10px 10px;flex:1 1 100%;min-width:100%}.btn-group:before{font-size:10px;top:8px;left:10px}.mode-btn{padding:10px 12px;font-size:12px;flex:1}.set-select{padding:10px 12px;font-size:13px;width:100%}.btn-group.ai-group{flex-direction:column;align-items:stretch}.ai-btn{width:100%!important;flex:none!important;margin-top:0!important}}.question-container{margin-top:20px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-number{font-size:18px;font-weight:700;color:#0891b2;letter-spacing:-.3px}.mistake-badge{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:5px 12px;border-radius:12px;font-size:12px;font-weight:600;border:1px solid rgba(239,68,68,.15);letter-spacing:.2px}.question-text{font-size:18px;line-height:1.8;color:#1f2937;margin-bottom:25px;white-space:normal}.question-text pre.question-code-block{background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0;padding:18px 20px;border-radius:10px;overflow-x:auto;white-space:pre;font-size:.85em;line-height:1.6;margin:14px 0;border:1px solid #334155;box-shadow:0 4px 16px #0f172a33}.bilingual-question{width:100%}.bilingual-divider{display:flex;align-items:center;gap:10px;margin:16px 0}.bilingual-line{flex:1;height:1px;background:linear-gradient(to right,#e2e8f0,#cbd5e1,#e2e8f0)}.lang-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.05em;line-height:1.6;flex-shrink:0}.lang-en{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.lang-kr{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.question-text code.inline-code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:.88em;color:#e11d48;word-break:break-all}body.dark-mode .question-text code.inline-code{background:#1e293b;color:#f87171}.question-text pre.question-code-block code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;background:none;padding:0;color:inherit;font-size:inherit}.options{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);margin-bottom:20px;box-shadow:0 4px 14px #0891b259;letter-spacing:.3px}.submit-btn:hover{background:linear-gradient(135deg,#0e7490,#3730a3);box-shadow:0 6px 20px #0891b273;transform:translateY(-1px)}.submit-btn:active{transform:scale(.98);box-shadow:0 2px 8px #0891b24d}@keyframes quizResultPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}30%{transform:translate(-50%,-50%) scale(1)}65%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.85)}}.result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;pointer-events:none;min-width:180px;text-align:center}.result:not(.hidden){animation:quizResultPop 1.1s cubic-bezier(.4,0,.2,1) forwards}.correct-result{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;padding:18px 32px;border-radius:16px;border:1px solid rgba(16,185,129,.25);box-shadow:0 8px 32px #10b98140;font-size:22px;font-weight:700}.wrong-result{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:18px 32px;border-radius:16px;border:1px solid rgba(239,68,68,.25);box-shadow:0 8px 32px #ef444440;font-size:22px;font-weight:700}.explanation{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:24px;border-radius:14px;margin-bottom:20px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.explanation h3{display:flex;align-items:center;gap:6px;color:#1f2937;margin-bottom:12px;font-size:16px}.explanation-content{color:#4b5563;line-height:1.8;font-size:15px;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden}.explanation-content pre,.ai-explanation-content pre{overflow-x:auto;white-space:pre-wrap;word-break:break-all}.expl-divider{border:none;height:1px;background:linear-gradient(90deg,transparent 0%,#d1d5db 15%,#d1d5db 85%,transparent 100%);margin:24px 0}.ai-explanation-content .expl-divider{background:linear-gradient(90deg,transparent 0%,#e9d5ff 20%,#e9d5ff 80%,transparent 100%)}.navigation{display:flex;flex-direction:column;gap:10px}.nav-row{display:flex;gap:10px}.nav-top{margin:16px 0;flex-direction:row}.nav-btn{flex:1;padding:14px;background:#f8fafc;color:#374151;border:1px solid #e5e7eb;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;justify-content:center;gap:5px}.nav-btn:hover{background:#f1f5f9;border-color:#bae6fd;box-shadow:0 3px 10px #0891b214;transform:translateY(-1px)}.nav-btn:active{transform:scale(.98);box-shadow:none}#app{max-width:600px;margin:0 auto}.screen{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px #0000000f;min-height:80vh;border:1px solid #e8ecf0}.hidden{display:none!important}header{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:20px;gap:8px 12px}header h1{margin:0;font-size:22px;flex-shrink:0;color:#0891b2}header .stats{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:#6b7280;white-space:nowrap;margin-left:auto;align-items:center;justify-content:flex-end}header .stats #streak-badge{order:10;flex-basis:100%;max-width:max-content;margin-left:auto}h1,h2{color:#0891b2;font-size:28px}.back-btn{background:#f3f4f6;border:none;padding:10px 15px;border-radius:10px;font-size:18px;cursor:pointer;color:#0891b2}.stats-container{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.stat-card{background:#0891b2;padding:20px;border-radius:10px;text-align:center;color:#fff}.stat-number{font-size:32px;font-weight:700;margin-bottom:5px}.stat-label{font-size:12px;opacity:.9}.button-container{display:flex;flex-direction:column;gap:15px}.primary-btn,.secondary-btn,.danger-btn{padding:18px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.primary-btn{background:#0891b2;color:#fff}.secondary-btn{background:#f3f4f6;color:#0891b2}.danger-btn{background:#ef4444;color:#fff}.primary-btn:active,.secondary-btn:active,.danger-btn:active{transform:scale(.98)}.progress-bar{background:#e5e7eb;height:6px;border-radius:10px;overflow:hidden;margin-bottom:10px}.progress-fill{background:linear-gradient(90deg,#0891b2,#0e7490);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-text{text-align:center;color:#6b7280;margin-bottom:30px;font-weight:600}.question-container{margin-bottom:30px}#question-text{margin-bottom:25px;line-height:1.6;color:#1f2937}#options-container{display:flex;flex-direction:column;gap:12px}.option{padding:18px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:16px;background:#fff;box-shadow:0 1px 3px #0000000a}.option:hover{border-color:#bae6fd;box-shadow:0 4px 12px #0891b214;transform:translateY(-1px)}.option:active{transform:scale(.98);box-shadow:0 1px 3px #0000000a}.option.selected{border-color:#0891b2;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);box-shadow:0 4px 16px #0891b226}.option.correct{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 4px 16px #10b98126}.option.wrong{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 4px 16px #ef444426}.quiz-actions{display:flex;gap:10px}.quiz-actions button{flex:1}#wrong-list{display:flex;flex-direction:column;gap:20px}.wrong-item{background:#fef2f2;padding:20px;border-radius:12px;border-left:4px solid #ef4444}.wrong-item h4{color:#991b1b;margin-bottom:15px;font-size:16px}.wrong-item .answer-info{margin-top:10px;padding-top:10px;border-top:1px solid #fecaca;font-size:14px;color:#7f1d1d}.data-manager{display:flex;flex-direction:column;gap:15px}.data-manager h3{color:#0891b2;margin-bottom:10px}#json-input{width:100%;min-height:300px;padding:15px;border:2px solid #e5e7eb;border-radius:12px;font-family:Courier New,monospace;font-size:14px;resize:vertical}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#02061773;z-index:1200;padding:20px;transition:opacity .22s ease,visibility .22s ease;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(4px) saturate(120%);backdrop-filter:blur(4px) saturate(120%)}.modal:not(.hidden){opacity:1;visibility:visible;pointer-events:auto}.modal.closing{opacity:0;visibility:hidden;pointer-events:none}.modal.hidden{display:none}.modal-content{position:relative;width:94%;max-width:900px;max-height:82vh;overflow:auto;background:linear-gradient(180deg,#fffffffa,#fafafafa);border-radius:16px;padding:24px 26px;box-shadow:0 12px 40px #02061759;border:1px solid rgba(2,6,23,.06);transform:translateY(16px) scale(.96);opacity:0;transition:transform .24s cubic-bezier(.34,1.2,.64,1),opacity .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal:not(.hidden) .modal-content{transform:translateY(0) scale(1);opacity:1}.modal.closing .modal-content{transform:translateY(16px) scale(.96);opacity:0}.modal-content h2{margin:0 0 10px;font-size:1.15rem;display:flex;align-items:center;gap:8px;color:#0f172a}.modal-content h3,.modal-content h4{display:flex;align-items:center;gap:6px}.help-content{font-size:.98rem;line-height:1.6;color:#0b1220}.help-content ol{padding-left:1rem;margin:0}.help-content li{margin:8px 0;padding:10px 12px;background:linear-gradient(180deg,#fff,#f7f9fb);border-radius:8px;border:1px solid rgba(15,23,42,.03)}.help-sections section{margin-bottom:16px}.help-sections h4{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0891b2;margin:0 0 6px;display:flex;align-items:center;gap:5px}.help-sections ol{padding-left:0;margin:0;list-style:none;counter-reset:help-ol}.help-sections ul{padding-left:0;margin:0;list-style:none}.help-sections li{position:relative;margin:0;padding:3px 0 3px 18px;background:none;border:none;border-radius:0;font-size:.9rem;line-height:1.6;color:#374151}.help-sections ul li:before{content:"";position:absolute;left:4px;top:calc(3px + .72em);width:5px;height:5px;border-radius:50%;background:#0891b2;opacity:.55}.help-sections ol li{counter-increment:help-ol;padding-left:26px}.help-sections ol li:before{content:counter(help-ol);position:absolute;left:0;top:4px;width:17px;height:17px;background:#0891b21a;color:#0891b2;border-radius:50%;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.help-sections code{background:#0891b214;color:#0e7490;padding:1px 5px;border-radius:4px;font-size:.82em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.help-sections section+section{border-top:1px solid rgba(15,23,42,.06);padding-top:14px}.help-tmpl-desc{font-size:.85rem;color:#64748b;margin:0 0 10px;line-height:1.5}.help-fab-list{padding-left:0!important}.help-fab-list li{display:flex!important;align-items:center!important;gap:8px!important;padding:4px 0!important}.help-fab-list li:before{display:none!important}.help-fab-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;border-radius:7px;background:#0891b214;color:#0891b2;flex-shrink:0}body.dark-mode .help-fab-icon{background:#38bdf81f;color:#38bdf8}.template-btns{display:flex;gap:8px;flex-wrap:wrap}.template-btns .btn-secondary{font-size:.85rem;padding:7px 14px;border-radius:8px}body.dark-mode .help-sections li{color:#cbd5e1}body.dark-mode .help-sections h4{color:#38bdf8}body.dark-mode .help-sections ul li:before{background:#38bdf8}body.dark-mode .help-sections ol li:before{background:#38bdf826;color:#38bdf8}body.dark-mode .help-sections code{background:#38bdf81a;color:#67e8f9}body.dark-mode .help-sections section+section{border-top-color:#ffffff12}body.dark-mode .help-tmpl-desc{color:#94a3b8}.help-content code{background:#0f172a0a;padding:2px 6px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,monospace;font-size:.92em}.modal-content::-webkit-scrollbar{width:10px;height:8px}.modal-content::-webkit-scrollbar-thumb{background:#0f172a1a;border-radius:8px}@media(max-width:520px){.modal-content{padding:16px;max-width:96%}.help-content li{font-size:.95rem;padding:8px}}.upload-section{margin:20px 0}.upload-item{margin:15px 0;padding:15px;background:#f9fafb;border-radius:8px}.upload-item label{display:block;margin-bottom:8px;color:#374151}.upload-item input[type=file]{display:block;margin-top:8px;padding:8px;width:100%;border:2px dashed #d1d5db;border-radius:6px;cursor:pointer}.upload-item input[type=file]:hover{border-color:#0891b2}.upload-status{display:block;margin-top:8px;font-size:14px;font-weight:500}.modal-buttons{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}#update-modal .modal-buttons .btn-primary{width:100%;text-align:center}.btn-primary,.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#0891b2;color:#fff}.btn-primary:hover{background:#0e7490}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger-soft{color:#ef4444!important;border-color:#ef4444!important}.btn-danger-soft:hover{background:#ef44441a!important}.badges{display:flex;gap:10px;align-items:center}.verified-badge{padding:5px 12px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.2px}.verified-badge.verified{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid rgba(16,185,129,.15)}.verified-badge.unverified{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid rgba(239,68,68,.15)}.verify-buttons{display:flex;gap:10px;margin-bottom:15px}.verify-btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.verify-correct{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;box-shadow:0 2px 8px #10b98126}.verify-correct:hover{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.verify-wrong{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;box-shadow:0 2px 8px #ef444426}.verify-wrong:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.reset-wrong-btn{width:100%;padding:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:15px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #f59e0b40}.reset-wrong-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 5px 14px #f59e0b59}.reset-wrong-btn:active{transform:scale(.98);box-shadow:0 2px 6px #f59e0b33}.ai-explain-inline-btn{width:100%;padding:14px;background:linear-gradient(135deg,#0e7490,#06b6d4);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:15px;transition:all .2s;box-shadow:0 4px 12px #8b5cf64d}.ai-explain-inline-btn:hover{background:linear-gradient(135deg,#0e7490,#4f46e5);transform:translateY(-2px);box-shadow:0 6px 16px #8b5cf666}.ai-explain-inline-btn:active{transform:scale(.98)}.ai-explain-inline-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.set-selector{display:flex;align-items:center;gap:8px}.set-selector label{font-size:14px;font-weight:600;color:#374151}.set-size-wrap{display:flex;align-items:center;gap:4px;margin-bottom:6px}.set-size-input{width:64px;padding:6px 8px;border:2px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:600;color:#374151;background:#fff;text-align:center;transition:border-color .2s;-moz-appearance:textfield}.set-size-input::-webkit-inner-spin-button,.set-size-input::-webkit-outer-spin-button{opacity:1}.set-size-input:focus{outline:none;border-color:#0891b2}.set-size-label{font-size:12px;color:#6b7280;font-weight:500}body.dark-mode .set-size-input{background:#1f2937;border-color:#374151;color:#e2e8f0}.set-select{padding:10px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:600;background:#fff;cursor:pointer;color:#374151;transition:all .2s;width:100%}.set-select:hover{border-color:#0891b2}.set-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.set-select:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.goto-question{display:flex;gap:8px;align-items:center}#goto-input{width:100px;padding:10px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;text-align:center;transition:all .2s}#goto-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}#goto-input:focus-visible{outline:2px solid #0891b2;outline-offset:2px}#goto-input::-webkit-inner-spin-button,#goto-input::-webkit-outer-spin-button{opacity:1}.goto-btn{padding:10px 20px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #0891b240}.goto-btn:hover{background:linear-gradient(135deg,#0e7490,#3730a3);transform:translateY(-1px);box-shadow:0 4px 12px #0891b259}.goto-btn:active{transform:scale(.98);box-shadow:0 1px 4px #0891b233}@media(max-width:600px){.goto-question{width:100%}#goto-input{flex:1}}.save-btn{background:#10b981!important;color:#fff!important;border-color:#10b981!important}.save-btn:hover{background:#059669!important;border-color:#059669!important}.font-size-selector{display:flex;gap:4px;border:none;border-radius:0;padding:0;background:transparent;width:100%;justify-content:center}.font-btn{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;color:#6b7280;transition:all .2s;flex:1;max-width:none}.font-btn:hover{background:#f3f4f6}.font-btn.active{background:#0891b2;color:#fff}.font-size-s .question-text{font-size:14px;line-height:1.6}.font-size-s .question-text pre.question-code-block{font-size:11px}.font-size-s .option,.font-size-s .explanation-content{font-size:13px}.font-size-m .question-text{font-size:16px;line-height:1.7}.font-size-m .question-text pre.question-code-block{font-size:12px}.font-size-m .option,.font-size-m .explanation-content{font-size:14px}.font-size-l .question-text{font-size:18px;line-height:1.8}.font-size-l .question-text pre.question-code-block{font-size:14px}.font-size-l .option{font-size:16px}.font-size-l .explanation-content{font-size:15px}.font-size-xl .question-text{font-size:20px;line-height:1.9}.font-size-xl .question-text pre.question-code-block{font-size:15px}.font-size-xl .option{font-size:18px}.font-size-xl .explanation-content{font-size:17px}.dashboard-title{display:flex;align-items:baseline;gap:8px}.app-version{font-size:11px;color:#94a3b8;font-weight:500;cursor:pointer;transition:color .15s}.app-version:hover{color:#0891b2}.cached-data-info{position:absolute;left:12px;top:36px;font-size:11px;color:#6b7280;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .2s}.cached-data-info:hover{color:#ef4444;background:#ef44441a}.ai-btn{background:linear-gradient(135deg,#0e7490,#06b6d4)!important;color:#fff!important;border-color:#0e7490!important;position:relative;overflow:hidden}.ai-btn:hover{background:linear-gradient(135deg,#0e7490,#4f46e5)!important;border-color:#0e7490!important;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.ai-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.auto-saved-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-explanation-header h3{display:flex;align-items:center;gap:6px;margin:0;color:#0e7490}.ai-explanation{background:linear-gradient(180deg,#faf5ff,#f3e8ff);border:2px solid #e9d5ff;border-radius:12px;padding:20px;margin:20px 0}.ai-explanation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.ai-explanation-header h3{color:#0e7490;font-size:18px;margin:0;display:flex;align-items:center;gap:8px}.ai-lang-toggle{display:flex;gap:8px}.ai-lang-toggle button{padding:6px 16px;border:2px solid #e9d5ff;background:#fff;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;color:#0e7490}.ai-lang-toggle button:hover{border-color:#c084fc;background:#faf5ff}.ai-lang-toggle button.active{background:#0e7490;color:#fff;border-color:#0e7490}.ai-explanation-content{color:#374151;line-height:1.7;font-size:15px}.ai-explanation-content h4,.ai-explanation-content .expl-h2{color:#0e7490;margin:24px 0 12px;font-size:17px;font-weight:700;border-bottom:2px solid #e9d5ff;padding-bottom:8px}.ai-explanation-content h4:first-child,.ai-explanation-content .expl-h2:first-of-type{margin-top:0}.ai-explanation-content h5,.ai-explanation-content .expl-h3{color:#6d28d9;margin:16px 0 8px;font-size:15px;font-weight:600}.ai-explanation-content strong{color:#1f2937;font-weight:600}.ai-explanation-content p{margin:0 0 12px}.ai-explanation-content ul{margin:8px 0 16px;padding-left:20px;list-style:none}.ai-explanation-content li{position:relative;padding:8px 12px 8px 24px;margin:6px 0;background:#7c3aed0d;border-radius:8px;border-left:3px solid #c4b5fd}.ai-explanation-content li:before{content:"•";position:absolute;left:10px;color:#0e7490;font-weight:700}.ai-explanation-content code{background:#ede9fe;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.9em}.ai-explanation-content .check-correct{color:#059669}.ai-explanation-content .check-wrong{color:#dc2626}.expl-title{color:#5b21b6;margin:24px 0 14px;font-size:19px;font-weight:800;border-bottom:2px solid #c4b5fd;padding-bottom:10px;letter-spacing:-.3px}.expl-title:first-child{margin-top:0}.expl-label{margin:12px 0 4px;font-size:14px;color:#4c1d95;line-height:1.5}.expl-section{color:#0e7490;margin:20px 0 12px;font-size:17px;font-weight:700;border-bottom:2px solid #e9d5ff;padding-bottom:8px}.expl-section:first-child{margin-top:0}.expl-subsection{color:#6d28d9;margin:16px 0 10px;font-size:15px;font-weight:600}.expl-para{margin:0 0 10px;line-height:1.7}.expl-table-wrap{overflow-x:auto;margin:12px 0}.expl-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9em;line-height:1.5;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.expl-table th,.expl-table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;padding:10px 14px;text-align:left}.expl-table th:last-child,.expl-table td:last-child{border-right:none}.expl-table tr:last-child td{border-bottom:none}.expl-table th{background:linear-gradient(180deg,#f8fafc,#f1f5f9);font-weight:700;color:#1e293b;font-size:.85em;text-transform:uppercase;letter-spacing:.3px}.expl-table tr:nth-child(2n) td{background:#fafbfc}.expl-table td strong{color:#059669}.expl-list{margin:8px 0 16px;padding:0;list-style:none}.expl-list li{position:relative;padding:10px 14px 10px 28px;margin:6px 0;background:linear-gradient(135deg,#7c3aed0d,#6366f108);border-radius:8px;border-left:3px solid #c4b5fd;line-height:1.6;transition:background .2s}.expl-list li:before{content:"•";position:absolute;left:12px;color:#0e7490;font-weight:700}.expl-list-indented{margin-left:20px}.expl-ordered-list{margin:8px 0 16px;padding-left:24px;list-style:none;counter-reset:expl-counter}.expl-ordered-list li{position:relative;padding:10px 14px 10px 28px;margin:6px 0;background:linear-gradient(135deg,#7c3aed0d,#6366f108);border-radius:8px;border-left:3px solid #c4b5fd;line-height:1.6;counter-increment:expl-counter}.expl-ordered-list li:before{content:counter(expl-counter) ".";position:absolute;left:10px;color:#0e7490;font-weight:700;font-size:.9em}.expl-ordered-list li.expl-list-continuation{counter-increment:none;padding-left:14px;border-left:3px solid rgba(124,58,237,.3);font-style:italic;opacity:.9}.expl-ordered-list li.expl-list-continuation:before{content:none}.explanation-content .expl-ordered-list li{background:#0891b20d;border-left-color:#7dd3fc}.explanation-content .expl-ordered-list li:before{color:#0891b2}.expl-blockquote{margin:16px 0;padding:16px 20px;border-left:4px solid #0e7490;background:linear-gradient(135deg,#7c3aed0f,#6366f10a);border-radius:0 10px 10px 0;font-style:italic;color:#4b5563;line-height:1.7;box-shadow:0 2px 8px #7c3aed0f}.expl-blockquote p{margin:4px 0}.expl-code-block{margin:12px 0;padding:14px 18px;background:#1e1e2e;color:#cdd6f4;border-radius:8px;overflow-x:auto;font-size:.85em;line-height:1.6;white-space:pre}.expl-code-block code{background:none;padding:0;color:inherit;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace}.expl-code-block code.hljs{background:none;color:#cdd6f4}.explanation-content .expl-section{color:#0891b2;border-color:#bae6fd}.explanation-content .expl-list li{background:#0891b20d;border-left-color:#7dd3fc}.explanation-content .expl-list li:before{color:#0891b2}.ai-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px;color:#0e7490;font-weight:500}.loading-spinner{animation:spin 1s linear infinite;font-size:24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-error{background:#fef2f2;border:2px solid #fecaca;border-radius:10px;padding:20px;color:#991b1b}.ai-error strong{display:block;margin-bottom:10px;font-size:16px}.ai-error p{margin:8px 0}.ai-error .hint{color:#6b7280;font-size:14px}.ai-error code{display:block;background:#1f2937;color:#10b981;padding:12px;border-radius:6px;font-family:SF Mono,Monaco,monospace;font-size:13px;margin-top:10px}.analysis-modal-content{max-width:800px!important}.analysis-lang-toggle{display:flex;gap:8px;margin-bottom:20px}.analysis-lang-toggle button{padding:8px 20px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;color:#374151}.analysis-lang-toggle button:hover{border-color:#0891b2;color:#0891b2}.analysis-lang-toggle button.active{background:#0891b2;color:#fff;border-color:#0891b2}.analysis-result{background:#f9fafb;border-radius:10px;padding:20px;line-height:1.8;max-height:50vh;overflow-y:auto}.analysis-result h4{color:#1f2937;margin:20px 0 10px;font-size:16px;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.analysis-result h5{color:#0891b2;margin:15px 0 8px;font-size:15px}@media(max-width:768px){.ai-btn{width:100%;margin-top:5px}.ai-explanation-header{flex-direction:column;align-items:flex-start}.ai-lang-toggle{width:100%}.ai-lang-toggle button{flex:1}}.analysis-modal-content{max-width:800px!important;max-height:85vh}.analysis-loading-screen{text-align:center;padding:40px 20px;overflow:hidden}.modal-content:has(.analysis-loading-screen){overflow:hidden!important;max-height:none!important}.analysis-spinner-large{font-size:48px;animation:spin 1.5s linear infinite;margin-bottom:20px}.analysis-loading-screen h2{color:#0891b2;margin-bottom:15px}.analysis-count{color:#6b7280;font-size:16px;margin-bottom:30px}.analysis-progress-steps{display:flex;justify-content:center;gap:10px;margin:30px 0;flex-wrap:wrap}.analysis-progress-steps .step{padding:10px 16px;background:#f3f4f6;border-radius:12px;font-size:13px;font-weight:600;color:#9ca3af;transition:all .3s ease}.analysis-progress-steps .step.active{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #0891b24d}.btn-cancel-ai{margin-top:16px;padding:8px 24px;background:transparent;border:1px solid #9ca3af;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:14px;transition:all .2s}.btn-cancel-ai:hover{border-color:#ef4444;color:#ef4444}#review-due-count{color:#0e7490;font-weight:600;font-size:14px}.analysis-hint{color:#9ca3af;font-size:14px;font-style:italic}.analysis-header{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e5e7eb}.analysis-header h2{color:#1f2937;margin:0}.analysis-result-content{max-height:55vh;overflow-y:auto;padding:20px;background:#f9fafb;border-radius:12px;margin-bottom:20px}.analysis-result-content .expl-section{color:#0891b2;font-size:18px}.analysis-result-content .expl-subsection{color:#6d28d9}.analysis-result-content .expl-list li{background:#fff;border-left-color:#0891b2}.analysis-result-content::-webkit-scrollbar{width:8px}.analysis-result-content::-webkit-scrollbar-track{background:#e5e7eb;border-radius:4px}.analysis-result-content::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.analysis-result-content::-webkit-scrollbar-thumb:hover{background:#6b7280}#connection-status{display:inline-flex;align-items:center;margin-right:8px}.status-connected,.status-disconnected{font-size:12px;cursor:help}.btn-disabled{opacity:.5!important;cursor:not-allowed!important;pointer-events:none!important;background:#9ca3af!important;border-color:#9ca3af!important}.btn-disabled:hover{transform:none!important;box-shadow:none!important}.btn-disabled:before{display:none!important}.ai-btn[disabled]{position:relative}.ai-btn[disabled]:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}.ai-btn[disabled]:hover:after{opacity:1}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tts-btn{padding:6px 10px;border:none;background:#f3f4f6;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s;margin-left:10px}.tts-btn:hover{background:#e5e7eb;transform:scale(1.1)}.tts-btn.speaking{background:#fee2e2;animation:pulse 1s infinite}.tts-option-btn{padding:4px 8px;border:none;background:#f3f4f6;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;margin-right:8px;flex-shrink:0}.tts-option-btn:hover{background:#e5e7eb;transform:scale(1.1)}.tts-option-btn.speaking{background:#fee2e2;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.option{display:flex;align-items:center}.option-text{flex:1}.lang-toggle-pills{display:flex;gap:5px;margin:6px 0 8px}.lang-toggle-pills.hidden{display:none}.lang-pill{padding:3px 10px;border-radius:20px;border:1.5px solid rgba(8,145,178,.3);background:transparent;color:#64748b;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lang-pill.active{background:#0891b2;border-color:#0891b2;color:#fff}body.dark-mode .lang-pill{border-color:#38bdf84d;color:#94a3b8}body.dark-mode .lang-pill.active{background:#0e7490;border-color:#0e7490;color:#fff}.option-kr-block{display:block;margin-top:6px;padding-top:6px;border-top:1px solid rgba(148,163,184,.25);color:#64748b;font-size:.9em}.option-kr-badge{display:inline-block;font-size:10px;font-weight:700;padding:1px 5px;border-radius:99px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;margin-right:5px;vertical-align:middle;letter-spacing:.04em}body.dark-mode .option-kr-block{color:#94a3b8;border-top-color:#64748b4d}body.dark-mode .option-kr-badge{background:#3b2a0e;color:#fcd34d;border-color:#6b4c1a}.question-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.question-number-group{display:flex;align-items:center;gap:6px}.question-number-group .tts-btn{margin-left:0;padding:4px 8px;font-size:14px}.gamification-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd;flex-basis:100%}.level-display{display:flex;align-items:center;gap:8px;flex:1}.level-badge{position:relative;background:linear-gradient(145deg,#5b52f0,#0891b2,#0e7490);color:#fff;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:4px;box-shadow:0 2px 6px #4f46e566,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.15);transition:transform .2s ease,box-shadow .2s ease}.level-badge:hover{transform:translateY(-1px);box-shadow:0 4px 10px #4f46e580,inset 0 1px #fff3}.level-badge.tier-bronze{background:linear-gradient(145deg,#d4915a,#cd7f32,#8b5e3c);box-shadow:0 2px 6px #cd7f3266,inset 0 1px #fff3}.level-badge.tier-silver{background:linear-gradient(145deg,#cfd8dc,#b0bec5,#90a4ae);color:#263238;box-shadow:0 2px 6px #b0bec566,inset 0 1px #ffffff4d}.level-badge.tier-gold{background:linear-gradient(145deg,#ffe14d,gold,#b8860b);color:#3e2000;box-shadow:0 2px 6px #ffd70066,inset 0 1px #ffffff4d}.level-badge.tier-platinum{background:linear-gradient(145deg,#4dd0e1,#26c6da,#00838f);box-shadow:0 2px 6px #26c6da66,inset 0 1px #fff3}.level-badge.tier-diamond{background:linear-gradient(145deg,#90caf9,#64b5f6,#1565c0);box-shadow:0 2px 6px #64b5f666,inset 0 1px #ffffff40}.level-badge.tier-master{background:linear-gradient(145deg,#e1bee7,#ce93d8,#6a1b9a);box-shadow:0 2px 6px #ce93d866,inset 0 1px #fff3}.level-badge.tier-grandmaster{background:linear-gradient(145deg,#ffe082,#ffd54f,#bf360c);box-shadow:0 2px 6px #ffd54f66,inset 0 1px #ffffff40}.level-badge.tier-legend{background:linear-gradient(145deg,gold,#ff6b35,#d500f9);color:#1a1a2e;box-shadow:0 2px 6px #ff6b3566,inset 0 1px #fff3}.level-badge.tier-champion{background:linear-gradient(145deg,gold,#ff1744,#d500f9,#2979ff);color:#1a1a2e;box-shadow:0 2px 6px #ff174466,inset 0 1px #fff3}@keyframes owHueRotate{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.profile-stat-card.tier-card.tier-bronze{background:linear-gradient(180deg,#cd7f32,#8b5e3c)}.profile-stat-card.tier-card.tier-silver{background:linear-gradient(180deg,#e0e5ec,#9baab8);color:#2c3e50}.profile-stat-card.tier-card.tier-gold{background:linear-gradient(180deg,#ffe066,#b8860b);color:#4a2800}.profile-stat-card.tier-card.tier-platinum{background:linear-gradient(180deg,#7fdbda,#1a8a8e)}.profile-stat-card.tier-card.tier-diamond{background:linear-gradient(180deg,#e3f2fd,#1e88e5);color:#0d2f6e}.profile-stat-card.tier-card.tier-master{background:linear-gradient(180deg,#ce93d8,#6a1b9a)}.profile-stat-card.tier-card.tier-grandmaster{background:linear-gradient(180deg,#ffd54f,#bf360c)}.profile-stat-card.tier-card.tier-legend{background:linear-gradient(135deg,gold,#ff6b35,#d500f9);color:#1a1a2e}.profile-stat-card.tier-card.tier-champion{background:linear-gradient(135deg,gold,#ff1744,#d500f9,#2979ff);color:#1a1a2e}.badge-toast.tier-bronze{background:linear-gradient(135deg,#fceabb,#cd7f32);border-color:#8b5e3c;color:#3b1f08}.badge-toast.tier-silver{background:linear-gradient(135deg,#f0f3f6,#cdd5dc);border-color:#8898a8;color:#1e293b}.badge-toast.tier-gold{background:linear-gradient(135deg,#fff8dc,gold);border-color:#b8860b;color:#713f12;box-shadow:0 8px 24px #ffd7004d}.badge-toast.tier-platinum{background:linear-gradient(135deg,#0d9488,#0f766e);border-color:#0891b2;color:#fff;box-shadow:0 8px 24px #3ec6d066}.badge-toast.tier-diamond{background:linear-gradient(135deg,#1e40af,#3b82f6);border-color:#93c5fd;color:#fff;box-shadow:0 8px 24px #42a5f566}.badge-toast.tier-master{background:linear-gradient(135deg,#7e22ce,#a855f7);border-color:gold;color:#fff;box-shadow:0 8px 24px #9c27b066}.badge-toast.tier-grandmaster{background:linear-gradient(135deg,#c2410c,#f97316);border-color:#fed7aa;color:#fff;box-shadow:0 8px 24px #ff8f0073}.badge-toast.tier-legend{background:linear-gradient(135deg,#92400e,#d97706,#b45309);border-color:#fde68a;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 8px 30px #ffd70073}.badge-toast.tier-champion{background:linear-gradient(135deg,gold,#ff1744,#d500f9);border-color:gold;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 8px 30px #ffd70080,0 0 20px #ff174433}.xp-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,#0891b2,#0e7490);border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.xp-text{font-size:11px;color:#6b7280;white-space:nowrap;font-weight:600}.combo-display{display:flex;align-items:center}.combo-counter{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:800;color:#ef4444;animation:comboPulse .6s ease-in-out}.profile-btn{padding:2px;border:none;background:transparent;border-radius:0;cursor:pointer;transition:transform .2s;line-height:0;flex-shrink:0}.profile-btn svg{height:38px;width:auto}.profile-btn:hover{transform:translateY(-2px) scale(1.05)}.profile-btn.tier-legend{animation:owHueRotate 4s linear infinite}.profile-btn.tier-champion{animation:owHueRotate 3s linear infinite}@keyframes comboPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.combo-fire{animation:comboFire .8s ease-in-out infinite!important}@keyframes comboFire{0%{text-shadow:0 0 5px #ff6b35}50%{text-shadow:0 0 20px #ff6b35,0 0 40px #ff4500}to{text-shadow:0 0 5px #ff6b35}}@keyframes milestoneFlash{0%{box-shadow:0 10px 40px #0003}50%{box-shadow:0 0 60px #fbbf2499,0 10px 40px #0003}to{box-shadow:0 10px 40px #0003}}.milestone-flash{animation:milestoneFlash 1s ease-in-out}.confetti-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake-animation{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes xpFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}.xp-gain-popup{font-size:16px;font-weight:800;color:#0891b2;pointer-events:none;animation:xpFloat 1.2s ease-out forwards;z-index:100}.speed-timer-container{margin-bottom:16px}.speed-timer-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:4px}.speed-timer-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px;transition:width .1s linear}.speed-timer-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.speed-timer-fill.danger{background:linear-gradient(90deg,#ef4444,#f87171);animation:timerPulse .5s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.6}}.speed-timer-text{font-size:13px;font-weight:700;color:#6b7280;text-align:right;display:block}.speed-config{padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:16px}.speed-config-row{display:flex;align-items:center;gap:12px;justify-content:center}.speed-config-row label{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:#92400e}.speed-config-row select{padding:6px 10px;border-radius:6px;border:1px solid #fde68a;font-weight:600}.mastery-badge{padding:4px 10px;border-radius:12px;font-size:14px;background:#f0fdf4;border:1px solid #bbf7d0}.badge-toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-100px);background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:16px;padding:12px 24px;display:flex;align-items:center;gap:10px;z-index:10000;box-shadow:0 8px 30px #f59e0b4d;font-weight:700;font-size:15px;color:#78350f;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.badge-toast.show{transform:translate(-50%) translateY(0)}.badge-toast-icon{font-size:24px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.profile-stat-card{background:linear-gradient(135deg,#0891b2,#0e7490);padding:16px;border-radius:12px;text-align:center;color:#fff}.profile-stat-number{font-size:24px;font-weight:800}.profile-stat-label{font-size:11px;opacity:.9;margin-top:4px}.badges-overall{margin-bottom:16px}.tier-roadmap-milestones{display:flex;overflow-x:auto;gap:0;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tier-roadmap-milestones::-webkit-scrollbar{display:none}.tier-milestone{flex:1;min-width:52px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:.3;filter:grayscale(1);transition:all .3s ease}.tier-milestone.reached{opacity:1;filter:none}.tier-milestone.current .tier-milestone-badge{filter:drop-shadow(0 0 4px rgba(99,102,241,.5))}.tier-milestone-badge{width:36px;height:42px}.tier-milestone-badge svg{width:100%;height:100%}.tier-milestone-name{font-size:9px;font-weight:700;color:#374151;line-height:1.1}.tier-milestone-level{font-size:8px;color:#9ca3af}.tier-roadmap-bar{height:6px;margin-top:6px;background:#00000014;border-radius:3px;overflow:hidden}.tier-roadmap-fill{height:100%;background:linear-gradient(90deg,#0891b2,#0e7490);border-radius:3px;transition:width .6s ease}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:20px}.badge-card{position:relative;overflow:hidden;text-align:center;padding:12px 8px;border-radius:12px;background:linear-gradient(145deg,#fff,#f0f0f3);border:1px solid #e5e7eb;box-shadow:2px 3px 6px #00000014,inset 0 1px #ffffffe6;perspective:400px;transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease}.badge-card:hover{transform:translateY(-4px) rotateX(4deg);box-shadow:2px 8px 16px #00000021,inset 0 1px #ffffffe6}.badge-card.earned{background:linear-gradient(145deg,#fef9e7,#fde68a,#fbbf24);border-color:#f59e0b;box-shadow:2px 3px 8px #fbbf2440,inset 0 1px #fff9}.badge-card.earned:hover{box-shadow:2px 8px 20px #fbbf2459,inset 0 1px #fff9}.badge-card-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);pointer-events:none}.badge-card.earned .badge-card-shine{animation:shimmer 3s ease-in-out infinite}.badge-card.locked{opacity:.4;filter:grayscale(1)}.badge-card-icon{font-size:28px;display:block;margin-bottom:4px}.badge-card-name{font-size:10px;font-weight:600;color:#374151}.badge-progress{width:100%;height:4px;background:#00000014;border-radius:2px;margin-top:6px;overflow:hidden}.badge-progress-fill{height:100%;background:linear-gradient(90deg,#0891b2,#0e7490);border-radius:2px;transition:width .5s ease}.badge-card.earned .badge-progress-fill{background:linear-gradient(90deg,#f59e0b,#eab308)}.badge-progress-text{font-size:8px;color:#9ca3af;margin-top:2px;display:block}@keyframes graduate{0%{transform:scale(1)}30%{transform:scale(1.5) rotate(-10deg)}60%{transform:scale(1.5) rotate(10deg)}to{transform:scale(1) rotate(0)}}.graduate-animation{animation:graduate 1s ease-in-out}@media(max-width:480px){header h1{font-size:18px}header .stats{font-size:12px;gap:8px}.gamification-bar{gap:8px;padding:6px 10px}.level-badge{font-size:11px;padding:3px 9px}.xp-text{font-size:10px}.profile-btn svg{height:30px}.profile-stats{grid-template-columns:repeat(2,1fr)}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}@media(prefers-reduced-motion:reduce){.confetti-canvas{display:none!important}.combo-counter,.combo-fire,.shake-animation,.milestone-flash{animation:none!important}.badge-toast{transition:none!important}.xp-gain-popup,.graduate-animation,.speed-timer-fill.danger{animation:none!important}.xp-fill{transition:none!important}.profile-btn,.profile-btn.tier-legend,.profile-btn.tier-champion{animation:none!important;will-change:auto!important}}@media(max-width:480px){.profile-btn.tier-champion,.profile-btn.tier-legend{animation:owHueRotate 6s linear infinite}}.dashboard-header{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}.dashboard-sort-row{display:flex;gap:4px}.sort-btn{padding:3px 10px;border-radius:20px;border:1px solid #e2e8f0;background:transparent;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s}.sort-btn.active{background:#0e7490;border-color:#0e7490;color:#fff;font-weight:600}body.dark-mode .sort-btn{border-color:#374151;color:#9ca3af}body.dark-mode .sort-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.dashboard-header h1{margin:0}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:center;align-items:center;gap:10px;padding:5px 0 calc(5px + env(safe-area-inset-bottom));border-top:1px solid #e5e7eb;background:#ffffffe0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11px}.container,#markdown-view,#markdown-content{padding-bottom:34px}.footer-tier-badge{display:flex;align-items:center;line-height:1}.footer-tier-badge svg{width:20px;height:20px}.app-footer-brand{font-weight:600;letter-spacing:.06em;color:var(--footer-color, #0e7490);min-width:90px;text-align:center;animation:footer-glow 3s ease-in-out 1.5s infinite}@keyframes footer-glow{0%,to{text-shadow:0 0 4px var(--footer-color, #0e7490)}50%{text-shadow:0 0 10px var(--footer-color, #0e7490),0 0 22px var(--footer-color, #0e7490)}}.app-footer-brand.tier-bronze{background:linear-gradient(105deg,#8b5e3c,#cd7f32 30%,#f0c080 48%,#fff0d0,#f0c080 56%,#cd7f32 70%,#8b5e3c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.app-footer-brand.tier-silver{background:linear-gradient(105deg,#607d8b,#b0bec5 30%,#f0f4f8 48%,#fff,#f0f4f8 56%,#b0bec5 70%,#607d8b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3.5s ease-in-out 1s infinite}.app-footer-brand.tier-gold{background:linear-gradient(105deg,#b8860b,gold 30%,#fff9c4 48%,#fff,#fff9c4 56%,gold 70%,#b8860b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3s ease-in-out 1s infinite}.app-footer-brand.tier-platinum{background:linear-gradient(105deg,#00838f,#26c6da 30%,#b2ebf2 48%,#e0fdff,#b2ebf2 56%,#26c6da 70%,#00838f);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3.5s ease-in-out 1s infinite}.app-footer-brand.tier-diamond{background:linear-gradient(105deg,#1565c0,#42a5f5 30%,#bbdefb 48%,#e8f4fe,#bbdefb 56%,#42a5f5 70%,#1565c0);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3s ease-in-out 1s infinite}.app-footer-brand.tier-master{background:linear-gradient(105deg,#6a1b9a,#9c27b0 30%,#e1bee7 48%,#f8e8ff,#e1bee7 56%,#9c27b0 70%,#6a1b9a);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3s ease-in-out 1s infinite}.app-footer-brand.tier-grandmaster{background:linear-gradient(105deg,#bf360c,#ff8f00 25%,#ffd54f 40%,#fff8e1,#ffd54f 60%,#ff8f00 75%,#bf360c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 2.5s ease-in-out 1s infinite}.app-footer-brand.tier-legend{background:linear-gradient(105deg,gold,#ff6b35,#d500f9 40%,#fff,#2979ff 60%,#00e676,gold);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-rainbow 3s linear 1s infinite}.app-footer-brand.tier-champion{background:linear-gradient(105deg,#1b5e20,#66bb6a 30%,#c8e6c9 48%,#f1f8e9,#c8e6c9 56%,#66bb6a 70%,#1b5e20);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 3s ease-in-out 1s infinite}body.dark-mode .app-footer{border-top-color:#374151;background:#111827e6}.quiz-header-title{display:flex;flex-direction:column;align-items:center;gap:0;flex:1;min-width:0}.quiz-set-title{font-family:Righteous,cursive;font-size:11px;font-weight:400;letter-spacing:.3px;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(105deg,#0891b2,#06b6d4,#0891b2);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite;opacity:.85}.quiz-set-title.tier-bronze{background:linear-gradient(105deg,#8b5e3c,#cd7f32 30%,#f0c080 48%,#fff0d0,#f0c080 56%,#cd7f32 70%,#8b5e3c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-silver{background:linear-gradient(105deg,#607d8b,#b0bec5 30%,#f0f4f8 48%,#fff,#f0f4f8 56%,#b0bec5 70%,#607d8b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-gold{background:linear-gradient(105deg,#92610a,#d4a017 30%,gold 48%,#fffacd,gold 56%,#d4a017 70%,#92610a);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-platinum{background:linear-gradient(105deg,#546e7a,#90a4ae 30%,#e8f5f9 48%,#fff,#e8f5f9 56%,#90a4ae 70%,#546e7a);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-diamond{background:linear-gradient(105deg,#0d47a1,#42a5f5 30%,#e3f2fd 48%,#fff,#e3f2fd 56%,#42a5f5 70%,#0d47a1);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-master{background:linear-gradient(105deg,#4a148c,#ab47bc 30%,#f3e5f5 48%,#fff,#f3e5f5 56%,#ab47bc 70%,#4a148c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-grandmaster{background:linear-gradient(105deg,#b71c1c,#ef5350 30%,#ffebee 48%,#fff,#ffebee 56%,#ef5350 70%,#b71c1c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-legend{background:linear-gradient(105deg,#e65100,#ff9800 30%,#fff3e0 48%,#fff,#fff3e0 56%,#ff9800 70%,#e65100);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.quiz-set-title.tier-champion{background:linear-gradient(105deg,#1b5e20,#66bb6a 30%,#f1f8e9 48%,#fff,#f1f8e9 56%,#66bb6a 70%,#1b5e20);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-shine 4s ease-in-out 1s infinite}.logo-cursor{display:inline-block;-webkit-text-fill-color:initial;color:#0891b2;animation:logo-blink .9s step-end infinite;font-weight:300;margin-left:1px}body.dark-mode .logo-cursor{color:#38bdf8}@keyframes logo-blink{0%,to{opacity:1}50%{opacity:0}}.logo-title{font-family:Righteous,cursive;font-weight:400;font-size:24px;line-height:1.1;letter-spacing:.3px;display:inline-block;background:linear-gradient(105deg,#0e7490,#0891b2 30%,#67e8f9 48%,#e0f9ff,#67e8f9 56%,#0891b2 70%,#0e7490);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 4s ease-in-out 1s infinite}@keyframes logo-enter{0%{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logo-shine{0%,to{background-position:150% 0}45%{background-position:-50% 0}}@keyframes logo-rainbow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.logo-title.tier-bronze{background:linear-gradient(105deg,#8b5e3c,#cd7f32 30%,#f0c080 48%,#fff0d0,#f0c080 56%,#cd7f32 70%,#8b5e3c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 4s ease-in-out 1s infinite}.logo-title.tier-silver{background:linear-gradient(105deg,#607d8b,#b0bec5 30%,#f0f4f8 48%,#fff,#f0f4f8 56%,#b0bec5 70%,#607d8b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 3.5s ease-in-out 1s infinite}.logo-title.tier-gold{background:linear-gradient(105deg,#b8860b,gold 30%,#fff9c4 48%,#fff,#fff9c4 56%,gold 70%,#b8860b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 3s ease-in-out 1s infinite}.logo-title.tier-platinum{background:linear-gradient(105deg,#00838f,#26c6da 30%,#b2ebf2 48%,#e0fdff,#b2ebf2 56%,#26c6da 70%,#00838f);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 3.5s ease-in-out 1s infinite}.logo-title.tier-diamond{background:linear-gradient(105deg,#1565c0,#42a5f5 30%,#bbdefb 48%,#e8f4fe,#bbdefb 56%,#42a5f5 70%,#1565c0);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 3s ease-in-out 1s infinite}.logo-title.tier-master{background:linear-gradient(105deg,#6a1b9a,#9c27b0 30%,#e1bee7 48%,#f8e8ff,#e1bee7 56%,#9c27b0 70%,#6a1b9a);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 3s ease-in-out 1s infinite}.logo-title.tier-grandmaster{background:linear-gradient(105deg,#bf360c,#ff8f00 25%,#ffd54f 40%,#fff8e1,#ffd54f 60%,#ff8f00 75%,#bf360c);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-shine 2.5s ease-in-out 1s infinite}.logo-title.tier-legend{background:linear-gradient(105deg,gold,#ff6b35,#d500f9 40%,#fff,#2979ff 60%,#00e676,gold);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-rainbow 3s linear 1s infinite}.logo-title.tier-champion{background:linear-gradient(105deg,gold,#ff6b35 16%,#ff1744,#fff 50%,#d500f9 66%,#2979ff,#00e676);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logo-enter .6s cubic-bezier(.34,1.56,.64,1) both,logo-rainbow 2s linear 1s infinite}.dashboard-header-actions{display:flex;gap:6px}.dashboard-subtitle{color:#6b7280;font-size:14px;margin-bottom:24px}.dashboard-backup-banner{background:#fef9c3;border:1px solid #facc15;border-radius:12px;padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dashboard-backup-banner-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dashboard-backup-banner-icon{font-size:20px;flex-shrink:0}.dashboard-backup-banner-text{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#854d0e;line-height:1.4}.dashboard-backup-banner-last{font-size:11px;color:#a16207}.dashboard-backup-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dashboard-backup-btn{background:#f59e0b;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.dashboard-backup-btn:hover{background:#d97706}.dashboard-backup-dismiss{background:none;border:none;color:#92400e;font-size:18px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;transition:background .2s}.dashboard-backup-dismiss:hover{background:#00000014}.session-resume-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eff6ff;border:1px solid #93c5fd;border-radius:12px;padding:12px 14px;margin-bottom:12px}.session-resume-banner-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.session-resume-banner-icon{font-size:20px;flex-shrink:0}.session-resume-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.session-resume-banner-title{font-size:13px;font-weight:600;color:#1e40af}.session-resume-banner-sub{font-size:12px;color:#3b82f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-resume-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.session-resume-confirm-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.session-resume-confirm-btn:hover{background:#2563eb}.session-resume-dismiss{background:none;border:none;color:#1e40af;font-size:18px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;transition:background .2s}.session-resume-dismiss:hover{background:#00000014}body.dark-mode .session-resume-banner{background:#1e3a5f;border-color:#3b82f6}body.dark-mode .session-resume-banner-title{color:#93c5fd}body.dark-mode .session-resume-banner-sub{color:#60a5fa}body.dark-mode .session-resume-dismiss{color:#93c5fd}.dashboard-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 18px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dashboard-card:hover{border-color:#0891b2;box-shadow:0 2px 8px #0891b21a}.dashboard-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.dashboard-card-title{display:flex;align-items:center;gap:6px;min-width:0;font-size:16px;font-weight:700;color:#1f2937;word-break:break-word}.dashboard-card-title-input{font-size:16px;font-weight:700;color:#1f2937;border:2px solid #0891b2;border-radius:6px;padding:4px 8px;width:100%;outline:none;background:#fff}.dashboard-card-title-input:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.dashboard-card-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s;flex-shrink:0;margin-left:8px}.dashboard-card:hover .dashboard-card-actions{opacity:1}.dashboard-card-action-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px;transition:background .15s;display:inline-flex;align-items:center;justify-content:center}.dashboard-card-action-btn:hover{background:#0000000f}.dashboard-card-delete-btn:hover{background:#ef44441a}.dashboard-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#6b7280}.dashboard-card-count{font-weight:600;color:#0891b2}.dashboard-card-progress{font-size:11px;color:#06b6d4;font-weight:500}.dashboard-card-rounds{cursor:pointer;text-decoration:underline dotted;font-size:11px}.dashboard-upload-btn{width:100%;padding:16px;background:#fff;border:2px dashed #d1d5db;border-radius:12px;font-size:15px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.dashboard-upload-btn:hover{border-color:#0891b2;color:#0891b2;background:#f5f3ff}.dashboard-empty{grid-column:1 / -1;text-align:center;padding:48px 20px;color:#9ca3af}.dashboard-empty-icon{font-size:48px;margin-bottom:12px}.dashboard-empty p{font-size:15px}.dashboard-folder{border-left:4px solid #0891b2}.dashboard-folder-toggle{display:inline-flex;align-items:center;transition:transform .2s;flex-shrink:0}.dashboard-folder-children{display:none;padding:4px 0 4px 20px}.dashboard-folder-children.expanded{display:flex;flex-direction:column;gap:8px}.dashboard-folder-children .dashboard-folder-children{padding-left:16px}.dashboard-folder-children .dashboard-folder-children .dashboard-folder-children{padding-left:12px}.dashboard-folder-children.nested-max{padding-left:8px}.dashboard-bottom-actions{display:flex;gap:12px}.dashboard-progress-sync-row{display:flex;gap:10px;margin-top:8px}.progress-sync-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 14px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.progress-sync-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0f9ff}.dashboard-new-folder-btn,.dashboard-select-btn{width:100%;padding:16px;background:#fff;border:2px dashed #d1d5db;border-radius:12px;font-size:15px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.dashboard-new-folder-btn:hover,.dashboard-select-btn:hover{border-color:#0891b2;color:#0891b2;background:#f5f3ff}.select-mode-bar{display:flex;align-items:center;justify-content:space-between;background:#f0f9ff;border:2px solid #0891b2;border-radius:12px;padding:12px 16px;margin-top:8px}.select-count-text{font-size:14px;font-weight:600;color:#0891b2}.select-mode-actions{display:flex;gap:8px}.select-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.select-action-btn:disabled{opacity:.4;cursor:default}.select-checkbox{width:20px;height:20px;margin-right:8px;cursor:pointer;accent-color:#0891b2;flex-shrink:0}body.select-mode .dashboard-card{cursor:pointer}body.select-mode .dashboard-card-header{pointer-events:none}body.select-mode .dashboard-card .select-checkbox{pointer-events:auto}body.select-mode .dashboard-card-actions{display:none}.dashboard-card:has(.select-checkbox:checked){border-color:#0891b2;background:#f5f3ff}body.dark-mode .dashboard-select-btn{background:#1e1e2e;border-color:#4b5563;color:#94a3b8}body.dark-mode .dashboard-select-btn:hover{border-color:#06b6d4;color:#7dd3fc;background:#252540}body.dark-mode .select-mode-bar{background:#252540;border-color:#06b6d4}body.dark-mode .select-count-text{color:#7dd3fc}body.dark-mode .dashboard-card:has(.select-checkbox:checked){border-color:#06b6d4;background:#2d2d48}#move-folder-list{max-height:50vh;overflow-y:auto}.move-folder-item{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.move-folder-item:hover{border-color:#0891b2;background:#f5f3ff;color:#0891b2}.move-folder-root{border-style:dashed;color:#6b7280;margin-bottom:8px}.move-folder-item.current{border-color:#0891b2;background:#f0f9ff;color:#0891b2;font-weight:600}.back-to-dashboard-btn{display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;padding:6px 10px;border-radius:7px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.back-to-dashboard-btn:hover{border-color:#0891b2;color:#0891b2;background:#f0f9ff}@media(max-width:480px){.dashboard-card-actions{opacity:1}.dashboard-folder-children.expanded{padding-left:16px}.dashboard-folder-children .dashboard-folder-children{padding-left:12px}.dashboard-folder-children .dashboard-folder-children .dashboard-folder-children{padding-left:8px}.dashboard-bottom-actions{flex-direction:column;gap:8px}}#markdown-view header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.md-header-title{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}#markdown-view header h1,#pdf-view header h1{font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.md-loading-overlay{display:flex;justify-content:center;align-items:center;padding:60px 0}.md-loading-spinner{width:44px;height:44px;animation:spin .9s linear infinite}.md-loading-spinner circle{stroke:#6366f1;stroke-linecap:round;stroke-dasharray:80;stroke-dashoffset:60}body.dark-mode .md-loading-spinner circle{stroke:#818cf8}.markdown-actions{display:flex;gap:6px}.md-lang-filter-btn{font-size:16px;min-width:36px;padding:4px 6px}.markdown-bottom-nav{margin-top:32px;padding:20px 0;border-top:1px solid #e5e7eb}.markdown-bottom-nav .back-to-dashboard-btn{width:100%;justify-content:center}body.dark-mode .markdown-bottom-nav{border-top-color:#4b5563}.md-section{content-visibility:auto;contain-intrinsic-size:auto 600px}.markdown-body{line-height:1.8;font-size:16px;color:#1f2937;word-wrap:break-word;overflow-wrap:break-word;overflow-x:hidden;padding:8px 4px}.markdown-body h1{font-size:1.8em;font-weight:700;margin:1.2em 0 .6em;padding-bottom:.3em;border-bottom:2px solid #e5e7eb;color:#111827}.markdown-body h2{font-size:1.5em;font-weight:700;margin:1em 0 .5em;padding-bottom:.25em;border-bottom:1px solid #e5e7eb;color:#1f2937}.markdown-body h3{font-size:1.25em;font-weight:600;margin:.8em 0 .4em;color:#374151}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:1.1em;font-weight:600;margin:.6em 0 .3em;color:#4b5563}.markdown-body p{margin:.8em 0}.markdown-body pre{background:#f6f8fa;border:1px solid #e2e8f0;border-radius:8px;padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.9em;line-height:1.5;margin:1em 0;max-width:100%}.markdown-body pre code{background:none;padding:0;font-size:inherit;border-radius:0;color:#24292e;word-break:normal}.markdown-body pre code.hljs{background:none;padding:0;color:#24292e}.markdown-body code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.85em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;color:#e11d48;word-break:break-all}.markdown-body .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1em 0;max-width:100%}.markdown-body table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.95em}.markdown-body th,.markdown-body td{border:1px solid #d1d5db;padding:12px 16px;text-align:left;white-space:normal;min-width:100px;word-break:keep-all}.markdown-body th{background:#f3f4f6;font-weight:600;color:#374151}.markdown-body tr:nth-child(2n) td{background:#f9fafb}.markdown-body ul,.markdown-body ol{padding-left:2em;margin:.6em 0}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin:.4em 0;padding-left:.3em}.markdown-body blockquote{border-left:4px solid #06b6d4;background:#f5f3ff;padding:16px 20px;margin:1.2em 0;border-radius:0 8px 8px 0;color:#4b5563}.markdown-body blockquote p{margin:.3em 0}.markdown-body img{max-width:100%;height:auto;border-radius:8px;margin:.5em 0}.markdown-body hr{border:none;border-top:2px solid #e5e7eb;margin:1.5em 0}.markdown-body a{color:#0891b2;text-decoration:none}.markdown-body a:hover{text-decoration:underline}body.dark-mode{background:#0f1117;color:#e2e8f0}body.dark-mode .container{background:#1a1d27;color:#e2e8f0;box-shadow:0 2px 12px #0006}body.dark-mode header h1{color:#7dd3fc}body.dark-mode .stats{color:#94a3b8}body.dark-mode .settings-modal-sheet{background:#252540}body.dark-mode .settings-modal-header{background:#252540;border-color:#374151}body.dark-mode .settings-modal-title{color:#e2e8f0}body.dark-mode .settings-modal-close{color:#94a3b8}body.dark-mode .settings-section{border-color:#374151}body.dark-mode .btn-group{background:#2d2d48;border-color:#4b5563}body.dark-mode .btn-group:before{color:#6b7280}body.dark-mode .btn-group.ai-group{background:linear-gradient(180deg,#2d2548,#352960);border-color:#5b21b6}body.dark-mode .mode-btn{background:#1e1e2e;border-color:#4b5563;color:#94a3b8}body.dark-mode .mode-btn:hover{border-color:#06b6d4;color:#7dd3fc}body.dark-mode .mode-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}body.dark-mode .set-select{background:#1e1e2e;color:#e2e8f0;border-color:#4b5563}body.dark-mode .question-text,body.dark-mode #question-text{color:#e2e8f0}body.dark-mode .question-number{color:#7dd3fc}body.dark-mode .option{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}body.dark-mode .option:hover{border-color:#38bdf8;box-shadow:0 4px 12px #6366f126}body.dark-mode .option.selected{background:linear-gradient(135deg,#312e81,#3730a3);border-color:#06b6d4}body.dark-mode .option.correct{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#10b981}body.dark-mode .option.wrong{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-color:#ef4444}body.dark-mode .submit-btn{background:linear-gradient(135deg,#0891b2,#0e7490)}body.dark-mode .explanation{background:linear-gradient(180deg,#252540,#2d2d48);border-color:#4b5563}body.dark-mode .explanation h3{color:#e2e8f0}body.dark-mode .explanation-content{color:#cbd5e1}body.dark-mode .nav-btn{background:#2d2d48;color:#e2e8f0;border-color:#4b5563}body.dark-mode .nav-btn:hover{background:#353560;border-color:#38bdf8}body.dark-mode #goto-input{background:#2d2d48;color:#e2e8f0;border-color:#4b5563}body.dark-mode .modal-content{background:linear-gradient(180deg,#1e1e2e,#252540);border-color:#4b5563;color:#e2e8f0}body.dark-mode .modal-content h2{color:#7dd3fc}body.dark-mode .help-content{color:#cbd5e1}body.dark-mode .help-content>ol>li,body.dark-mode .help-content>ul>li{background:linear-gradient(180deg,#2d2d48,#252540);border-color:#4b5563}body.dark-mode .help-sections li{background:none!important;border:none!important}body.dark-mode .btn-secondary{background:#374151;color:#e2e8f0}body.dark-mode .btn-secondary:hover{background:#4b5563}body.dark-mode .upload-item{background:#2d2d48}body.dark-mode .upload-item label{color:#cbd5e1}body.dark-mode .upload-item input[type=file]{border-color:#4b5563;color:#e2e8f0}body.dark-mode .ai-explanation{background:linear-gradient(180deg,#2d2548,#352960);border-color:#5b21b6}body.dark-mode .ai-explanation-content{color:#cbd5e1}body.dark-mode .correct-result{background:linear-gradient(135deg,#064e3b,#065f46);color:#6ee7b7;border-color:#10b9814d}body.dark-mode .wrong-result{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5;border-color:#ef44444d}body.dark-mode .gamification-bar{background:linear-gradient(135deg,#1e293b,#1e1b4b);border-color:#374151}body.dark-mode .xp-bar{background:#374151}body.dark-mode .xp-text{color:#94a3b8}body.dark-mode .app-version{color:#64748b}body.dark-mode .cached-data-info{color:#94a3b8}body.dark-mode .cached-data-info:hover{color:#f87171;background:#f871711a}body.dark-mode .font-btn{background:#1e1e2e;border-color:#4b5563;color:#94a3b8}body.dark-mode .font-btn:hover{background:#2d2d48}body.dark-mode .font-btn.active{background:#0891b2;color:#fff}body.dark-mode .tts-btn{background:#2d2d48}body.dark-mode .tts-btn:hover{background:#374151}body.dark-mode .speed-config{background:#2d2d48;border-color:#4b5563}body.dark-mode .speed-config-row label{color:#fbbf24}body.dark-mode .profile-stat-card{background:linear-gradient(135deg,#312e81,#3b0764)}body.dark-mode .badge-card{background:linear-gradient(145deg,#363654,#2a2a44);border-color:#4b5563;box-shadow:2px 3px 6px #0000004d,inset 0 1px #ffffff0d}body.dark-mode .badge-card:hover{box-shadow:2px 8px 16px #0006,inset 0 1px #ffffff0d}body.dark-mode .badge-card.earned{background:linear-gradient(145deg,#4a3f1a,#3d3410,#5c4a0e);border-color:#b45309;box-shadow:2px 3px 8px #b453094d,inset 0 1px #ffffff14}body.dark-mode .badge-card.earned:hover{box-shadow:2px 8px 20px #b4530966,inset 0 1px #ffffff14}body.dark-mode .badge-card-shine{background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%)}body.dark-mode .badge-card-name,body.dark-mode .tier-milestone-name{color:#cbd5e1}body.dark-mode .tier-roadmap-bar,body.dark-mode .badge-progress{background:#ffffff1a}body.dark-mode .badge-progress-text{color:#6b7280}body.dark-mode .analysis-result-content{background:#2d2d48}body.dark-mode .expl-table th{background:linear-gradient(180deg,#2d2d48,#252540);color:#e2e8f0}body.dark-mode .expl-table td{border-color:#4b5563}body.dark-mode .expl-table tr:nth-child(2n) td{background:#252540}body.dark-mode .expl-list li,body.dark-mode .expl-ordered-list li{background:#6366f11a;border-left-color:#06b6d4}body.dark-mode .expl-ordered-list li.expl-list-continuation{border-left-color:#6366f166}body.dark-mode .expl-blockquote{background:#6366f11a;border-left-color:#06b6d4;color:#cbd5e1}body.dark-mode .ai-explanation-content code{background:#3b0764}body.dark-mode .bilingual-line{background:linear-gradient(to right,#334155,#475569,#334155)}body.dark-mode .lang-en{background:#0c2a3e;color:#7dd3fc;border-color:#1e4d6b}body.dark-mode .lang-kr{background:#3b2a0e;color:#fcd34d;border-color:#6b4c1a}body.dark-mode .question-text pre.question-code-block{background:linear-gradient(180deg,#0f172a,#020617);border-color:#1e293b}body.dark-mode .ai-explanation-content strong{color:#e2e8f0}body.dark-mode .ai-explanation-header h3,body.dark-mode .ai-explanation-content h4,body.dark-mode .ai-explanation-content .expl-h2{color:#c4b5fd}body.dark-mode .ai-explanation-content h5,body.dark-mode .ai-explanation-content .expl-h3{color:#a78bfa}body.dark-mode .expl-title{color:#c4b5fd}body.dark-mode .expl-label{color:#a78bfa}body.dark-mode .expl-section{color:#c4b5fd}body.dark-mode .expl-subsection{color:#a78bfa}body.dark-mode .ai-explanation-content .expl-list li:before,body.dark-mode .ai-explanation-content .expl-ordered-list li:before{color:#c4b5fd}body.dark-mode .explanation-content .expl-section{color:#7dd3fc}body.dark-mode .explanation-content .expl-list li:before,body.dark-mode .explanation-content .expl-ordered-list li:before{color:#7dd3fc}body.dark-mode .analysis-result-content .expl-subsection{color:#a78bfa}body.dark-mode #review-due-count,body.dark-mode .ai-error{color:#c4b5fd}body.dark-mode .analysis-lang-toggle button:hover{border-color:#06b6d4;color:#7dd3fc}body.dark-mode .analysis-result h5,body.dark-mode .analysis-loading-screen h2,body.dark-mode .data-manager h3,body.dark-mode h1,body.dark-mode h2,body.dark-mode .xp-gain-popup{color:#7dd3fc}body.dark-mode .set-select option{background:#1e1e2e;color:#e2e8f0}body.dark-mode .modal-content h2,body.dark-mode .help-content{color:#e2e8f0}body.dark-mode .analysis-result-content .expl-section{color:#7dd3fc}.study-config{padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:16px}.study-config-row{display:flex;align-items:center;gap:12px;justify-content:center}.study-config-row label{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:#166534}.study-config-row select{padding:6px 10px;border-radius:6px;border:1px solid #bbf7d0;font-weight:600}.study-timer-container{margin-bottom:16px}.study-timer-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:4px}.study-timer-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px;transition:width .1s linear}.study-timer-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.study-timer-fill.danger{background:linear-gradient(90deg,#ef4444,#f87171);animation:timerPulse .5s ease-in-out infinite}.study-timer-controls{display:flex;justify-content:space-between;align-items:center}.study-timer-text{font-size:13px;font-weight:700;color:#6b7280}.study-pause-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.study-pause-btn:hover{background:#f3f4f6;border-color:#0891b2}.study-correct-option{border-color:#10b981!important;background:linear-gradient(135deg,#d1fae5,#a7f3d0)!important;box-shadow:0 2px 8px #10b98126}body.study-focus-mode #gamification-bar,body.study-focus-mode .stats,body.study-focus-mode .badges{display:none}body.study-focus-mode .mistake-badge{display:none!important}body.dark-mode .study-config{background:#1a2e1a;border-color:#2d5a2d}body.dark-mode .study-config-row label{color:#6ee7b7}body.dark-mode .study-config-row select{background:#1e1e2e;color:#e2e8f0;border-color:#2d5a2d}body.dark-mode .study-timer-bar{background:#374151}body.dark-mode .study-timer-text{color:#94a3b8}body.dark-mode .study-pause-btn{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}body.dark-mode .study-pause-btn:hover{background:#353560;border-color:#06b6d4}body.dark-mode .study-correct-option{background:linear-gradient(135deg,#064e3b,#065f46)!important;border-color:#10b981!important}.release-notes-content{max-height:50vh;overflow-y:auto;padding:4px 0}.release-note-entry{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.release-note-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.release-note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.release-note-version{font-size:16px;font-weight:700;color:#0891b2}.release-note-date{font-size:13px;color:#6b7280}.release-note-changes{margin:0;padding-left:20px;list-style:none}.release-note-changes li{position:relative;padding:6px 0 6px 16px;font-size:14px;line-height:1.5;color:#374151}.release-note-changes li:before{content:"•";position:absolute;left:0;color:#0891b2;font-weight:700}body.dark-mode .release-note-entry{border-bottom-color:#4b5563}body.dark-mode .release-note-version{color:#7dd3fc}body.dark-mode .release-note-date{color:#94a3b8}body.dark-mode .release-note-changes li{color:#cbd5e1}body.dark-mode .release-note-changes li:before{color:#7dd3fc}body.dark-mode .app-version:hover{color:#7dd3fc}body.dark-mode .dashboard-subtitle{color:#94a3b8}body.dark-mode .dashboard-card{background:#2d2d48;border-color:#4b5563}body.dark-mode .dashboard-card:hover{border-color:#06b6d4;box-shadow:0 4px 16px #6366f133}body.dark-mode .dashboard-card-title{color:#e2e8f0}body.dark-mode .dashboard-card-title-input{background:#1e1e2e;color:#e2e8f0;border-color:#06b6d4}body.dark-mode .dashboard-card-meta{color:#94a3b8}body.dark-mode .dashboard-card-count,body.dark-mode .dashboard-card-progress{color:#7dd3fc}body.dark-mode .dashboard-card-action-btn:hover{background:#ffffff1a}body.dark-mode .dashboard-card-delete-btn:hover{background:#ef444433}body.dark-mode .dashboard-upload-btn{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .dashboard-upload-btn:hover{border-color:#06b6d4;color:#7dd3fc;background:#353560}body.dark-mode .dashboard-empty{color:#6b7280}body.dark-mode .dashboard-backup-banner{background:#3b3520;border-color:#a16207}body.dark-mode .dashboard-backup-banner-text{color:#fde68a}body.dark-mode .dashboard-backup-banner-last{color:#fbbf24}body.dark-mode .dashboard-backup-btn{background:#b45309}body.dark-mode .dashboard-backup-btn:hover{background:#d97706}body.dark-mode .dashboard-backup-dismiss{color:#fde68a}body.dark-mode .dashboard-backup-dismiss:hover{background:#ffffff1a}body.dark-mode .progress-sync-btn{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .progress-sync-btn:hover{border-color:#0891b2;color:#38bdf8;background:#0c2234}body.dark-mode .back-to-dashboard-btn{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .back-to-dashboard-btn:hover{border-color:#06b6d4;color:#7dd3fc}body.dark-mode .dashboard-folder{border-left-color:#06b6d4}body.dark-mode .dashboard-new-folder-btn{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .dashboard-new-folder-btn:hover{border-color:#06b6d4;color:#7dd3fc;background:#353560}body.dark-mode .move-folder-item{border-color:#4b5563;color:#e2e8f0;background:#2d2d48}body.dark-mode .move-folder-item:hover,body.dark-mode .move-folder-item.current{border-color:#06b6d4;background:#353560;color:#7dd3fc}body.dark-mode .markdown-body{color:#e2e8f0}body.dark-mode .markdown-body h1{color:#f1f5f9;border-bottom-color:#4b5563}body.dark-mode .markdown-body h2{color:#e2e8f0;border-bottom-color:#4b5563}body.dark-mode .markdown-body h3{color:#cbd5e1}body.dark-mode .markdown-body h4,body.dark-mode .markdown-body h5,body.dark-mode .markdown-body h6{color:#94a3b8}body.dark-mode .markdown-body pre{background:#2d2d48;border-color:#4b5563}body.dark-mode .markdown-body code{background:#2d2d48;color:#f472b6}body.dark-mode .markdown-body pre code{background:none;color:#c9d1d9}body.dark-mode .markdown-body pre code.hljs{background:none}body.dark-mode .markdown-body th{background:#2d2d48;color:#e2e8f0;border-color:#4b5563}body.dark-mode .markdown-body td{border-color:#4b5563}body.dark-mode .markdown-body tr:nth-child(2n) td{background:#262640}body.dark-mode .markdown-body blockquote{background:#2d2d48;border-left-color:#38bdf8;color:#94a3b8}body.dark-mode .markdown-body hr{border-top-color:#4b5563}body.dark-mode .markdown-body a{color:#7dd3fc}body.dark-mode #markdown-view header h1{color:#e2e8f0}.streak-badge{display:inline-flex;align-items:center;gap:2px;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:700;white-space:nowrap}.bookmark-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .2s;color:#9ca3af;line-height:1}.bookmark-btn:hover{color:#f59e0b;background:#f59e0b1a}.bookmark-btn.bookmarked{color:#f59e0b}body.dark-mode .bookmark-btn{color:#9ca3af}body.dark-mode .bookmark-btn:hover,body.dark-mode .bookmark-btn.bookmarked{color:#fbbf24}.edit-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .2s;color:#9ca3af;line-height:1}.edit-btn:hover{color:#0891b2;background:#0891b21a}body.dark-mode .edit-btn:hover{color:#7dd3fc;background:#6366f133}.add-question-btn{font-size:13px!important;padding:6px 12px!important}.search-filter-section{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.search-bar{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;color:#333;outline:none;transition:border-color .2s}.search-bar:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.search-bar:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}body.dark-mode .search-bar{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}body.dark-mode .search-bar:focus{border-color:#06b6d4;box-shadow:0 0 0 3px #6366f133}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid #e2e8f0;border-radius:12px;font-size:12px;font-weight:500;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-chip:hover{border-color:#0891b2;color:#0891b2}.filter-chip.active{background:#0891b2;color:#fff;border-color:#0891b2}.filter-chip.clear-chip{background:#fef2f2;color:#ef4444;border-color:#fecaca}.filter-chip.clear-chip:hover{background:#ef4444;color:#fff;border-color:#ef4444}body.dark-mode .filter-chip{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .filter-chip:hover{border-color:#06b6d4;color:#7dd3fc}body.dark-mode .filter-chip.active{background:#0891b2;color:#fff;border-color:#0891b2}body.dark-mode .filter-chip.clear-chip{background:#ef444426;color:#f87171;border-color:#ef44444d}.search-results-count{font-size:13px;color:#6b7280;font-weight:500}body.dark-mode .search-results-count{color:#94a3b8}.quiz-back-dash-btn{position:fixed;left:20px;bottom:20px;width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:700;color:#555;cursor:pointer;z-index:999;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.quiz-back-dash-btn:hover{background:#f0f0f0;transform:scale(1.1)}.quiz-back-dash-btn:active{transform:scale(.95)}body.dark-mode .quiz-back-dash-btn{background:#2d2d3fe6;border-color:#4b5563;color:#e5e7eb;box-shadow:0 2px 8px #0000004d}body.dark-mode .quiz-back-dash-btn:hover{background:#3d3d5c}.sec-edit-btn{float:right;margin-left:8px;padding:2px 7px;border-radius:5px;border:1px solid rgba(99,102,241,.3);background:#6366f112;color:#6366f1;cursor:pointer;opacity:0;transition:opacity .15s;line-height:1.6;vertical-align:middle}.markdown-body h2:hover .sec-edit-btn,.markdown-body h3:hover .sec-edit-btn{opacity:1}.markdown-body input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#0891b2;vertical-align:middle;margin-right:4px;flex-shrink:0}@media(hover:none),(max-width:1024px){.sec-edit-btn{opacity:.6}}body.dark-mode .sec-edit-btn{border-color:#8b5cf666;background:#8b5cf61a;color:#a78bfa}.cb-edit-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9500;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px 12px;overflow-y:auto}.cb-edit-modal.hidden{display:none}.cb-edit-inner{background:var(--surface-primary, #fff);border-radius:12px;width:100%;max-width:780px;height:88vh;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000040}.cb-edit-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.cb-edit-lang{font-size:.82rem;color:#6366f1;background:#6366f114;padding:2px 8px;border-radius:4px}.cb-edit-cancel-x{background:none;border:none;cursor:pointer;color:var(--text-secondary, #6b7280);padding:2px;line-height:1}.cb-edit-textarea{flex:1;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.84rem;line-height:1.55;padding:14px 16px;border:none;resize:none;outline:none;background:var(--bg-code, #f8fafc);color:var(--text-primary, #1f2937);min-height:180px;overflow-y:auto}.cb-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.cb-edit-cancel{padding:6px 18px;border-radius:7px;border:1px solid var(--border-color, #e5e7eb);background:transparent;cursor:pointer;font-size:.88rem;color:var(--text-primary, #1f2937)}.cb-edit-save{padding:6px 18px;border-radius:7px;border:none;background:#4f46e5;color:#fff;font-weight:600;font-size:.88rem;cursor:pointer}.cb-edit-save:hover{background:#4338ca}body.dark-mode .cb-edit-inner{background:#1e1e2e;border:1px solid #374151}body.dark-mode .cb-edit-textarea{background:#12121e;color:#e2e8f0}body.dark-mode .cb-edit-lang{color:#a78bfa;background:#a78bfa1a}body.dark-mode .cb-edit-cancel{border-color:#374151;color:#e2e8f0}.word-lookup-popup{position:absolute;z-index:9990;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #0000002e;max-height:360px;overflow-y:auto;font-size:13px;line-height:1.5;animation:popIn .2s cubic-bezier(.34,1.3,.64,1);transform-origin:top center}.word-lookup-popup.hidden{display:none}.wl-header{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;border-radius:12px 12px 0 0}.wl-term{font-weight:700;color:#0891b2;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-count{font-size:11px;color:#94a3b8;white-space:nowrap}.wl-close{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:14px;padding:0 2px;line-height:1}.wl-results{padding:4px 0}.wl-item{padding:8px 12px;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:background .12s}.wl-item:hover{background:#f0f9ff}.wl-item:last-child{border-bottom:none}.wl-item-top{display:flex;align-items:center;gap:6px}.wl-qnum{font-size:11px;font-weight:700;color:#fff;background:#0891b2;border-radius:4px;padding:2px 6px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.wl-qnum-md{background:#7c3aed}.wl-qnum-other{background:#d97706}.wl-nav-hint{font-size:10px;color:#94a3b8;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .12s}.wl-item:hover .wl-nav-hint{opacity:1}.wl-loading{padding:12px 16px;color:#94a3b8;font-size:13px;text-align:center}.wl-snippet{margin:0;color:#475569;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wl-snippet mark{background:#fef08a;color:#1e293b;border-radius:2px;padding:0 1px}body.dark-mode .word-lookup-popup{background:#1e293b;border-color:#334155;box-shadow:0 8px 32px #00000080}body.dark-mode .wl-header{background:#1e293b;border-color:#334155}body.dark-mode .wl-term{color:#38bdf8}body.dark-mode .wl-item{border-color:#334155}body.dark-mode .wl-item:hover{background:#1e3a52}body.dark-mode .wl-nav-hint{color:#475569}body.dark-mode .wl-snippet{color:#94a3b8}body.dark-mode .wl-snippet mark{background:#854d0e;color:#fef08a}body.dark-mode .wl-close{color:#64748b}.refresh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .2s ease}.refresh-overlay.hidden{display:none}.refresh-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.fab-group{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:998}.fab-group.fab-dashboard{top:16px;bottom:auto;flex-direction:column-reverse}body:has(.radio-player) .fab-group:not(.fab-dashboard){bottom:130px}.fab-main{width:44px;height:44px;border-radius:50%;border:1px solid #e2e8f0;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001f;transition:background .15s,border-color .15s,color .15s,transform .2s;-webkit-tap-highlight-color:transparent;flex-shrink:0}.fab-main:hover{background:#f0f9ff;border-color:#0891b2;color:#0891b2}.fab-group.open .fab-main{background:#0891b2;border-color:#0891b2;color:#fff;transform:rotate(45deg)}.fab-icon-close{display:none}.fab-icon-open,.fab-group.open .fab-icon-close{display:block}.fab-group.open .fab-icon-open{display:none}.fab-items{display:flex;flex-direction:column;align-items:center;gap:8px;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:none}.fab-group.open .fab-items{max-height:70vh;overflow-y:auto;opacity:1;pointer-events:auto}.fab-item.fab-ctx{border-color:#0891b2;color:#0891b2}body.dark-mode .fab-item.fab-ctx{border-color:#0891b2;color:#7dd3fc}.fab-item{width:38px;height:38px;border-radius:50%;border:1px solid #e2e8f0;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 1px 6px #0000001a;transition:background .15s,border-color .15s,color .15s;-webkit-tap-highlight-color:transparent}.fab-item:hover{background:#f0f9ff;border-color:#0891b2;color:#0891b2}.fab-item.active{background:#0891b2;border-color:#0891b2;color:#fff;box-shadow:0 2px 10px #0891b259}#fab-md-save-bookmark-btn.has-bookmark{background:#4f46e5;border-color:#4f46e5;color:#fff;box-shadow:0 2px 10px #4f46e566}body.dark-mode .fab-main,body.dark-mode .fab-item{background:#1e293bf2;border-color:#334155;color:#94a3b8;box-shadow:0 2px 8px #00000059}body.dark-mode .fab-main:hover,body.dark-mode .fab-item:hover{background:#1e3a4c;border-color:#0891b2;color:#7dd3fc}body.dark-mode .fab-group.open .fab-main,body.dark-mode .fab-item.active{background:#0891b2;border-color:#0891b2;color:#fff}.pomodoro-widget{position:fixed;bottom:80px;left:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pomodoro-close-btn{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;border:none;background:#00000026;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:1}.pomodoro-close-btn:hover{background:#0000004d}.pomodoro-toggle-btn{width:36px;height:36px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;font-size:18px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .2s;display:flex;align-items:center;justify-content:center}.pomodoro-toggle-btn:hover{transform:scale(1.1);border-color:#0891b2}body.dark-mode .pomodoro-toggle-btn{background:#2d2d48;border-color:#4b5563}.pomodoro-body{position:relative;background:#fff;border-radius:16px;padding:16px;box-shadow:0 8px 30px #0003;border:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:140px}body.dark-mode .pomodoro-body{background:#1e1e2e;border-color:#4b5563}.pomodoro-widget.collapsed .pomodoro-body{display:none}.pomodoro-svg{width:100px;height:100px}.pomodoro-info{display:flex;flex-direction:column;align-items:center;gap:2px}.pomodoro-timer-text{font-size:24px;font-weight:700;color:#1f2937;font-variant-numeric:tabular-nums}body.dark-mode .pomodoro-timer-text{color:#e2e8f0}.pomodoro-status{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase}body.dark-mode .pomodoro-status{color:#94a3b8}.pomodoro-controls{display:flex;gap:8px}.pomodoro-ctrl-btn{width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background:#f8fafc;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pomodoro-ctrl-btn:hover{background:#0891b2;color:#fff;border-color:#0891b2}body.dark-mode .pomodoro-ctrl-btn{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}body.dark-mode .pomodoro-ctrl-btn:hover{background:#0891b2;border-color:#0891b2}.pomodoro-count{font-size:11px;color:#9ca3af;font-weight:600}body.dark-mode .pomodoro-count{color:#6b7280}.editor-modal-content{max-width:600px}.editor-form{display:flex;flex-direction:column;gap:10px;margin:16px 0}.editor-label{font-size:13px;font-weight:600;color:#4b5563}body.dark-mode .editor-label{color:#94a3b8}.editor-textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;background:#fff;color:#333}body.dark-mode .editor-textarea{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}.editor-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;color:#333}body.dark-mode .editor-input{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}.editor-options-list{display:flex;flex-direction:column;gap:6px}.editor-option-row{display:flex;align-items:center;gap:8px}.editor-option-check{flex-shrink:0}.editor-correct-check{width:18px;height:18px;accent-color:#10b981}.editor-option-key{font-weight:700;font-size:14px;min-width:20px;color:#0891b2}body.dark-mode .editor-option-key{color:#7dd3fc}.editor-option-value{flex:1;padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;background:#fff;color:#333;resize:vertical;font-family:inherit;line-height:1.4}body.dark-mode .editor-option-value{background:#2d2d48;border-color:#4b5563;color:#e2e8f0}.editor-option-remove{background:none;border:none;font-size:18px;color:#ef4444;cursor:pointer;padding:0 4px;line-height:1}.editor-add-option-btn{align-self:flex-start;font-size:12px!important}.statistics-modal-content{max-width:700px;width:100%}.statistics-charts{display:flex;flex-direction:column;gap:20px;margin:16px 0}.chart-container{background:#f8fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0}body.dark-mode .chart-container{background:#2d2d48;border-color:#4b5563}.chart-container h3{display:flex;align-items:center;gap:6px;font-size:14px;color:#4b5563;margin-bottom:12px}body.dark-mode .chart-container h3{color:#94a3b8}.chart-wrapper{height:200px;position:relative}.chart-wrapper-sm{height:250px}.chart-wrapper-md{height:320px}.exam-setup-form{display:flex;flex-direction:column;gap:14px;margin:16px 0}.exam-setup-row{display:flex;align-items:center;gap:12px}.exam-setup-row label{font-size:14px;font-weight:500;color:#374151;min-width:80px}body.dark-mode .exam-setup-row label{color:#e2e8f0}.exam-timer-container{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0}body.dark-mode .exam-timer-container{background:#10b9811a;border-color:#10b9814d}.exam-timer-track{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}body.dark-mode .exam-timer-track{background:#4b5563}.exam-timer-bar{height:100%;background:#10b981;border-radius:4px;transition:width 1s linear;width:100%}.exam-timer-bar.timer-warning{background:#ef4444}.exam-timer-text{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:#374151;min-width:50px;text-align:right}body.dark-mode .exam-timer-text{color:#e2e8f0}.exam-layout{display:flex;gap:16px;min-height:400px}.exam-question-area{flex:1}.exam-sidebar{width:160px;flex-shrink:0}.exam-sidebar h4{font-size:13px;color:#6b7280;margin-bottom:8px}body.dark-mode .exam-sidebar h4{color:#94a3b8}.exam-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.palette-item{width:28px;height:28px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .15s}.palette-item:hover{border-color:#0891b2}.palette-item.answered{background:#0891b2;color:#fff;border-color:#0891b2}.palette-item.flagged{border-color:#f59e0b;box-shadow:inset 0 0 0 2px #f59e0b}.palette-item.current{border-color:#1f2937;box-shadow:0 0 0 2px #0891b2}body.dark-mode .palette-item{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .palette-item.answered{background:#0891b2;color:#fff}.exam-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.exam-flag-btn{padding:4px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s;color:#6b7280}.exam-flag-btn.flagged{background:#fef3c7;border-color:#f59e0b;color:#92400e}body.dark-mode .exam-flag-btn{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .exam-flag-btn.flagged{background:#f59e0b33;border-color:#f59e0b;color:#fbbf24}.exam-option{cursor:pointer}.exam-nav{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}.exam-submit-btn{min-width:100px}.exam-exit-btn{font-size:13px}.exam-result-modal-content{max-width:650px;width:100%}.exam-result-summary{text-align:center;margin-bottom:20px}.exam-result-score{padding:20px;border-radius:16px;margin-bottom:8px}.exam-result-score.pass{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981}.exam-result-score.fail{background:linear-gradient(135deg,#fef2f2,#fecaca);border:2px solid #ef4444}body.dark-mode .exam-result-score.pass{background:linear-gradient(135deg,#10b9811a,#10b98133);border-color:#10b981}body.dark-mode .exam-result-score.fail{background:linear-gradient(135deg,#ef44441a,#ef444433);border-color:#ef4444}.exam-result-pct{font-size:48px;font-weight:800;color:#1f2937}body.dark-mode .exam-result-pct{color:#e2e8f0}.exam-result-fraction{font-size:18px;color:#6b7280;margin-top:4px}.exam-result-verdict{font-size:20px;font-weight:700;margin-top:8px}.exam-result-score.pass .exam-result-verdict{color:#10b981}.exam-result-score.fail .exam-result-verdict{color:#ef4444}.exam-result-time{font-size:14px;color:#6b7280;margin-top:4px}body.dark-mode .exam-result-time{color:#94a3b8}.exam-result-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.exam-result-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s;font-size:13px}.exam-result-item:hover{background:#f3f4f6}body.dark-mode .exam-result-item:hover{background:#2d2d48}.exam-result-item.wrong{background:#fef2f2}body.dark-mode .exam-result-item.wrong{background:#ef44441a}.exam-result-icon{font-size:16px}.exam-result-num{font-weight:600;min-width:40px;color:#374151}body.dark-mode .exam-result-num{color:#e2e8f0}.exam-result-answer{color:#6b7280;flex:1}body.dark-mode .exam-result-answer{color:#94a3b8}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000}.onboarding-backdrop{background:#0009}.onboarding-spotlight{pointer-events:none}.onboarding-tooltip{z-index:10001}.onboarding-tooltip-content{background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 8px 30px #0000004d;max-width:320px;min-width:240px}body.dark-mode .onboarding-tooltip-content{background:#1e1e2e;color:#e2e8f0}.onboarding-tooltip-content p{font-size:14px;line-height:1.6;color:#374151;margin-bottom:12px}body.dark-mode .onboarding-tooltip-content p{color:#e2e8f0}.onboarding-tooltip-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.onboarding-skip-btn{padding:6px 12px;border:none;background:none;color:#9ca3af;cursor:pointer;font-size:13px}.onboarding-skip-btn:hover{color:#6b7280}.onboarding-step-indicator{font-size:12px;color:#9ca3af;font-weight:600}.onboarding-next-btn{padding:6px 16px;border:none;background:#0891b2;color:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.onboarding-next-btn:hover{background:#0e7490}@media(max-width:768px){.exam-layout{flex-direction:column}.exam-sidebar{width:100%}.exam-palette{grid-template-columns:repeat(10,1fr)}.pomodoro-widget{bottom:76px;right:12px}.statistics-modal-content{max-width:100%}.chart-wrapper{height:180px}}@media(max-width:480px){.filter-chips{gap:4px}.filter-chip{padding:4px 8px;font-size:11px}.exam-palette{grid-template-columns:repeat(8,1fr)}.palette-item{width:24px;height:24px;font-size:10px}.pomodoro-body{min-width:120px;padding:12px}.pomodoro-svg{width:80px;height:80px}.pomodoro-timer-text{font-size:20px}.onboarding-tooltip-content{max-width:260px;min-width:200px}.exam-result-pct{font-size:36px}}.dday-banner{border-radius:16px;padding:18px 20px 18px 24px;margin-bottom:12px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.dday-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:16px 0 0 16px}.dday-banner:hover{transform:translateY(-2px)}.dday-banner.dday-safe{background:linear-gradient(135deg,#eef0ff,#e0f2fe);box-shadow:0 2px 8px #6366f11f,0 1px 3px #6366f114}.dday-banner.dday-safe:before{background:#6366f1}.dday-banner.dday-safe:hover{box-shadow:0 6px 20px #6366f12e,0 2px 6px #6366f11f}.dday-banner.dday-soon{background:linear-gradient(135deg,#e0e7ff,#dbeafe);box-shadow:0 2px 8px #4f46e524,0 1px 3px #4f46e51a}.dday-banner.dday-soon:before{background:#4f46e5}.dday-banner.dday-soon:hover{box-shadow:0 6px 20px #4f46e533,0 2px 6px #4f46e524}.dday-banner.dday-warn{background:linear-gradient(135deg,#fef3c7,#fed7aa);box-shadow:0 2px 8px #ea580c24,0 1px 3px #ea580c1a}.dday-banner.dday-warn:before{background:#ea580c}.dday-banner.dday-warn:hover{box-shadow:0 6px 20px #ea580c33,0 2px 6px #ea580c24}.dday-banner.dday-urgent{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 2px 10px #dc26262e,0 1px 4px #dc26261f}.dday-banner.dday-urgent:before{background:#dc2626}.dday-banner.dday-urgent:hover{box-shadow:0 6px 24px #dc262642,0 2px 8px #dc26262e}.dday-banner.dday-today{background:linear-gradient(135deg,#fecaca,#fbcfe8);box-shadow:0 4px 16px #ef44443d,0 2px 6px #ef444429}.dday-banner.dday-today:before{background:linear-gradient(180deg,#dc2626,#e11d48);animation:ddayTodayPulse 1.8s ease-in-out infinite}.dday-banner.dday-today:hover{box-shadow:0 8px 28px #ef444452,0 3px 10px #ef444438}.dday-banner.dday-past{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);box-shadow:0 1px 3px #0000000f;opacity:.72}.dday-banner.dday-past:before{background:#9ca3af}@keyframes ddayTodayPulse{0%,to{opacity:1}50%{opacity:.4}}.dday-ring-wrap{position:relative;width:78px;height:78px;flex-shrink:0}.dday-ring-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.08))}.dday-ring-progress{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.dday-ring-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.dday-ring-num{font-size:19px;font-weight:900;letter-spacing:-1px;line-height:1;color:#111827}.dday-ring-today{font-size:12px;font-weight:900;color:#dc2626;letter-spacing:.5px;text-transform:uppercase;animation:ddayTodayPulse 1.8s ease-in-out infinite}.dday-past .dday-ring-num{color:#9ca3af}.dday-urgent .dday-ring-num{color:#b91c1c}.dday-warn .dday-ring-num{color:#c2410c}.dday-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;min-height:52px;justify-content:center}.dday-exam-name{font-size:15px;font-weight:800;color:#111827;line-height:1.3;letter-spacing:-.3px}.dday-exam-date{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:5px;line-height:1}.dday-exam-date svg{opacity:.5}.dday-round-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dday-round-badge{font-size:10px;font-weight:700;color:#4f46e5;background:#0891b21a;padding:1px 7px;border-radius:8px;letter-spacing:.02em}.dday-warn .dday-round-badge{color:#ea580c;background:#ea580c1a}.dday-urgent .dday-round-badge,.dday-today .dday-round-badge{color:#dc2626;background:#dc26261a}body.dark-mode .dday-round-badge{color:#7dd3fc;background:#a5b4fc26}body.dark-mode .dday-warn .dday-round-badge{color:#fb923c;background:#fb923c26}body.dark-mode .dday-urgent .dday-round-badge,body.dark-mode .dday-today .dday-round-badge{color:#fca5a5;background:#fca5a526}.dday-progress-section{margin-top:6px}.dday-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.dday-progress-label{font-size:11px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:4px;letter-spacing:.01em}.dday-progress-label svg{opacity:.5}.dday-progress-count{font-size:11px;font-weight:700;color:#4f46e5;font-variant-numeric:tabular-nums}.dday-progress-track{height:4px;background:#0000000f;border-radius:4px;overflow:hidden}.dday-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#06b6d4,#4f46e5);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}.dday-warn .dday-progress-fill{background:linear-gradient(90deg,#fb923c,#ea580c)}.dday-warn .dday-progress-count{color:#ea580c}.dday-urgent .dday-progress-fill,.dday-today .dday-progress-fill{background:linear-gradient(90deg,#f87171,#dc2626)}.dday-urgent .dday-progress-count,.dday-today .dday-progress-count{color:#dc2626}.dday-today-msg{font-size:13px;font-weight:700;color:#dc2626}.dday-actions{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.dday-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#9ca3af;transition:color .15s,background .15s}.dday-icon-btn:hover{color:#374151;background:#0000000d}.dday-add-row{margin-bottom:14px}.dday-add-trigger{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:14px 16px;border:2px dashed #d1d5db;border-radius:12px;background:#fff;color:#6b7280;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.dday-add-trigger:hover{border-color:#0891b2;background:#f5f3ff;color:#4f46e5}.dday-pulse{animation:ddayPulse 2.5s ease-in-out infinite}@keyframes ddayPulse{0%,to{box-shadow:0 2px 8px #ef444426,0 0 #ef444433}50%{box-shadow:0 2px 8px #ef444426,0 0 0 6px #ef444400}}.dday-form{display:flex;flex-direction:column;gap:16px;margin:16px 0}.dday-form-row{display:flex;flex-direction:column;gap:5px}.dday-form-row label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.dday-form-row .editor-input,.dday-form-row .set-select{width:100%;padding:10px 12px;font-size:14px;border:1.5px solid #e2e8f0;border-radius:10px;transition:border-color .15s}.dday-form-row input[type=date],.dday-form-row input[type=time]{text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dday-form-row .editor-input:focus,.dday-form-row .set-select:focus{border-color:#06b6d4;outline:none}.dday-form-row .editor-input:focus-visible,.dday-form-row .set-select:focus-visible{outline:2px solid #0891b2;outline-offset:2px}#dday-modal .modal-buttons,#notification-modal .modal-buttons{display:flex;gap:10px}#dday-modal .modal-buttons>button,#notification-modal .modal-buttons>button{flex:1;padding:12px;font-size:14px;border-radius:10px}.notif-days-row{display:flex;flex-direction:column;gap:8px;margin-top:4px}.notif-days-label{font-weight:600;font-size:14px}.notif-days-btns{display:flex;gap:6px}.notif-day-btn{flex:1;padding:8px 0;font-size:13px;font-weight:600;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.notif-day-btn.active{background:#06b6d4;border-color:#06b6d4;color:#fff}.notif-day-btn:hover:not(.active){border-color:#7dd3fc;background:#f5f3ff}.notification-note{font-size:11px;color:#9ca3af;text-align:center;margin:6px 0 0;letter-spacing:.01em}.dday-progress-empty{min-height:10px}body.dark-mode .dday-banner.dday-safe{background:linear-gradient(135deg,#1e1b4b,#1e3a5f);box-shadow:0 2px 10px #6366f133,0 1px 3px #0000004d}body.dark-mode .dday-banner.dday-soon{background:linear-gradient(135deg,#1e1b4b,#172554);box-shadow:0 2px 10px #4f46e538,0 1px 3px #0000004d}body.dark-mode .dday-banner.dday-warn{background:linear-gradient(135deg,#431407,#7c2d12);box-shadow:0 2px 10px #ea580c33,0 1px 3px #0000004d}body.dark-mode .dday-banner.dday-urgent{background:linear-gradient(135deg,#450a0a,#7f1d1d);box-shadow:0 2px 12px #dc262647,0 1px 4px #0000004d}body.dark-mode .dday-banner.dday-today{background:linear-gradient(135deg,#7f1d1d,#4c0519);box-shadow:0 4px 20px #ef444459,0 2px 6px #0000004d}body.dark-mode .dday-banner.dday-past{background:linear-gradient(135deg,#1f2937,#111827);box-shadow:none}body.dark-mode .dday-urgent .dday-ring-num{color:#fca5a5}body.dark-mode .dday-warn .dday-ring-num{color:#fdba74}body.dark-mode .dday-ring-num{color:#e5e7eb}body.dark-mode .dday-ring-today{color:#fca5a5}body.dark-mode .dday-past .dday-ring-num{color:#6b7280}body.dark-mode .dday-exam-name{color:#f3f4f6}body.dark-mode .dday-exam-date,body.dark-mode .dday-progress-label{color:#9ca3af}body.dark-mode .dday-progress-count{color:#7dd3fc}body.dark-mode .dday-progress-track{background:#ffffff14}body.dark-mode .dday-warn .dday-progress-count{color:#fb923c}body.dark-mode .dday-urgent .dday-progress-count,body.dark-mode .dday-today .dday-progress-count,body.dark-mode .dday-today-msg{color:#fca5a5}body.dark-mode .dday-icon-btn{color:#6b7280}body.dark-mode .dday-icon-btn:hover{color:#d1d5db;background:#ffffff14}body.dark-mode .dday-add-trigger{background:#2d2d48;border-color:#4b5563;color:#94a3b8}body.dark-mode .dday-add-trigger:hover{border-color:#06b6d4;background:#353560;color:#7dd3fc}body.dark-mode .dday-form-row label{color:#9ca3af}body.dark-mode .dday-form-row .editor-input,body.dark-mode .dday-form-row .set-select{background:#1f2937;border-color:#4b5563;color:#e2e8f0}body.dark-mode .dday-form-row .editor-input:focus,body.dark-mode .dday-form-row .set-select:focus{border-color:#06b6d4}body.dark-mode .notif-day-btn{background:#1f2937;border-color:#4b5563;color:#9ca3af}body.dark-mode .notif-day-btn.active{background:#06b6d4;border-color:#06b6d4;color:#fff}body.dark-mode .notif-day-btn:hover:not(.active){border-color:#38bdf8;background:#2d2d48}body.dark-mode .notification-note{color:#6b7280}@media(max-width:480px){.dday-banner{padding:12px;gap:10px}.dday-ring-wrap{width:54px;height:54px}.dday-ring-num{font-size:14px}.dday-ring-today{font-size:11px}.dday-info{gap:2px;min-height:auto;overflow:hidden}.dday-exam-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dday-exam-date{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dday-progress-section{margin-top:4px}.dday-progress-label,.dday-progress-count{font-size:10px;white-space:nowrap}.dday-actions{width:28px;flex-direction:column;gap:0}.dday-icon-btn{width:28px;height:28px}.dday-icon-btn svg{width:13px;height:13px}}@keyframes dashFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dday-banner,.dday-add-row{animation:dashFadeUp .35s ease-out both}.dday-banner:nth-child(1){animation-delay:0s}.dday-banner:nth-child(2){animation-delay:.06s}.dday-banner:nth-child(3){animation-delay:.12s}.dday-banner:nth-child(4){animation-delay:.18s}.dday-add-row{animation-delay:.2s}.dashboard-grid .dashboard-card,.dashboard-grid .dashboard-folder{animation:dashFadeUp .3s ease-out both}.dashboard-grid>:nth-child(1){animation-delay:.05s}.dashboard-grid>:nth-child(2){animation-delay:.1s}.dashboard-grid>:nth-child(3){animation-delay:.15s}.dashboard-grid>:nth-child(4){animation-delay:.2s}.dashboard-grid>:nth-child(5){animation-delay:.25s}.dashboard-grid>:nth-child(6){animation-delay:.3s}.dashboard-grid>:nth-child(n+7){animation-delay:.35s}.dashboard-bottom-actions{animation:dashFadeUp .3s ease-out .25s both}@media(prefers-reduced-motion:reduce){.dday-banner,.dday-add-row,.dashboard-grid .dashboard-card,.dashboard-grid .dashboard-folder,.dashboard-bottom-actions{animation:none!important}}.markdown-editor{display:flex;flex-direction:column;gap:0}.markdown-editor.hidden{display:none}#markdown-editor-textarea{width:100%;min-height:60vh;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:14px;line-height:1.7;border:1px solid #d1d5db;border-radius:8px;resize:vertical;background:#fafafa;color:#1f2937;-moz-tab-size:4;tab-size:4}#markdown-editor-textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #0891b21a}#markdown-editor-textarea:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.markdown-editor-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 0;background:#fff;border-top:1px solid #e5e7eb;margin-top:8px}body.dark-mode #markdown-editor-textarea{background:#1e1e2e;color:#e2e8f0;border-color:#4b5563}body.dark-mode #markdown-editor-textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #818cf826}body.dark-mode .markdown-editor-actions{background:#1a1a2e;border-top-color:#4b5563}button:focus-visible,.mode-btn:focus-visible,.option:focus-visible,.nav-btn:focus-visible,.submit-btn:focus-visible,.filter-chip:focus-visible{outline:2px solid #0891b2;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.keyboard-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.keyboard-help-content{background:#fff;border-radius:16px;padding:28px 32px;max-width:380px;width:90%;box-shadow:0 20px 60px #0000004d}.keyboard-help-content h3{margin:0 0 16px;font-size:18px;text-align:center}.keyboard-help-grid{display:flex;flex-direction:column;gap:10px;font-size:14px}.keyboard-help-grid div{display:flex;align-items:center;gap:8px}kbd{display:inline-block;padding:3px 8px;font-size:12px;font-family:monospace;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 1px 2px #0000001a;min-width:24px;text-align:center}.keyboard-help-close{display:block;margin:18px auto 0;padding:8px 24px;border:none;border-radius:8px;background:#0891b2;color:#fff;font-size:14px;cursor:pointer}body.dark-mode .keyboard-help-content{background:#1e1e2e;color:#e5e7eb}body.dark-mode kbd{background:#374151;border-color:#4b5563;color:#e5e7eb}.md-page-nav{position:fixed;left:50%;bottom:100px;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0f172a8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:40px;padding:6px 14px;z-index:1100;box-shadow:0 4px 16px #00000040;transition:opacity .2s}.md-page-nav.hidden{display:none}.md-page-nav-btn{background:none;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.md-page-nav-btn:hover{background:#ffffff26}.md-page-nav-btn:disabled{opacity:.3;cursor:default}.md-page-indicator{color:#ffffffd9;font-size:13px;font-weight:600;min-width:36px;text-align:center;letter-spacing:.5px}#fab-md-nav-toggle-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.md-nav-bar{position:fixed;right:8px;top:50%;transform:translate(60px) translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:24px;z-index:1000;transition:transform .3s ease,opacity .3s ease;opacity:0;box-shadow:0 2px 12px #00000014}.md-nav-bar.visible{transform:translate(0) translateY(-50%);opacity:.4}.md-nav-bar.visible:hover{opacity:1}body.dark-mode .md-nav-bar{background:#1e1e2eeb;border-color:#ffffff1a;box-shadow:0 2px 12px #0000004d}.md-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.md-nav-btn:hover:not(:disabled){background:#f0f0f0;transform:scale(1.1)}.md-nav-btn:active:not(:disabled){transform:scale(.95)}.md-nav-btn:disabled{opacity:.3;cursor:default}.md-nav-btn.has-bookmark{background:#fff3cd;border-color:#ffc107}body.dark-mode .md-nav-btn{background:#2d2d3f;border-color:#4b5563;color:#e5e7eb}body.dark-mode .md-nav-btn:hover:not(:disabled){background:#3d3d5c}body.dark-mode .md-nav-btn.has-bookmark{background:#4a3f20;border-color:#ffc107}.md-nav-indicator{font-size:13px;font-weight:600;color:#666;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}body.dark-mode .md-nav-indicator{color:#9ca3af}.md-bookmark-ribbon{position:fixed;right:12px;top:80px;width:36px;height:44px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;z-index:999;opacity:0;transform:translate(50px);transition:all .3s ease;filter:grayscale(.8);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.md-bookmark-ribbon.visible{opacity:.6;transform:translate(0)}.md-bookmark-ribbon.visible:hover{opacity:1;transform:scale(1.2)}.md-bookmark-ribbon.has-bookmark{filter:grayscale(0);opacity:1!important}.md-bookmark-ribbon.has-bookmark.visible{animation:ribbon-pulse 2s ease-in-out infinite}@keyframes ribbon-pulse{0%,to{transform:translate(0) scale(1)}50%{transform:translate(0) scale(1.15)}}.md-scroll-top-btn{position:fixed;right:16px;bottom:24px;width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:18px;font-weight:700;color:#555;cursor:pointer;z-index:999;opacity:0;transform:translateY(20px);transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-tap-highlight-color:transparent}.md-scroll-top-btn.visible{opacity:1;transform:translateY(0)}.md-scroll-top-btn:hover{background:#f0f0f0;transform:scale(1.1)}.md-scroll-top-btn:active{transform:scale(.95)}body.dark-mode .md-scroll-top-btn{background:#2d2d3fe6;border-color:#4b5563;color:#e5e7eb;box-shadow:0 2px 8px #0000004d}body.dark-mode .md-scroll-top-btn:hover{background:#3d3d5c}.md-back-dash-btn{position:fixed;right:16px;bottom:76px;width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:18px;font-weight:700;color:#555;cursor:pointer;z-index:999;opacity:0;transform:translateY(20px);transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-tap-highlight-color:transparent}.md-back-dash-btn.visible{opacity:1;transform:translateY(0)}.md-back-dash-btn:hover{background:#f0f0f0;transform:scale(1.1)}.md-back-dash-btn:active{transform:scale(.95)}body.dark-mode .md-back-dash-btn{background:#2d2d3fe6;border-color:#4b5563;color:#e5e7eb;box-shadow:0 2px 8px #0000004d}body.dark-mode .md-back-dash-btn:hover{background:#3d3d5c}.md-autoscroll-btn{position:fixed;right:16px;bottom:128px;width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:16px;font-weight:700;color:#555;cursor:pointer;z-index:999;opacity:0;transform:translateY(20px);transition:all .3s ease;box-shadow:0 2px 8px #0000001a;-webkit-tap-highlight-color:transparent}.md-autoscroll-btn.visible{opacity:1;transform:translateY(0)}.md-autoscroll-btn.active{background:#0891b2;border-color:#0891b2;color:#fff;box-shadow:0 2px 12px #0891b24d}.md-autoscroll-btn:hover{transform:scale(1.1)}.md-autoscroll-btn:active{transform:scale(.95)}body.dark-mode .md-autoscroll-btn{background:#2d2d3fe6;border-color:#4b5563;color:#e5e7eb;box-shadow:0 2px 8px #0000004d}body.dark-mode .md-autoscroll-btn.active{background:#06b6d4;border-color:#06b6d4;color:#fff}body.dark-mode .md-autoscroll-btn:hover{background:#3d3d5c}body.dark-mode .md-autoscroll-btn.active:hover{background:#5558e6}@media(max-width:768px){.md-nav-bar{right:4px;padding:8px 4px;gap:4px}.md-nav-btn{width:32px;height:32px;font-size:13px}.md-nav-indicator{font-size:11px}.md-bookmark-ribbon{right:8px;top:70px;width:30px;height:38px;font-size:17px}.md-scroll-top-btn{right:12px;bottom:20px;width:38px;height:38px;font-size:16px}.md-back-dash-btn{right:12px;bottom:66px;width:38px;height:38px;font-size:16px}.md-autoscroll-btn{right:12px;bottom:112px;width:38px;height:38px;font-size:14px}}.radio-player{position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -4px 20px #0000001a;padding:8px 16px;display:flex;flex-direction:column;gap:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.radio-player-row1{display:flex;align-items:center;justify-content:space-between;gap:8px}.radio-ep-info{font-size:14px;font-weight:600;color:#0891b2;white-space:nowrap}.radio-controls{display:flex;align-items:center;gap:4px}.radio-btn{width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.radio-btn:hover{background:#f0f0f0;transform:scale(1.1)}.radio-btn:active{transform:scale(.9)}.radio-play-btn{width:44px;height:44px;font-size:20px;background:#0891b2;color:#fff;border-color:#0891b2}.radio-play-btn:hover{background:#0e7490}.radio-speed-btn{border-radius:12px;width:auto;padding:0 10px;font-size:13px;font-weight:600;color:#0891b2}.radio-player-row2{display:flex;align-items:center;gap:8px}.radio-progress-track{flex:1;height:4px;background:#e5e7eb;border-radius:2px;position:relative;cursor:pointer}.radio-progress-fill{height:100%;background:linear-gradient(90deg,#0891b2,#0e7490);border-radius:2px;transition:width .3s ease;width:0%}.radio-progress-thumb{position:absolute;width:12px;height:12px;background:#4fc3f7;border-radius:50%;top:50%;left:0%;transform:translate(-50%,-50%);pointer-events:none}.radio-progress-text{font-size:12px;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:75px;text-align:right}.radio-player-row3{min-height:20px}.radio-preview{font-size:13px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.radio-player-row3{display:flex;align-items:center;gap:6px}.radio-badge{font-size:10px;font-weight:700;background:#0891b2;color:#fff;padding:1px 5px;border-radius:3px;flex-shrink:0}.radio-upload-btn,.radio-playlist-toggle-btn{font-size:14px;width:32px;height:32px;flex-shrink:0}.radio-player.radio-dragover{outline:2px dashed #0891b2;outline-offset:-2px;background:#0891b20d}.radio-playlist{position:fixed;bottom:124px;left:8px;right:8px;max-height:50vh;z-index:1099;background:#fffffff7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 -4px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .25s ease,transform .25s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.radio-playlist.show{opacity:1;transform:translateY(0)}.radio-playlist-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:14px;font-weight:600;color:#374151;border-bottom:1px solid rgba(0,0,0,.06)}.radio-playlist-clear-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .15s}.radio-playlist-clear-btn:hover{background:#fee2e2}.radio-upload-area{margin:8px 12px;padding:14px;border:2px dashed #d1d5db;border-radius:8px;text-align:center;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s ease}.radio-upload-area:hover,.radio-upload-area.dragover{border-color:#0891b2;background:#0891b20a;color:#0891b2}.radio-playlist-list{overflow-y:auto;max-height:calc(50vh - 120px);-webkit-overflow-scrolling:touch}.radio-playlist-item{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .15s}.radio-playlist-item:hover{background:#0891b20a}.radio-playlist-item.active{background:#0891b214}.radio-playlist-item.active .radio-playlist-idx{color:#0891b2;font-weight:700}.radio-playlist-idx{font-size:12px;color:#9ca3af;min-width:22px;text-align:right;flex-shrink:0}.radio-playlist-name{flex:1;font-size:13px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.radio-playlist-name:hover{color:#0891b2}.radio-playlist-remove{background:none;border:none;font-size:12px;color:#9ca3af;cursor:pointer;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:all .15s}.radio-playlist-remove:hover{color:#ef4444;background:#fee2e2}body.dark-mode .radio-player{background:#1e1e2ef2;border-top-color:#ffffff1a;box-shadow:0 -4px 20px #0000004d}body.dark-mode .radio-ep-info{color:#7dd3fc}body.dark-mode .radio-btn{background:#2d2d48;border-color:#4b5563;color:#e5e7eb}body.dark-mode .radio-btn:hover{background:#3d3d5c}body.dark-mode .radio-play-btn{background:#0891b2;color:#fff;border-color:#0891b2}body.dark-mode .radio-play-btn:hover{background:#0e7490}body.dark-mode .radio-speed-btn{color:#7dd3fc}body.dark-mode .radio-progress-track{background:#374151}body.dark-mode .radio-progress-text{color:#9ca3af}body.dark-mode .radio-preview{color:#cbd5e1}body.dark-mode .radio-playlist{background:#1e1e2ef7;border-color:#ffffff1a;box-shadow:0 -4px 24px #0000004d}body.dark-mode .radio-playlist-header{color:#e5e7eb;border-bottom-color:#ffffff0f}body.dark-mode .radio-playlist-clear-btn:hover{background:#ef444426}body.dark-mode .radio-upload-area{border-color:#4b5563;color:#9ca3af}body.dark-mode .radio-upload-area:hover,body.dark-mode .radio-upload-area.dragover{border-color:#38bdf8;background:#6366f114;color:#7dd3fc}body.dark-mode .radio-playlist-item{border-bottom-color:#ffffff0a}body.dark-mode .radio-playlist-item:hover{background:#6366f114}body.dark-mode .radio-playlist-item.active{background:#6366f11f}body.dark-mode .radio-playlist-name{color:#cbd5e1}body.dark-mode .radio-playlist-name:hover{color:#7dd3fc}body.dark-mode .radio-playlist-remove:hover{color:#f87171;background:#ef444426}body:has(.radio-player) #dashboard-view{padding-bottom:130px}body:has(.radio-player) #markdown-view{padding-bottom:130px}body:has(.radio-player) .md-scroll-top-btn{bottom:130px}body:has(.radio-player) .md-back-dash-btn{bottom:182px}body:has(.radio-player) .md-autoscroll-btn{bottom:234px}body:has(.radio-player) .quiz-back-dash-btn{bottom:130px}body:has(.radio-player) .pomodoro-widget{bottom:190px}body:has(.radio-playlist.show) .md-scroll-top-btn,body:has(.radio-playlist.show) .md-back-dash-btn,body:has(.radio-playlist.show) .md-autoscroll-btn{z-index:1102}@media(max-width:768px){.radio-player{padding:6px 12px}.radio-btn{width:32px;height:32px;font-size:14px}.radio-play-btn{width:40px;height:40px;font-size:18px}.radio-speed-btn{font-size:12px;padding:0 8px}.radio-preview{font-size:12px}}.radio-toast{position:fixed;bottom:130px;left:50%;transform:translate(-50%) translateY(20px);z-index:1101;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:8px 16px;box-shadow:0 4px 16px #0000001f;display:flex;align-items:center;gap:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#374151;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;white-space:nowrap;max-width:calc(100vw - 32px)}.radio-toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.radio-toast-icon{font-size:16px;flex-shrink:0}.radio-toast-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.radio-toast-cancel{background:none;border:1px solid #d1d5db;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;flex-shrink:0;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.radio-toast-cancel:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.radio-toast-cancel:active{transform:scale(.95)}.radio-toast-spinner{display:inline-block;width:14px;height:14px;border:2px solid #d1d5db;border-top-color:#0891b2;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}body.dark-mode .radio-toast{background:#1e1e2ef2;border-color:#ffffff1a;color:#e5e7eb;box-shadow:0 4px 16px #0000004d}body.dark-mode .radio-toast-cancel{border-color:#4b5563;color:#9ca3af}body.dark-mode .radio-toast-cancel:hover{background:#374151;border-color:#6b7280;color:#e5e7eb}body.dark-mode .radio-toast-spinner{border-color:#4b5563;border-top-color:#7dd3fc}@media(max-width:768px){.radio-toast{bottom:118px;font-size:13px;padding:6px 12px}}#pdf-view{display:flex;flex-direction:column;min-height:100vh;padding:16px;box-sizing:border-box;max-width:900px;margin:0 auto}#pdf-view header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}#pdf-view header h1{display:flex;align-items:center;gap:6px;font-size:18px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-actions{display:flex;gap:6px}.pdf-page-container{display:flex;justify-content:center;align-items:flex-start;background:#f1f5f9;border-radius:8px;padding:12px;min-height:300px}#pdf-canvas{max-width:100%;height:auto;display:block;border-radius:4px;box-shadow:0 2px 12px #00000026}.pdf-scroll-container{background:#f1f5f9;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px;max-height:80vh;overflow-y:auto}.pdf-scroll-page{position:relative}.pdf-scroll-page canvas{max-width:100%;display:block;border-radius:4px;box-shadow:0 2px 12px #00000026}.pdf-scroll-page-label{position:absolute;bottom:8px;right:10px;font-size:11px;color:#fff;background:#00000073;padding:2px 7px;border-radius:10px;pointer-events:none}.pdf-loading{text-align:center;padding:40px;color:#94a3b8;font-size:14px}.pdf-nav{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 0 4px}.pdf-nav-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #e2e8f0;background:#f8fafc;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pdf-nav-btn:hover:not(:disabled){background:#f0f9ff;border-color:#0891b2;color:#0891b2}.pdf-nav-btn:disabled{opacity:.35;cursor:default}#pdf-page-info{font-size:14px;font-weight:600;color:#374151;min-width:80px;text-align:center}body.dark-mode .pdf-page-container,body.dark-mode .pdf-scroll-container{background:#1e293b}body.dark-mode .pdf-scroll-page-label{color:#6b7280;border-bottom-color:#374151}body.dark-mode .pdf-nav-btn{background:#374151;border-color:#4b5563;color:#d1d5db}body.dark-mode .pdf-nav-btn:hover:not(:disabled){background:#1e3a5f;border-color:#0891b2;color:#38bdf8}body.dark-mode #pdf-page-info{color:#d1d5db}body.pdf-fullscreen-active{overflow:hidden}#pdf-view.pdf-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0f172a;padding:0;max-width:100%;overflow:hidden;display:flex!important;flex-direction:column;align-items:center;justify-content:center}#pdf-view.pdf-fullscreen>header,#pdf-view.pdf-fullscreen #pdf-nav,#pdf-view.pdf-fullscreen .markdown-bottom-nav{display:none!important}#pdf-view.pdf-fullscreen .pdf-page-container{background:transparent;min-height:unset;flex:1;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}#pdf-view.pdf-fullscreen .pdf-scroll-container{background:transparent;flex:1;width:100%;max-height:calc(100vh - 56px);overflow-y:auto}.pdf-fs-overlay{display:none}#pdf-view.pdf-fullscreen .pdf-fs-overlay{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:10000;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;gap:16px;padding:10px 20px;height:56px}.pdf-fs-overlay-btn{background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#f1f5f9;padding:6px 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.pdf-fs-overlay-btn:hover{background:#ffffff26}.pdf-fs-overlay-btn.pdf-fs-close{margin-left:12px;border-color:#ef444480;color:#fca5a5}.pdf-fs-overlay-btn.pdf-fs-close:hover{background:#ef444433}#pdf-fs-page-info{color:#e2e8f0;font-size:14px;min-width:70px;text-align:center}.pdf-action-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 10px;white-space:nowrap}.pdf-toolbar{display:flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:6px 10px;margin-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.pdf-toolbar::-webkit-scrollbar{display:none}.pdf-tool-options{display:flex;align-items:center;gap:4px}.pdf-tool-group{display:flex;align-items:center;gap:3px;flex-shrink:0}.pdf-tool-divider{width:1px;height:24px;background:#e2e8f0;margin:0 4px;flex-shrink:0}.pdf-tool-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1.5px solid transparent;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;transition:background .13s,border-color .13s,color .13s;white-space:nowrap;flex-shrink:0}.pdf-tool-btn:hover{background:#e2e8f0;color:#1e293b}.pdf-tool-btn.pdf-tool-active{background:#e0f2fe;border-color:#0ea5e9;color:#0369a1}#pdf-tts-btn.pdf-tool-active{background:#ede9fe;border-color:#7c3aed;color:#5b21b6}#pdf-autoscroll-btn.pdf-tool-active{background:#dcfce7;border-color:#22c55e;color:#15803d}#pdf-bm-toggle.pdf-tool-active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.pdf-speed-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:72px;height:4px;background:#cbd5e1;border-radius:2px;outline:none;cursor:pointer;margin:0 4px;flex-shrink:0}.pdf-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#0ea5e9;cursor:pointer}.pdf-speed-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#0ea5e9;border:none;cursor:pointer}.pdf-page-info-inline{font-size:12px;font-weight:600;color:#475569;min-width:52px;text-align:center;white-space:nowrap;flex-shrink:0}body.dark-mode .pdf-page-info-inline{color:#94a3b8}.pdf-slider-label{font-size:11px;color:#64748b;white-space:nowrap;flex-shrink:0}.pdf-slider-val{font-size:11px;font-weight:600;color:#334155;min-width:16px;text-align:right;flex-shrink:0}body.dark-mode .pdf-slider-label{color:#94a3b8}body.dark-mode .pdf-slider-val{color:#cbd5e1}body.dark-mode .pdf-toolbar{background:#1e293b;border-color:#334155}body.dark-mode .pdf-tool-divider{background:#334155}body.dark-mode .pdf-tool-btn{color:#94a3b8}body.dark-mode .pdf-tool-btn:hover{background:#334155;color:#e2e8f0}body.dark-mode .pdf-tool-btn.pdf-tool-active{background:#0c4a6e;border-color:#0ea5e9;color:#38bdf8}body.dark-mode .pdf-speed-slider{background:#334155}#pdf-view.pdf-fullscreen .pdf-toolbar{background:#0f172aeb;border-color:#ffffff14;border-radius:0;margin-bottom:0;padding:6px 16px;width:100%}#pdf-view.pdf-fullscreen .pdf-tool-btn{color:#94a3b8}#pdf-view.pdf-fullscreen .pdf-tool-btn:hover{background:#ffffff1a;color:#f1f5f9}#pdf-view.pdf-fullscreen .pdf-tool-divider{background:#ffffff26}#pdf-view.pdf-fullscreen .pdf-speed-slider{background:#fff3}.logo-book-icon{display:inline-flex;align-items:center;gap:6px;-webkit-text-fill-color:unset!important;color:var(--bk-dark)!important;--bk-dark: #0e7490;background:none!important;animation:logo-enter .5s cubic-bezier(.34,1.56,.64,1) both!important}.logo-book-icon svg{display:block;stroke:var(--bk-dark);fill:none;filter:drop-shadow(0 0 3px var(--bk-dark));animation:svg-glow 3s ease-in-out 1s infinite}@keyframes svg-glow{0%,to{filter:drop-shadow(0 0 2px var(--bk-dark))}50%{filter:drop-shadow(0 0 7px var(--bk-dark)) drop-shadow(0 0 14px var(--bk-dark))}}.logo-wordmark{font-family:Righteous,cursive;font-size:17px;font-weight:400;letter-spacing:.5px;color:var(--bk-dark);line-height:1;animation:wordmark-glow 3s ease-in-out 1.5s infinite}@keyframes wordmark-glow{0%,to{text-shadow:0 0 4px var(--bk-dark)}50%{text-shadow:0 0 10px var(--bk-dark),0 0 20px var(--bk-dark)}}.logo-book-icon.tier-bronze{--bk-dark: #8B5E3C}.logo-book-icon.tier-silver{--bk-dark: #607D8B}.logo-book-icon.tier-gold{--bk-dark: #92610a}.logo-book-icon.tier-platinum{--bk-dark: #546E7A}.logo-book-icon.tier-diamond{--bk-dark: #0D47A1}.logo-book-icon.tier-master{--bk-dark: #4A148C}.logo-book-icon.tier-grandmaster{--bk-dark: #B71C1C}.logo-book-icon.tier-legend{--bk-dark: #E65100}.logo-book-icon.tier-champion{--bk-dark: #1B5E20}#pdf-view{display:flex;flex-direction:column;height:100dvh;overflow:hidden}#pdf-page-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;padding:4px 8px}#pdf-canvas{max-width:100%;max-height:100%;object-fit:contain;display:block}mark.md-highlight{background:#fef08a;color:inherit;border-radius:3px;padding:1px 2px;cursor:pointer}mark.md-highlight:hover{background:#fde047}@keyframes md-hl-pulse{0%,to{background:#fef08a}50%{background:#facc15;box-shadow:0 0 8px #facc15}}mark.md-hl-pulse{animation:md-hl-pulse 1.2s ease-in-out 2}.md-hl-popup{position:absolute;background:#1f2937;color:#fef08a;padding:7px 14px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;z-index:9999;white-space:nowrap;box-shadow:0 3px 12px #00000040;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.md-hl-popup:hover{background:#374151}.md-hl-btn{position:relative}.md-hl-btn-count{position:absolute;top:3px;right:3px;min-width:15px;height:15px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;border-radius:8px;padding:0 3px;line-height:15px;text-align:center;display:none;pointer-events:none;white-space:nowrap}.md-hl-btn-count:not(:empty){display:block}#md-hl-panel-wrap{background:#fefce8;border:1px solid #fde047;border-radius:12px;margin:12px 0 16px;overflow:hidden}.md-hl-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fef9c3;font-weight:700;font-size:14px;color:#713f12;border-bottom:1px solid #fde047}.md-hl-panel-close{background:none;border:none;cursor:pointer;font-size:12px;color:#a16207;font-weight:600}#md-hl-panel{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.md-hl-empty{color:#a16207;font-size:13px;padding:8px 4px;margin:0}.md-hl-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #fde68a;border-radius:8px;padding:10px 12px;cursor:pointer;transition:background .15s}.md-hl-item:hover{background:#fef9c3}.md-hl-item-text{flex:1;font-size:14px;color:#1f2937;line-height:1.5;word-break:break-word}.md-hl-del{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:16px;padding:4px 6px;flex-shrink:0;line-height:1;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.md-hl-del:hover{color:#ef4444;background:#fee2e2}body.dark-mode mark.md-highlight{background:#854d0e;color:#fef08a}body.dark-mode #md-hl-panel-wrap{background:#1c1a10;border-color:#854d0e}body.dark-mode .md-hl-panel-header{background:#292410;color:#fef08a;border-color:#854d0e}body.dark-mode .md-hl-item{background:#1f2937;border-color:#854d0e}body.dark-mode .md-hl-item:hover{background:#292410}body.dark-mode .md-hl-item-text{color:#f9fafb}.md-hl-panel-actions{display:flex;align-items:center;gap:8px}.md-hl-panel-dl{background:#fde047;color:#713f12;border:none;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.md-hl-panel-dl:hover{background:#facc15}body.dark-mode .md-hl-panel-dl{background:#854d0e;color:#fef08a}body.dark-mode .md-hl-panel-dl:hover{background:#92400e}mark.md-highlight.has-note,mark.quiz-highlight.has-note{border-bottom:2px solid #f59e0b;text-decoration:none;position:relative}mark.md-highlight.has-note:after,mark.quiz-highlight.has-note:after{content:"✎";font-size:10px;vertical-align:super;color:#b45309;margin-left:1px}mark[data-note]:before{content:"";display:none}mark[data-note]:hover:before{content:attr(data-note);display:block;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#292524;color:#fef3c7;font-size:12px;font-weight:400;line-height:1.5;padding:6px 10px;border-radius:7px;white-space:pre-wrap;max-width:240px;min-width:80px;word-break:break-word;box-shadow:0 3px 12px #0000004d;pointer-events:none;z-index:9980}body.dark-mode mark[data-note]:hover:before{background:#fefce8;color:#292524}#md-hl-mode-btn.active,#fab-quiz-hl-btn.active{color:#f59e0b!important;background:#fef3c7!important}body.quiz-hl-mode mark.quiz-highlight,body.md-hl-mode mark.md-highlight{cursor:pointer}#hl-tooltip{position:fixed;background:#fff;border:1.5px solid #fde047;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:9990;padding:10px 12px 12px;box-sizing:border-box}#hl-tooltip.hl-tt-hidden{display:none}.hl-tt-ref{font-size:12px;color:#92400e;background:#fefce8;border-radius:6px;padding:5px 8px;margin-bottom:8px;line-height:1.5;word-break:break-word;max-height:60px;overflow-y:auto}.hl-tt-ta{width:100%;min-height:56px;border:1.5px solid #e5e7eb;border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;resize:none;outline:none;box-sizing:border-box;line-height:1.5}.hl-tt-ta:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #fef3c7}.hl-tt-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}#hl-tt-cancel{background:none;border:1.5px solid #e5e7eb;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer;color:#6b7280}#hl-tt-cancel:hover{background:#f3f4f6}#hl-tt-save{background:#fbbf24;color:#713f12;border:none;border-radius:8px;padding:6px 18px;font-size:13px;font-weight:700;cursor:pointer}#hl-tt-save:hover{background:#f59e0b}body.dark-mode #hl-tooltip{background:#1f2937;border-color:#854d0e}body.dark-mode .hl-tt-ref{background:#1c1a10;color:#fef08a}body.dark-mode .hl-tt-ta{background:#111827;border-color:#374151;color:#f9fafb}body.dark-mode .hl-tt-ta:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #1c1a10}body.dark-mode #hl-tt-cancel{border-color:#374151;color:#9ca3af}body.dark-mode #hl-tt-cancel:hover{background:#374151}mark.quiz-highlight{background:#fef08a;color:inherit;border-radius:3px;padding:0 1px;cursor:pointer}mark.quiz-highlight:hover{background:#fde047}code.hl-in-code{background:#fef08a!important;color:#713f12!important}code.hl-in-code:hover{background:#fde047!important}body.dark-mode code.hl-in-code{background:#854d0e!important;color:#fef08a!important}#quiz-hl-panel-wrap{background:#fefce8;border:1px solid #fde047;border-radius:8px;margin:10px 0 4px;overflow:hidden}.quiz-hl-panel-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#fef9c3;font-size:13px;font-weight:600;color:#a16207;border-bottom:1px solid #fde047}.quiz-hl-panel-close{background:none;border:none;cursor:pointer;font-size:12px;color:#a16207;font-weight:600}#quiz-hl-panel{padding:6px 10px;display:flex;flex-direction:column;gap:5px}.quiz-hl-item{display:flex;align-items:flex-start;gap:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 8px}.quiz-hl-text{flex:1;font-size:13px;color:#1f2937;line-height:1.5;word-break:break-word}.quiz-hl-note{font-style:normal;font-weight:600;color:#92400e}.quiz-hl-del{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:16px;padding:4px 6px;flex-shrink:0;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.quiz-hl-del:hover{color:#ef4444;background:#fee2e2}body.dark-mode mark.quiz-highlight{background:#854d0e;color:#fef08a}body.dark-mode #quiz-hl-panel-wrap{background:#1c1a10;border-color:#854d0e}body.dark-mode .quiz-hl-panel-header{background:#292410;color:#fef08a;border-color:#854d0e}body.dark-mode .quiz-hl-item{background:#1f2937;border-color:#854d0e}body.dark-mode .quiz-hl-text{color:#f9fafb}.mdcmt-line{position:relative}.mdcmt-badge{display:inline-flex;align-items:center;font-size:12px;cursor:pointer;margin-left:5px;vertical-align:middle;opacity:.75;background:none;border:none;padding:0;position:relative;line-height:1}.mdcmt-badge:hover{opacity:1}.mdcmt-badge[data-note]:hover:before{content:attr(data-note);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#292524;color:#fef3c7;font-size:12px;font-weight:400;line-height:1.5;padding:6px 10px;border-radius:7px;white-space:pre-wrap;max-width:260px;min-width:80px;word-break:break-word;box-shadow:0 3px 12px #0000004d;pointer-events:none;z-index:9980;text-align:left}body.dark-mode .mdcmt-badge[data-note]:hover:before{background:#fefce8;color:#292524}.mdcmt-editor{background:#fefce8;border:1.5px solid #fde047;border-radius:8px;padding:8px 10px 10px;margin:4px 0 10px}.mdcmt-ta{width:100%;min-height:64px;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px;font-size:13px;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box;line-height:1.5;background:#fff}.mdcmt-ta:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #fef3c7}.mdcmt-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px;align-items:center}.mdcmt-del{margin-right:auto;background:none;border:1px solid #fca5a5;border-radius:6px;padding:4px 10px;font-size:12px;color:#ef4444;cursor:pointer}.mdcmt-del:hover{background:#fef2f2}.mdcmt-cancel{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 12px;font-size:13px;color:#6b7280;cursor:pointer}.mdcmt-cancel:hover{background:#f3f4f6}.mdcmt-save{background:#fbbf24;color:#713f12;border:none;border-radius:6px;padding:4px 16px;font-size:13px;font-weight:700;cursor:pointer}.mdcmt-save:hover{background:#f59e0b}body.dark-mode .mdcmt-editor{background:#1c1a10;border-color:#854d0e}body.dark-mode .mdcmt-ta{background:#111827;border-color:#374151;color:#f9fafb}body.dark-mode .mdcmt-ta:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #1c1a10}body.dark-mode .mdcmt-cancel{border-color:#374151;color:#9ca3af}body.dark-mode .mdcmt-cancel:hover{background:#374151}.mdcmt-badge svg{width:14px;height:14px;display:inline-block;vertical-align:middle;color:#0891b2}body.dark-mode .mdcmt-badge svg{color:#60a5fa}@keyframes mdcmt-flash{0%,to{background:transparent}30%,70%{background:#fef9c3}}.mdcmt-flash{animation:mdcmt-flash 1.4s ease-in-out;border-radius:4px}body.dark-mode .mdcmt-flash{animation-name:mdcmt-flash-dark}@keyframes mdcmt-flash-dark{0%,to{background:transparent}30%,70%{background:#422006}}@keyframes mdcmt-swipe{0%{background:transparent}30%{background:#bae6fd}to{background:transparent}}.mdcmt-swipe-flash{animation:mdcmt-swipe .4s ease-out;border-radius:4px}@keyframes mdcmt-swipe-dark{0%{background:transparent}30%{background:#0c4a6e}to{background:transparent}}body.dark-mode .mdcmt-swipe-flash{animation-name:mdcmt-swipe-dark}.md-focus-nav{position:fixed;bottom:88px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#fffffff7;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;box-shadow:0 4px 20px #00000026;z-index:8900;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none}body.dark-mode .md-focus-nav{background:#1e293bf7;border-color:#334155;box-shadow:0 4px 20px #0006}.mdf-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#475569;cursor:pointer;transition:background .15s}.mdf-btn:hover:not(:disabled){background:#f1f5f9}.mdf-btn:disabled{opacity:.3;cursor:default}body.dark-mode .mdf-btn{color:#94a3b8}body.dark-mode .mdf-btn:hover:not(:disabled){background:#1e293b}.mdf-counter{font-size:13px;font-weight:600;color:#1e293b;min-width:52px;text-align:center;letter-spacing:.03em}body.dark-mode .mdf-counter{color:#e2e8f0}.mdf-divider{width:1px;height:20px;background:#e2e8f0;margin:0 4px}body.dark-mode .mdf-divider{background:#334155}.mdf-exit{color:#94a3b8}.mdf-exit:hover{color:#ef4444;background:#fef2f2!important}body.dark-mode .mdf-exit:hover{color:#ef4444;background:#2d1515!important}.mdcmt-note-view{display:flex;align-items:flex-start;gap:7px;background:#f0f9ff;border-left:3px solid #0891b2;border-radius:0 8px 8px 0;padding:7px 10px;margin:2px 0 6px 8px;cursor:pointer;transition:background .15s}.mdcmt-note-view:hover{background:#e0f2fe}.mdcmt-nv-icon{flex-shrink:0;width:14px;height:14px;color:#0891b2;margin-top:2px}.mdcmt-nv-text{font-size:13px;color:#0e7490;line-height:1.5;white-space:pre-wrap;word-break:break-word}body.dark-mode .mdcmt-note-view{background:#0c1a2e;border-left-color:#0e7490}body.dark-mode .mdcmt-note-view:hover{background:#0f2744}body.dark-mode .mdcmt-nv-icon{color:#22d3ee}body.dark-mode .mdcmt-nv-text{color:#67e8f9}.mdcmt-summary{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:12px 14px;margin-bottom:18px}.mdcmt-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mdcmt-summary-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#0369a1}.mdcmt-summary-title svg{width:15px;height:15px;flex-shrink:0}.mdcmt-export-btn{background:#0891b2;color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.mdcmt-export-btn:hover{background:#0e7490}.mdcmt-summary-item{border-radius:8px;padding:8px 10px;margin-bottom:6px;background:#fff;border:1px solid #e0f2fe;cursor:pointer;transition:background .15s}.mdcmt-summary-item:last-child{margin-bottom:0}.mdcmt-summary-item:hover{background:#e0f2fe}.mdcmt-summary-note{font-size:13px;font-weight:600;color:#0369a1;margin-bottom:3px}.mdcmt-summary-snippet{font-size:12px;color:#64748b;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.dark-mode .mdcmt-summary{background:#0a1929;border-color:#1e40af}body.dark-mode .mdcmt-summary-title{color:#60a5fa}body.dark-mode .mdcmt-summary-item{background:#0c1a2e;border-color:#1d4ed8}body.dark-mode .mdcmt-summary-item:hover{background:#0f2744}body.dark-mode .mdcmt-summary-note{color:#60a5fa}body.dark-mode .mdcmt-summary-snippet{color:#94a3b8}body.dark-mode .mdcmt-export-btn{background:#0e7490}body.dark-mode .mdcmt-export-btn:hover{background:#0891b2}details.md-details-ready{display:block}.md-details-summary{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;color:#1e293b;list-style:none;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s}.md-details-summary::-webkit-details-marker{display:none}.md-details-summary:before{content:"";display:inline-block;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230891b2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .25s ease;flex-shrink:0}details[open]>.md-details-summary:before{transform:rotate(90deg)}.md-details-summary:hover{background:#f0f9ff;border-color:#7dd3fc;color:#0369a1}.md-details-body{overflow:hidden;transition:max-height .3s ease,opacity .25s ease;padding:0 4px}details[open]>.md-details-body{padding:8px 4px 4px}body.dark-mode .md-details-summary{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .md-details-summary:hover{background:#0f2744;border-color:#1d4ed8;color:#93c5fd}body.dark-mode .md-details-summary:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E")}.answer-carousel{margin-top:12px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;overflow:hidden}body.dark-mode .answer-carousel{background:#1e293b;border-color:#334155}.ac-tabs{display:flex;border-bottom:1px solid #e2e8f0}body.dark-mode .ac-tabs{border-color:#334155}.ac-tab{flex:1;padding:10px 0;font-size:13px;font-weight:500;color:#64748b;background:transparent;border:none;cursor:pointer;transition:color .15s,border-bottom .15s;border-bottom:2px solid transparent}.ac-tab-active{color:#0891b2;border-bottom:2px solid #0891b2;font-weight:600}body.dark-mode .ac-tab{color:#94a3b8}body.dark-mode .ac-tab-active{color:#38bdf8;border-color:#38bdf8}.ac-viewport{overflow:hidden}.ac-track{display:flex;align-items:flex-start;transition:transform .3s cubic-bezier(.4,0,.2,1)}.ac-slide{flex:0 0 100%;width:100%;padding:16px;box-sizing:border-box;min-height:120px}.ac-result-banner{text-align:center;font-size:18px;font-weight:700;padding:12px;border-radius:8px;margin-bottom:12px}.ac-result-banner.ac-correct{background:#dcfce7;color:#15803d}.ac-result-banner.ac-wrong{background:#fee2e2;color:#b91c1c}body.dark-mode .ac-result-banner.ac-correct{background:#14532d;color:#86efac}body.dark-mode .ac-result-banner.ac-wrong{background:#450a0a;color:#fca5a5}.ac-answer-str{text-align:center;font-size:16px;margin-bottom:16px;color:#334155}body.dark-mode .ac-answer-str{color:#cbd5e1}.ac-verify-row{display:flex;gap:8px;justify-content:center;margin-bottom:8px}.ac-reset-btn{display:block;margin:8px auto 0}.ac-ai-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#94a3b8;text-align:center;gap:12px}.ac-ai-placeholder p{margin:0;font-size:14px}.ac-empty{text-align:center;color:#94a3b8;padding:24px}.ac-dots{display:flex;justify-content:center;gap:6px;padding:10px 0;border-top:1px solid #e2e8f0}body.dark-mode .ac-dots{border-color:#334155}.ac-dot{width:6px;height:6px;border-radius:50%;border:none;background:#cbd5e1;cursor:pointer;padding:0;transition:background .2s,transform .2s}.ac-dot-active{background:#0891b2;transform:scale(1.4)}body.dark-mode .ac-dot{background:#475569}body.dark-mode .ac-dot-active{background:#38bdf8}.op-pager{width:100%}.op-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px 10px;border-bottom:1px solid #e2e8f0;margin-bottom:12px}body.dark-mode .op-nav-bar{border-color:#334155}.op-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.op-nav-btn:disabled{opacity:.3;cursor:default}.op-nav-btn:not(:disabled):hover{background:#e0f2fe;color:#0891b2}body.dark-mode .op-nav-btn{background:#1e293b;border-color:#334155;color:#94a3b8}body.dark-mode .op-nav-btn:not(:disabled):hover{background:#0c4a6e;color:#38bdf8}.op-label{font-size:13px;font-weight:700;color:#0891b2;flex:1;text-align:center;letter-spacing:.04em}body.dark-mode .op-label{color:#38bdf8}.op-viewport{overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1)}.op-track{display:flex;align-items:flex-start;transition:transform .3s cubic-bezier(.4,0,.2,1)}.op-slide{flex:0 0 100%;width:100%;box-sizing:border-box}.op-answer-banner{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;padding:10px 14px;border-radius:8px;margin-bottom:12px}.op-banner-correct{background:#dcfce7;color:#15803d}.op-banner-wrong{background:#fee2e2;color:#b91c1c}body.dark-mode .op-banner-correct{background:#14532d;color:#86efac}body.dark-mode .op-banner-wrong{background:#450a0a;color:#fca5a5}.lang-ja{background:#ede9fe;color:#6d28d9}body.dark-mode .lang-ja{background:#4c1d95;color:#ddd6fe}.expl-lang-divider{display:flex;align-items:center;gap:8px;margin:18px 0 12px}.expl-lang-divider .bilingual-line{flex:1}.question-text,.bilingual-question,.option,.option-kr-block{overflow-wrap:break-word;line-break:strict;min-width:0}.question-text pre.question-code-block,.question-text code.inline-code,.option code{overflow-wrap:normal;line-break:auto}.question-image{display:block;max-width:100%;height:auto;margin:14px auto 18px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:0 1px 3px #0000000d;cursor:zoom-in;max-height:52vh;object-fit:contain}body.dark-mode .question-image{border-color:#3f3f46;background:#fafafa}@media(max-width:768px){.question-image{max-height:44vh;margin:10px auto 14px;border-radius:8px}}@media(max-width:480px){.question-image{max-height:38vh;margin:8px auto 12px}}@media(max-height:500px)and (orientation:landscape){.question-image{max-height:60vh}}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#111827d1;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);cursor:zoom-out;animation:imgLightboxIn .16s ease-out;overscroll-behavior:contain}@keyframes imgLightboxIn{0%{opacity:0}to{opacity:1}}.img-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 12px 48px #00000073;cursor:zoom-out}.img-lightbox-hint{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;color:#ffffffb3;pointer-events:none}body.img-lightbox-open{overflow:hidden}@media(max-width:480px){.img-lightbox{padding:12px}}.modal-close-x{position:sticky;top:0;float:right;margin:-8px -8px 0 0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:50%;box-shadow:0 2px 10px #00000024;cursor:pointer;z-index:5;transition:background .15s,color .15s,transform .12s}.modal-close-x:hover,.modal-close-x:focus-visible{background:#f3f4f6;color:#111827;transform:scale(1.06);outline:none}body.dark-mode .modal-close-x{background:#1f2937;border-color:#374151;color:#cbd5e1}body.dark-mode .modal-close-x:hover{background:#374151;color:#f9fafb}@media(max-width:560px){.modal-close-x{top:8px;right:8px;box-shadow:none}}.help-sections section{margin-bottom:4px}.help-sections h4{margin:0 0 10px;letter-spacing:-.01em}.help-sections li{padding-top:5px;padding-bottom:5px;line-height:1.68}.help-sections ul,.help-sections ol{margin:0 0 4px}.help-sections section+section{margin-top:22px;padding-top:20px}.help-tmpl-list{margin:10px 0 14px;padding-left:0;list-style:none}.help-tmpl-list li{padding:9px 12px!important;margin-bottom:7px;background:#3b82f60d!important;border-left:3px solid rgba(59,130,246,.35)!important;border-radius:0 7px 7px 0;font-size:.875rem;line-height:1.62}.help-tmpl-list li:before{display:none!important}.help-tmpl-list em{color:#b45309;font-style:normal;font-weight:600}body.dark-mode .help-tmpl-list li{background:#38bdf812!important;border-left-color:#38bdf866!important}body.dark-mode .help-tmpl-list em{color:#fcd34d}.template-btns{display:flex;flex-wrap:wrap;gap:8px}.push-section{margin:16px 0 6px;padding:14px 15px;background:#3b82f60d;border:1px solid rgba(59,130,246,.18);border-radius:10px}.push-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.push-label{font-weight:600;font-size:.92rem;color:#1f2937}.push-status{font-size:.84rem;color:#2563eb;text-align:right}.push-section .notification-note{margin:8px 0 0;font-size:.78rem;line-height:1.6}.push-btns{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.push-btns button{font-size:.84rem;padding:7px 13px}body.dark-mode .push-section{background:#38bdf812;border-color:#38bdf838}body.dark-mode .push-label{color:#e2e8f0}body.dark-mode .push-status{color:#7dd3fc}.reload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center;background:#fff;transition:opacity .18s ease}.reload-overlay.is-dark{background:#0f172a}.reload-overlay[hidden]{display:none}.reload-overlay.fading{opacity:0;pointer-events:none}.reload-overlay-spinner{width:34px;height:34px;border:3px solid rgba(37,99,235,.18);border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}.reload-overlay.is-dark .reload-overlay-spinner{border-color:#93c5fd33;border-top-color:#93c5fd}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:19000;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 14px;font-size:.82rem;font-weight:600;color:#78350f;background:#fef3c7;border-bottom:1px solid #fcd34d;box-shadow:0 1px 6px #00000014}.offline-banner[hidden]{display:none}body.dark-mode .offline-banner{color:#fde68a;background:#422006;border-bottom-color:#78350f}.offline-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0;animation:offline-pulse 1.8s ease-in-out infinite}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(max-width:480px){.offline-banner{font-size:.75rem;padding:6px 10px}}body.has-offline-banner{padding-top:34px}@media(max-width:480px){body.has-offline-banner{padding-top:30px}}
