.challenge-timer[data-v-5de71597]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.challenge-timer-bar[data-v-5de71597]{background:var(--accent);border-radius:3px;flex:1;height:6px;transition:width .9s linear,background .3s}.timer-warn .challenge-timer-bar[data-v-5de71597]{background:#f39c12}.timer-danger .challenge-timer-bar[data-v-5de71597]{background:#e74c3c}.timer-warn span[data-v-5de71597]{color:#f39c12}.timer-danger span[data-v-5de71597]{color:#e74c3c}.challenge-q-wrap[data-v-5de71597]{text-align:center;border-bottom:1px solid var(--pixel-border);margin-bottom:.6rem;padding:.6rem 0 .5rem;position:relative}.challenge-q[data-v-5de71597]{margin:.3rem 0 .2rem;font-size:2rem;display:block;position:relative}.challenge-q .speak-after[data-v-5de71597]{width:44px;height:44px;margin-left:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.challenge-hint[data-v-5de71597]{color:var(--text2);min-height:1.3rem;font-size:.9rem}.challenge-level-badge[data-v-5de71597]{border-radius:3px;padding:2px 7px;font-size:.7rem;font-weight:700;display:inline-block}.lvl-N5[data-v-5de71597]{color:#7fb3d3;background:#2c3e50}.lvl-N4[data-v-5de71597]{color:#58d68d;background:#1e3a2f}.lvl-N3[data-v-5de71597]{color:#e74c3c;background:#3d1a1a}@font-face{font-family:VT323;src:url(/assets/VT323.BXbppxdl.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DotGothic16;src:url(/assets/DotGothic16.BhOuvm48.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Press Start 2P";src:url(/assets/PressStart2P.CE5mauZH.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/fonts/NotoSansJP.woff2)format("woff2");font-weight:700;font-display:swap}:root,[data-theme=dark]{--bg:#1a1a2e;--bg2:#16213e;--bg3:#0f3460;--card:#1e2a4a;--card-hover:#253563;--primary:#d4637b;--primary-glow:#e8899c;--accent:#ffd93d;--accent2:#6bcb77;--text:#eaf0f6;--text2:#a4b0be;--pixel-border:#533483;--shadow:0 4px 20px #0006;--pixel-shadow:4px 4px 0 #0d0d1a;--radius:4px;--error:#e74c3c}[data-theme=comfort]{--bg:#f6faf8;--bg2:#edf3f2;--bg3:#e3ebea;--card:#fff;--card-hover:#f1f6f5;--primary:#5ba68c;--primary-glow:#7ac2a9;--accent:#3d6478;--accent2:#6697ae;--text:#1f2d36;--text2:#4a5c68;--pixel-border:#a8b8b2;--shadow:none;--pixel-shadow:none;--radius:6px;--error:#b85668}[data-theme=comfort] .stars{opacity:1;background:0 0}[data-theme=comfort] .card,[data-theme=comfort] .settings-section{border-color:#5ba68c47}[data-theme=comfort] .header,[data-theme=comfort] .modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=comfort] .modal-overlay{background:#1e323c73}[data-theme=comfort] *,[data-theme=comfort] :before,[data-theme=comfort] :after{box-shadow:none!important;text-shadow:none!important}[data-theme=comfort] .nav-btn.active{border-color:#3d647861;background:#3d647814!important}@media (hover:hover){[data-theme=comfort] .nav-btn:hover{border-color:#3d647861;background:#3d647814!important}}[data-theme=comfort] .auth-tab.active,[data-theme=comfort] .kana-tab.active,[data-theme=comfort] .fc-btn.active,[data-theme=comfort] .csel-btn.active,[data-theme=comfort] .lesson-tab.active,[data-theme=comfort] .theme-card.active,[data-theme=comfort] .tts-step.active,[data-theme=comfort] .profile-item.active{background:#3d647812!important;border-color:#3d64786b!important}[data-theme=comfort] .flashcard-face,[data-theme=comfort] .cat-popup-trigger,[data-theme=comfort] .lesson-filter-btn,[data-theme=comfort] .mark-btn,[data-theme=comfort] .srs-btn,[data-theme=comfort] .nav-arrow{border-color:#3341556b}[data-theme=comfort] .flashcard-area .pixel-font,[data-theme=comfort] .cat-popup-trigger,[data-theme=comfort] .lesson-filter-btn,[data-theme=comfort] .mark-btn,[data-theme=comfort] .progress-text{letter-spacing:.03em}[data-theme=comfort] .search-input::placeholder{color:#4a5d6d;opacity:1}[data-theme=comfort] .vocab-jp,[data-theme=comfort] .lv-jp,[data-theme=comfort] .gp-pattern,[data-theme=comfort] .gd-title,[data-theme=comfort] .cd-head-name,[data-theme=comfort] .gc-num{font-weight:800}[data-theme=comfort] .vocab-hi,[data-theme=comfort] .vocab-cat-tag,[data-theme=comfort] .vocab-lesson,[data-theme=comfort] .cat-name,[data-theme=comfort] .progress-text,[data-theme=comfort] .lesson-card-count,[data-theme=comfort] .lv-hi,[data-theme=comfort] .lv-summary-hint,[data-theme=comfort] .gd-vi,[data-theme=comfort] .particle-ex,[data-theme=comfort] .conj-group-note,[data-theme=comfort] .cd-col-note{color:#2b3d4c;opacity:1;font-weight:700}[data-theme=comfort] .fc-jp{color:#172128;letter-spacing:.02em;font-weight:800}[data-theme=comfort] .fc-hi{color:#4f5c64;letter-spacing:.04em}[data-theme=comfort] .fc-meaning{color:#3d6478;letter-spacing:.025em;font-weight:700}[data-theme=comfort] .quiz-opt.correct{color:#2f6b56;background:#5ba68c1f;border-color:#5ba68c99;font-weight:700}[data-theme=comfort] .quiz-opt.wrong{color:#8a3a48;background:#b856681a;border-color:#b8566880}[data-theme=comfort] .srs-good{background:#5ba68c;border-color:#2b4f63}[data-theme=comfort] .lesson-tab,[data-theme=comfort] .grammar-tab,[data-theme=comfort] .gl-item,[data-theme=comfort] .lesson-banner,[data-theme=comfort] .lv-summary,[data-theme=comfort] .lesson-insight{color:#12202a;background:#fff;border-color:#12202a52}[data-theme=comfort] .lesson-tab.active,[data-theme=comfort] .grammar-tab.active{color:#2b4f63;background:#fff;border-color:#6697ae;font-weight:700;box-shadow:none!important}[data-theme=comfort] .lesson-tab-quiz,[data-theme=comfort] .lesson-tab-quiz.active{color:#b5873f;background:#fdf8ec;border-color:#b5873f}[data-theme=comfort] .gl-key{color:#2b4f63;font-weight:800}[data-theme=comfort] .grammar-card{background:#fff;border-color:#12202a5c}[data-theme=comfort] .grammar-card:before{background:linear-gradient(90deg,#5ba68c,#6697ae)}[data-theme=comfort] .gc-num{color:#10212d;font-weight:800}[data-theme=comfort] .gc-subtitle{color:#12202a;font-weight:600;line-height:1.4}[data-theme=comfort] .lesson-card-bar,[data-theme=comfort] .lv-summary-bar{background:#e4ede7;border:1px solid #5ba68c38;height:6px}[data-theme=comfort] .lesson-card-fill,[data-theme=comfort] .lv-summary-fill{background:linear-gradient(90deg,#5ba68c,#6697ae)}[data-theme=comfort] .lesson-card-count,[data-theme=comfort] .lesson-detail-progress,[data-theme=comfort] .lv-summary,[data-theme=comfort] .lv-hi,[data-theme=comfort] .lv-ex-jp{color:#12202a}[data-theme=comfort] .lesson-card-count{font-size:.72rem;font-weight:700}[data-theme=comfort] .lv-summary-learned{color:#2b4f63}[data-theme=comfort] .lv-summary-hint{color:#2b3d4c;opacity:1;font-weight:700}[data-theme=comfort] .grammar-card.locked{opacity:.58;filter:grayscale(.22)}[data-theme=comfort] .gl-item:first-child .gl-key{color:#5ba68c}[data-theme=comfort] .gl-item:nth-child(2) .gl-key{color:#6697ae}[data-theme=comfort] .gl-item:nth-child(3) .gl-key{color:#3d6478}[data-theme=comfort] .gl-item:nth-child(4) .gl-key{color:#b5873f}[data-theme=comfort] .grammar-point,[data-theme=comfort] .gd-summary,[data-theme=comfort] .gd-dialogue,[data-theme=comfort] .particle-card{background:#fff;border-color:#12202a57}[data-theme=comfort] .gp-num{color:#fff;background:linear-gradient(135deg,#5ba68c,#3d6478)}[data-theme=comfort] .gp-pattern,[data-theme=comfort] .gd-title,[data-theme=comfort] .gd-dialogue-title,[data-theme=comfort] .particle-symbol{color:#2b4f63}[data-theme=comfort] .gp-pattern-vi{color:#12202a;background:#f2f7f4;border-left-color:#5ba68c}[data-theme=comfort] .gp-example{color:#12202a;background:#f7fbf9;border-left-color:#6697ae}[data-theme=comfort] .gp-example .vi-line,[data-theme=comfort] .particle-func,[data-theme=comfort] .conj-rule{color:#2b4f63}[data-theme=comfort] .gp-tip{color:#4a3a1a;background:#fbf7eb;border-left-color:#b5873f}[data-theme=comfort] .gd-speaker{color:#fff;background:#5ba68c}[data-theme=comfort] .gd-line:nth-child(odd) .gd-speaker{background:#6697ae}[data-theme=comfort] .gd-bubble{color:#12202a;background:#fff;border:1px solid #3d647833}[data-theme=comfort] .particle-symbol{text-shadow:none}[data-theme=comfort] .particle-card:target,[data-theme=comfort] .particle-card.highlight{background:#fff;border-color:#6697ae}[data-theme=comfort] .particle-ex,[data-theme=comfort] .gd-vi,[data-theme=comfort] .conj-group-note,[data-theme=comfort] .cd-col-note{color:#2b3d4c;font-weight:700}[data-theme=comfort] .conj-tip{color:#17364a;background:#5ba68c1a;border-left-color:#5ba68c}[data-theme=comfort] .cd-col-2{border-color:#6697ae61}[data-theme=comfort] .cd-col-3{border-color:#b5873f61}[data-theme=comfort] .cd-col-2 .cd-col-head{background:#6697ae24}[data-theme=comfort] .cd-col-3 .cd-col-head{background:#b5873f24}[data-theme=comfort] .cd-col-2 .cd-col-roman{color:#fff;background:#6697ae}[data-theme=comfort] .cd-col-3 .cd-col-roman{color:#fff;background:#b5873f}[data-theme=comfort] .xp-fill{background:linear-gradient(90deg,#5ba68c,#6697ae)}[data-theme=comfort] .xp-text{color:#3d6478}[data-theme=comfort] .streak-num{color:#b5873f}[data-theme=comfort] .rain-field{background:linear-gradient(#9cbfd140 0%,#5ba68c2e 100%);border-color:#5ba68c}[data-theme=comfort] .rain-drop{background:linear-gradient(#0000,#3d647859)}[data-theme=comfort] .rain-word{color:#3d6478;text-shadow:0 0 6px #5ba68c4d}[data-theme=comfort] .rain-word.rain-hit{color:#5ba68c}[data-theme=comfort] .timer-glow{box-shadow:inset 0 0 80px #b8566840,inset 0 0 150px #b856681f}[data-theme=comfort] .rain-frozen:after{background:#6697ae26}[data-theme=comfort] .levelup-overlay{background:#1e323c8c}[data-theme=comfort] .levelup-box{background:#fff;border-color:#b5873f;box-shadow:0 0 40px #b5873f59,8px 8px #3d647826}[data-theme=comfort] .levelup-title{color:#b5873f;text-shadow:none}[data-theme=comfort] .levelup-level{text-shadow:none;color:#3d6478}[data-theme=comfort] .qm-maze{background:linear-gradient(170deg,#eef6fa 0%,#e4ede7 50%,#eae8dc 100%);border:2px solid #6697ae}[data-theme=comfort] .qm-maze:before{background:radial-gradient(circle at 25% 30%,#6697ae26 0%,#0000 50%),radial-gradient(circle at 75% 70%,#b5873f1f 0%,#0000 40%)}[data-theme=comfort] .qm-maze .qm-title{color:#3d6478}[data-theme=comfort] .qm-maze-icon{filter:drop-shadow(0 0 4px #6697ae59)}@media (hover:hover){[data-theme=comfort] .quiz-opt:not(:disabled):hover{background:#5ba68c1a;border-color:#5ba68c}}[data-theme=comfort] .memory-bomb-back{color:#fff;background:#4a5c68!important}@media (hover:hover){[data-theme=comfort] .rain-opt:hover{background:#5ba68c14;border-color:#5ba68c}}[data-theme=enkanomiya]{--bg:#0e1a2a;--bg2:#14243a;--bg3:#1a2d46;--card:#1a2d46;--card-hover:#223854;--primary:#6fd4cf;--primary-glow:#9ae6e2;--accent:#e0b77a;--accent2:#8eb0cf;--text:#ecf3f9;--text2:#b8ccdd;--pixel-border:#3d556f;--shadow:0 4px 28px #6fd4cf24;--pixel-shadow:3px 3px 0 #050d18;--radius:0px;--error:#d67f7d}[data-theme=enkanomiya] body{background-image:radial-gradient(circle,#0000 38%,#e0b77a0a 38.5%,#0000 40%),linear-gradient(#6fd4cf0a 1px,#0000 1px),linear-gradient(90deg,#6fd4cf06 1px,#0000 1px);background-size:60px 60px,40px 40px,40px 40px}[data-theme=enkanomiya] .stars{background:radial-gradient(400px at 85% -5%,#f4d68447 0%,#e0b77a24 30%,#0000 60%),radial-gradient(700px at 85% -5%,#f4d68414 0%,#0000 70%),radial-gradient(at 20% 105%,#6fd4cf38 0%,#0000 55%),radial-gradient(at 0 60%,#8eb0cf1a 0%,#0000 45%),linear-gradient(#f4d6840a 0%,#0000 40%)}[data-theme=enkanomiya] .stars:after{content:"";pointer-events:none;background:radial-gradient(circle,#f4d68459 0%,#e0b77a38 38%,#e0b77a0f 60%,#0000 75%);border:2px solid #e0b77a2e;border-radius:50%;width:440px;height:440px;animation:8s ease-in-out infinite mikoshi-breathe;position:absolute;top:-180px;right:-120px;box-shadow:0 0 80px 20px #f4d68433,inset 0 0 40px #f4d6842e}@keyframes mikoshi-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}[data-theme=enkanomiya] body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#0000 70%,#040a1459 100%),linear-gradient(#8eb0cf0a 0%,#0000 25%);position:fixed;inset:0}[data-theme=enkanomiya] .section-title{text-shadow:0 0 1px #6fd4cf80;color:#b6efea!important}[data-theme=enkanomiya] .card,[data-theme=enkanomiya] .settings-section{box-shadow:0 0 14px #e0b77a0f, inset 0 0 22px #6fd4cf08, var(--shadow);border:1px solid #6fd4cf40;border-radius:4px}[data-theme=enkanomiya] .logo-text{color:#b6efea;text-shadow:0 0 2px #6fd4cf66}[data-theme=enkanomiya] .xp-fill{box-shadow:0 0 10px #e0b77a73}[data-theme=enkanomiya] .xp-text,[data-theme=enkanomiya] .streak-num{color:#f0c98a}[data-theme=enkanomiya] .quiz-opt{color:#ecf3f9}[data-theme=enkanomiya] .quiz-opt.correct{font-weight:600;color:#c8ede9!important;background:#6fd4cf1f!important;border-color:#6fd4cf!important}[data-theme=enkanomiya] .quiz-opt.correct .quiz-opt-letter{font-weight:700;color:#0e1a2a!important;background:#6fd4cf!important}[data-theme=enkanomiya] .quiz-opt.wrong{font-weight:600;color:#e8c4c2!important;background:#d68f8d1a!important;border-color:#d68f8d!important}[data-theme=enkanomiya] .quiz-opt.wrong .quiz-opt-letter{font-weight:700;color:#fff!important;background:#c27978!important}[data-theme=enkanomiya] .grammar-point{background:#17283f;border:1px solid #6fd4cf4d;border-radius:6px;box-shadow:0 2px #00000059,inset 0 1px #6fd4cf1a}[data-theme=enkanomiya] .gp-pattern-vi{color:#e8f0f7;background:#6fd4cf1a;border-left:3px solid #6fd4cf;border-radius:0 6px 6px 0;padding:.5rem .75rem;font-style:normal;font-weight:500}[data-theme=enkanomiya] .gp-example{background:#8eb0cf1a;border-left:3px solid #8eb0cf;border-radius:0 6px 6px 0}[data-theme=enkanomiya] .gp-example .jp-line{color:#f8fbfd;font-weight:700}[data-theme=enkanomiya] .gp-example .vi-line{color:#8eb0cf}[data-theme=enkanomiya] .gp-tip{color:#fce3aa;background:#e0b77a1a;border-left:3px solid #e0b77a;border-radius:0 6px 6px 0}[data-theme=enkanomiya] .grammar-point .gp-num{color:#0e1a2a;background:linear-gradient(135deg,#6fd4cf,#e0b77a);font-weight:800}[data-theme=enkanomiya] .grammar-card .gc-icon{filter:drop-shadow(0 0 4px #e0b77a66)}[data-theme=enkanomiya] .grammar-card .gc-count{color:#e0b77a;opacity:1;font-weight:700}[data-theme=enkanomiya] .flashcard-face{border:2px solid #6fd4cf66;box-shadow:0 4px #0006,inset 0 0 30px #6fd4cf0f}[data-theme=enkanomiya] .fc-jp{color:#fff}[data-theme=enkanomiya] .fc-hi{color:#d4e2ee}[data-theme=enkanomiya] .fc-meaning{color:#b6efea}[data-theme=enkanomiya] .vocab-item{background:#17283f;border:1px solid #6fd4cf40;position:relative}[data-theme=enkanomiya] .vocab-item:before{content:"";opacity:.75;background:linear-gradient(90deg,#6fd4cf,#e0b77a);height:2px;position:absolute;top:0;left:0;right:0}[data-theme=enkanomiya] .vocab-jp{color:#f8fbfd;font-weight:700}[data-theme=enkanomiya] .vocab-meaning{color:#9ae6e2;font-weight:600}[data-theme=enkanomiya] .vocab-lesson,[data-theme=enkanomiya] .vocab-cat-tag{color:#e8c48a;background:#e0b77a1f;border:1px solid #e0b77a40;border-radius:3px;padding:.15rem .5rem}[data-theme=enkanomiya] .lesson-insight{background:#e0b77a14;border:1px solid #e0b77a4d;border-left:3px solid #e0b77a}[data-theme=enkanomiya] .lesson-insight-label{color:#e8c48a;font-weight:700}[data-theme=enkanomiya] .lesson-banner{color:#e8f0f7;background:#6fd4cf14;border:1px solid #6fd4cf59;border-left:3px solid #6fd4cf}[data-theme=enkanomiya] .lesson-detail-header{border-bottom:1px solid #6fd4cf40;padding-bottom:.6rem}[data-theme=enkanomiya] .jp-font{color:#eef2f6}[data-theme=enkanomiya] .nav-btn.active{background:#6fd4cf1a!important}@media (hover:hover){[data-theme=enkanomiya] .nav-btn:hover{background:#6fd4cf14!important}}[data-theme=enkanomiya] .grammar-card{background:linear-gradient(135deg,#1e3353 0%,#16253c 100%);border-color:#6fd4cf59;box-shadow:0 2px #0006,inset 0 1px #e0b77a26}[data-theme=enkanomiya] .grammar-card:before{background:linear-gradient(90deg,#6fd4cf,#e0b77a);height:3px}@media (hover:hover){[data-theme=enkanomiya] .grammar-card:hover{border-color:#9ae6e2;box-shadow:0 4px #00000080,0 0 20px #6fd4cf40,inset 0 1px #e0b77a40}}[data-theme=enkanomiya] .gc-num{color:#b6efea;font-weight:700}[data-theme=enkanomiya] .gc-subtitle{color:#f4f9fc;font-weight:500}[data-theme=enkanomiya] .gc-icon{filter:drop-shadow(0 0 4px #e0b77a59)}[data-theme=enkanomiya] .lesson-card-count{color:#c0d4e4;font-weight:600}[data-theme=enkanomiya] .lesson-card-bar{background:#050f1c99;border:1px solid #6fd4cf33}[data-theme=enkanomiya] .lesson-card-fill{background:linear-gradient(90deg,#6fd4cf,#9ae6e2);box-shadow:0 0 6px #6fd4cf66}[data-theme=enkanomiya] .vocab-jp,[data-theme=enkanomiya] .lv-jp,[data-theme=enkanomiya] .fc-jp,[data-theme=enkanomiya] .jp-font{color:#fff;font-weight:700}[data-theme=enkanomiya] .vocab-hi,[data-theme=enkanomiya] .fc-hi,[data-theme=enkanomiya] .lv-hi{color:#d4e2ee;font-weight:500}[data-theme=enkanomiya] .vocab-meaning,[data-theme=enkanomiya] .fc-meaning{color:#b6efea;font-weight:600}[data-theme=enkanomiya] .vocab-cat-tag,[data-theme=enkanomiya] .vocab-lesson{color:#e8c48a;opacity:1;font-weight:600}[data-theme=enkanomiya] .gp-pattern,[data-theme=enkanomiya] .gd-title,[data-theme=enkanomiya] .gd-dialogue-title,[data-theme=enkanomiya] .particle-symbol{color:#b6efea;font-weight:700}[data-theme=enkanomiya] .gp-pattern-vi,[data-theme=enkanomiya] .gp-example,[data-theme=enkanomiya] .gp-example .vi-line,[data-theme=enkanomiya] .particle-func,[data-theme=enkanomiya] .conj-rule{color:#e8f0f7}[data-theme=enkanomiya] .gp-tip,[data-theme=enkanomiya] .conj-tip,[data-theme=enkanomiya] .lesson-insight-text{color:#fce3aa}[data-theme=enkanomiya] .lesson-detail-progress{color:#e8c48a;font-weight:700}[data-theme=enkanomiya] .gd-speaker{color:#0e1a2a;background:#6fd4cf;font-weight:700}[data-theme=enkanomiya] .gd-line:nth-child(odd) .gd-speaker{color:#0e1a2a;background:#e0b77a}[data-theme=enkanomiya] .gd-bubble{color:#f0f6fa}[data-theme=enkanomiya] .gd-vi{color:#c8dae9}[data-theme=enkanomiya] .section-title:before{color:#f0c98a}[data-theme=enkanomiya] .gl-item:first-child .gl-key{color:#9ae6e2}[data-theme=enkanomiya] .gl-item:nth-child(2) .gl-key{color:#c8dae9}[data-theme=enkanomiya] .gl-item:nth-child(3) .gl-key{color:#e8c48a}[data-theme=enkanomiya] .gl-item:nth-child(4) .gl-key{color:#e89494}[data-theme=enkanomiya] .grammar-back{color:#9ae6e2;border-color:#6fd4cf66}[data-theme=enkanomiya] .gp-num{color:#0e1a2a;background:linear-gradient(135deg,#6fd4cf,#e0b77a);font-weight:800}[data-theme=enkanomiya] .cd-col-1 .cd-col-roman{color:#0e1a2a;background:#6fd4cf}[data-theme=enkanomiya] .cd-col-2 .cd-col-roman{color:#0e1a2a;background:#8eb0cf}[data-theme=enkanomiya] .cd-col-3 .cd-col-roman{color:#0e1a2a;background:#e0b77a}[data-theme=enkanomiya] .quiz-question{color:#fff}[data-theme=enkanomiya] .quiz-hint{color:#c8dae9}[data-theme=enkanomiya] .quiz-hint-meaning{color:#e8c48a;font-weight:700}.theme-trans-overlay{z-index:99999;pointer-events:none;isolation:isolate;position:fixed;inset:0;overflow:hidden}.theme-trans-overlay--pixel{background:linear-gradient(#21182ddb,#181224e6);animation:2s ease-out forwards tto-pixel-main}.theme-trans-overlay--pixel .theme-trans-petal-back,.theme-trans-overlay--pixel .theme-trans-petal-mid,.theme-trans-overlay--pixel .theme-trans-petal-front,.theme-trans-overlay--pixel .theme-trans-petal-drift{pointer-events:none;background-repeat:no-repeat;position:absolute;inset:-20vh -14vw}.theme-trans-overlay--pixel .theme-trans-petal-back{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'><defs><path id='s1' d='M0,-2 C-4,-2 -5,-6 -3,-10 Q-1,-11 0,-9 Q1,-11 3,-10 C5,-6 4,-2 0,-2 Z'/></defs><g opacity='.75'><g transform='translate(110 90) rotate(15) scale(.95)'><use href='%23s1' fill='%23ffc0d2'/><use href='%23s1' fill='%23ffc0d2' transform='rotate(72)'/><use href='%23s1' fill='%23ffc0d2' transform='rotate(144)'/><use href='%23s1' fill='%23ffc0d2' transform='rotate(216)'/><use href='%23s1' fill='%23ffc0d2' transform='rotate(288)'/><circle r='1.5' fill='%23ffd666'/></g><g transform='translate(340 180) rotate(-25) scale(.9)'><use href='%23s1' fill='%23ffb0c8'/><use href='%23s1' fill='%23ffb0c8' transform='rotate(72)'/><use href='%23s1' fill='%23ffb0c8' transform='rotate(144)'/><use href='%23s1' fill='%23ffb0c8' transform='rotate(216)'/><use href='%23s1' fill='%23ffb0c8' transform='rotate(288)'/><circle r='1.5' fill='%23ffd666'/></g><g transform='translate(220 380) rotate(45) scale(.85)'><use href='%23s1' fill='%23ffc8d8'/><use href='%23s1' fill='%23ffc8d8' transform='rotate(72)'/><use href='%23s1' fill='%23ffc8d8' transform='rotate(144)'/><use href='%23s1' fill='%23ffc8d8' transform='rotate(216)'/><use href='%23s1' fill='%23ffc8d8' transform='rotate(288)'/><circle r='1.5' fill='%23ffd666'/></g></g></svg>");background-repeat:repeat;animation:2s linear forwards tto-petal-back}.theme-trans-overlay--pixel .theme-trans-petal-mid{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='540' height='540' viewBox='0 0 540 540'><defs><path id='s2' d='M0,-2 C-5,-2 -6,-8 -4,-13 Q-2,-14 0,-12 Q2,-14 4,-13 C6,-8 5,-2 0,-2 Z'/></defs><g opacity='.9'><g transform='translate(90 140) rotate(10)'><use href='%23s2' fill='%23ffa8c2'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(72)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(144)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(216)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(288)'/><circle r='2' fill='%23ffd066'/><circle cx='0' cy='-2.5' r='.5' fill='%23ff9944'/><circle cx='2.4' cy='-.8' r='.5' fill='%23ff9944'/><circle cx='1.5' cy='2' r='.5' fill='%23ff9944'/><circle cx='-1.5' cy='2' r='.5' fill='%23ff9944'/><circle cx='-2.4' cy='-.8' r='.5' fill='%23ff9944'/></g><g transform='translate(320 240) rotate(-30)'><use href='%23s2' fill='%23ff94b4'/><use href='%23s2' fill='%23ff94b4' transform='rotate(72)'/><use href='%23s2' fill='%23ff94b4' transform='rotate(144)'/><use href='%23s2' fill='%23ff94b4' transform='rotate(216)'/><use href='%23s2' fill='%23ff94b4' transform='rotate(288)'/><circle r='2' fill='%23ffd066'/></g><g transform='translate(440 420) rotate(50)'><use href='%23s2' fill='%23ffa8c2'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(72)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(144)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(216)'/><use href='%23s2' fill='%23ffa8c2' transform='rotate(288)'/><circle r='2' fill='%23ffd066'/></g></g></svg>");background-repeat:repeat;animation:2s linear forwards tto-petal-mid}.theme-trans-overlay--pixel .theme-trans-petal-front{filter:drop-shadow(0 0 4px #ffa0be8c);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'><defs><path id='s3' d='M0,-2 C-7,-2 -8,-10 -5,-16 Q-2.5,-17 0,-15 Q2.5,-17 5,-16 C8,-10 7,-2 0,-2 Z'/></defs><g opacity='.95'><g transform='translate(120 180) rotate(20)'><use href='%23s3' fill='%23ff9eb8'/><use href='%23s3' fill='%23ff9eb8' transform='rotate(72)'/><use href='%23s3' fill='%23ff9eb8' transform='rotate(144)'/><use href='%23s3' fill='%23ff9eb8' transform='rotate(216)'/><use href='%23s3' fill='%23ff9eb8' transform='rotate(288)'/><circle r='2.5' fill='%23ffc644'/><circle cx='0' cy='-3' r='.7' fill='%23ff7722'/><circle cx='2.9' cy='-1' r='.7' fill='%23ff7722'/><circle cx='1.8' cy='2.5' r='.7' fill='%23ff7722'/><circle cx='-1.8' cy='2.5' r='.7' fill='%23ff7722'/><circle cx='-2.9' cy='-1' r='.7' fill='%23ff7722'/></g><g transform='translate(420 360) rotate(-40)'><use href='%23s3' fill='%23ff85a8'/><use href='%23s3' fill='%23ff85a8' transform='rotate(72)'/><use href='%23s3' fill='%23ff85a8' transform='rotate(144)'/><use href='%23s3' fill='%23ff85a8' transform='rotate(216)'/><use href='%23s3' fill='%23ff85a8' transform='rotate(288)'/><circle r='2.5' fill='%23ffc644'/></g></g></svg>");background-repeat:repeat;animation:2s linear forwards tto-petal-front}.theme-trans-overlay--pixel .theme-trans-petal-drift{filter:blur(.3px);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='680' height='680' viewBox='0 0 680 680'><defs><path id='s4' d='M0,-2 C-5,-2 -6,-8 -4,-12 Q-2,-13 0,-11 Q2,-13 4,-12 C6,-8 5,-2 0,-2 Z'/></defs><g opacity='.55'><g transform='translate(180 230) rotate(-15)'><use href='%23s4' fill='%23ffd0dc'/><use href='%23s4' fill='%23ffd0dc' transform='rotate(72)'/><use href='%23s4' fill='%23ffd0dc' transform='rotate(144)'/><use href='%23s4' fill='%23ffd0dc' transform='rotate(216)'/><use href='%23s4' fill='%23ffd0dc' transform='rotate(288)'/><circle r='1.8' fill='%23ffdc7a'/></g><g transform='translate(500 480) rotate(35)'><use href='%23s4' fill='%23ffc0d0'/><use href='%23s4' fill='%23ffc0d0' transform='rotate(72)'/><use href='%23s4' fill='%23ffc0d0' transform='rotate(144)'/><use href='%23s4' fill='%23ffc0d0' transform='rotate(216)'/><use href='%23s4' fill='%23ffc0d0' transform='rotate(288)'/><circle r='1.8' fill='%23ffdc7a'/></g></g></svg>");background-repeat:repeat;animation:2s linear forwards tto-petal-drift}.theme-trans-overlay--aether{background:linear-gradient(#c3e0d28c 0%,#e2efe080 100%);animation:2s ease-out forwards tto-aether-main}.theme-trans-overlay--aether .theme-trans-cloud-far,.theme-trans-overlay--aether .theme-trans-cloud-mid,.theme-trans-overlay--aether .theme-trans-cloud-near{pointer-events:none;background-repeat:repeat;position:absolute;inset:-30% 0 0}.theme-trans-overlay--aether .theme-trans-cloud-far{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'><g fill='%237ac2a9' opacity='.7'><path d='M90 80 C 104 86 108 100 90 118 C 72 100 76 86 90 80 Z' transform='rotate(20 90 99)'/><path d='M380 220 C 394 226 398 240 380 258 C 362 240 366 226 380 220 Z' transform='rotate(-30 380 239)'/><path d='M200 420 C 214 426 218 440 200 458 C 182 440 186 426 200 420 Z' transform='rotate(45 200 439)'/></g></svg>");animation:1.9s linear 40ms forwards tto-leaf-fall-far}.theme-trans-overlay--aether .theme-trans-cloud-mid{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='620' height='620' viewBox='0 0 620 620'><g fill='%235ba68c' opacity='.85'><path d='M120 130 C 140 140 146 162 120 194 C 94 162 100 140 120 130 Z' transform='rotate(15 120 162)'/><path d='M440 280 C 460 290 466 312 440 344 C 414 312 420 290 440 280 Z' transform='rotate(-35 440 312)'/><path d='M240 480 C 260 490 266 512 240 544 C 214 512 220 490 240 480 Z' transform='rotate(50 240 512)'/></g></svg>");animation:1.9s linear forwards tto-leaf-fall-mid}.theme-trans-overlay--aether .theme-trans-cloud-near{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='700' height='700' viewBox='0 0 700 700'><g fill='%234a8d72' opacity='.9'><path d='M140 150 C 168 164 176 192 140 236 C 104 192 112 164 140 150 Z' transform='rotate(25 140 193)'/><path d='M500 380 C 528 394 536 422 500 466 C 464 422 472 394 500 380 Z' transform='rotate(-30 500 423)'/></g></svg>");animation:2s linear .1s forwards tto-leaf-fall-near}.theme-trans-overlay--enkanomiya{--water-deep:#050d18;--water-mid:#0e1a2a;--door-edge:#6fd4cf;--door-glow:#9ae6e2;background:0 0}.theme-trans-overlay--enkanomiya .theme-trans-door-left,.theme-trans-overlay--enkanomiya .theme-trans-door-right{background: radial-gradient(circle 3px at 12% 15%, #9ae6e28c 0, transparent 80%), radial-gradient(circle 2px at 28% 8%, #9ae6e266 0, transparent 80%), radial-gradient(circle 4px at 78% 22%, #9ae6e280 0, transparent 80%), radial-gradient(circle 2px at 45% 42%, #9ae6e273 0, transparent 80%), radial-gradient(circle 3px at 88% 55%, #9ae6e280 0, transparent 80%), radial-gradient(circle 2px at 22% 68%, #9ae6e266 0, transparent 80%), radial-gradient(circle 4px at 62% 78%, #9ae6e280 0, transparent 80%), radial-gradient(circle 2px at 35% 92%, #9ae6e259 0, transparent 80%), radial-gradient(circle 3px at 90% 88%, #9ae6e273 0, transparent 80%),  repeating-linear-gradient(82deg, transparent 0 34px, #6fd4cf0f 34px 36px, transparent 36px 100px), repeating-linear-gradient(-78deg, transparent 0 48px, #8eb0cf0a 48px 50px, transparent 50px 130px),  linear-gradient(180deg, var(--water-mid) 0%, var(--water-deep) 55%, #040811 100%);background-repeat:no-repeat;width:50.5%;position:absolute;top:0;bottom:0;overflow:hidden}.theme-trans-overlay--enkanomiya .theme-trans-door-left{animation:1.8s cubic-bezier(.85,0,.15,1) forwards tto-enkanomiya-door-left;left:0}.theme-trans-overlay--enkanomiya .theme-trans-door-right{animation:1.8s cubic-bezier(.85,0,.15,1) forwards tto-enkanomiya-door-right;right:0}.theme-trans-overlay--enkanomiya .theme-trans-door-left:before,.theme-trans-overlay--enkanomiya .theme-trans-door-right:before{content:"";pointer-events:none;background:linear-gradient(#9ae6e22e 0%,#6fd4cf14 5%,#0000 20%),repeating-linear-gradient(178deg,#0000 0 60px,#9ae6e208 60px 61px,#0000 61px 200px);animation:3s ease-in-out infinite tto-water-shimmer;position:absolute;inset:0}@keyframes tto-water-shimmer{0%,to{opacity:.6}50%{opacity:1}}.theme-trans-overlay--enkanomiya .theme-trans-door-left:after,.theme-trans-overlay--enkanomiya .theme-trans-door-right:after{content:"";background:linear-gradient(180deg, transparent 0%, var(--door-edge) 18%, var(--door-glow) 50%, var(--door-edge) 82%, transparent 100%);width:6px;box-shadow:0 0 18px 3px color-mix(in srgb, var(--door-edge) 75%, transparent), 0 0 36px 6px color-mix(in srgb, var(--door-glow) 45%, transparent);animation:1.8s ease-out forwards tto-enkanomiya-seal;position:absolute;top:0;bottom:0}.theme-trans-overlay--enkanomiya .theme-trans-door-left:after{right:-3px}.theme-trans-overlay--enkanomiya .theme-trans-door-right:after{left:-3px}.theme-trans-overlay--enkanomiya .theme-trans-door-emblem{color:#c8f6f3;text-shadow:0 0 18px #9ae6e2,0 0 40px #6fd4cf,0 0 90px #6fd4cf99,0 0 140px #6fd4cf59;letter-spacing:-.04em;pointer-events:none;z-index:2;font-family:Noto Sans JP,DotGothic16,serif;font-size:clamp(120px,22vw,280px);font-weight:700;animation:1.8s ease-out forwards tto-enkanomiya-emblem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tto-pixel-main{0%{opacity:1}62%{opacity:1}to{opacity:0}}@keyframes tto-petal-back{0%{opacity:0;transform:translateY(-12%)rotate(0)}14%{opacity:.68}to{opacity:0;transform:translate(-8%,34%)rotate(14deg)}}@keyframes tto-petal-mid{0%{opacity:0;transform:translateY(-16%)rotate(0)}12%{opacity:.82}to{opacity:0;transform:translate(7%,40%)rotate(-18deg)}}@keyframes tto-petal-front{0%{opacity:0;transform:translateY(-18%)rotate(0)}10%{opacity:.96}to{opacity:0;transform:translate(-5%,46%)rotate(22deg)}}@keyframes tto-petal-drift{0%{opacity:0;transform:translateY(-10%)rotate(0)scale(1)}18%{opacity:.52}to{opacity:0;transform:translate(5%,32%)rotate(-12deg)scale(1.04)}}@keyframes tto-aether-main{0%{opacity:0}12%{opacity:1}65%{opacity:.8}to{opacity:0}}@keyframes tto-leaf-fall-far{0%{opacity:0;background-position:0 -50%}12%{opacity:.85}80%{opacity:.7}to{opacity:0;background-position:-40px 140%}}@keyframes tto-leaf-fall-mid{0%{opacity:0;background-position:0 -45%}10%{opacity:1}78%{opacity:.85}to{opacity:0;background-position:70px 150%}}@keyframes tto-leaf-fall-near{0%{opacity:0;background-position:0 -40%}11%{opacity:.95}76%{opacity:.75}to{opacity:0;background-position:-110px 160%}}@keyframes tto-enkanomiya-door-left{0%{transform:translate(0)}22%{transform:translate(0)}28%{transform:translate(2%)}to{transform:translate(-102%)}}@keyframes tto-enkanomiya-door-right{0%{transform:translate(0)}22%{transform:translate(0)}28%{transform:translate(-2%)}to{transform:translate(102%)}}@keyframes tto-enkanomiya-seal{0%{opacity:0;filter:brightness()}10%{opacity:1;filter:brightness(1.3)}22%{opacity:1;filter:brightness(2.2)}35%{opacity:1;filter:brightness()}to{opacity:0;filter:brightness()}}@keyframes tto-enkanomiya-emblem{0%{opacity:0;letter-spacing:.4em;transform:translate(-50%,-50%)scale(.5)}18%{opacity:0}26%{opacity:1;letter-spacing:-.04em;transform:translate(-50%,-50%)scale(1)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}60%{opacity:0;transform:translate(-50%,-50%)scale(1.4)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.theme-trans-overlay,.theme-trans-petal-back,.theme-trans-petal-mid,.theme-trans-petal-front,.theme-trans-petal-drift,.theme-trans-cloud-far,.theme-trans-cloud-mid,.theme-trans-cloud-near,.theme-trans-door-left,.theme-trans-door-right,.theme-trans-door-emblem{animation-duration:.4s!important}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--pixel-border) transparent;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;font-size:16px}@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}body{background:var(--bg);color:var(--text);touch-action:manipulation;min-height:100dvh;font-family:Noto Sans JP,sans-serif;font-size:1rem;overflow-x:hidden}button,a,[role=button],input,select,textarea,label{touch-action:manipulation}.pixel-font{font-family:Noto Sans JP,sans-serif}.pixel-font-en{font-family:"Press Start 2P",monospace}.pixel-render{image-rendering:crisp-edges;image-rendering:pixelated}.game-setup{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;display:flex}.game-title{color:var(--accent);font-size:1.3rem}.game-title-icon{justify-content:center;align-items:center;gap:.4rem;display:flex}.game-title-icon-wrap{width:1.3rem;height:1.3rem;color:var(--accent);display:inline-flex}.game-label{color:var(--text2);font-size:.9rem}.settings-toggle-row{justify-content:center;margin-bottom:1rem;display:flex}.new-today-line{color:var(--text2);text-align:center;letter-spacing:.04em;margin:-.5rem 0 .75rem;font-size:.7rem}.new-today-line.cap-reached{color:#e89494;font-weight:600}.game-result{text-align:center;padding:2rem 0}.game-xp{color:var(--accent2);margin:.25rem 0}.btn-start{border-color:var(--accent2);color:var(--accent2);margin-top:1.25rem;padding:.75rem 2.5rem;font-size:1.1rem}.btn-replay,.btn-back{vertical-align:middle;justify-content:center;align-items:center;margin-top:1rem;display:inline-flex}.btn-replay{border-color:var(--accent);color:var(--accent)}.btn-back{margin-left:5px}.game-desc{color:var(--text2);margin-bottom:.75rem;font-family:Noto Sans JP,sans-serif;font-size:18px;line-height:1.4}.jp-font{font-family:Noto Sans JP,sans-serif}.pixel-border{border:3px solid var(--pixel-border);box-shadow:var(--pixel-shadow);image-rendering:crisp-edges;image-rendering:pixelated}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--pixel-border);border-radius:3px}@media (hover:hover){::-webkit-scrollbar-thumb:hover{background:var(--primary)}}.stars{z-index:0;background:radial-gradient(at 20%,#0f34604d 0%,#0000 60%),radial-gradient(at 80% 20%,#53348333 0%,#0000 50%);position:fixed;inset:0;pointer-events:none!important}.stars canvas{pointer-events:none!important}.header{z-index:100;background:color-mix(in srgb, var(--bg2) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:3px solid var(--pixel-border);padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top));padding-left:calc(1rem + env(safe-area-inset-left));padding-right:calc(1rem + env(safe-area-inset-right));position:sticky;top:0}.offline-banner{background:var(--error);color:#fff;padding:.5rem 1rem;padding-top:calc(.5rem + env(safe-area-inset-top));text-align:center;z-index:200;font-size:.85rem;font-weight:600;transition:transform .3s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%);box-shadow:0 2px 8px #0000004d}.offline-banner.visible{transform:translateY(0)}.header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.logo{color:var(--text);align-items:center;gap:.5rem;text-decoration:none;display:flex}.logo-icon{image-rendering:crisp-edges;image-rendering:pixelated;font-size:1.8rem}.logo-text{letter-spacing:2px;font-size:1rem;line-height:1.3}.logo-text span{color:var(--primary)}.header .pixel-font{font-family:VT323,DotGothic16,monospace}.nav{flex:1;gap:.35rem;display:flex}.nav-btn{color:var(--text2);cursor:pointer;letter-spacing:1px;background:0 0;border:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.05rem;padding:.3rem .4rem;font-family:VT323,DotGothic16,monospace;transition:all .15s;display:flex;position:relative}.nav-btn-icon{font-size:1.2rem;line-height:1}.nav-btn-label{font-size:1.1rem;line-height:1}.nav-btn.active{color:var(--accent);border-color:var(--accent);background:#ffd93d14}@media (hover:hover){.nav-btn:hover{color:var(--accent);border-color:var(--accent);background:#ffd93d14}}.nav-btn.active:after{display:none}.srs-badge{background:var(--error);color:#fff;text-align:center;pointer-events:none;z-index:1;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .22rem;font-size:.68rem;line-height:1;display:inline-flex;position:absolute;top:.22rem;right:.28rem}.header-right{align-items:center;gap:.4rem;margin-left:auto;display:flex}.achieve-btn{border:1px solid var(--pixel-border);cursor:pointer;background:0 0;padding:.2rem .4rem;font-size:1.1rem;line-height:1;transition:all .15s}@media (hover:hover){.achieve-btn:hover{border-color:var(--accent)}}.profile-btn{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.95rem;transition:all .15s;display:flex;box-shadow:2px 2px #0000004d}@media (hover:hover){.profile-btn:hover{border-color:var(--accent);color:var(--accent)}}.profile-avatar{background:var(--primary);width:1.6rem;height:1.6rem;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.modal-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{animation:.2s fadeIn;display:flex}.modal-box{background:var(--bg2);border:3px solid var(--pixel-border);-webkit-overflow-scrolling:touch;width:90%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:8px 8px #00000080}.modal-header{border-bottom:2px solid var(--pixel-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-close{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1.3rem;display:inline-flex}@media (hover:hover){.modal-close:hover{color:var(--primary)}}.profile-list{padding:.5rem}.profile-item{cursor:pointer;border:2px solid #0000;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.75rem 1rem;transition:all .15s;display:flex}@media (hover:hover){.profile-item:hover{border-color:var(--primary);background:#e945600d}}.profile-item.active{border-color:var(--accent);background:#ffd93d14}.profile-avatar-lg{background:var(--primary);width:2.5rem;height:2.5rem;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.profile-item.active .profile-avatar-lg{background:var(--accent)}.profile-info{flex:1;min-width:0}.profile-name{font-size:1.1rem;font-weight:700}.profile-stats{color:var(--text2);margin-top:.15rem;font-size:.85rem}.profile-del{color:var(--text2);cursor:pointer;opacity:.5;background:0 0;border:none;padding:.25rem .5rem;font-size:1rem;transition:all .15s}@media (hover:hover){.profile-del:hover{color:var(--primary);opacity:1}}.profile-create{border-top:2px solid var(--pixel-border);gap:.5rem;padding:.75rem 1rem;display:flex}.profile-input{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);border-radius:2px;outline:none;flex:1;min-height:44px;padding:.7rem .85rem;font-family:Noto Sans JP,sans-serif;font-size:16px;transition:border-color .15s}.profile-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent)}.profile-input::placeholder{color:var(--text2);opacity:.7}.profile-create-btn{background:var(--accent2);border:2px solid var(--accent2);color:var(--bg);cursor:pointer;white-space:nowrap;padding:.6rem 1rem;font-size:.95rem;transition:all .15s}@media (hover:hover){.profile-create-btn:hover{color:var(--accent2);background:0 0}}.auth-section{border-top:1px solid var(--pixel-border);margin-top:1rem;padding-top:1rem}.auth-divider{text-align:center;color:var(--text2);align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.3rem 0;font-size:.78rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--pixel-border);flex:1;height:1px}.auth-tabs{gap:.5rem;margin-bottom:.75rem;display:flex}.auth-tab{border:2px solid var(--pixel-border);color:var(--text2);cursor:pointer;background:0 0;flex:1;min-height:44px;padding:.65rem .5rem;font-size:.95rem;transition:all .15s}@media (hover:hover){.auth-tab:hover{border-color:var(--primary)}}.auth-tab.active{border-color:var(--accent);color:var(--accent);background:var(--card-hover)}.auth-form{flex-direction:column;gap:.6rem;padding-bottom:.5rem;display:flex}.auth-error{color:var(--error);text-align:center;font-size:.85rem}.xp-bar-wrap{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.xp-bar{background:var(--bg);border:2px solid var(--pixel-border);width:90px;height:12px;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;transition:width .5s}.xp-text{color:var(--accent);white-space:nowrap}.page{z-index:1;max-width:1200px;margin:0 auto;padding:1.5rem 1rem 6rem;display:none;position:relative}.page.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.section-title{align-items:center;gap:.75rem;margin-bottom:1.5rem;font-family:VT323,DotGothic16,monospace;font-size:1.4rem;display:flex}.section-title:before{content:"▸";color:var(--primary);font-size:1.2rem}.kana-tabs{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.kana-tab{cursor:pointer;background:var(--card);border:2px solid var(--pixel-border);color:var(--text2);padding:.6rem 1.5rem;font-family:Noto Sans JP,sans-serif;font-size:1.08rem;transition:all .15s;box-shadow:3px 3px #0000004d}@media (hover:hover){.kana-tab:hover{border-color:var(--primary);color:var(--primary)}}.kana-tab.active{border-color:var(--accent);color:var(--accent);background:#ffd93d1a}.kana-toggle{color:var(--text2);text-align:center;margin-bottom:1rem;font-size:.95rem}.kana-check{cursor:pointer;align-items:center;gap:.4rem;display:flex}.kana-check input{accent-color:var(--accent);width:1rem;height:1rem}.kana-grid.kana-desktop{justify-content:center;gap:.4rem;margin:0 auto;display:grid}.kana-col-header{text-align:center;color:var(--text2);padding:.2rem 0;font-size:.8rem}.kana-cell{aspect-ratio:1;background:var(--card);border:2px solid var(--pixel-border);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:2px 2px #0000004d}@media (hover:hover){.kana-cell:hover{border-color:var(--primary);transform:translate(-1px,-1px);box-shadow:3px 3px #0006}}.kana-cell.kana-empty{box-shadow:none;cursor:default;background:0 0;border-color:#0000}@media (hover:hover){.kana-cell.kana-empty:hover{transform:none}}.kana-extra{justify-content:center;gap:.4rem;padding-top:.3rem;display:flex}.kana-extra .kana-cell{aspect-ratio:1;width:4rem}.kana-char{font-size:1.5rem;font-weight:700;line-height:1.2}.kana-romaji{color:var(--accent);margin-top:.1rem;font-size:.7rem}.kana-grid.kana-mobile{flex-direction:column;gap:.6rem;max-width:400px;margin:0 auto;display:flex}.kana-row-group{align-items:center;gap:.5rem;display:flex}.kana-row-header{width:2.8rem;color:var(--accent);text-align:center;background:#ffd93d0f;border:1px solid #ffd93d26;flex-shrink:0;padding:.3rem 0;font-size:.8rem}.kana-row-cells{flex:1;grid-template-columns:repeat(5,1fr);gap:.3rem;display:grid}.kana-mobile .kana-cell{aspect-ratio:1;padding:.2rem}.kana-mobile .kana-char{font-size:1.3rem}.kana-mobile .kana-romaji{font-size:.6rem}.kana-card-content{max-width:400px;margin:0 auto}.kc-nav{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.kc-nav .nav-arrow:disabled{opacity:.3;cursor:default}.kc-counter{color:var(--text2);font-size:1rem}.kc-main{text-align:center;background:var(--card);border:2px solid var(--pixel-border);margin-bottom:1rem;padding:2rem;box-shadow:4px 4px #0006}.kc-char{font-size:6rem;line-height:1.1}.kc-romaji{color:var(--accent);margin:.5rem 0;font-size:1.5rem}.kc-speak{border:2px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.95rem;transition:all .15s;display:inline-flex}@media (hover:hover){.kc-speak:hover{background:var(--accent);color:var(--bg)}}.kc-speak svg{width:18px;height:18px}.kc-info{gap:.75rem;display:flex}.kc-pair,.kc-stroke{text-align:center;background:var(--card);border:2px solid var(--pixel-border);flex:1;padding:1rem}.kc-label{color:var(--text2);margin-bottom:.3rem;font-size:.9rem;display:block}.kc-pair-char{font-size:2.5rem}.kc-romaji-big{color:var(--accent);font-size:2rem}@media (width<=768px){.kc-char{font-size:4rem}.kc-main{padding:1.5rem 1rem}.kc-info{gap:.5rem}.kc-pair-char{font-size:2rem}.kc-romaji-big{font-size:1.5rem}.kana-card-content{max-width:100%}}@media (width<=500px){.kana-mobile .kana-char{font-size:1.15rem}.kana-mobile .kana-romaji{font-size:.55rem}.kana-row-header{width:2.4rem;font-size:.7rem}.kana-row-cells{gap:.2rem}.kc-char{font-size:3.5rem}.kc-romaji{font-size:1.2rem}.kc-speak{padding:.4rem .8rem;font-size:.9rem}.kc-pair,.kc-stroke{padding:.7rem .5rem}.kc-pair-char{font-size:1.8rem}.kc-label{font-size:.8rem}.kana-tabs{gap:.3rem}.kana-tab{padding:.45rem .8rem;font-size:.9rem}}@media (width<=375px){.kana-mobile .kana-char{font-size:1rem}.kana-mobile .kana-romaji{font-size:.45rem}.kana-row-header{width:2rem;font-size:.6rem}.kc-char{font-size:3rem}}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.cat-card{background:var(--card);cursor:pointer;text-align:center;border:2px solid #0000;padding:.75rem;transition:all .2s;box-shadow:3px 3px #0000004d}@media (hover:hover){.cat-card:hover{border-color:var(--primary);transform:translate(-2px,-2px);box-shadow:5px 5px #0006}}.cat-card.active{border-color:var(--accent);background:#ffd93d14}.cat-icon{margin-bottom:.25rem;font-size:1.8rem}.cat-name{color:var(--text2);font-size:1rem}.cat-count{color:var(--text);margin-top:.15rem;font-size:1.1rem;font-weight:700}.search-wrap{margin-bottom:1.5rem;position:relative}.search-input{background:var(--card);border:2px solid var(--pixel-border);width:100%;color:var(--text);outline:none;padding:.85rem 1rem .85rem 2.5rem;font-family:Noto Sans JP,sans-serif;font-size:1.04rem;transition:border-color .2s}.search-input::placeholder{color:var(--text2)}.search-input:focus{border-color:var(--primary)}.search-icon{color:var(--text2);font-size:1.1rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.vocab-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;display:grid}.vocab-card{background:var(--card);border:2px solid var(--pixel-border);cursor:pointer;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex;box-shadow:3px 3px #0000004d}@media (hover:hover){.vocab-card:hover{border-color:var(--primary);transform:translate(-2px,-2px);box-shadow:5px 5px #0006}}.vocab-card.learned{border-left:4px solid var(--accent2)}.vocab-pixel{flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.vocab-pixel canvas{width:52px;height:52px;image-rendering:crisp-edges;image-rendering:pixelated}.vocab-info{flex:1;min-width:0}.vocab-jp{font-size:1.5rem;font-weight:700;line-height:1.3}.vocab-hi{color:var(--text2);margin-top:.15rem;font-size:.9rem}.vocab-meaning{color:var(--accent);margin-top:.3rem;font-size:1rem}.vocab-cat-tag{color:var(--text2);background:#ffffff0f;margin-top:.35rem;padding:.1rem .5rem;font-size:.85rem;display:inline-block}.speak-btn{cursor:pointer;opacity:.5;z-index:2;width:44px;height:44px;color:var(--accent);background:0 0;border:none;padding:.5rem;transition:all .15s;position:absolute;top:.3rem;right:.3rem}@media (hover:hover){.speak-btn:hover{opacity:1;color:var(--primary);transform:scale(1.15)}}.speak-btn:active{transform:scale(.9)}.speak-after{opacity:.7;width:44px;height:44px;padding:.4rem;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}@media (hover:hover){.speak-after:hover{opacity:1;transform:translateY(-50%)scale(1.15)}}.speak-after:active{transform:translateY(-50%)scale(.9)}.speak-btn svg{width:100%;height:100%}.fc-speak{opacity:.5;width:44px;height:44px;top:.5rem;left:auto;right:.5rem}.vocab-lesson{color:var(--text2);opacity:.5;font-size:.75rem;position:absolute;bottom:.4rem;right:.5rem}.vocab-card{position:relative}.flashcard-area{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.fc-btn{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);cursor:pointer;padding:.5rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:1rem;transition:all .15s;box-shadow:3px 3px #0000004d}@media (hover:hover){.fc-btn:hover{border-color:var(--primary);color:var(--primary);transform:translate(-1px,-1px)}}.fc-btn.active{border-color:var(--accent);color:var(--accent);background:#ffd93d14}.flashcard-container{perspective:1000px;width:100%;max-width:380px}.flashcard{aspect-ratio:3/4;cursor:pointer;width:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.no-flip-anim{transition:none}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;text-align:center;background:var(--card);border:3px solid var(--pixel-border);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0;box-shadow:6px 6px #0006}.flashcard-back{transform:rotateY(180deg)}.fc-pixel{margin-bottom:1rem}.fc-pixel canvas{width:80px;height:80px;image-rendering:crisp-edges;image-rendering:pixelated}.fc-jp{margin-bottom:.5rem;font-size:3.2rem;font-weight:700}.fc-hi{color:var(--text2);font-size:1.4rem}.fc-meaning{color:var(--accent);margin-bottom:.5rem;font-size:1.9rem}.flashcard-nav{align-items:center;gap:1rem;display:flex}.nav-arrow{background:var(--card);border:2px solid var(--pixel-border);width:52px;height:52px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;font-size:1.4rem;transition:all .15s;display:flex;box-shadow:3px 3px #0000004d}@media (hover:hover){.nav-arrow:hover{border-color:var(--primary);color:var(--primary)}}.nav-arrow:active{transform:translate(2px,2px);box-shadow:1px 1px #0000004d}.mark-btn{cursor:pointer;border:2px solid var(--accent2);color:var(--accent2);letter-spacing:1px;background:0 0;padding:.6rem 1.2rem;font-family:Noto Sans JP,sans-serif;font-size:1.02rem;transition:all .15s;box-shadow:3px 3px #0000004d}@media (hover:hover){.mark-btn:hover{background:var(--accent2);color:var(--bg)}}.mark-btn.learned{background:var(--accent2);color:var(--bg)}.mark-btn-locked{border-color:var(--pixel-border);color:var(--text2);cursor:default;opacity:.5;font-size:.85rem}@media (hover:hover){.mark-btn-locked:hover{color:var(--text2);background:0 0}}.progress-wrap{text-align:center;margin-top:.5rem}.progress-text{color:var(--text2);margin-top:.25rem;font-size:1rem}.srs-card{border:2px solid var(--accent)!important}.srs-due{color:var(--accent);font-weight:700}.srs-rating{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;min-height:52px;margin-top:1rem;display:flex}.srs-btn{cursor:pointer;border:2px solid var(--pixel-border);color:#fff;padding:.5rem .8rem;font-family:Noto Sans JP,sans-serif;font-size:.95rem;transition:all .15s;box-shadow:3px 3px #0000004d}.srs-btn:active{transform:translate(2px,2px);box-shadow:1px 1px #0000004d}.srs-again{background:var(--error);border-color:color-mix(in srgb, var(--error) 70%, #000)}.srs-hard{background:#f39c12;border-color:#e67e22}.srs-good{background:#27ae60;border-color:#1e8449}.srs-easy{background:#0984e3;border-color:#0652dd}.srs-done{text-align:center;padding:3rem 1rem}.srs-done-icon{margin-bottom:1rem;font-size:4rem}.srs-done-title{color:var(--accent);margin-bottom:.5rem;font-size:1.5rem}.srs-done-stat{color:var(--text2);font-size:1.1rem}.grammar-legend{grid-template-columns:repeat(4,1fr);gap:.4rem .75rem;max-width:100%;margin-bottom:1rem;font-size:.95rem;display:grid;overflow:hidden}.gl-item{color:var(--text2);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;align-items:center;gap:.5rem;padding:.3rem .7rem;display:flex;overflow:hidden}.gl-key{color:var(--accent);text-align:center;min-width:3.5rem;font-weight:700}@media (width<=768px){.grammar-legend{grid-template-columns:repeat(2,1fr)}.gl-item{white-space:normal;font-size:.85rem}.grammar-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.gc-icon{margin-bottom:.3rem;font-size:1.8rem}.gc-num{font-size:1.1rem}.gc-subtitle{font-size:.85rem}.grammar-point{flex-direction:column;gap:.5rem;padding:.8rem}.gp-num{width:1.8rem;height:1.8rem;font-size:.9rem}.gp-pattern{font-size:1.1rem}.gp-example{padding:.6rem .8rem;font-size:.95rem;line-height:1.7}.gp-example .jp-line{font-size:1.05rem}.gd-bubble{font-size:.95rem}.grammar-detail-header{flex-wrap:wrap}.gd-title{font-size:1.05rem}}@media (width<=480px){.grammar-legend{grid-template-columns:1fr 1fr;gap:.3rem;font-size:.85rem}.gl-item{gap:.3rem;padding:.2rem .4rem}.gl-key{min-width:2.5rem;font-size:.85rem}.grammar-tabs{gap:.3rem}.grammar-tab{padding:.5rem .8rem;font-size:.92rem}.grammar-card{padding:.8rem .6rem}.grammar-back{margin-bottom:1rem;padding:.4rem .8rem;font-size:.95rem}.gd-dialogue{padding:.7rem}.gd-line{gap:.4rem}.gd-speaker{width:1.6rem;height:1.6rem;font-size:.75rem}.gd-bubble{padding:.4rem .6rem;font-size:.9rem;line-height:1.6}.gd-vi{font-size:.8rem}.gp-pattern-vi{font-size:.85rem}.gd-summary{padding:.4rem .6rem;font-size:.85rem}.gd-summary-item{flex-direction:column;gap:.2rem;padding:.35rem .4rem}.gd-summary-label{min-width:auto}.gd-chip{padding:.1rem .4rem;font-size:.8rem}.grammar-detail-body{max-width:100%}.grammar-detail-header{margin-bottom:1rem}.gp-meaning{font-size:.95rem}.gp-example .vi-line{font-size:.85rem}.speak-btn.gp-speak,.speak-btn.gd-speak{width:36px;height:36px}}.grammar-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.grammar-tab{cursor:pointer;background:var(--card);border:2px solid var(--pixel-border);color:var(--text2);padding:.6rem 1.5rem;font-family:Noto Sans JP,sans-serif;font-size:1.08rem;transition:all .15s;box-shadow:3px 3px #0000004d}@media (hover:hover){.grammar-tab:hover{border-color:var(--primary);color:var(--primary)}}.grammar-tab.active{border-color:var(--accent);color:var(--accent);background:#ffd93d1a}.grammar-tab-content{display:none}.grammar-tab-content.active{animation:.3s fadeIn;display:block}.grammar-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-auto-rows:1fr;gap:.85rem;display:grid}.grammar-card{background:linear-gradient(135deg, var(--card) 0%, #53348326 100%);border:2px solid var(--pixel-border);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;padding:1.25rem 1rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:3px 3px #0000004d}.grammar-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--accent));height:3px;position:absolute;top:0;left:0;right:0}@media (hover:hover){.grammar-card:hover{border-color:var(--primary);transform:translate(-2px,-2px);box-shadow:5px 5px #0006}}.gc-icon{justify-content:center;align-items:center;height:2.5rem;font-size:2.2rem;display:flex}.gc-num{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;margin:.3rem 0;font-size:1.1rem;overflow:hidden}.gc-subtitle{color:var(--text);flex:1;justify-content:center;align-items:flex-start;font-size:.85rem;line-height:1.3;display:flex}.gc-count{color:var(--accent);opacity:.7;margin-top:.3rem;font-size:.8rem}.grammar-back{background:var(--card);border:2px solid var(--pixel-border);color:var(--text2);cursor:pointer;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:1.1rem;transition:all .15s;display:inline-flex;box-shadow:3px 3px #0000004d}@media (hover:hover){.grammar-back:hover{border-color:var(--primary);color:var(--primary)}}.grammar-detail-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.gd-icon{font-size:1.5rem}.gd-title{color:var(--primary);font-size:1.2rem}.gd-subtitle{color:var(--text2);font-size:1rem}.gd-title:after{content:" — ";color:var(--text2)}.grammar-detail-body{max-width:700px;margin:0 auto}.grammar-point{background:var(--card);border:2px solid var(--pixel-border);gap:.85rem;margin-bottom:1rem;padding:1rem 1.1rem;transition:border-color .2s;display:flex;box-shadow:3px 3px #0000004d}@media (hover:hover){.grammar-point:hover{border-color:#d4637b4d}}.gp-num{background:linear-gradient(135deg, var(--primary), var(--accent));width:2.2rem;height:2.2rem;color:var(--bg);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.gp-content{flex:1;min-width:0}.gp-pattern{color:var(--accent);margin-bottom:.35rem;font-family:Noto Sans JP,sans-serif;font-size:1.3rem;font-weight:700;line-height:2}.gp-meaning{color:var(--text);margin-bottom:.65rem;font-size:1.05rem}.gp-example{border-left:3px solid var(--accent);background:#0000004d;border-radius:0 4px 4px 0;padding:.75rem 1rem;font-size:1.05rem;line-height:1.9;position:relative}.gp-example .jp-line{color:var(--text);font-size:1.15rem;font-weight:700}.gp-example .vi-line{color:var(--accent);margin-top:.3rem;font-size:.95rem}ruby{ruby-align:center;margin:0 .05em}ruby rt{color:var(--text2);letter-spacing:.5px;padding-bottom:.1em;font-family:Noto Sans JP,sans-serif;font-size:.5em;font-weight:400}.gp-pattern ruby{margin:0 .08em}.gp-pattern ruby rt{color:var(--text2);font-size:.45em}.gp-example ruby rt{font-size:.45em}.gp-pattern-vi ruby{margin:0 .06em}.gp-pattern-vi ruby rt{font-size:.5em}.gp-pattern-vi{color:var(--text2);border-left:2px solid var(--accent);background:#ffd93d0f;margin-bottom:.5rem;padding:.3rem .6rem;font-size:.95rem;font-style:italic}.gd-summary{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);flex-direction:column;gap:0;margin-bottom:1.25rem;padding:.8rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.95rem;display:flex}.gd-summary-item{border-bottom:1px solid #ffffff0f;align-items:baseline;gap:.5rem;padding:.4rem .6rem;line-height:1.6;display:flex}.gd-summary-item:last-child{border-bottom:none}.gd-summary-label{color:var(--accent);flex-shrink:0;min-width:5rem;font-weight:700}.gd-summary-content{color:var(--text);flex-wrap:wrap;gap:.3rem;display:flex}.gd-chip{white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:2px;align-items:center;padding:.15rem .5rem;font-size:.9rem;line-height:1.6;display:inline-flex}.gd-arrow{color:var(--primary);margin:0 .15rem;font-weight:700}.gd-slash{color:var(--text2);margin:0 .1rem}.gd-dialogue{background:var(--card);border:2px solid var(--pixel-border);margin-top:1.5rem;padding:1rem}.gd-dialogue-title{color:var(--accent);margin-bottom:.75rem;font-size:1.1rem}.gd-line{align-items:flex-start;gap:.6rem;margin-bottom:.6rem;display:flex}.gd-speaker{background:var(--primary);width:2rem;height:2rem;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.gd-line:nth-child(odd) .gd-speaker{background:var(--accent)}.gd-bubble{background:#0003;border-radius:0 8px 8px;flex:1;padding:.5rem .75rem;font-size:1.05rem;line-height:1.7;position:relative}.gd-vi{color:var(--text2);margin-top:.15rem;font-size:.85rem}.gd-jp-line{padding-right:2.7rem}.gp-tip{border-left:3px solid var(--accent);color:var(--accent);background:#ffd93d14;border-radius:0 4px 4px 0;margin-top:.6rem;padding:.6rem .85rem;font-size:.95rem;line-height:1.6}.gp-example+.gp-example{margin-top:.4rem}.gp-speak,.gd-speak{border:2px solid color-mix(in srgb, var(--accent) 45%, var(--pixel-border));background:color-mix(in srgb, var(--card) 86%, var(--accent) 14%);width:34px;height:34px;color:var(--accent);opacity:.95;border-radius:8px;padding:.35rem;position:absolute;top:.4rem;right:.4rem}@media (hover:hover){.speak-btn.gp-speak:hover,.speak-btn.gd-speak:hover{border-color:var(--primary);background:color-mix(in srgb, var(--card) 80%, var(--primary) 20%);color:var(--primary);transform:scale(1.06)}}.reading-section{margin-top:.5rem}.reading-header{text-align:center;margin-bottom:1rem}.reading-title{color:var(--accent);margin-bottom:.25rem;font-size:1.25rem;display:grid}.reading-title .reading-jp-ghost,.reading-title>span{grid-area:1/1}.reading-title-vi{color:var(--text2);font-size:.9rem}.reading-controls{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.reading-body{background:var(--card);border:2px solid var(--pixel-border);letter-spacing:.01em;margin-bottom:1rem;padding:.5rem;font-size:1.1rem;line-height:2.1}.reading-text{background:#0003;border-radius:6px;padding:.65rem .85rem}[data-theme=comfort] .reading-text{background:#fff}.reading-sentence{border-radius:4px;margin:0 -.05rem;padding:0 .15rem}.reading-sentence.active{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.reading-jp-wrap{display:inline-grid}.reading-jp-ghost,.reading-jp-wrap .reading-jp{grid-area:1/1}.reading-jp-ghost{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.reading-sentence{vertical-align:top;display:inline-block}.reading-speak-btn{cursor:pointer;opacity:.7;vertical-align:middle;color:var(--accent);background:0 0;border:none;padding:0 .2rem;line-height:1;transition:opacity .15s,color .15s}.reading-speak-btn svg{vertical-align:middle;width:1.1rem;height:1.1rem;display:inline-block}@media (hover:hover){.reading-speak-btn:hover{opacity:1;color:var(--accent)}}.reading-sentence.active .reading-speak-btn{opacity:1;color:var(--accent)}.reading-vi{color:var(--text2);opacity:.8;margin-top:.05rem;margin-bottom:.65rem;font-size:.76rem;font-style:italic;line-height:1.3;display:block}.reading-em{color:var(--accent);font-weight:700}.reading-start-btn{margin:1rem auto 0;display:block}.particle-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.particle-card{background:var(--card);border:2px solid var(--pixel-border);padding:1rem;transition:all .2s;box-shadow:3px 3px #0000004d}.particle-card:target,.particle-card.highlight{border-color:var(--accent);animation:1.5s ease-out particle-highlight}@keyframes particle-highlight{0%,20%{background:color-mix(in srgb, var(--accent) 20%, var(--card))}to{background:var(--card)}}@media (hover:hover){.particle-card:hover{border-color:var(--accent);transform:translate(-1px,-1px)}}.particle-symbol{color:var(--primary);text-shadow:0 0 12px #e945604d;margin-right:.5rem;font-size:2.5rem;font-weight:700;display:inline-block}.particle-func{color:var(--accent);font-size:1.05rem;font-weight:700}.particle-ex{color:var(--text2);margin-top:.5rem;font-size:1rem;line-height:1.7}.conjugation-section{flex-direction:column;gap:1rem;display:flex}.conj-card{background:var(--card);border:2px solid var(--pixel-border);overflow:hidden;box-shadow:3px 3px #0000004d}.conj-header{cursor:pointer;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.conj-header-text{flex:1;align-items:baseline;gap:.5rem;display:flex}.conj-icon{font-size:1.5rem}.conj-name{color:var(--accent);font-size:1.2rem}.conj-name-jp{color:var(--text2);font-size:1rem}.conj-toggle{color:var(--text2);font-size:.8rem}.conj-summary{color:var(--text2);padding:0 1rem .7rem;font-size:.95rem;line-height:1.5}.conj-body{padding:0 1rem 1.2rem}.conj-origin{border-left:3px solid var(--accent);color:var(--text);background:#ffd93d14;margin-bottom:1rem;padding:.8rem;font-size:.95rem;line-height:1.7}.conj-origin-label{color:var(--accent);margin-bottom:.3rem;margin-right:.3rem;font-size:.95rem;display:block}.conj-group{margin-bottom:1.2rem}.conj-group-title{color:var(--primary);border-bottom:1px solid var(--pixel-border);margin-bottom:.5rem;padding-bottom:.3rem;font-size:1.05rem}.conj-group-note{color:var(--text2);margin-bottom:.3rem;font-size:.85rem}.conj-rule{color:var(--accent2);margin-bottom:.5rem;font-size:1rem;font-weight:700}.conj-examples{flex-direction:column;gap:.35rem;display:flex}.conj-ex-row{border-left:2px solid var(--pixel-border);background:#00000026;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:1rem;display:flex}.conj-ex-pattern{color:var(--text2);white-space:nowrap;min-width:6rem}.conj-ex-full{color:var(--text);flex:1}.conj-ex-vi{color:var(--accent);white-space:nowrap;font-size:.85rem}.conj-exceptions{border-left:3px solid var(--primary);background:#e9456014;margin-top:.8rem;padding:.8rem}.conj-exc-title{color:var(--primary);margin-bottom:.4rem;font-size:.95rem}.conj-exc-item{color:var(--text);padding:.2rem 0;font-size:.95rem;line-height:1.6}.conj-usages{background:#74b9ff14;border-left:3px solid #74b9ff;margin-bottom:1rem;padding:.8rem}.conj-usage-title{color:#74b9ff;margin-bottom:.4rem;font-size:.95rem}.conj-usage-item{color:var(--text);padding:.2rem 0;font-size:.95rem;line-height:1.6}.conj-usage-item:before{content:"→ ";color:#74b9ff}.conj-tip{border-left:3px solid var(--accent2);color:var(--text);background:#6bcb7714;margin-top:.8rem;padding:.8rem;font-size:.95rem;line-height:1.7}.conj-real-example{border:1px solid var(--pixel-border);background:#ffffff0a;border-radius:4px;margin-top:.8rem;padding:.8rem}.conj-re-label{color:var(--text2);margin-bottom:.4rem;font-size:.85rem;display:block}.conj-re-jp{color:var(--text);font-size:1.05rem;line-height:1.9}.conj-re-vi{color:var(--accent);margin-top:.2rem;font-size:.9rem}.csel-wrap{scrollbar-width:none;margin:1rem 0 .5rem;overflow-x:auto}.csel-wrap::-webkit-scrollbar{display:none}.csel-track{gap:.5rem;padding:.2rem .1rem;display:flex}.csel-btn{background:var(--card);border:1px solid var(--pixel-border);cursor:pointer;white-space:nowrap;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:.15rem;min-width:72px;padding:.55rem .7rem;transition:border-color .15s,background .15s;display:flex}.csel-btn.active{border-color:var(--accent);background:#ffd93d14}.csel-icon{font-size:1.4rem}.csel-label{color:var(--text2);font-size:.75rem}.csel-btn.active .csel-label{color:var(--accent)}.cd-wrap{background:var(--card);border:1px solid var(--pixel-border);border-radius:8px;margin-top:.5rem;padding:1.2rem}.cd-head{flex-wrap:wrap;align-items:flex-start;gap:.8rem;margin-bottom:.8rem;display:flex}.cd-head-icon{flex-shrink:0;font-size:2.2rem}.cd-head-name{color:var(--accent);font-size:1.35rem;font-weight:700}.cd-head-jp{color:var(--text2);font-size:1.05rem}.cd-head-summary{color:var(--text2);flex:100%;margin-top:.2rem;font-size:1rem;line-height:1.5}.cd-usage-box{background:#74b9ff0f;border-radius:8px;margin-bottom:1.1rem;padding:1rem}.cd-usage-label{color:#74b9ff;letter-spacing:.05em;margin-bottom:.5rem;font-size:.82rem;display:block}.cd-usage-origin{color:var(--text);margin:0 0 .8rem;font-size:1rem;line-height:1.7}.cd-chips{flex-wrap:wrap;gap:.4rem;display:flex}.cd-chip{color:var(--text);background:#74b9ff21;border:1px solid #74b9ff47;border-radius:20px;padding:.3rem .75rem;font-size:.9rem;line-height:1.4}.cd-3col{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem;display:grid}.cd-col{border:1px solid;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.cd-col-1{border-color:#74b9ff59}.cd-col-2{border-color:#55efc459}.cd-col-3{border-color:#6bcb7759}.cd-col-head{align-items:center;gap:.5rem;padding:.6rem .8rem;font-weight:700;display:flex}.cd-col-1 .cd-col-head{background:#74b9ff1f}.cd-col-2 .cd-col-head{background:#55efc41f}.cd-col-3 .cd-col-head{background:#6bcb771f}.cd-col-roman{color:#0a0e1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:inline-flex}.cd-col-1 .cd-col-roman{background:#74b9ff}.cd-col-2 .cd-col-roman{background:#55efc4}.cd-col-3 .cd-col-roman{background:#6bcb77}.cd-col-title{color:var(--text);font-size:.92rem}.cd-col-body{flex-direction:column;flex:1;gap:.35rem;padding:.6rem;display:flex}.cd-col-note{color:var(--text2);padding:.2rem 0;font-size:.85rem;line-height:1.5}.cd-col-rule{color:var(--accent2);padding:.15rem 0;font-size:.9rem;font-weight:700}.cd-col-exs{flex-direction:column;gap:.35rem;margin-top:.2rem;display:flex}.cd-col-ex{background:#0000002e;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.45rem .6rem;font-size:1rem;display:flex}.cd-ex-from{color:var(--text2);flex-shrink:0}.cd-ex-arrow{color:var(--text2);flex-shrink:0;font-size:.85rem}.cd-ex-to{color:var(--text);flex:1;font-weight:700}.cd-ex-vi{color:var(--accent);width:100%;margin-top:.1rem;font-size:.82rem}@media (width<=768px){.grammar-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.gc-icon{font-size:1.8rem}.gc-num{font-size:1.1rem}.gc-subtitle{font-size:.85rem}.particle-grid{grid-template-columns:1fr}.conj-ex-row{flex-wrap:wrap;gap:.2rem}.conj-ex-pattern{min-width:auto}.cd-3col{grid-template-columns:1fr}.cd-head-summary{margin-top:0}}.quiz-area{text-align:center;max-width:600px;margin:0 auto}.quiz-mode-select{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.quiz-mode-card{background:var(--card);border:2px solid var(--pixel-border);cursor:pointer;text-align:center;flex-direction:column;align-items:center;padding:1.5rem .8rem 1.2rem;transition:all .2s;display:flex;box-shadow:3px 3px #0000004d}@media (hover:hover){.quiz-mode-card:hover{border-color:var(--primary);transform:translate(-2px,-2px);box-shadow:5px 5px #0006}}.qm-icon{justify-content:center;align-items:center;height:3rem;margin-bottom:.5rem;font-size:2.5rem;display:flex}.qm-icon-svg{color:var(--accent2)}.qm-icon-svg svg{width:2.5rem;height:2.5rem}.qm-title{color:var(--accent);margin-bottom:.35rem;font-size:1.2rem}.qm-desc{color:var(--text2);flex:1;font-size:.9rem;line-height:1.4}.qm-maze{background:linear-gradient(170deg,#1a2844 0%,#0f1b2e 50%,#1a1a2e 100%);border:2px solid #3a6fa0;position:relative;overflow:hidden}.qm-maze:before{content:"";pointer-events:none;background:radial-gradient(circle at 25% 30%,#64d2ff0f 0%,#0000 50%),radial-gradient(circle at 75% 70%,#ffb43c0a 0%,#0000 40%);position:absolute;inset:0}.qm-maze .qm-title{color:#64d2ff}.qm-maze-icon{filter:drop-shadow(0 0 6px #64d2ff40)}.px-maze-ico{vertical-align:middle;flex-shrink:0;width:32px;height:32px;display:inline-block;position:relative}.px-maze-ico:before{content:"";transform-origin:0 0;background:#64d2ff;width:2px;height:2px;position:absolute;top:0;left:0;transform:scale(1.6);box-shadow:2px 0 #64d2ff,4px 0 #64d2ff,6px 0 #64d2ff,8px 0 #64d2ff,10px 0 #64d2ff,12px 0 #64d2ff,14px 0 #64d2ff,16px 0 #64d2ff,18px 0 #64d2ff,0 2px #64d2ff,18px 2px #64d2ff,0 4px #64d2ff,4px 4px #4a9abf,6px 4px #4a9abf,8px 4px #4a9abf,10px 4px #4a9abf,14px 4px #4a9abf,18px 4px #64d2ff,0 6px #64d2ff,14px 6px #4a9abf,18px 6px #64d2ff,0 8px #64d2ff,4px 8px #4a9abf,6px 8px #4a9abf,8px 8px #4a9abf,10px 8px #4a9abf,14px 8px #4a9abf,18px 8px #64d2ff,0 10px #64d2ff,4px 10px #4a9abf,18px 10px #64d2ff,0 12px #64d2ff,4px 12px #4a9abf,8px 12px #4a9abf,10px 12px #4a9abf,12px 12px #4a9abf,14px 12px #4a9abf,18px 12px #64d2ff,0 14px #64d2ff,8px 14px #4a9abf,18px 14px #64d2ff,0 16px #64d2ff,8px 16px #ffd93d,18px 16px #64d2ff,0 18px #64d2ff,2px 18px #64d2ff,4px 18px #64d2ff,6px 18px #64d2ff,8px 18px #64d2ff,10px 18px #64d2ff,12px 18px #64d2ff,14px 18px #64d2ff,16px 18px #64d2ff,18px 18px #64d2ff}@media (width<=500px){.quiz-mode-select{grid-template-columns:1fr;max-width:300px;margin:0 auto 1.5rem}.quiz-mode-card{text-align:left;flex-direction:row;gap:.8rem;padding:1rem .8rem}.qm-icon{flex-shrink:0;height:auto;margin-bottom:0;font-size:2rem}.qm-icon-svg svg{width:2rem;height:2rem}.qm-title{font-size:1.05rem}.qm-desc{font-size:.8rem}.quiz-card{padding:1.2rem}.quiz-question{font-size:2rem}.quiz-hint{margin-bottom:1rem;font-size:.95rem}.quiz-opt{padding:.75rem 1rem;font-size:1.05rem}.score-num{font-size:1.4rem}.score-label{font-size:.85rem}.result-score{font-size:2.5rem}.result-stars{font-size:2rem}}.quiz-setup{flex-direction:column;align-items:center;gap:1rem;display:flex}.quiz-type-grid{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.quiz-type-grid-kind{width:100%;max-width:820px}.quiz-type-grid-kind .fc-btn{text-align:center;justify-content:center;align-items:center;min-width:0;padding:.55rem 1.25rem;display:inline-flex}.quiz-type-grid-count .fc-btn{justify-content:center;align-items:center;width:86px;min-width:0;display:inline-flex}.quiz-start-btn{justify-content:center;align-items:center;margin-left:auto;margin-right:auto;display:inline-flex}.quiz-card{background:var(--card);border:3px solid var(--pixel-border);padding:2rem;position:relative;box-shadow:6px 6px #0006}.quiz-mix-tag{opacity:.6;font-size:1.2rem;position:absolute;top:.5rem;right:.75rem}.quiz-question{text-align:center;margin-bottom:.5rem;font-size:2.5rem;font-weight:700;position:relative}.quiz-hint{color:var(--text2);text-align:center;min-height:1.6rem;margin-bottom:1.5rem;font-size:1.1rem;transition:color .2s}.quiz-hint-meaning{color:var(--accent);font-weight:600}.quiz-options{flex-direction:column;gap:.5rem;display:flex}.quiz-options-grid{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.quiz-opt{border:2px solid var(--pixel-border);cursor:pointer;text-align:left;color:var(--text);background:#ffffff0a;align-items:center;gap:.7rem;padding:1rem 1.25rem;font-family:Noto Sans JP,sans-serif;font-size:1.1rem;transition:all .15s;display:flex}.quiz-opt:disabled{cursor:default}@media (hover:hover){.quiz-opt:not(:disabled):hover{border-color:var(--primary);background:#e9456014}}.quiz-opt.correct{border-color:var(--accent2);color:var(--accent2);background:#6bcb7726}.quiz-opt.wrong{border-color:var(--primary);color:var(--primary);background:#e9456026}.quiz-opt-letter{background:var(--pixel-border);width:28px;min-width:28px;height:28px;color:var(--text2);border-radius:50%;justify-content:center;align-items:center;font-family:VT323,monospace;font-size:1rem;font-weight:700;transition:all .15s;display:inline-flex}.quiz-opt-letter.correct{background:var(--accent2);color:#fff}.quiz-opt-letter.wrong{background:var(--primary);color:#fff}.quiz-opt-text{flex:1}.quiz-score{justify-content:center;gap:2rem;margin-bottom:1rem;display:flex}.score-item{text-align:center}.score-num{font-size:1.8rem;font-weight:700}.score-label{color:var(--text2);margin-top:.25rem;font-size:1rem}.score-correct .score-num{color:var(--accent2)}.score-wrong .score-num{color:var(--primary)}.quiz-progress{background:var(--bg);border:1px solid var(--pixel-border);width:100%;height:8px;margin-bottom:1rem}.quiz-progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;transition:width .3s}.quiz-result{text-align:center;padding:2rem}.result-score{color:var(--accent);font-size:3.5rem;font-weight:700}.result-text{color:var(--text2);margin:.5rem 0 1.5rem;font-size:1.2rem}.result-stars{letter-spacing:.5rem;margin:1rem 0;font-size:2.5rem}.result-subtitle{color:var(--accent2);margin:.25rem 0;font-family:VT323,DotGothic16,monospace;font-size:1.4rem}.review-section{text-align:left;border-top:2px dashed var(--pixel-border);margin-top:2rem;padding-top:1.5rem}.review-title{color:var(--accent2);margin-bottom:1rem;font-size:1.1rem}.review-card{background:var(--card);border:2px solid var(--pixel-border);align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex;position:relative;box-shadow:2px 2px #0003}.review-num{background:var(--pixel-border);width:1.5rem;height:1.5rem;color:var(--bg);flex-shrink:0;justify-content:center;align-items:center;font-size:.6rem;display:flex}.review-body{flex:1;min-width:0}.review-q{margin-bottom:.3rem;font-size:1.1rem}.review-correct{color:var(--accent2);font-size:.9rem}.review-wrong{color:var(--error);opacity:.7;font-size:.85rem;text-decoration:line-through}.review-explain{color:var(--text2);border-left:2px solid var(--accent);background:#ffffff08;margin-top:.4rem;padding:.3rem .5rem;font-size:.8rem}.review-meta{border:1px dashed var(--pixel-border);background:#ffffff0d;margin-top:.5rem;padding:.5rem .6rem;font-size:.8rem}.review-rule{color:var(--accent2);margin-bottom:.2rem;font-size:.9rem}.review-rule-vi{color:var(--text2);margin-bottom:.3rem;font-size:.78rem}.review-tip{color:var(--accent);margin-bottom:.3rem;font-size:.78rem}.review-lesson-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;margin-top:.3rem;padding:.25rem .6rem;font-size:.6rem;transition:all .15s;display:inline-block}@media (hover:hover){.review-lesson-btn:hover{background:var(--accent);color:var(--bg)}}.achieve-stats{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.achieve-stat{text-align:center;background:var(--card);border:2px solid var(--pixel-border);min-width:100px;padding:1rem 1.5rem;box-shadow:3px 3px #0000004d}.achieve-stat-num{color:var(--accent);font-size:2rem;font-weight:700}.achieve-stat-label{color:var(--text2);margin-top:.2rem;font-size:.9rem}.achieve-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;max-width:800px;margin:0 auto;display:grid}.achieve-card{background:var(--card);border:2px solid var(--pixel-border);align-items:center;gap:.75rem;padding:.8rem 1rem;transition:all .2s;display:flex;box-shadow:3px 3px #0000004d}.achieve-card.unlocked{border-color:var(--accent);background:linear-gradient(135deg, var(--card) 0%, #ffd93d14 100%)}.achieve-card.locked{opacity:.4}.achieve-icon{text-align:center;flex-shrink:0;width:2.5rem;font-size:2rem}.achieve-card.locked .achieve-icon{filter:grayscale()}.achieve-info{flex:1;min-width:0}.achieve-name{color:var(--text);font-size:1.1rem;font-weight:700}.achieve-card.locked .achieve-name{color:var(--text2)}.achieve-desc{color:var(--text2);margin-top:.15rem;font-size:.85rem}.achieve-check{color:var(--accent2);flex-shrink:0;font-size:1.2rem}@media (width<=500px){.achieve-grid{grid-template-columns:1fr}.achieve-stat{min-width:80px;padding:.7rem 1rem}.achieve-stat-num{font-size:1.5rem}}.memory-stats{color:var(--text2);justify-content:center;gap:1.5rem;margin-bottom:1rem;font-size:.85rem;display:flex}.memory-grid{gap:.4rem;max-width:500px;margin:0 auto;display:grid}.memory-cols-4{grid-template-columns:repeat(4,1fr)}.memory-cols-5{grid-template-columns:repeat(5,1fr)}.memory-card{aspect-ratio:1;perspective:600px;cursor:pointer;position:relative}.memory-card.matched{cursor:default;pointer-events:none}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s;position:relative}.memory-card.flipped .memory-card-inner,.memory-card.matched .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{backface-visibility:hidden;border:2px solid var(--pixel-border);text-align:center;justify-content:center;align-items:center;padding:.3rem;font-size:1.25rem;line-height:1.2;display:flex;position:absolute;inset:0;overflow:hidden}.memory-card-front{background:var(--card);color:var(--accent);font-size:1.5rem;box-shadow:2px 2px #0003}.memory-card-back{background:var(--accent2);color:var(--bg);transform:rotateY(180deg)}.memory-card-vi .memory-card-back{background:var(--primary);color:#fff}.memory-card.matched .memory-card-back{border-color:var(--accent2)}.memory-card.memory-hidden{visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}.memory-match-anim .memory-card-inner{animation:.5s memory-match-pop}@keyframes memory-match-pop{0%{transform:rotateY(180deg)scale(1)}40%{transform:rotateY(180deg)scale(1.15)}to{transform:rotateY(180deg)scale(1)}}.listen-icon{cursor:pointer;width:80px;height:80px;color:var(--accent2);background:0 0;border:none;justify-content:center;align-items:center;margin:1rem 0;padding:0;animation:2s ease-in-out infinite listen-pulse;display:inline-flex}.listen-icon svg{width:100%;height:100%}@keyframes listen-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.listen-reveal-wrap{justify-content:center;align-items:center;min-height:2.5rem;margin:.5rem 0;display:flex}.listen-reveal{color:var(--accent2);font-size:1.3rem;animation:.3s listen-fade}@keyframes listen-fade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1}}.rain-hud{color:var(--text2);justify-content:space-between;align-items:center;height:1.8rem;padding:.5rem 0;font-size:.9rem;display:flex}.rain-banner{text-align:center;justify-content:center;align-items:center;height:1.6rem;font-size:.85rem;display:flex}.rain-combo-fixed{z-index:300;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s;position:fixed;top:50%;right:1rem;transform:translateY(-50%)}.rain-combo-fixed.rain-combo-show{opacity:1;animation:.3s rain-combo-in}@keyframes rain-combo-in{0%{opacity:0;transform:translateY(-50%)scale(.5)}to{opacity:1;transform:translateY(-50%)scale(1)}}.rain-combo-count{font-size:2rem;line-height:1}.rain-combo-label{color:var(--text2);letter-spacing:.1em;font-size:.6rem}.combo-mid{color:var(--accent);text-shadow:0 0 8px #ff960080}.combo-high{color:#ffa502;text-shadow:0 0 14px #ff6400b3;animation:.4s infinite alternate combo-pulse}.combo-max{color:#ff4757;text-shadow:0 0 20px #ff0000e6,0 0 35px #ff320080;animation:.25s infinite alternate combo-pulse}@keyframes combo-pulse{0%{transform:scale(1)}to{transform:scale(1.15)}}.speed-warn{color:var(--accent)}.speed-danger{color:var(--error);animation:.5s infinite alternate speed-blink}@keyframes speed-blink{0%{opacity:1}to{opacity:.5}}@media (width<=500px){.rain-combo-fixed{right:.3rem}.rain-combo-count{font-size:1.6rem}}.rain-field{border:2px solid var(--pixel-border);background:linear-gradient(#00000040 0%,#0f34604d 100%);height:300px;margin-bottom:1rem;position:relative;overflow:hidden}.rain-storm{border-color:var(--accent)!important}.rain-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rain-drop{background:linear-gradient(#0000,#64b4ff66);width:1px;height:12px;animation:linear infinite rain-fall;position:absolute;top:-10%}@keyframes rain-fall{0%{top:-10%}to{top:110%}}.rain-word{color:var(--accent2);text-shadow:0 0 10px #6bcb774d;white-space:nowrap;font-size:1.8rem;position:absolute;transform:translate(-50%)}.rain-word.rain-fast{animation:1s ease-in-out infinite alternate rain-glow}@keyframes rain-glow{0%{text-shadow:0 0 10px #6bcb774d}to{text-shadow:0 0 20px #ffd93d99,0 0 40px #ff640033}}.rain-word.rain-hit{color:var(--accent);animation:.35s forwards rain-hit}.rain-word.rain-miss{animation:.4s forwards rain-miss}@keyframes rain-hit{30%{text-shadow:0 0 30px var(--accent);transform:translate(-50%)scale(1.5)}to{opacity:0;transform:translate(-50%)scale(0)}}@keyframes rain-miss{30%{color:var(--error);transform:translate(-50%)scale(1.3)}to{opacity:0;transform:translate(-50%)translateY(20px)}}.rain-splash{position:absolute;bottom:5%;transform:translate(-50%)}.rain-splash-drop{transform-origin:bottom;background:#dc323299;width:3px;height:8px;animation:.5s ease-out forwards splash-fly;position:absolute}@keyframes splash-fly{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}to{transform:rotate(var(--angle)) translateY(-30px);opacity:0}}.rain-shake{animation:.4s ease-in-out rain-shake}@keyframes rain-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)rotate(-.5deg)}40%{transform:translate(5px)rotate(.5deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.rain-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.rain-opt{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);cursor:pointer;padding:.7rem .5rem;font-size:.85rem;transition:all .15s;box-shadow:2px 2px #0003}@media (hover:hover){.rain-opt:hover{border-color:var(--accent);background:#ffd93d0d}}.rain-opt:active{box-shadow:none;transform:translate(1px,1px)}@media (width<=480px){.rain-field{height:250px}.rain-word{font-size:1.5rem}.rain-opt{padding:.6rem .4rem;font-size:.8rem}.memory-card-front{font-size:1.2rem}.memory-card-back{font-size:1.05rem}.memory-grid{gap:.3rem}}.xp-popup{color:var(--accent);z-index:10;pointer-events:none;font-size:1.5rem;animation:.8s ease-out forwards xp-fly;position:absolute;top:20%;left:50%;transform:translate(-50%)}@keyframes xp-fly{0%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-60px)scale(1.3)}}.shake{animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.timer-glow{z-index:50;pointer-events:none;animation:1s ease-in-out infinite timer-glow-pulse;position:fixed;inset:0;box-shadow:inset 0 0 80px #e945604d,inset 0 0 150px #e9456026}@keyframes timer-glow-pulse{0%,to{opacity:.5}50%{opacity:1}}.combo-fire-1 .combo-count{text-shadow:0 0 8px #ff960099}.combo-fire-2 .combo-count{text-shadow:0 0 12px #ff6400b3,0 0 25px #ff960066}.combo-fire-3 .combo-count{text-shadow:0 0 18px #ff3200cc,0 0 35px #ff640080}.combo-fire-4 .combo-count{text-shadow:0 0 25px #ff0000e6,0 0 50px #ff320099;animation:.3s ease-in-out infinite alternate combo-blaze}@keyframes combo-blaze{0%{transform:scale(1)}to{transform:scale(1.15)}}.qm-daily{position:relative;overflow:hidden}.qm-daily:before{content:"";background:linear-gradient(45deg, var(--accent), var(--accent2), var(--primary), var(--accent));z-index:-1;background-size:300% 300%;animation:3s infinite daily-border;position:absolute;inset:-2px}@keyframes daily-border{0%{background-position:0}50%{background-position:100%}to{background-position:0}}.qm-done{opacity:.45;cursor:default;filter:grayscale(.8)}.qm-done:before{background:var(--pixel-border)!important;animation:none!important}@media (hover:hover){.qm-done:hover{transform:none!important;box-shadow:3px 3px #0000004d!important}}.rain-power-active{text-align:center;color:var(--accent);padding:.3rem;font-size:.85rem;animation:.5s ease-in-out infinite alternate power-flash}@keyframes power-flash{0%{opacity:1}to{opacity:.5}}.rain-powerup{cursor:pointer;z-index:5;font-size:1.5rem;animation:1s ease-in-out infinite power-bob;position:absolute;right:15%}@keyframes power-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.rain-boss{box-shadow:inset 0 0 30px #dc323233;border-color:var(--error)!important}.rain-boss-word{text-shadow:0 0 15px #dc323280;color:var(--error)!important;font-size:2.2rem!important}.rain-boss-label{text-align:center;color:var(--error);margin-bottom:.5rem;font-size:.85rem;animation:.5s ease-in-out infinite alternate boss-flash}.rain-wrong-hint{text-align:center;color:var(--accent);font-size:1.05rem;animation:.25s ease-out hint-in}.rain-wrong-hint .jp-font{color:var(--text);margin-right:.3rem;font-size:1.15rem}@keyframes hint-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes boss-flash{0%{opacity:1}to{opacity:.3}}.rain-frozen:after{content:"";pointer-events:none;background:#64c8ff1a;position:absolute;inset:0}.rain-opt-boss{border-color:var(--error)!important}@media (hover:hover){.rain-opt-boss:hover{background:#dc32321a}}.rain-particle{pointer-events:none;z-index:5;border-radius:50%;animation:.6s ease-out forwards particle-fly;position:absolute}@keyframes particle-fly{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--px), var(--py));opacity:0}}.memory-time-urgent{animation:.5s infinite alternate memory-urgent;color:var(--error)!important}@keyframes memory-urgent{0%{opacity:1}to{opacity:.5}}.memory-combo{color:var(--accent)!important}.memory-bonus-slot{height:1.4rem;margin-bottom:.3rem}.memory-bonus{text-align:center;color:var(--accent);font-size:.9rem;animation:.3s memory-bonus-in}.memory-bonus-bad{color:var(--error)!important}@keyframes memory-bonus-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1}}.memory-bomb-back{background:#333!important;font-size:1.5rem!important}.memory-bomb-hit .memory-card-inner{animation:.5s bomb-shake}@keyframes bomb-shake{0%,to{transform:rotateY(180deg)translate(0)}25%{transform:rotateY(180deg)translate(-5px)}75%{transform:rotateY(180deg)translate(5px)}}.listen-speed-slot{height:1.5rem;margin:.3rem 0}.listen-speed{font-size:.85rem;animation:.3s speed-pop}@keyframes speed-pop{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.speed-fast{color:var(--accent)!important}.speed-good{color:var(--accent2)!important}.speed-ok{color:var(--text2)}.listen-hint{color:var(--accent);font-size:.9rem;animation:.3s hint-appear}@keyframes hint-appear{0%{opacity:0}to{opacity:1}}.scroll-top{z-index:199;background:var(--card);border:2px solid var(--pixel-border);width:40px;height:40px;color:var(--accent);cursor:pointer;opacity:0;pointer-events:none;justify-content:center;align-items:center;font-size:1.2rem;transition:opacity .3s,transform .15s;display:flex;position:fixed;bottom:3rem;right:1rem;box-shadow:3px 3px #0000004d}.scroll-top.show{opacity:.8;pointer-events:auto}@media (hover:hover){.scroll-top:hover{opacity:1;border-color:var(--accent);transform:translate(-1px,-1px)}}@media (width<=480px){.scroll-top{width:36px;height:36px;font-size:1rem;bottom:2.5rem;right:.5rem}}.sfx-toggle{border:1px solid var(--pixel-border);color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:30px;height:30px;padding:.3rem;transition:all .15s;display:flex}.sfx-toggle svg{width:18px;height:18px}@media (hover:hover){.sfx-toggle:hover{border-color:var(--accent);color:var(--accent)}}@media (width<=500px){.sfx-toggle{width:26px;height:26px;padding:.2rem}.sfx-toggle svg{width:14px;height:14px}}.streak-wrap{color:var(--accent);cursor:default;background:#ff640014;border:1px solid #ff960033;align-items:center;gap:.2rem;padding:.2rem .6rem;display:flex}.streak-icon{font-size:1rem}.streak-num{color:#ff9500;font-size:1.1rem;font-weight:700}.streak-wrap.hot .streak-icon{animation:.5s 2 streakBurn}@keyframes streakBurn{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.cat-progress{background:#ffffff14;width:100%;height:4px;margin-top:.4rem;overflow:hidden}.cat-progress-fill{background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;transition:width .3s}.cat-card.cat-complete{border-color:var(--accent2)}.cat-card.cat-complete .cat-icon:after{content:" ✓";color:var(--accent2);font-size:.8rem}.badge-overlay{z-index:700;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#000c;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.badge-overlay.show{opacity:1;pointer-events:auto}.badge-popup{text-align:center;background:var(--bg2);border:3px solid var(--accent);padding:2rem 2.5rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:scale(.5);box-shadow:0 0 50px #ffd93d4d,6px 6px #00000080}.badge-overlay.show .badge-popup{transform:scale(1)}.badge-popup-icon{margin-bottom:.5rem;font-size:3.5rem}.badge-popup-title{color:var(--accent);letter-spacing:3px;margin-bottom:.3rem;font-size:1rem}.badge-popup-name{color:var(--text);margin-bottom:.3rem;font-size:1.4rem}.badge-popup-desc{color:var(--text2);font-size:1rem}.quiz-combo{z-index:300;text-align:center;animation:.3s comboIn;position:fixed;top:50%;right:1.5rem;transform:translateY(-50%)}.combo-count{color:var(--accent);text-shadow:0 0 15px #ffd93d80;font-size:2.5rem;font-weight:700;display:block}.combo-label{color:var(--primary);letter-spacing:2px;font-size:.8rem;display:block}@keyframes comboIn{0%{opacity:0;transform:translateY(-50%)scale(1.5)}to{opacity:1;transform:translateY(-50%)scale(1)}}@media (width<=500px){.quiz-combo{right:.5rem}.combo-count{font-size:1.8rem}.combo-label{font-size:.65rem}.streak-wrap{padding:.15rem .4rem}.streak-num{font-size:.95rem}}.lesson-card-progress{margin-top:.4rem}.lesson-card-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.lesson-card-fill{background:var(--accent2);height:100%;transition:width .3s}.lesson-card-count{color:var(--text2);margin-top:.15rem;font-size:.65rem}.lesson-detail-header{border-bottom:1px solid var(--pixel-border);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 0;display:flex}.lesson-detail-icon{font-size:2rem}.lesson-detail-progress{color:var(--accent2);margin-left:auto;font-size:.8rem}.lesson-insight{background:linear-gradient(135deg, var(--card) 0%, #5334831a 100%);border:1px solid var(--pixel-border);cursor:pointer;margin-bottom:1rem;padding:.6rem .8rem;transition:all .15s}@media (hover:hover){.lesson-insight:hover{border-color:var(--accent)}}.lesson-insight-label{color:var(--accent);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.lesson-insight-icon{font-size:1rem}.lesson-insight-toggle{color:var(--text2);margin-left:auto;font-size:.6rem}.lesson-insight-text{color:var(--text);border-top:1px dashed var(--pixel-border);margin-top:.5rem;padding-top:.5rem;font-size:.92rem;line-height:1.7}.insight-jp{color:var(--primary);font-family:Noto Sans JP,sans-serif}.insight-em{color:var(--accent);font-weight:700}.lesson-tabs{gap:.5rem;margin-bottom:1.25rem;display:flex}.lesson-tab{text-align:center;background:var(--card);border:2px solid var(--pixel-border);color:var(--text2);cursor:pointer;flex:1;padding:.75rem .5rem;font-size:1rem;transition:all .15s}@media (hover:hover){.lesson-tab:hover{border-color:var(--primary);color:var(--text)}}.lesson-tab.active{border-color:var(--accent);color:var(--accent);background:var(--card-hover);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 30%, transparent)}.lv-summary{color:var(--text2);background:var(--card);border:2px solid var(--pixel-border);align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem .85rem;font-size:.95rem;display:flex}.lv-summary-learned{color:var(--accent2);font-size:1.2rem;font-weight:700}.lv-summary-bar{background:#ffffff1a;border-radius:3px;flex:1;height:6px;overflow:hidden}.lv-summary-fill{background:var(--accent2);border-radius:3px;height:100%;transition:width .3s}.lv-summary-hint{opacity:.65;font-size:.75rem}.lesson-vocab-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width>=700px){.lesson-vocab-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.lesson-vocab-grid{grid-template-columns:repeat(4,1fr)}}.lv-card{background:var(--card);border:2px solid var(--pixel-border);text-align:center;cursor:pointer;flex-direction:column;align-items:center;padding:1rem .7rem .6rem;transition:all .2s;display:flex;position:relative}@media (hover:hover){.lv-card:hover{border-color:var(--primary);transform:translate(-1px,-1px);box-shadow:3px 3px #0000004d}}.lv-card:active{transform:scale(.97)}.lv-learned{border-color:var(--accent2)}.lv-learned:after{content:"✓";color:var(--accent2);font-size:.65rem;font-weight:700;position:absolute;top:4px;right:6px}.lv-status{background:var(--pixel-border);border-radius:50%;width:7px;height:7px;transition:background .2s;position:absolute;top:6px;left:6px}.lv-learned .lv-status{background:var(--accent2);box-shadow:0 0 4px var(--accent2)}.lv-pixel canvas{width:44px;height:44px;image-rendering:pixelated;margin-bottom:.4rem}.lv-jp{font-size:1.4rem;font-weight:700;line-height:1.2}.lv-hi{color:var(--text2);margin-top:.15rem;font-size:.85rem}.lv-meaning{color:var(--accent);margin-top:.35rem;font-size:.95rem;line-height:1.3}.lv-examples{border-left:2px solid var(--pixel-border);text-align:left;background:#ffffff08;width:100%;margin-top:.5rem;padding:.4rem .5rem}.lv-ex{margin-bottom:.3rem}.lv-ex:last-child{margin-bottom:0}.lv-ex-jp{font-size:.78rem}.lv-ex-vi{color:var(--accent);font-size:.7rem}.lv-speak-icon{color:var(--text2);opacity:.4;margin-top:auto;padding-top:.5rem;transition:opacity .15s}@media (hover:hover){.lv-card:hover .lv-speak-icon{opacity:.8}}.lv-speak-icon svg{width:16px;height:16px}.lv-more{background:var(--card);border:2px dashed var(--pixel-border);width:100%;color:var(--text2);cursor:pointer;margin-top:1rem;padding:.6rem;font-size:.85rem;transition:all .15s;display:block}@media (hover:hover){.lv-more:hover{border-color:var(--primary);color:var(--primary)}}.lesson-grammar-section{margin-top:.5rem}.lesson-tab-quiz{border-color:var(--accent2);color:var(--accent2)}.lesson-tab-quiz.active{border-color:var(--accent2);color:var(--accent2);box-shadow:0 0 8px color-mix(in srgb, var(--accent2) 30%, transparent)}.lq-start,.lq-result{text-align:center;padding:2rem 0}.lq-counter{text-align:center;color:var(--text2);margin-bottom:.75rem;font-size:.85rem}.settings-section{background:var(--card);border:2px solid var(--pixel-border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.2rem}.settings-label{color:var(--accent);margin-bottom:.6rem;font-size:1.1rem}.settings-desc{color:var(--text2);font-size:.9rem}.theme-grid{flex-wrap:wrap;gap:.75rem;display:flex}.theme-card{border:2px solid var(--pixel-border);border-radius:var(--radius);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:.4rem;min-width:6.4rem;padding:.5rem;transition:border-color .2s;display:flex}@media (hover:hover){.theme-card:hover{border-color:var(--primary)}}.theme-card.active{border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.theme-preview{border-radius:4px;width:4rem;height:2.8rem;position:relative;overflow:hidden}.theme-meta{justify-content:center;align-items:center;gap:.25rem;display:flex}.theme-emoji{font-size:.92rem;line-height:1}.theme-svg{width:.92rem;height:.92rem;color:var(--accent);justify-content:center;align-items:center;line-height:0;display:inline-flex}.theme-svg svg{width:100%;height:100%}.theme-preview-dots{gap:4px;display:flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.theme-preview-dots span{border-radius:50%;width:7px;height:7px;display:block}.theme-name{color:var(--text);font-size:.85rem}.theme-sub{color:var(--text2);opacity:.95;font-size:.67rem}.theme-check{color:var(--accent);font-size:.8rem;line-height:1}.tts-steps{flex-wrap:wrap;gap:.5rem;display:flex}.tts-step{border:2px solid var(--pixel-border);border-radius:var(--radius);cursor:pointer;background:0 0;flex-direction:column;flex:1;align-items:center;gap:.2rem;min-width:3.5rem;padding:.5rem .3rem;transition:border-color .15s,background .15s;display:flex}@media (hover:hover){.tts-step:hover{border-color:var(--primary);background:var(--card-hover)}}.tts-step.active{border-color:var(--accent);background:var(--card-hover);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 40%, transparent)}.tts-step-rate{color:var(--text);font-size:1rem}.tts-step.active .tts-step-rate{color:var(--accent)}.tts-step-label{color:var(--text2);font-size:.72rem}.settings-toggle{background:var(--card);border:2px solid var(--pixel-border);cursor:pointer;color:var(--text2);align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.settings-toggle .settings-toggle-dot{background:var(--pixel-border);border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.settings-toggle .settings-toggle-dot:after{content:"";background:var(--text2);border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:2px;left:2px}.settings-toggle.active .settings-toggle-dot{background:var(--accent2)}.settings-toggle.active .settings-toggle-dot:after{background:var(--text);left:18px}.settings-toggle.active{color:var(--text)}.credit-badge{z-index:200;color:var(--text2);background:color-mix(in srgb, var(--bg2) 90%, transparent);border:1px solid var(--pixel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.7;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.75rem;text-decoration:none;transition:opacity .3s;display:flex;position:fixed;bottom:1rem;right:1rem}.credit-badge svg{width:14px;height:14px;fill:var(--primary)}.credit-badge strong{color:var(--text);font-weight:700}@media (hover:hover){.credit-badge:hover{opacity:1;color:var(--accent)}}.menu-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}.nav-overlay{display:none}@media (width<=768px){.header-inner{flex-wrap:wrap}.nav{justify-content:center;width:100%;display:none}.nav.open{z-index:101;flex-wrap:wrap;display:flex;position:relative}.menu-toggle{display:block}.nav-overlay{z-index:99;display:block;position:fixed;inset:0}.xp-bar-wrap{font-size:.85rem}.xp-bar{width:70px}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.vocab-list{grid-template-columns:1fr}.section-title{font-size:1.2rem}.fc-jp{font-size:2.6rem}.fc-hi{font-size:1.3rem}.fc-meaning{font-size:1.7rem}.flashcard-container{max-width:320px}.particle-grid{grid-template-columns:1fr}}@media (width<=480px){.flashcard-container{max-width:100%}.flashcard-face{padding:1.5rem 1rem}.fc-jp{font-size:2.4rem}.fc-hi{font-size:1.2rem}.fc-meaning{font-size:1.6rem}.credit-badge{padding:.3rem .6rem;font-size:.65rem;bottom:.5rem;right:.5rem}}@media (width<=375px){.nav-btn{padding:.3rem .5rem}.nav-btn-icon{font-size:1.1rem}.nav-btn-label{font-size:.65rem}.srs-badge{min-width:1rem;height:1rem;padding:0 .18rem;font-size:.62rem;top:.16rem;right:.18rem}.cat-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.cat-card{padding:.5rem}.cat-icon{font-size:1.4rem}.cat-name{font-size:.9rem}.vocab-pixel,.vocab-pixel canvas{width:40px;height:40px}.vocab-jp{font-size:1.3rem}.vocab-hi{font-size:.8rem}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.bounce{animation:.6s bounce}.slide-up{opacity:0;animation:.4s forwards slideUp}.confetti{z-index:300;pointer-events:none;width:8px;height:8px;animation:confettiFall var(--fall) linear forwards;position:fixed;top:-10px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.levelup-overlay{z-index:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;cursor:pointer;background:#000000bf;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.levelup-overlay.show{opacity:1;pointer-events:auto}.levelup-box{text-align:center;background:var(--bg2);border:4px solid var(--accent);padding:2.5rem 3rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:scale(.7);box-shadow:0 0 40px #ffd93d4d,8px 8px #00000080}.levelup-overlay.show .levelup-box{transform:scale(1)}.levelup-star{margin-bottom:.5rem;font-size:3.5rem;animation:1s 2 levelStar}@keyframes levelStar{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.2)rotate(-10deg)}50%{transform:scale(1)rotate(0)}75%{transform:scale(1.2)rotate(10deg)}}.levelup-title{color:var(--accent);text-shadow:0 0 20px #ffd93d80;letter-spacing:4px;margin-bottom:.5rem;font-size:1.8rem}.levelup-level{color:var(--text);text-shadow:0 0 15px #ffffff4d;margin-bottom:.5rem;font-size:3rem}.levelup-msg{color:var(--text2);font-size:1rem}.toast{background:var(--card);border:2px solid var(--accent2);color:var(--accent2);z-index:400;padding:.6rem 1.5rem;font-size:1.1rem;animation:.3s toastIn,.3s 1.7s forwards toastOut;position:fixed;bottom:4rem;left:50%;transform:translate(-50%);box-shadow:4px 4px #0000004d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.load-more-btn{background:var(--card);border:2px solid var(--pixel-border);color:var(--accent);cursor:pointer;grid-column:1/-1;padding:.9rem;font-size:1.1rem;transition:all .15s;box-shadow:3px 3px #0000004d}@media (hover:hover){.load-more-btn:hover{border-color:var(--accent);transform:translate(-1px,-1px)}}.vocab-filters{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.cat-popup-trigger{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;min-width:0;padding:.55rem .75rem;font-size:.95rem;transition:all .15s;display:flex;overflow:hidden;box-shadow:3px 3px #0000004d}.lesson-filter-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;max-height:65vh;padding:.75rem;display:grid;overflow-y:auto}.lesson-filter-btn{background:var(--card);border:2px solid var(--pixel-border);color:var(--text);cursor:pointer;padding:.5rem;font-size:.9rem;transition:all .15s}@media (hover:hover){.lesson-filter-btn:hover{border-color:var(--primary)}}.lesson-filter-btn.active{border-color:var(--accent);background:var(--card-hover);color:var(--accent)}.lesson-filter-btn.locked{opacity:.4;cursor:not-allowed}@media (hover:hover){.cat-popup-trigger:hover{border-color:var(--primary)}}.cat-popup-arrow{color:var(--text2);margin-left:auto;font-size:.7rem}.cat-popup-box{max-width:520px;max-height:85vh}.cat-popup-box .cat-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;max-height:65vh;margin-bottom:0;padding:.75rem;overflow-y:auto}.vocab-bookmark{cursor:pointer;color:var(--text2);background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1.4rem;line-height:1;transition:all .2s}@media (hover:hover){.vocab-bookmark:hover{transform:scale(1.2)}}.vocab-bookmark.active{color:var(--accent)}.quiz-timer{background:#ffffff1a;border-radius:3px;height:6px;margin:.5rem 0 1rem;position:relative;overflow:hidden}.quiz-timer-fill{background:var(--accent2);border-radius:3px;height:100%;transition:width 1s linear}.quiz-timer-fill.urgent{background:#e94560}.quiz-timer-inf{color:var(--text2);justify-content:flex-end;align-items:center;font-size:.8rem;display:flex;overflow:visible}.quiz-timer-text{color:var(--text2);font-size:.7rem;position:absolute;top:-1.2rem;right:0}.quiz-difficulty{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.qd-label{color:var(--text2)}.qd-value{border-radius:3px;padding:.2rem .6rem;font-size:1.05rem}.qd-easy{color:#6bcb77;background:#6bcb7733}.qd-medium{color:#ffd93d;background:#ffd93d33}.qd-hard{color:#e94560;background:#e9456033}.qd-expert{color:#a29bfe;background:#a29bfe33}.qd-info{color:var(--text2);font-size:.85rem}.mode-select-box{max-width:500px}.mode-cards{flex-wrap:wrap;gap:1rem;padding:1rem;display:flex}.mode-card{text-align:center;cursor:pointer;border:2px solid var(--pixel-border);background:var(--card);border-radius:12px;flex:1;min-width:200px;padding:1.5rem 1rem;transition:transform .2s,box-shadow .2s}@media (hover:hover){.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}}.mode-adventure{border-color:var(--accent2)}@media (hover:hover){.mode-adventure:hover{border-color:#00cec9}}.mode-free{border-color:#ffd93d}@media (hover:hover){.mode-free:hover{border-color:#fdcb6e}}.mode-icon{margin-bottom:.5rem;font-size:2.5rem}.mode-title{color:var(--accent);margin-bottom:.5rem;font-size:1.2rem}.mode-desc{color:var(--text2);margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.mode-tag{color:var(--text2);background:#ffffff0d;border-radius:3px;padding:.2rem .6rem;font-size:.65rem;display:inline-block}.challenge-box{max-width:440px}.challenge-progress{background:var(--pixel-border);border-radius:2px;height:4px;margin:.5rem 1rem}.challenge-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.challenge-body{padding:0 1rem 1.5rem}.lesson-banner{background:var(--card);border:1px solid var(--accent2);text-align:center;color:var(--accent2);border-radius:8px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.75rem;line-height:1.4}.grammar-card.locked{opacity:.35;filter:grayscale(.5);pointer-events:auto;cursor:not-allowed;position:relative}.grammar-card.locked:after{content:"🔒";filter:grayscale(0)drop-shadow(0 0 4px #00000080);font-size:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mode-pill{vertical-align:middle;margin-left:.3rem;font-size:.6rem;display:inline-block}.lb-subtitle{color:var(--text2);text-align:center;margin:-.5rem 0 1.5rem;font-size:1rem}.lb-error,.lb-empty{text-align:center;color:var(--text2);padding:2rem 0;font-size:1.2rem}.lb-error{color:var(--accent)}.lb-row--skeleton{opacity:.7;pointer-events:none}.lb-skeleton-box{background:linear-gradient(90deg, var(--pixel-border) 0%, color-mix(in srgb, var(--pixel-border) 60%, var(--bg)) 50%, var(--pixel-border) 100%);background-size:200% 100%;border-radius:4px;height:1.2rem;animation:1.4s ease-in-out infinite lbSkeletonShimmer;display:inline-block}.lb-skeleton-rank{width:2.5rem}.lb-skeleton-name{flex:1;max-width:10rem}.lb-skeleton-xp{width:5rem;margin-left:auto}@keyframes lbSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lb-list{flex-direction:column;gap:.6rem;max-width:560px;margin:0 auto;display:flex}.lb-row{border:2px solid var(--pixel-border);background:var(--card);align-items:center;gap:.75rem;padding:.85rem 1rem;transition:transform .1s;display:flex;position:relative;overflow:hidden;box-shadow:3px 3px #0000004d}@keyframes lb-glow-gold{0%,to{box-shadow:3px 3px #0000004d,0 0 6px #ffd93d4d}50%{box-shadow:3px 3px #0000004d,0 0 20px #ffd93de6}}@keyframes lb-scan{0%{background-position:-100% 0}to{background-position:200% 0}}.lb-row--rank1{background:linear-gradient(135deg, var(--card) 70%, #ffd93d1f);border-color:#ffd93d;animation:2s ease-in-out infinite lb-glow-gold}.lb-row--rank1:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff17 50%,#0000 100%) 0 0/200% 100%;animation:3s linear infinite lb-scan;position:absolute;inset:0}.lb-row--rank2{background:linear-gradient(135deg, var(--card) 70%, #c0c0c01f);border-color:silver;box-shadow:3px 3px #0000004d,0 0 8px #c0c0c073}.lb-row--rank3{background:linear-gradient(135deg, var(--card) 70%, #cd7f321f);border-color:#cd7f32;box-shadow:3px 3px #0000004d,0 0 8px #cd7f3273}.lb-row--me{border-color:var(--accent2)!important;background:linear-gradient(135deg, var(--card) 70%, #00d2d31a)!important}.lb-rank{min-width:5rem;color:var(--accent);white-space:nowrap;font-family:VT323,DotGothic16,monospace;font-size:1.25rem}.lb-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:VT323,DotGothic16,monospace;font-size:1.3rem;overflow:hidden}.lb-right{flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.lb-level{color:var(--primary);white-space:nowrap;font-family:VT323,DotGothic16,monospace;font-size:1.3rem}.lb-xp{color:var(--text2);white-space:nowrap;font-family:VT323,DotGothic16,monospace;font-size:1.1rem}@media (hover:hover){.lb-row:hover{transform:translate(-1px,-1px)}}@media (width<=400px){.lb-row{padding:.65rem .75rem}.lb-rank{min-width:4rem;font-size:1.1rem}.lb-level{font-size:1.1rem}}.xp-text,.xp-popup,.score-num,.score-label,.result-score,.result-stars,.combo-count,.combo-label,.rain-combo-count,.rain-combo-label,.streak-num,.quiz-timer-text,.lq-counter,.badge-popup-title,.badge-popup-name,.badge-popup-desc,.challenge-timer span,.levelup-title,.levelup-level,.levelup-msg,.toast{font-family:VT323,DotGothic16,monospace}.dd-wrap{position:relative}.dd-rules{flex-direction:column;gap:.35rem;margin:.75rem 0 1rem;display:flex}.dd-rule{color:var(--text2);font-size:.85rem}.dd-game{border:1px solid #6fd4cf40;border-radius:8px;margin-top:.5rem;padding:1rem;transition:background 1.2s;position:relative;overflow:hidden}.dd-bubbles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.dd-bubbles span{background:radial-gradient(circle at 30% 30%,#9ae6e299,#6fd4cf26 70%,#0000);border-radius:50%;width:8px;height:8px;animation:linear infinite dd-bubble-rise;position:absolute;bottom:-20px}@keyframes dd-bubble-rise{0%{opacity:0;bottom:-3rem;transform:scale(.7)translate(0)}10%{opacity:1;transform:scale(1)translate(0)}50%{transform:scale(1.05)translate(-12px)}to{opacity:0;bottom:110%;transform:scale(.85)translate(8px)}}.dd-stats{z-index:2;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.dd-depth{color:#f0c98a;text-shadow:0 1px 2px #00000080;font-size:1.1rem;font-weight:700}.dd-oxy{background:#050f1c99;border:1px solid #6fd4cf66;border-radius:12px;flex:1;max-width:200px;height:22px;position:relative;overflow:hidden}.dd-oxy-bar{background:linear-gradient(90deg,#6fd4cf,#9ae6e2);height:100%;transition:width .35s;box-shadow:0 0 8px #9ae6e280}.dd-oxy-low .dd-oxy-bar{background:linear-gradient(90deg,#d67f7d,#e89494);animation:1s ease-in-out infinite dd-oxy-pulse}@keyframes dd-oxy-pulse{0%,to{opacity:1}50%{opacity:.55}}.dd-oxy-label{color:#fff;text-shadow:0 1px 2px #0009;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex;position:absolute;inset:0}.dd-card{z-index:2;background:#0e1a2a9e;border:1px solid #6fd4cf4d;margin-top:1rem;transition:box-shadow .8s,border-color .8s;position:relative;box-shadow:0 0 18px #6fd4cf2e,inset 0 0 14px #6fd4cf0f}.dd-card .quiz-question{letter-spacing:.02em;text-shadow:0 2px 6px #0000008c;font-size:2.8rem}.dd-card .quiz-hint{opacity:.85;font-size:1rem}@media (width<=600px){.dd-card .quiz-question{font-size:2.3rem}}.dd-zone-twilight .dd-card{border-color:#ffd96659;box-shadow:0 0 22px #ffd9662e,inset 0 0 14px #ffd9660d}.dd-zone-midnight .dd-card{border-color:#8ca0dc66;box-shadow:0 0 24px #8ca0dc38,inset 0 0 14px #8ca0dc0f}.dd-zone-abyss .dd-card{border-color:#be8cdc73;box-shadow:0 0 28px #be8cdc47,inset 0 0 14px #be8cdc12}.dd-zone-mikoshi .dd-card{border-color:#f0c98a8c;box-shadow:0 0 32px #f0c98a59,inset 0 0 16px #f0c98a1a}.dd-zone-tag{color:#b6efea;background:#6fd4cf1f;border:1px solid #6fd4cf4d;border-radius:10px;margin-left:.35rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.dd-bubble-bonus{z-index:5;cursor:pointer;filter:drop-shadow(0 0 14px #9ae6e2d9);background:0 0;border:0;padding:.5rem;font-size:2.6rem;animation:linear forwards dd-bubble-rise;position:absolute;bottom:-3rem}.dd-bubble-bonus:active{transform:scale(.85)}.dd-card.dd-lightning{animation:1.4s ease-in-out infinite dd-lightning-pulse;border-color:#ffd966!important;box-shadow:0 0 30px #ffd96673,inset 0 0 18px #ffd9661f!important}@keyframes dd-lightning-pulse{0%,to{box-shadow:0 0 25px #ffd9664d,inset 0 0 15px #ffd96614}50%{box-shadow:0 0 55px #ffd966b3,inset 0 0 22px #ffd9662e}}.dd-lightning-badge{z-index:4;color:#14243a;letter-spacing:1px;background:linear-gradient(135deg,#ffd966,#e0b77a);border-radius:4px;padding:.3rem .8rem;font-size:.9rem;font-weight:800;animation:1.2s ease-in-out infinite dd-lightning-pulse;position:absolute;top:4rem;right:1rem;box-shadow:0 0 14px #ffd96699}.dd-float{z-index:4;pointer-events:none;text-shadow:0 2px 6px #0009;font-size:1.4rem;font-weight:800;animation:1.1s ease-out forwards dd-float-up;position:absolute;top:4.5rem;left:50%}.dd-float-good{color:#ffd966}.dd-float-bad{color:#e89494}.dd-float-crystal{color:#b6efea;text-shadow:0 0 10px #9ae6e2b3}.dd-float-lucky{color:#ffe27a;letter-spacing:.03em;text-shadow:0 0 10px #ffd966cc,0 0 18px #ffb45080,0 2px 4px #0009;font-size:1.4rem;animation:1.6s cubic-bezier(.3,1.5,.5,1) forwards dd-float-lucky}@keyframes dd-float-up{0%{opacity:0;transform:translate(-50%,.5rem)scale(.6)}20%{opacity:1;transform:translate(-50%,-.3rem)scale(1.15)}to{opacity:0;transform:translate(-50%,-2.5rem)scale(1)}}@keyframes dd-float-lucky{0%{opacity:0;transform:translate(-50%,1rem)scale(.4)rotate(-3deg)}18%{opacity:1;transform:translate(-50%,-.4rem)scale(1.35)rotate(2deg)}35%{transform:translate(-50%,-.7rem)scale(1.15)rotate(-1deg)}60%{opacity:1;transform:translate(-50%,-1.4rem)scale(1.2)rotate(0)}to{opacity:0;transform:translate(-50%,-3.2rem)scale(1.05)rotate(0)}}.dd-zone-flash{z-index:6;pointer-events:none;text-align:center;background:linear-gradient(160deg,#1a2d46e6,#0e1a2ae6);border:2px solid #e0b77a;border-radius:8px;padding:1rem 2rem;animation:2.2s ease-out forwards dd-zone-pop;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #e0b77a80,inset 0 0 20px #6fd4cf26}.dd-zone-flash-icon{filter:drop-shadow(0 0 12px #ffd966b3);font-size:2.6rem}.dd-zone-flash-name{color:#f0c98a;letter-spacing:1px;margin-top:.35rem;font-size:1.1rem}.dd-zone-flash-lore{color:#c8dae9;opacity:.92;max-width:16rem;margin-top:.35rem;font-size:.78rem;font-style:italic;line-height:1.35}@keyframes dd-zone-pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-70%)scale(1)}}.dd-zone-twilight .dd-bubbles span{background:radial-gradient(circle at 30% 30%,#c19ed48c,#966eb41f 70%,#0000)}.dd-zone-midnight .dd-bubbles span{background:radial-gradient(circle at 30% 30%,#8eb0cf80,#6482aa1a 70%,#0000)}.dd-zone-abyss .dd-bubbles span{background:radial-gradient(circle at 30% 30%,#aa82d273,#7850a014 70%,#0000)}.dd-zone-mikoshi .dd-bubbles span{background:radial-gradient(circle at 30% 30%,#ffd96699,#e0b77a26 70%,#0000)}.dd-ambiance{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.dd-ambiance span{pointer-events:none;position:absolute}.dd-ambiance-twilight span{filter:blur(.3px)drop-shadow(0 0 4px #ffd966b3);background:radial-gradient(circle,#ffd966,#ffd96600);border-radius:50%;width:3px;height:3px;animation:linear infinite dd-spark-fall}@keyframes dd-spark-fall{0%{opacity:0;transform:translateY(-2rem)}15%{opacity:1}to{opacity:0;transform:translateY(110vh)}}.dd-ambiance-midnight span{filter:blur(.4px)drop-shadow(0 0 6px #9ae6e2d9);background:radial-gradient(circle,#9ae6e2 0%,#6fd4cf66 50%,#0000 75%);border-radius:50%;width:5px;height:5px;animation:ease-in-out infinite dd-bio-drift}@keyframes dd-bio-drift{0%{opacity:.2;transform:translate(0)scale(.6)}20%{opacity:1}50%{opacity:1;transform:translate(8px,-6px)scale(1)}80%{opacity:1}to{opacity:.2;transform:translate(-4px,4px)scale(.6)}}.dd-ambiance-mikoshi span{filter:blur(.4px)drop-shadow(0 0 6px #ffd966d9);background:radial-gradient(circle,#ffe27a 0%,#ffb45066 50%,#0000 80%);border-radius:50%;width:3px;height:3px;animation:ease-out infinite dd-ember-rise}@keyframes dd-ember-rise{0%{opacity:0;transform:translateY(0)scale(.4)}20%{opacity:1;transform:translateY(-2rem)scale(1)}to{opacity:0;transform:translateY(-110vh)scale(.5)}}.dd-zone-abyss:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 30%,#140a1e8c 80%,#0a0514d9 100%);animation:3.4s ease-in-out infinite dd-pressure-pulse;position:absolute;inset:0}@keyframes dd-pressure-pulse{0%,to{opacity:.55}50%{opacity:.9}}.dd-ghost-ship{z-index:1;pointer-events:none;filter:blur(2px);opacity:0;background:radial-gradient(#b4c8e647 0%,#8caad224 50%,#0000 80%);width:9rem;height:1.6rem;animation:16s linear forwards dd-ghost-cross;position:absolute;top:18%;left:-8rem}@keyframes dd-ghost-cross{0%{opacity:0;left:-8rem}20%{opacity:1}80%{opacity:1}to{opacity:0;left:110%}}.dd-zone-mikoshi:before{content:"";pointer-events:none;background:radial-gradient(at 50% -10%,#ffd9662e 0%,#0000 55%);position:absolute;inset:0}.dd-zone-abyss:after{content:"";pointer-events:none;background:radial-gradient(#0000 30%,#00000073 100%);position:absolute;inset:0}.dd-oxy-critical{animation:1.2s ease-in-out infinite dd-critical-pulse;box-shadow:inset 0 0 60px #d68f8d73}@keyframes dd-critical-pulse{0%,to{box-shadow:inset 0 0 40px #d68f8d4d}50%{box-shadow:inset 0 0 80px #d68f8d99}}.dd-current-banner{z-index:4;white-space:nowrap;background:#0e1a2aeb;border-radius:999px;align-items:center;gap:.55rem;width:fit-content;max-width:calc(100% - 2rem);margin:.5rem auto 0;padding:.3rem .8rem;animation:.4s dd-current-fade;display:flex;position:relative}.dd-current-down{border:2px solid #6fd4cf;box-shadow:0 0 14px #6fd4cf73}.dd-current-up{border:2px solid #e89494;box-shadow:0 0 14px #e8949473}.dd-current-arrows{letter-spacing:.15rem;color:#b6efea;font-size:.85rem;line-height:1}.dd-current-up .dd-current-arrows{color:#f4baba}.dd-current-down .dd-current-arrows span{animation:1.2s ease-in-out infinite dd-arrow-down;display:inline-block}.dd-current-up .dd-current-arrows span{animation:1.2s ease-in-out infinite dd-arrow-up;display:inline-block}.dd-current-arrows span:nth-child(2){animation-delay:.15s!important}.dd-current-arrows span:nth-child(3){animation-delay:.3s!important}@keyframes dd-arrow-down{0%,to{opacity:.6;transform:translateY(-2px)}50%{opacity:1;transform:translateY(2px)}}@keyframes dd-arrow-up{0%,to{opacity:.6;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}.dd-current-name{color:#f0c98a;letter-spacing:1px;font-size:.72rem;font-weight:800;line-height:1}.dd-current-hint{color:var(--text2);font-size:.65rem;line-height:1}@keyframes dd-current-fade{0%{opacity:0;transform:translateY(-.3rem)}to{opacity:1;transform:none}}.dd-kraken{z-index:5;cursor:pointer;background:radial-gradient(circle,#501e50e6,#140a1ef2);border:2px solid #c47878;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:4rem;height:4rem;padding:0;animation:1.4s ease-in-out infinite dd-kraken-throb;display:flex;position:absolute;bottom:1rem;right:1rem;box-shadow:0 0 24px #c4787899,inset 0 0 12px #0009}.dd-kraken:active{transform:scale(.9)}.dd-kraken-eye{filter:drop-shadow(0 0 6px #ff6464cc);font-size:1.6rem}.dd-kraken-timer{color:#ffb0b0;font-size:.8rem;line-height:1}@keyframes dd-kraken-throb{0%,to{transform:scale(1);box-shadow:0 0 18px #c4787866}50%{transform:scale(1.08);box-shadow:0 0 36px #c47878e6}}.dd-crystal-result{color:#b6efea;margin-top:.35rem;font-size:.9rem}.dd-cards-wrap{flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;display:flex}.dd-cards{flex-wrap:wrap;justify-content:center;gap:1rem;padding:1rem 0;display:flex}.dd-card-pick{cursor:pointer;perspective:600px;background:0 0;border:0;width:7.5rem;height:11rem;padding:0;transition:opacity .3s,transform .3s;position:relative}.dd-card-pick:disabled{cursor:default}.dd-card-pick.dim{opacity:.35;transform:scale(.92)}.dd-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,1.4,.6,1);position:relative}.dd-card-pick.revealed .dd-card-inner{transform:rotateY(180deg)}.dd-card-back,.dd-card-face{backface-visibility:hidden;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dd-card-back{color:#e0b77a;background:linear-gradient(160deg,#1a2d46 0%,#0e1a2a 100%);border:2px solid #6fd4cf;font-size:3rem;font-weight:800;box-shadow:0 0 18px #6fd4cf4d,inset 0 0 12px #e0b77a1a}.dd-card-face{text-align:center;background:linear-gradient(160deg,#1f3654 0%,#14243a 100%);border:2px solid #e0b77a;padding:.75rem;overflow:hidden;transform:rotateY(180deg);box-shadow:0 0 22px #e0b77a73,inset 0 0 16px #6fd4cf1f}.dd-card-pick.revealed .dd-card-face{animation:.55s cubic-bezier(.4,1.6,.6,1) .35s dd-card-pop}@keyframes dd-card-pop{0%{box-shadow:0 0 22px #e0b77a73,inset 0 0 16px #6fd4cf1f}40%{box-shadow:0 0 50px #ffd966d9,inset 0 0 26px #ffd96640}to{box-shadow:0 0 22px #e0b77a73,inset 0 0 16px #6fd4cf1f}}.dd-card-icon{filter:drop-shadow(0 0 12px #e0b77a99);z-index:1;margin-bottom:.5rem;font-size:2.8rem;position:relative}.dd-card-pick.revealed .dd-card-icon{animation:1.8s ease-in-out .9s infinite dd-card-icon-glow}@keyframes dd-card-icon-glow{0%,to{filter:drop-shadow(0 0 12px #e0b77a99)}50%{filter:drop-shadow(0 0 22px #ffd966e6)drop-shadow(0 0 8px #9ae6e280)}}.dd-card-name{color:#f0c98a;z-index:1;font-size:.85rem;line-height:1.3;position:relative}.dd-card-pick.revealed .dd-card-back{animation:.45s forwards dd-card-back-fade}@keyframes dd-card-back-fade{0%{box-shadow:0 0 18px #6fd4cf4d,inset 0 0 12px #e0b77a1a}to{box-shadow:0 0 30px #ffd966b3,inset 0 0 18px #ffd96633}}@media (hover:hover){.dd-card-pick:not(:disabled):hover{transform:translateY(-4px)}.dd-card-pick:not(:disabled):not(.revealed):hover .dd-card-back{box-shadow:0 0 26px #6fd4cf8c,inset 0 0 14px #e0b77a33}}.dd-chest-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.5rem 0 .25rem;display:flex}.dd-chest-actions .fc-btn{padding:.5rem 1rem;font-size:.9rem}.dd-claim-btn{border-color:var(--primary)!important;color:var(--primary)!important}.dd-gamble-btn{color:#ffd966!important;border-color:#ffd966!important}.dd-gamble-hint{color:var(--text2);margin-top:.15rem;font-size:.7rem}.dd-chest-box{width:22rem;max-width:calc(100vw - 2rem);min-height:22rem;padding:2rem 1.75rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.dd-chest-content{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:18rem;display:flex}.quiz-card.dd-gamble-card .quiz-options{width:100%}.quiz-card.dd-gamble-card .quiz-options button{white-space:normal;word-break:break-word;min-height:2.4rem;padding:.4rem .6rem;font-size:.85rem;line-height:1.25}.dd-chest-swap-enter-active,.dd-chest-swap-leave-active{transition:opacity .18s}.dd-chest-swap-enter-from,.dd-chest-swap-leave-to{opacity:0}.dd-q-title{letter-spacing:1px;margin-bottom:.75rem;font-size:1.2rem}.dd-q-title.is-gamble{color:#ffd966;text-shadow:0 0 10px #ffd96680;animation:1.4s ease-in-out infinite dd-lightning-pulse}.dd-q-title.is-boss{color:#ffb39c;text-shadow:0 0 12px #e89494a6}.quiz-card.dd-gamble-card{box-shadow:none;background:0 0;border:0;width:100%;margin:0;padding:0}.quiz-card.dd-gamble-card .quiz-question{margin-bottom:.35rem;font-size:1.8rem}.quiz-card.dd-gamble-card .quiz-hint{display:none}.quiz-card.dd-gamble-card .quiz-options{gap:.35rem}.quiz-card.dd-gamble-card .quiz-opt{box-sizing:border-box;width:100%}.dd-chest-mikoshi{border-color:#ffd966;box-shadow:0 0 60px #ffd96699,inset 0 0 30px #ffd96633}.dd-chest-mikoshi .levelup-star{animation:.9s infinite levelStar}.dd-boss-box{animation:1.4s ease-in-out infinite dd-boss-pulse;border-color:#e89494!important;box-shadow:0 0 50px #e894948c,inset 0 0 24px #e894942e!important}@keyframes dd-boss-pulse{0%,to{box-shadow:0 0 40px #e8949473,inset 0 0 20px #e8949424}50%{box-shadow:0 0 70px #e89494cc,inset 0 0 28px #e8949447}}.qm-dive{background:linear-gradient(160deg,#1a2d4699 0%,#0e1a2a99 100%)}
