:root{--bg:#f7f4ec;--surface:#fffdfa;--surface-strong:#ffffff;--ink:#24201a;--muted:#746c61;--line:#ded6c8;--red:#b73b2d;--red-strong:#8e271e;--indigo:#39406f;--green:#4f7b59;--gold:#b9832e;--shadow:0 20px 50px rgba(36,32,26,0.08);--surface-soft:#f4efe6;--surface-muted:#f0eadf;--surface-hover:#f8f2e8}:root[data-theme=dark]{color-scheme:dark;--bg:#151413;--surface:#211f1c;--surface-strong:#2a2622;--ink:#f4eee5;--muted:#b9ad9d;--line:#3c352e;--red:#e06a5c;--red-strong:#f08073;--indigo:#aab7ff;--green:#8fc994;--gold:#e2b56b;--shadow:0 22px 54px rgba(0,0,0,0.34);--surface-soft:#25221f;--surface-muted:#302a24;--surface-hover:#363029}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}body,rt{letter-spacing:0}rt{color:var(--muted);font-size:.56em;font-weight:800;line-height:1.1}:root[data-furigana=hidden] rt{display:none}:root[data-furigana=hidden] .reading-text rt{display:ruby-text}.auth-panel,.content-card,.kanji-card,.learning-card,.maintenance-card,.metric-card,.panel,.site-header,body{transition:background-color .18s ease,border-color .18s ease,color .18s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:root[data-theme=dark] button,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}main{min-height:calc(100vh - 76px)}.beta-notice{align-items:center;background:color-mix(in srgb,var(--gold) 12%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));color:var(--ink);display:flex;gap:10px;padding:10px clamp(18px,4vw,52px)}.beta-notice svg{color:var(--red);flex:0 0 auto}.beta-notice p{margin:0;max-width:1180px;font-size:14px;line-height:1.45}:root[data-theme=dark] .beta-notice{background:color-mix(in srgb,var(--gold) 16%,var(--surface))}.ad-slot{align-items:center;background:#fffaf1;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:8px;gap:8px;justify-items:center;overflow:hidden;padding:12px;text-align:center;width:100%}.ad-slot>span{font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.ad-slot ins,.ad-slot>div{width:100%}.ad-slot small{color:var(--muted);font-size:11px}.ad-slot-home-sidebar{align-self:start}.feature-flag-toggle{align-items:end;display:grid;grid-gap:6px;gap:6px;justify-items:end}.feature-flag-toggle button{cursor:pointer}.feature-flag-toggle span{color:var(--muted);font-size:12px}.site-header{align-items:center;background:rgba(255,253,250,.92);border-bottom:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(194px,auto) minmax(0,1fr) auto auto;min-height:76px;padding:12px clamp(18px,4vw,52px);position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=dark] .site-header{background:rgba(27,24,21,.92)}.brand,.header-actions,.hero-actions,.icon-button,.inline-title,.primary-button,.search-field,.secondary-button,.site-nav,.toolbar{align-items:center;display:flex}.brand{gap:11px;min-width:0}.brand-mark{align-items:center;background:var(--red);border-radius:8px;color:white;display:inline-flex;font-size:24px;font-weight:700;height:42px;justify-content:center;width:42px}.brand small,.eyebrow{color:var(--muted);display:block;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.brand-copy{display:grid;grid-gap:1px;gap:1px;min-width:0}.brand-copy small,.brand-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-copy small{max-width:170px}.site-nav{gap:4px;justify-content:center;min-width:0;overflow-x:auto;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.icon-button,.secondary-button,.site-nav a{border:1px solid transparent;border-radius:8px;color:var(--muted);gap:8px;flex:0 0 auto;min-height:40px;padding:9px 11px;white-space:nowrap}.icon-button:hover,.secondary-button:hover,.site-nav a:hover{background:#f0eadf;color:var(--ink)}.header-actions{gap:8px;justify-content:flex-end}.sr-only{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.global-search{justify-self:end;min-width:0;position:relative;transition:width .16s ease;width:46px;z-index:50}.global-search.expanded{width:min(360px,32vw)}.global-search-toggle{align-items:center;background:white;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:46px;justify-content:center;padding:0;width:46px}.global-search-toggle:focus-visible,.global-search-toggle:hover{background:#f8f2e8;border-color:rgba(183,59,45,.32);color:var(--ink);outline:0}.global-search-field{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;min-height:42px;padding:0 9px 0 12px;width:100%}.global-search-field:focus-within{border-color:rgba(183,59,45,.55);box-shadow:0 0 0 3px rgba(183,59,45,.1)}.global-search-field svg{color:var(--muted);flex:0 0 auto}.global-search-field input{background:transparent;border:0;min-width:0;outline:0;width:100%}.global-search-field input::-webkit-search-cancel-button{display:none}.global-search-loader{animation:search-spin .8s linear infinite}.global-search-clear{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.global-search-clear:hover{background:#f0eadf;color:var(--ink)}.global-search-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:8px;gap:8px;left:auto;max-height:min(540px,calc(100vh - 96px));min-width:min(360px,calc(100vw - 32px));overflow-y:auto;padding:10px;position:absolute;right:0;top:calc(100% + 10px);width:100%;z-index:60}.global-search-status{border-bottom:1px solid var(--line);display:grid;grid-gap:2px;gap:2px;padding:4px 4px 10px}.global-search-status strong{font-size:13px}.global-search-status span{color:var(--muted);font-size:12px;line-height:1.35}.global-search-list{display:grid;grid-gap:6px;gap:6px}.global-search-result{align-items:center;border:1px solid transparent;border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.global-search-result.active,.global-search-result:hover{background:#f8f2e8;border-color:var(--line)}.global-search-result span{display:grid;grid-gap:3px;gap:3px;min-width:0}.global-search-result em{color:var(--red);font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase}.global-search-result small,.global-search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result strong{font-size:14px}.global-search-result small{color:var(--muted);font-size:12px}@keyframes search-spin{to{transform:rotate(1turn)}}.profile-menu{position:relative}.profile-menu-trigger{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;height:46px;justify-content:center;overflow:hidden;width:46px}.profile-menu-trigger img{height:100%;object-fit:cover;width:100%}.profile-menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:10px;gap:10px;max-width:calc(100vw - 24px);min-width:320px;padding:14px;position:absolute;right:0;top:calc(100% + 10px);z-index:40}.profile-menu-panel .icon-button,.profile-menu-panel a{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;justify-content:flex-start;min-height:40px;padding:9px 11px}.profile-menu-user{border-bottom:1px solid var(--line);display:grid;grid-gap:3px;gap:3px;padding-bottom:10px}.profile-menu-user span{color:var(--muted);font-size:13px}.profile-menu-bookmarks{border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;padding-top:10px}.profile-bookmarks-link{background:#f8f2e8;font-weight:900}.profile-bookmarks-link span{flex:1 1}.profile-bookmarks-link strong{background:var(--red);border-radius:999px;color:white;font-size:12px;line-height:1;min-width:26px;padding:6px 8px;text-align:center}.profile-premium-link{background:linear-gradient(180deg,#fff7e5,#f5ead1);color:var(--indigo);font-weight:900}.furigana-toggle,.theme-toggle{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;height:42px;justify-content:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;width:42px}.furigana-toggle.active,.furigana-toggle:hover,.theme-toggle:hover{border-color:var(--red)}.furigana-toggle:hover,.theme-toggle:hover{transform:translateY(-1px)}:root[data-theme=dark] .chat-message,:root[data-theme=dark] .discussion-topic,:root[data-theme=dark] .furigana-toggle,:root[data-theme=dark] .global-search-toggle,:root[data-theme=dark] .kanji-level-tabs a,:root[data-theme=dark] .level-strip a,:root[data-theme=dark] .level-tab,:root[data-theme=dark] .profile-bookmarks-link,:root[data-theme=dark] .profile-menu-trigger,:root[data-theme=dark] .quick-bookmark-list a,:root[data-theme=dark] .rich-editor-toolbar,:root[data-theme=dark] .theme-toggle{background:var(--surface-strong)}:root[data-theme=dark] .profile-premium-link,:root[data-theme=dark] .quick-bookmarks-trigger{background:linear-gradient(180deg,#3a3024,#2a241e)}.quick-bookmarks{align-items:center;bottom:92px;display:grid;justify-items:end;position:fixed;right:18px;z-index:35}.quick-bookmarks-trigger{align-items:center;background:linear-gradient(180deg,#fff8e8,#f3e7cf);border:1px solid #d6c4a7;border-radius:999px;box-shadow:0 14px 34px rgba(36,32,26,.16);color:var(--indigo);cursor:pointer;display:inline-flex;height:58px;justify-content:center;position:relative;transition:box-shadow .2s ease,transform .2s ease;width:58px}.quick-bookmarks-trigger:hover{box-shadow:0 18px 42px rgba(36,32,26,.22);transform:translateX(-2px)}.quick-bookmarks-trigger span{align-items:center;background:var(--red);border:2px solid var(--surface);border-radius:999px;color:white;display:inline-flex;font-size:11px;font-weight:900;justify-content:center;line-height:1;min-width:24px;padding:5px 6px;position:absolute;right:-5px;top:-5px}.quick-bookmarks-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;max-height:calc(100vh - 128px);overflow:auto;padding:14px;position:absolute;bottom:0;right:calc(100% + 12px);width:min(360px,calc(100vw - 104px))}.quick-bookmarks-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.quick-bookmarks-heading div{display:grid;grid-gap:3px;gap:3px}.quick-bookmarks-heading strong{font-size:15px}.quick-bookmarks-empty,.quick-bookmarks-heading span,.quick-bookmarks-status{color:var(--muted);font-size:13px}.quick-bookmark-list{display:grid;grid-gap:8px;gap:8px}.quick-bookmark-list a{background:#fff8ec;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.quick-bookmark-list a:hover{background:#f8f2e8;border-color:#d6c4a7}.quick-bookmark-list span{color:var(--red);font-size:11px;font-weight:900}.quick-bookmark-list small,.quick-bookmark-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-bookmark-list strong{font-size:14px}.quick-bookmark-list small{color:var(--muted);font-size:12px}.quick-bookmarks-empty,.quick-bookmarks-status{margin:0}.quick-bookmarks-all{align-items:center;background:var(--indigo);border-radius:8px;color:white;display:flex;font-weight:900;gap:8px;justify-content:center;min-height:42px;padding:10px 12px}.quick-bookmarks-all svg:last-child{margin-left:auto}:root[data-theme=dark] .ad-slot,:root[data-theme=dark] .auth-form input,:root[data-theme=dark] .bug-report-panel,:root[data-theme=dark] .chat-auth-warning,:root[data-theme=dark] .chat-form input,:root[data-theme=dark] .chat-moderation-control,:root[data-theme=dark] .compact-info-list span,:root[data-theme=dark] .cover-placeholder,:root[data-theme=dark] .cover-preview,:root[data-theme=dark] .discussion-form input,:root[data-theme=dark] .discussion-form textarea,:root[data-theme=dark] .editor-form input,:root[data-theme=dark] .editor-form select,:root[data-theme=dark] .editor-form textarea,:root[data-theme=dark] .emoji-button,:root[data-theme=dark] .emoji-preview,:root[data-theme=dark] .global-search-field,:root[data-theme=dark] .global-search-panel,:root[data-theme=dark] .global-search-result.active,:root[data-theme=dark] .global-search-result:hover,:root[data-theme=dark] .modal-panel,:root[data-theme=dark] .print-selector-panel,:root[data-theme=dark] .profile-fields input,:root[data-theme=dark] .profile-fields select,:root[data-theme=dark] .profile-fields textarea,:root[data-theme=dark] .progress-ambient-bar,:root[data-theme=dark] .quick-bookmark-list a:hover,:root[data-theme=dark] .quick-bookmarks-panel,:root[data-theme=dark] .reading-format-note,:root[data-theme=dark] .report-reason,:root[data-theme=dark] .rich-editor,:root[data-theme=dark] .toolbar input,:root[data-theme=dark] .toolbar select{background:var(--surface-strong);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .chat-moderation-control select,:root[data-theme=dark] .cover-input-row input,:root[data-theme=dark] .global-search-clear,:root[data-theme=dark] .global-search-field input,:root[data-theme=dark] .rich-editor-toolbar button{color:var(--ink)}:root[data-theme=dark] .field-hint code,:root[data-theme=dark] .global-search-clear:hover,:root[data-theme=dark] .reading-format-note code,:root[data-theme=dark] .selected-word,:root[data-theme=dark] mark{background:#332d26;color:var(--ink)}:root[data-theme=dark] .modal-backdrop{background:rgba(0,0,0,.68)}.icon-button,.primary-button,.secondary-button{border-radius:8px;cursor:pointer;font-weight:700;justify-content:center}.primary-button{background:var(--red);border:1px solid var(--red);color:white;gap:8px;min-height:42px;padding:10px 14px}.primary-button:hover{background:var(--red-strong)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.icon-button,.secondary-button{background:transparent;border-color:var(--line)}.page-stack{display:grid;grid-gap:24px;gap:24px;margin:0 auto;max-width:1180px;padding:28px clamp(16px,4vw,48px) 56px}.page-stack>*{max-width:100%;min-width:0}.narrow-page{max-width:980px}.profile-page{max-width:none;padding:0 0 56px}.profile-page>:not(.profile-growth-stage){margin-inline:auto;width:min(980px,calc(100% - 32px))}.profile-growth-stage{background:linear-gradient(180deg,rgba(255,252,253,.96),rgba(250,246,238,.95) 58%,#e9dfcf),repeating-linear-gradient(90deg,rgba(123,92,58,.035) 0 1px,transparent 1px 7px);border-bottom:1px solid var(--line);min-height:calc(100vh - 76px);overflow:hidden;position:relative}.profile-growth-stage:after,.profile-growth-stage:before{content:"";pointer-events:none;position:absolute}.profile-growth-stage:before{background:linear-gradient(135deg,transparent 0 46%,rgba(183,59,45,.08) 46% 47%,transparent 47%),linear-gradient(24deg,transparent 0 57%,rgba(79,123,89,.08) 57% 58%,transparent 58%);inset:0;opacity:.72;z-index:0}.profile-growth-stage:after{background:linear-gradient(180deg,transparent,rgba(143,96,55,.08) 55%,rgba(92,62,38,.14));bottom:0;height:28%;left:0;right:0;z-index:1}.profile-growth-copy{left:clamp(18px,6vw,84px);max-width:390px;position:absolute;top:clamp(34px,8vh,92px);z-index:4}.profile-growth-copy h1{color:#2f2a24;font-size:clamp(42px,7vw,78px);letter-spacing:0;line-height:.98;margin:10px 0 14px;text-wrap:balance}.profile-growth-copy p{color:#6f6358;font-size:18px;font-weight:700;margin:0}.profile-growth-metrics{bottom:clamp(24px,6vh,62px);display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(112px,1fr));left:clamp(18px,6vw,84px);max-width:min(560px,calc(100% - 36px));position:absolute;z-index:4}.profile-growth-metrics div{background:rgba(255,253,249,.86);border:1px solid rgba(220,204,181,.86);border-radius:8px;box-shadow:0 18px 50px rgba(74,52,31,.08);display:grid;grid-gap:4px;gap:4px;padding:13px 15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-growth-metrics span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.profile-growth-metrics strong{font-size:24px}.sakura-tree-shell{bottom:0;filter:drop-shadow(0 32px 32px rgba(73,49,32,.12));height:min(780px,96%);left:50%;pointer-events:none;position:absolute;transform:translateX(-40%);width:min(1110px,110vw);z-index:2}.sakura-tree-art{display:block;height:100%;width:100%}.sakura-tree-color-layer{-webkit-clip-path:inset(calc(100% - var(--tree-progress)) 0 0 0);clip-path:inset(calc(100% - var(--tree-progress)) 0 0 0);inset:0;position:absolute;transition:-webkit-clip-path .9s cubic-bezier(.22,1,.36,1);transition:clip-path .9s cubic-bezier(.22,1,.36,1);transition:clip-path .9s cubic-bezier(.22,1,.36,1),-webkit-clip-path .9s cubic-bezier(.22,1,.36,1)}.sakura-tree-color-layer .sakura-tree-art{filter:brightness(1.04) saturate(.96)}.sakura-ground-shadow{opacity:.42}.sakura-tree-art .sakura-roots path{stroke-width:18}.sakura-tree-art .sakura-roots path.sakura-root-secondary{stroke-width:9}.sakura-tree-art .sakura-roots path.sakura-root-fine{opacity:.88;stroke-width:3.4}.sakura-tree-art .sakura-branches path{stroke-width:22}.sakura-tree-art .sakura-branches path.sakura-lower-branch{stroke-width:17}.sakura-tree-art .sakura-twigs path{stroke-width:8}.sakura-tree-art .sakura-twigs path.sakura-lower-twig{stroke-width:6.2}.sakura-tree-art .sakura-fine-twigs path{stroke-width:3.8}.sakura-tree-art .sakura-fine-twigs path.sakura-lower-fine-twig{stroke-width:2.8}.sakura-tree-art .sakura-trunk{stroke-width:3}.sakura-tree-art.mono .sakura-branches path,.sakura-tree-art.mono .sakura-roots path{stroke:#c9c0b4}.sakura-tree-art.mono .sakura-twigs path{stroke:#d4cbbf}.sakura-tree-art.mono .sakura-fine-twigs path{stroke:#ded7cd}.sakura-tree-art.mono .sakura-branch-buds{fill:#e9e2d7}.sakura-tree-art.mono .sakura-ground-shadow{fill:#d9cfbf}.sakura-tree-art.mono .sakura-trunk{fill:#c5baad;stroke:#aaa093}.sakura-tree-art.mono .sakura-trunk-light{fill:#ddd4c9;opacity:.74}.sakura-tree-art.mono .sakura-leaves{fill:#dfe6d2;opacity:.76}.sakura-tree-art.colored .sakura-roots path{stroke:#9b5b55}.sakura-tree-art.colored .sakura-branches path{stroke:#874b49}.sakura-tree-art.colored .sakura-twigs path{stroke:#a66061}.sakura-tree-art.colored .sakura-fine-twigs path{stroke:#bd7678}.sakura-tree-art.colored .sakura-branch-buds{fill:#ffdce5}.sakura-tree-art.colored .sakura-ground-shadow{fill:#9a6a45}.sakura-tree-art.colored .sakura-trunk{fill:#95524e;stroke:#783c3c}.sakura-tree-art.colored .sakura-trunk-light{fill:#c87976;opacity:.5}.tree-leaf,.tree-leaf-cloud-layer,.tree-leaf-cluster{transform-box:fill-box;transform-origin:center}.tree-leaf{color:inherit;stroke:rgba(255,255,255,.82);stroke-width:.65}.sakura-tree-art.mono .tree-leaf-cluster{color:#fbfcf2;opacity:.54}.sakura-tree-art.mono .tree-leaf{fill:#fbfcf2}.sakura-tree-art.mono .tree-leaf-cluster.shade-b{color:#fffff8}.sakura-tree-art.mono .tree-leaf-cluster.shade-c{color:#f3f8e8}.sakura-tree-art.colored .tree-leaf-cluster{opacity:.58}.sakura-tree-art.colored .tree-leaf-cluster.shade-a{color:#ffe4eb}.sakura-tree-art.colored .tree-leaf-cluster.shade-b{color:#fff5f8}.sakura-tree-art.colored .tree-leaf-cluster.shade-c{color:#ffd5df}.sakura-tree-art.colored .tree-leaf.leaf-tone-2{filter:brightness(1.04) saturate(.92)}.sakura-tree-art.colored .tree-leaf.leaf-tone-3{filter:brightness(1.02) saturate(.88)}.sakura-tree-art.colored .sakura-leaves{fill:#ffe0e8;opacity:.64}.sakura-progress-boundary{border-top:1px solid rgba(205,91,116,.22);bottom:clamp(42px,var(--tree-progress),calc(100% - 42px));left:0;position:absolute;right:0;z-index:3}.sakura-progress-boundary span{background:rgba(205,78,110,.92);border-radius:999px;box-shadow:0 14px 40px rgba(205,78,110,.22);color:white;font-size:16px;font-weight:900;left:clamp(210px,48vw,700px);line-height:1;padding:9px 12px;position:absolute;top:-18px}.tree-drifting-leaves{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:3}.tree-drifting-leaves span{animation:tree-leaf-fall var(--leaf-duration) linear infinite;animation-delay:var(--leaf-delay);background:#fffdf2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.78);border-radius:90% 10% 90% 18%;filter:saturate(.42);height:11px;left:var(--leaf-left);opacity:.72;position:absolute;top:-28px;width:16px}.tree-drifting-leaves .tone-2{background:#fffff8}.tree-drifting-leaves .tone-3{background:#f5faeb}.profile-growth-stage.canopy-active .tree-drifting-leaves span{background:#ffe3eb;filter:saturate(.94);opacity:.78}.profile-growth-stage.canopy-active .tree-drifting-leaves .tone-2{background:#fff5f8}.profile-growth-stage.canopy-active .tree-drifting-leaves .tone-3{background:#ffd7e1}@keyframes tree-leaf-fall{0%{transform:translate3d(0,-48px,0) rotate(0deg) scale(var(--leaf-scale))}45%{transform:translate3d(var(--leaf-mid-drift),42vh,0) rotate(210deg) scale(var(--leaf-scale))}to{transform:translate3d(var(--leaf-drift),calc(100vh + 96px),0) rotate(540deg) scale(var(--leaf-scale))}}@media (prefers-reduced-motion:reduce){.tree-drifting-leaves span{animation:none;transform:translate3d(0,34vh,0) rotate(18deg) scale(var(--leaf-scale))}.sakura-tree-color-layer{transition:none}}.hero-panel{align-items:center;background:linear-gradient(120deg,rgba(183,59,45,.08),rgba(79,123,89,.1)),var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);min-height:380px;overflow:hidden;padding:clamp(24px,5vw,52px)}.hero-copy{max-width:620px}.hero-copy h1,.section-heading h1{font-size:clamp(36px,7vw,72px);line-height:.98;margin:10px 0 16px}.content-card p,.hero-copy p,.learning-card p,.maintenance-card p,.panel p,.section-heading p{color:var(--muted);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px}.hero-visual{align-items:center;display:flex;justify-content:center;min-height:260px}.content-card img,.hero-visual img,.maintenance-art img{height:auto;max-width:100%}.level-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.level-strip a{background:var(--surface);border:1px solid var(--line);border-radius:8px;font-weight:800;padding:14px;text-align:center}.level-strip a:hover{border-color:var(--red)}.split-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.home-main-grid{align-items:flex-start;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.home-content-column,.home-side-apps{display:grid;grid-gap:18px;gap:18px}.home-side-apps{position:-webkit-sticky;position:sticky;top:96px}.study-progress-shell{position:relative}.study-progress-shell:before{background:linear-gradient(90deg,rgba(79,123,89,.18) var(--study-progress-width,0),transparent 0),linear-gradient(180deg,rgba(255,253,250,.55),rgba(247,244,236,0));border:1px solid rgba(79,123,89,.18);border-radius:8px;content:"";inset:-16px -18px auto;height:180px;pointer-events:none;position:absolute;z-index:-1}.progress-ambient-panel{align-items:center;background:var(--surface);border:1px solid rgba(79,123,89,.25);border-radius:8px;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(220px,360px);padding:18px 22px}.progress-ambient-panel strong{color:var(--green);display:block;font-size:34px;line-height:1;margin-top:4px}.progress-ambient-panel p{color:var(--muted);margin:8px 0 0}.progress-ambient-bar{background:#ebe4d8;border:1px solid var(--line);border-radius:999px;height:18px;overflow:hidden}.progress-ambient-bar span{background:linear-gradient(90deg,var(--green),var(--gold));display:block;height:100%;width:var(--study-progress-width,0)}.auth-panel,.content-card,.kanji-card,.learning-card,.maintenance-card,.metric-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel{padding:24px}.discussion-reply,.discussion-topic,.dojo-question-card,.game-mode-card,.generated-test-card,.lesson-reading-subsection,.minna-theory-section,.n5-lesson-card,.priority-mode-card,.reading-level-card{background:var(--surface);border-color:var(--line)}.content-card,.game-mode-card,.learning-card,.n5-lesson-card,.priority-mode-card,.reading-level-card,.topic-tile{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.content-card:hover,.game-mode-card:hover,.learning-card:hover,.n5-lesson-card:hover,.priority-mode-card:hover,.reading-level-card:hover,.topic-tile:hover{border-color:color-mix(in srgb,var(--red) 46%,var(--line));box-shadow:0 16px 36px rgba(36,32,26,.1);transform:translateY(-1px)}.content-card h2,.content-card h3,.kanji-card strong,.learning-card h2,.learning-card h3,.maintenance-card h3,.metric-card strong,.panel h2,.section-heading h1,.section-heading h2{margin:8px 0}.horizontal-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.section-list{display:grid;grid-gap:14px;gap:14px}.learning-card{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:18px}.learning-card.expanded{align-items:stretch;display:grid}.level-topic-group,.level-topic-list,.standalone-section-grid{display:grid;grid-gap:14px;gap:14px}.level-topic-group summary{align-items:center;cursor:pointer;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto 1fr auto;list-style:none}.level-topic-group summary::-webkit-details-marker{display:none}.level-topic-group summary strong{font-size:24px}.level-topic-group summary em{color:var(--muted);font-style:normal;font-weight:900}.level-topic-group>p{color:var(--muted);margin:0}.standalone-card{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto}.lesson-hero,.n5-hero{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.n5-goals,.n5-goals div{display:grid;grid-gap:10px;gap:10px}.n5-goals div{align-items:flex-start;background:#f4efe6;border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;padding:12px}.n5-lesson-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.example-card,.lesson-theory,.n5-lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.n5-lesson-card{display:grid;grid-gap:10px;gap:10px;padding:14px}.lesson-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.completed-badge{background:rgba(79,123,89,.12);color:var(--green)}.empty-level-panel{display:grid;grid-gap:8px;gap:8px}.lesson-hero h1,.n5-lesson-card h2{margin:0}.n5-lesson-card h2{font-size:18px;line-height:1.18}.n5-lesson-card p{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.lesson-actions,.lesson-back-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.n5-lesson-card .lesson-actions{display:grid;grid-template-columns:1fr}.n5-lesson-card .lesson-actions a{justify-content:center;min-height:38px;padding:9px 10px}.template-generator{display:grid;grid-gap:16px;gap:16px}.generator-controls{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.generator-controls label{color:var(--muted);display:grid;font-size:12px;font-weight:800;grid-gap:6px;gap:6px;text-transform:uppercase}.generator-controls select{background:white}.generator-controls .checkbox-row,.generator-controls select{border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:8px 10px}.generator-controls .checkbox-row{align-content:center;background:#f4efe6;text-transform:none}.generated-reading-box{background:#fffaf1;border:1px solid var(--line);border-radius:8px;font-size:28px;line-height:2.1;min-height:150px;padding:18px}.generated-reading-stack{display:grid;grid-gap:12px;gap:12px}.generated-reading-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:900;gap:10px}.generated-reading-meta strong{color:var(--ink)}.generated-gloss-box p,.generated-reading-box p,.generated-translation-box p{margin:0}.generated-gloss-box p+p,.generated-reading-box p+p,.generated-translation-box p+p{margin-top:8px}.generated-reading-box rt{color:var(--muted);font-size:11px}.generated-token{background:transparent;border:0;border-radius:8px;color:inherit;cursor:pointer;font:inherit;padding:2px 4px}.generated-token.linked,.generated-token:hover{background:#f0eadf;box-shadow:inset 0 -.35em 0 rgba(183,59,45,.18)}.generated-gloss-box,.generated-translation-box{background:#fbf8f2;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.generated-gloss-box>span,.generated-translation-box>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.generated-translation-box{font-size:16px;line-height:1.7}.generated-gloss-box{color:var(--muted);font-size:12px;line-height:1.85}.generated-gloss-token{background:transparent;border:0;border-radius:6px;color:inherit;cursor:pointer;font:inherit;padding:1px 3px}.generated-gloss-token.linked,.generated-gloss-token:hover{background:#f0eadf;color:var(--ink)}.chapter-nav{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.chapter-nav a:last-child{justify-self:end}.lesson-content-grid,.lesson-text-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-editor-split{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.lesson-theory{display:grid;grid-gap:14px;gap:14px;padding:20px}.section-band{scroll-margin-top:96px}.lesson-concept-hero{align-items:stretch;display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr)}.lesson-meta{align-self:stretch;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:14px}.lesson-meta>strong{color:var(--green);font-size:15px;font-weight:950}.meta-row{border-top:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;padding-top:10px}.meta-row span{color:var(--muted);font-size:12px;font-weight:900}.meta-row b{color:var(--ink);font-size:14px;line-height:1.35}.lesson-concept-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:0;gap:0;overflow:hidden}.lesson-concept-section-header{align-items:start;background:#fbf7ee;border-bottom:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:20px 24px}.lesson-concept-section-header h2{align-items:baseline;color:var(--ink);display:flex;flex-wrap:wrap;font-size:30px;gap:8px;line-height:1.18;margin:0}.lesson-concept-section-header h2 span:first-child{color:var(--green)}.lesson-concept-section-header p{color:var(--muted);font-size:15px;font-weight:750;line-height:1.55;margin:8px 0 0;max-width:900px}.lesson-concept-badge{background:#e8f4ef;border:1px solid rgba(79,123,89,.24);border-radius:999px;color:var(--green);font-size:13px;font-weight:950;justify-self:end;padding:8px 12px;white-space:nowrap}.lesson-concept-section-body{display:grid;grid-gap:22px;gap:22px;padding:24px}.core-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(280px,.58fr)}.concept-panel,.distance-map,.ladder-step,.mini-note,.question-card{background:var(--surface);border:1px solid var(--line);border-radius:8px}.concept-panel,.distance-map,.mini-note,.question-card{padding:16px}.concept-panel h3,.distance-map h3,.mini-note h3,.pattern-card h3,.question-card h3{color:var(--green);font-size:18px;line-height:1.28;margin:0 0 10px}.concept-panel p,.ladder-step p,.mini-note p,.question-card p{color:var(--muted);line-height:1.55;margin:0}.focus-list{list-style:none;margin:14px 0 0;padding:0}.focus-list,.focus-list li{display:grid;grid-gap:9px;gap:9px}.focus-list li{align-items:start;color:var(--ink);grid-template-columns:26px minmax(0,1fr);line-height:1.45}.focus-list span{align-items:center;background:var(--green);border-radius:999px;color:white;display:inline-flex;font-size:13px;font-weight:950;height:24px;justify-content:center;width:24px}.map-track{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.map-point{background:#f8fbf7;border:1px solid rgba(79,123,89,.2);border-radius:8px;min-height:116px;padding:12px}.map-point:nth-child(2){background:#eef3fb}.map-point:nth-child(3){background:#fff1d8}.map-point strong{color:var(--ink);display:block;font-size:22px;line-height:1.35;margin-bottom:5px}.map-point small{color:var(--muted);font-weight:850}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.grammar-table caption{caption-side:top;color:var(--green);font-size:18px;font-weight:950;padding:14px 16px;text-align:left}.grammar-table caption small{color:var(--muted);display:block;font-size:13px;font-weight:750;line-height:1.45;margin-top:4px}.grammar-table thead th{background:var(--green);color:white}.grammar-table tbody th{background:#f1f6f3;color:var(--green);font-weight:950}.grammar-table tbody td.example-col,.grammar-table tbody td.question-col{background:#f6f2e8;color:var(--indigo);font-weight:900}.grammar-table tbody tr:nth-child(2n) td:not(.question-col,.example-col){background:#fffaf2}.formula{background:#eef3fb;border-radius:8px;color:var(--indigo);font-size:21px;font-weight:950;line-height:1.55;padding:8px 10px;width:-moz-fit-content;width:fit-content}.lesson-concept-section .pattern-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-concept-section .pattern-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:16px}.lesson-concept-section .pattern-card p{color:var(--muted);line-height:1.55;margin:0}.pattern-card[data-tone=gold] .formula{background:#fff1d8;color:#7b4d12}.pattern-card[data-tone=green] .formula{background:#e8f4ef;color:var(--green)}.question-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.mistake-panel{background:linear-gradient(180deg,#fff8f6,var(--surface));border:1px solid rgba(183,59,45,.24);border-radius:8px;display:grid;justify-items:center;padding:22px;text-align:center}.mistake-panel h3{align-items:baseline;color:var(--red);display:flex;flex-wrap:wrap;font-size:22px;gap:6px;justify-content:center;margin:0 0 14px}.mistake-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(260px,1fr));max-width:920px;width:100%}.mistake-item{background:var(--surface);border:1px solid rgba(183,59,45,.18);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px;text-align:left}.wrong{color:var(--red);font-weight:950}.correct{color:var(--green);font-weight:950}.example-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr)}.example-ladder{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.ladder-step{display:grid;grid-gap:8px;gap:8px;padding:15px}.ladder-step>small:first-child{color:var(--green);font-weight:950;text-transform:uppercase}.ladder-step em{color:var(--muted);font-size:12px;font-style:normal;font-weight:850}.example-bank{align-self:start}.example-bank,.practice-focus{display:grid;grid-gap:10px;gap:10px}.practice-focus{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-focus article{background:#f8fbff;border:1px solid rgba(57,64,111,.18);border-radius:8px;padding:12px}.practice-focus strong{color:var(--indigo);display:block;font-size:14px;font-weight:950;margin-bottom:5px}.practice-focus span{color:var(--muted);font-size:13px;font-weight:750;line-height:1.45}.lesson-examples-block,.lesson-master-block,.lesson-training-block,.lesson-vocabulary-block{display:grid;grid-gap:18px;gap:18px}.chapter-flow{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.flow-step{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:4px;gap:4px;padding:14px;text-decoration:none}.flow-step span{color:var(--indigo);font-size:18px;font-weight:900}.flow-step strong{color:var(--muted);font-size:13px}.flow-step:hover{border-color:rgba(183,59,45,.34)}.lesson-theory-intro{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:16px}.lesson-theory-intro article{display:grid;grid-gap:8px;gap:8px}.can-do-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}.lesson-examples-block h3,.lesson-theory-intro h3,.minna-theory-section h3{margin:0}.jp-section-title{display:grid;grid-gap:2px;gap:2px}.jp-section-title>span:first-child{font-size:.95em}.jp-section-title>span:last-child{color:var(--muted);font-size:13px;font-weight:800}.lesson-theory-intro p{color:var(--muted);line-height:1.65;margin:0}.minna-theory-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.generated-test-list>*,.lesson-examples-block>*,.lesson-master-block>*,.lesson-training-block>*,.lesson-vocabulary-block>*,.minna-theory-grid>*{min-width:0}.lesson-examples-block .lesson-dialogue,.lesson-reading-subsection,.minna-theory-section{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:16px}.lesson-vocabulary{display:grid;grid-gap:0;gap:0}.lesson-vocabulary-compact{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 42px rgba(42,35,23,.08);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:18px}.lesson-vocabulary-summary{display:grid;grid-gap:12px;gap:12px;min-width:0}.vocabulary-compact-heading{display:grid;grid-gap:6px;gap:6px}.vocabulary-compact-heading h3{align-items:baseline;color:var(--green);display:flex;flex-wrap:wrap;font-size:24px;gap:7px;line-height:1.18;margin:0}.vocabulary-compact-heading h3 span:first-child{font-weight:950}.vocabulary-compact-heading p{color:var(--muted);font-size:15px;font-weight:750;margin:0}.vocabulary-preview-list{display:flex;flex-wrap:wrap;gap:8px}.vocabulary-preview-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e8f4ef;border:1px solid #d9e0dc;border-radius:8px;color:inherit;cursor:pointer;display:grid;font:inherit;grid-gap:3px;gap:3px;min-width:112px;padding:8px 10px;text-align:left}.vocabulary-preview-item:nth-child(2n){background:#eef3fb;border-color:#d9e0dc}.vocabulary-preview-item:focus-visible,.vocabulary-preview-item:hover{background:rgba(255,253,250,.96);border-color:rgba(196,58,47,.42);box-shadow:0 8px 18px rgba(47,35,27,.08)}.vocabulary-preview-item ruby{color:var(--ink);font-size:19px;font-weight:950;line-height:1.2}.vocabulary-preview-item rt{color:var(--muted);font-size:9px}.vocabulary-preview-item span{color:var(--muted);font-size:12px;font-weight:850}.lesson-vocabulary-actions{align-items:end;display:grid;grid-gap:10px;gap:10px;justify-items:end}.vocabulary-count{color:var(--gold);font-size:22px;font-weight:950}.vocabulary-open-button{align-items:center;background:#2d6f73;border:1px solid #2d6f73;border-radius:999px;color:var(--surface);cursor:pointer;display:inline-flex;font-weight:850;justify-content:center;min-height:46px;padding:10px 20px;white-space:nowrap}.vocabulary-open-button:focus-visible,.vocabulary-open-button:hover{background:#245e61;border-color:#245e61;outline:3px solid rgba(45,111,115,.18);outline-offset:2px}.lesson-vocabulary-modal-backdrop{align-items:center;background:rgba(36,32,26,.54);display:grid;inset:0;justify-items:center;padding:18px;position:fixed;z-index:80}.lesson-vocabulary-modal{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 32px 90px rgba(36,32,26,.3);display:grid;grid-gap:14px;gap:14px;max-height:min(820px,calc(100vh - 36px));overflow:auto;padding:18px;width:min(1040px,100%)}.lesson-vocabulary-modal .vocabulary-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.vocabulary-detail-placeholder p{color:var(--muted);font-weight:750;line-height:1.55;margin:6px 0 0}.theory-wide{grid-column:1/-1}.grammar-table-section{gap:14px}.grammar-table-scroll{max-width:100%;min-width:0;overflow-x:auto}.grammar-table{border-collapse:collapse;min-width:680px;width:100%}.grammar-table td,.grammar-table th{border:1px solid var(--line);line-height:1.55;padding:10px 12px;text-align:left;vertical-align:top}.grammar-table th{background:#f4efe6;color:var(--ink);font-size:13px}.grammar-table td{background:var(--surface-strong)}.grammar-table tbody td:first-child{background:#f4efe6;color:var(--ink);font-weight:900}.grammar-table.has-question-column tbody td:last-child{background:#f1eadc;color:var(--indigo);font-weight:900}.te-form-reference{gap:16px}.te-form-reference-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.te-form-reference-head h3,.te-form-reference-head p{margin:0}.te-form-reference-head p{color:var(--muted);line-height:1.55;margin-top:6px;max-width:860px}.te-form-count{background:#eef3e8;border:1px solid rgba(79,123,89,.2);border-radius:999px;color:var(--green);flex:0 0 auto;font-size:12px;font-weight:900;padding:7px 10px}.te-form-toolbar{display:grid;grid-gap:10px;gap:10px}.te-form-search{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:8px;max-width:520px;padding:9px 12px}.te-form-search input{background:transparent;border:0;color:var(--ink);font:inherit;min-width:0;outline:0;width:100%}.te-form-filter-row{display:flex;flex-wrap:wrap;gap:8px}.te-form-filter-row button{background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:900;padding:8px 11px}.te-form-filter-row button.active,.te-form-filter-row button:hover{background:var(--red);border-color:var(--red);color:#fffaf1}.te-form-groups{display:grid;grid-gap:10px;gap:10px}.te-form-groups details{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;overflow:hidden}.te-form-groups summary{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;list-style:none;padding:13px 14px}.te-form-groups summary::-webkit-details-marker{display:none}.te-form-groups summary span{display:grid;grid-gap:4px;gap:4px}.te-form-groups summary strong{color:var(--ink)}.te-form-empty,.te-form-group-note,.te-form-groups summary small,.te-form-table small{color:var(--muted);line-height:1.45}.te-form-groups summary b{background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--indigo);flex:0 0 auto;font-size:12px;padding:6px 9px}.te-form-group-note{border-top:1px solid var(--line);margin:0;padding:0 14px 12px}.te-form-table{min-width:900px}.te-form-table td{min-width:120px}.te-form-table td small{display:block;margin-top:4px}.te-form-table td:nth-child(3) strong{color:var(--red);display:block;font-size:18px}.te-form-empty{background:var(--surface);border:1px dashed var(--line);border-radius:8px;margin:0;padding:12px}.lesson-note-list{display:grid;grid-gap:10px;gap:10px}.compact-note-list{gap:8px}.lesson-note-list p{background:#f4efe6;border:1px solid var(--line);border-radius:8px;margin:0;padding:12px}.lesson-context-note{color:var(--muted);line-height:1.6;margin:0}.blueprint-prerequisites,.grammar-point-list,.mistake-list{display:grid;grid-gap:10px;gap:10px}.blueprint-prerequisites{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.blueprint-prerequisites a{border:1px solid var(--line);border-radius:8px;color:var(--indigo);font-size:13px;font-weight:800;padding:10px 12px;text-decoration:none}.grammar-point,.mistake-row{border-left:3px solid rgba(79,123,89,.32);display:grid;grid-gap:5px;gap:5px;padding:3px 0 3px 12px}.pattern-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pattern-card.grammar-point{background:var(--surface-strong);border-left:1px solid var(--line);border:1px solid var(--line);border-left:4px solid rgba(79,123,89,.36);border-radius:8px;padding:14px}.pattern-card strong{font-size:20px;line-height:1.4}.grammar-point strong,.mistake-row strong{color:var(--ink)}.grammar-point span{color:var(--indigo);font-size:13px;font-weight:800}.grammar-point p,.mistake-row p{color:var(--muted);line-height:1.55;margin:0}.grammar-card-section{display:grid;grid-gap:3px;gap:3px}.grammar-card-section small,.grammar-point-examples>small,.mistake-row small{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.grammar-point-meta,.task-meta-row{display:flex;flex-wrap:wrap;gap:6px}.grammar-point-meta span,.task-grammar-chip{background:#eef3e8;border:1px solid rgba(79,123,89,.18);border-radius:999px;color:var(--indigo);display:inline-flex;font-size:11px;font-weight:900;line-height:1;min-height:24px;padding:6px 8px}.task-grammar-chip.subtle{background:var(--surface-soft);color:var(--muted)}.grammar-point-examples{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;margin-top:6px;padding-top:10px}.grammar-point-examples div{display:grid;grid-gap:3px;gap:3px}.grammar-point-examples strong{font-size:15px}.grammar-point-examples small{color:var(--muted);line-height:1.45}.mistake-row{border-left-color:rgba(183,59,45,.38)}.mistake-wrong{color:var(--red)}.mistake-correct{color:var(--ink)}.mistake-focus{background:#fff7ec;border-color:rgba(183,59,45,.2);justify-self:center;max-width:880px;width:100%}.mistake-focus .inline-title{justify-content:center;text-align:center}.mistake-focus .mistake-list{margin:0 auto;max-width:720px;width:100%}.mistake-row div{display:grid;grid-gap:3px;gap:3px}.mistake-row .mistake-wrong{color:var(--red);font-size:13px;font-weight:800}.quick-grammar-sheet{background:#f8f2e8}.quick-grammar-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-grammar-grid div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px}.quick-grammar-grid span{color:var(--ink);font-weight:800;line-height:1.5}.lesson-training-block .generated-test-list{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-training-block .generated-test-card{gap:10px;padding:14px}.lesson-training-block .generated-test-card h2{font-size:16px;line-height:1.35;margin:0}.lesson-training-block .generated-test-card .eyebrow{font-size:10px}.lesson-training-block .hint-block{gap:8px}.lesson-training-block .generated-test-card>.secondary-button,.lesson-training-block .hint-block .secondary-button,.lesson-training-block .inline-answer-form .primary-button,.lesson-training-block .order-task .secondary-button{font-size:12px;min-height:36px;padding:8px 10px}.lesson-training-block .answer-options{gap:8px}.lesson-training-block .answer-option{font-size:13px;line-height:1.35;min-height:38px;padding:8px 10px}.lesson-training-block .task-sentence,.lesson-training-block .task-target{font-size:16px;padding:10px}.lesson-training-block .task-target{font-size:28px}.lesson-training-block .order-answer{min-height:44px;padding:8px}.lesson-training-block .answer-result{font-size:13px;line-height:1.45}.lesson-training-block .final-test-submit{grid-column:1/-1}.lesson-extra-body{background:#f4efe6;border:1px solid var(--line);border-radius:8px;line-height:1.7;margin:0;padding:14px;white-space:pre-wrap}.lesson-extra-summary{color:var(--muted);margin:0}.lesson-editor-panel{background:linear-gradient(90deg,color-mix(in srgb,var(--indigo) 10%,transparent),transparent 34%),var(--surface);border-color:color-mix(in srgb,var(--indigo) 34%,var(--line));box-shadow:inset 5px 0 0 color-mix(in srgb,var(--indigo) 78%,var(--red)),var(--shadow);display:grid;grid-gap:18px;gap:18px;position:relative}.lesson-editor-panel:before{background:color-mix(in srgb,var(--indigo) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--indigo) 28%,var(--line));border-radius:999px;color:var(--indigo);content:"Командный режим";font-size:11px;font-weight:900;letter-spacing:0;padding:5px 9px;position:absolute;right:18px;text-transform:uppercase;top:-12px}.lesson-editor-panel h2{align-items:center;display:flex;gap:8px}.lesson-editor-panel h3{margin:0}.lesson-editor-panel input,.lesson-editor-panel select,.lesson-editor-panel textarea{background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:10px}.lesson-editor-panel label{color:var(--muted);display:grid;font-weight:700;grid-gap:8px;gap:8px}.lesson-builder-topbar{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.lesson-methodology-grid h3{margin:0}.coverage-checklist,.grammar-point-audit-list,.source-ref-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.coverage-checklist li,.grammar-point-audit-list>div,.source-ref-list li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px}.coverage-checklist li{align-items:flex-start;display:grid;grid-gap:9px;gap:9px;grid-template-columns:auto minmax(0,1fr)}.coverage-checklist li>span{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;height:28px;justify-content:center;width:28px}.coverage-checklist li.covered>span{background:#e8f1e9;color:var(--green)}.coverage-checklist li.missing>span{background:#fff1ec;color:var(--red)}.coverage-checklist div,.grammar-point-audit-list>div,.source-ref-list li{display:grid;grid-gap:4px;gap:4px}.coverage-checklist small,.grammar-point-audit-list small,.grammar-point-audit-list span,.source-ref-list small{color:var(--muted);line-height:1.45}.source-ref-list a{color:var(--indigo)}.grammar-point-audit-list{max-height:360px;overflow:auto}.grammar-point-audit-list strong{color:var(--ink)}.lesson-builder-status-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.lesson-builder-count{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;min-height:32px;padding:6px 11px}.lesson-methodology-panel,.lesson-publication-panel,.lesson-quality-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px;padding:16px}.lesson-publication-panel,.lesson-quality-summary{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.lesson-publication-panel h3,.lesson-quality-summary h3{align-items:center;display:flex;gap:8px}.lesson-publication-panel p,.lesson-quality-summary p{color:var(--muted);margin:6px 0 0}.lesson-quality-summary>strong{align-items:center;background:color-mix(in srgb,var(--green) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:999px;color:var(--green);display:inline-flex;flex:0 0 auto;font-size:22px;min-height:54px;padding:10px 16px}.lesson-methodology-grid,.lesson-quality-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lesson-methodology-grid>article,.lesson-quality-group{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.lesson-quality-group header{align-items:center;display:flex;gap:10px;justify-content:space-between}.lesson-quality-group header span{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:900;padding:5px 9px}.coverage-checklist,.grammar-point-audit-list,.lesson-quality-group ul,.source-ref-list{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.coverage-checklist li,.lesson-quality-group li{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;padding:9px}.coverage-checklist li>span,.lesson-quality-group li svg{color:var(--gold);flex:0 0 auto;margin-top:2px}.coverage-checklist li.covered>span,.lesson-quality-group li.covered svg{color:var(--green)}.coverage-checklist small,.grammar-point-audit-list small,.lesson-quality-group small,.source-ref-list small{color:var(--muted);display:block;margin-top:3px}.grammar-point-audit-list>div,.source-ref-list li{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px}.grammar-point-audit-list>div{display:grid;grid-gap:4px;gap:4px}.grammar-point-audit-list span{color:var(--muted);font-size:12px;font-weight:800}.grammar-point-meta{display:flex;flex-wrap:wrap;gap:6px}.grammar-point-meta span{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:900;padding:4px 7px}.lesson-builder-shell{align-items:flex-start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(280px,.34fr)}.lesson-builder-main{display:grid;grid-gap:16px;gap:16px}.lesson-builder-block,.lesson-builder-preview-card,.lesson-task-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.lesson-builder-block{display:grid;grid-gap:14px;gap:14px;padding:16px}.lesson-builder-block-head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.lesson-builder-block-head>div:first-child{display:grid;grid-gap:6px;gap:6px}.lesson-builder-block-head h3{align-items:center;display:flex;gap:8px}.lesson-builder-block-head p,.lesson-builder-mini-preview p,.lesson-builder-preview-card p{color:var(--muted);margin:0}.lesson-builder-icon{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;color:var(--red);display:inline-flex;height:32px;justify-content:center;width:32px}.lesson-builder-block-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.lesson-builder-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-builder-grid.three{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(180px,1.2fr)}.lesson-builder-grid.four{grid-template-columns:repeat(4,minmax(130px,1fr))}.lesson-builder-item,.lesson-builder-list{display:grid;grid-gap:10px;gap:10px}.lesson-builder-item{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.lesson-builder-item-stacked{grid-template-columns:1fr}.lesson-builder-row-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.lesson-builder-index{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:900;height:30px;justify-content:center;width:30px}.lesson-builder-item-actions{display:flex;gap:6px}.lesson-builder-item-actions button,.lesson-editor-panel .icon-button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.lesson-builder-item-actions button:hover:not(:disabled),.lesson-editor-panel .icon-button:hover{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.lesson-builder-item-actions button:disabled{cursor:not-allowed;opacity:.45}.lesson-builder-dialogue-title{margin-bottom:2px}.lesson-builder-save{justify-self:start}.lesson-builder-preview{position:-webkit-sticky;position:sticky;top:92px}.lesson-builder-preview-card{display:grid;grid-gap:14px;gap:14px;padding:16px}.lesson-builder-preview-card dl{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.lesson-builder-preview-card dl>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:10px}.lesson-builder-preview-card dt{color:var(--muted);font-size:12px;font-weight:800}.lesson-builder-preview-card dd{font-size:22px;font-weight:900;margin:0}.lesson-builder-mini-preview{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-top:12px}.lesson-builder-mini-preview span[lang=ja]{color:var(--ink);display:block;font-weight:900}.lesson-builder-mini-preview small{display:block}.lesson-builder-vocab-preview{display:flex;flex-wrap:wrap;gap:8px}.lesson-builder-vocab-preview span{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;font-weight:800;padding:5px 9px}.lesson-task-builder{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.lesson-task-card{padding:16px}.editor-wide{grid-column:1/-1}.lesson-examples{display:grid;grid-gap:16px;gap:16px}.examples-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.lesson-examples-block>.lesson-content-grid{grid-template-columns:1fr}.example-list{align-content:start}.example-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.example-ladder{background:#fffaf1}.example-ladder-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.example-ladder-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:12px}.example-ladder-grid span{color:var(--indigo);font-size:12px;font-weight:900}.example-ladder-grid strong{color:var(--ink);font-size:18px;line-height:1.5}.example-ladder-grid em,.example-ladder-grid p,.example-ladder-grid small{color:var(--muted);line-height:1.45;margin:0}.example-ladder-grid em{font-size:12px;font-style:normal;font-weight:800}.example-card{display:grid;grid-gap:8px;gap:8px;padding:18px}.example-card strong{font-size:24px;line-height:1.45}.example-card span{color:var(--muted)}.compact-heading{gap:4px}.compact-heading h2{margin:0}.dialogue-list,.vocabulary-list{display:grid;grid-gap:8px;gap:8px}.vocabulary-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dialogue-card{align-content:start;background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;padding:16px}.dialogue-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.dialogue-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dialogue-title-row h3{display:grid;grid-gap:3px;gap:3px;margin:0}.dialogue-title-row ruby{color:var(--ink);font-size:21px}.dialogue-title-row small{color:var(--muted);font-size:13px}.dialogue-controls button,.dialogue-nav button,.speak-button{align-items:center;background:var(--indigo);border:1px solid var(--indigo);border-radius:999px;color:white;cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.dialogue-controls .speak-button{gap:8px;padding:0 14px;width:auto}.dialogue{display:grid;grid-gap:10px;gap:10px}.dialogue-row{align-items:flex-start;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:36px minmax(0,1fr);padding:12px}.speaker{align-items:center;background:var(--red);border-radius:999px;color:white;display:inline-flex;font-size:13px;font-weight:900;height:34px;justify-content:center;width:34px}.dialogue-row p{display:grid;grid-gap:4px;gap:4px;margin:0}.jp-line{color:var(--ink);font-size:22px;font-weight:900;line-height:1.45}.reading-line{color:var(--muted);font-size:13px;font-weight:700}.ru-line{color:var(--muted);line-height:1.5}.dialogue-nav{align-items:center;display:flex;gap:12px;justify-content:center}.dialogue-nav button{background:#f4efe6;border-color:var(--line);color:var(--ink);height:36px;width:36px}.dialogue-dots{align-items:center;display:flex;gap:6px}.dialogue-dots span{background:#d5cbbb;border-radius:999px;height:8px;width:8px}.dialogue-dots span.active{background:var(--red);width:20px}.dialogue-line{align-items:flex-start;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:34px 1fr;padding:12px}.dialogue-line strong{align-items:center;background:var(--indigo);border-radius:999px;color:white;display:inline-flex;height:34px;justify-content:center;width:34px}.dialogue-line p,.vocabulary-item small,.vocabulary-item span{margin:0}.dialogue-line span,.vocabulary-item small,.vocabulary-item span{color:var(--muted)}.dialogue-japanese{color:var(--ink);font-size:22px;font-weight:800}.vocabulary-item{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,253,250,.78);border:1px solid rgba(79,123,89,.22);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:4px 8px;gap:4px 8px;grid-template-columns:minmax(74px,auto) minmax(0,1fr);font:inherit;padding:7px 9px;text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;width:100%}.vocabulary-item.active,.vocabulary-item:hover{background:rgba(255,253,250,.96);border-color:rgba(196,58,47,.42);box-shadow:0 8px 18px rgba(47,35,27,.08)}.vocabulary-detail-close:focus-visible,.vocabulary-item:focus-visible,.vocabulary-kanji-link:focus-visible{outline:3px solid rgba(196,58,47,.28);outline-offset:3px}.vocabulary-item ruby{font-size:17px;font-weight:900}.vocabulary-item rt{color:var(--muted);font-size:9px;font-weight:700}.vocabulary-item span{font-size:13px;line-height:1.35}.vocabulary-item small{font-size:12px;grid-column:2;line-height:1.35}.vocabulary-detail-card{background:rgba(255,253,250,.9);border:1px solid rgba(79,123,89,.26);border-radius:8px;box-shadow:0 12px 26px rgba(47,35,27,.08);display:grid;grid-gap:14px;gap:14px;padding:14px}.vocabulary-detail-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.vocabulary-detail-head>div{display:grid;grid-gap:5px;gap:5px}.vocabulary-detail-word{color:var(--red);font-size:31px;line-height:1.15}.vocabulary-detail-word rt{color:var(--muted);font-size:12px}.vocabulary-detail-close{align-items:center;background:rgba(244,239,230,.88);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.vocabulary-detail-meta{display:grid;grid-gap:8px;gap:8px;margin:0}.vocabulary-detail-meta div{background:rgba(79,123,89,.08);border:1px solid rgba(79,123,89,.18);border-radius:8px;display:grid;grid-gap:3px;gap:3px;padding:9px 10px}.vocabulary-detail-meta dt{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.vocabulary-detail-meta dd{color:var(--ink);font-weight:800;line-height:1.45;margin:0}.vocabulary-kanji-section{display:grid;grid-gap:9px;gap:9px}.vocabulary-kanji-section>strong{align-items:center;color:var(--green);display:inline-flex;gap:8px;font-size:14px}.vocabulary-kanji-section p{color:var(--muted);font-size:13px;margin:0}.vocabulary-kanji-links{display:flex;flex-wrap:wrap;gap:8px}.vocabulary-kanji-link{align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;gap:8px;min-height:44px;padding:6px 10px;text-decoration:none}.vocabulary-kanji-link span{color:var(--red);font-size:24px;font-weight:900;line-height:1}.level-badge,.status-pill{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:6px 9px}.level-badge{background:#ece5d8;color:var(--indigo)}.status-pill{background:#ebe4d8}.status-published,.status-visible{background:rgba(79,123,89,.12);color:var(--green)}.status-draft,.status-review{background:rgba(185,131,46,.14);color:var(--gold)}.status-deleted,.status-hidden,.status-maintenance{background:rgba(183,59,45,.12);color:var(--red)}.status-scheduled{background:rgba(185,131,46,.14);color:var(--gold)}.system-list{display:grid;grid-gap:12px;gap:12px}.system-list div{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr auto;padding:12px}.content-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{color:inherit;display:block;overflow:hidden;text-decoration:none}.content-card:hover{border-color:rgba(183,59,45,.38)}.content-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.content-card div{padding:16px}.news-create-button{background:var(--red);border-color:var(--red);color:white;justify-content:center;width:46px}.news-create-button:hover{background:var(--red-strong);color:white}.news-detail-page{margin:0 auto;max-width:1120px}.news-detail-header{display:grid;grid-gap:10px;gap:10px;max-width:860px}.news-detail-header h1{font-size:clamp(38px,6vw,72px);line-height:1;margin:0}.news-detail-header p{color:var(--muted);font-size:18px;line-height:1.65;margin:0}.news-detail-cover{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);height:auto;max-height:520px;object-fit:cover;width:100%}.content-rich-body{display:grid;grid-gap:18px;gap:18px;line-height:1.75}.content-rich-body blockquote,.content-rich-body h2,.content-rich-body h3,.content-rich-body ol,.content-rich-body p,.content-rich-body ul{margin:0}.content-rich-body h2{font-size:32px;line-height:1.15}.content-rich-body h3{font-size:24px;line-height:1.2}.content-rich-body blockquote{border-left:4px solid var(--red);color:var(--muted);padding-left:16px}.content-rich-body img{border:1px solid var(--line);border-radius:8px;display:block;height:auto;max-width:100%}.maintenance-card{align-items:center;display:grid;grid-gap:18px;gap:18px;grid-template-columns:170px 1fr;padding:16px}.maintenance-art{align-items:center;background:#f0eadf;border-radius:8px;display:flex;justify-content:center;min-height:130px}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.topic-list{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.topic-tile{align-content:space-between;background:#f4efe6;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:112px;min-width:0;padding:14px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.topic-tile:hover{border-color:rgba(178,58,45,.42);box-shadow:0 12px 28px rgba(56,48,38,.08);transform:translateY(-1px)}.topic-tile strong{font-size:16px;grid-column:1/-1;line-height:1.22;overflow-wrap:anywhere}.topic-tile span{align-self:end;background:#fffaf1;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:12px;font-weight:900;justify-self:start;padding:5px 8px}.topic-tile em{align-self:end;color:var(--red);font-style:normal;font-weight:800;grid-column:1/-1;justify-self:end}.kanji-level-tabs{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.level-tab{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:14px}.level-tab.active{border-color:var(--red);box-shadow:var(--shadow)}.level-tab span{color:var(--muted);font-size:13px}.kanji-grid,.metric-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.kanji-card{position:relative;padding:20px;text-align:center}.kanji-card strong{display:block;font-size:60px}.kanji-grid.kanji-grid-dense{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));margin-top:18px}.kanji-grid-dense .kanji-card{padding:18px 12px 14px}.kanji-grid-dense .kanji-card strong{font-size:42px}.kanji-trainer{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.kanji-dashboard-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.kanji-dashboard-card{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;padding:16px}.kanji-dashboard-card h3,.kanji-dashboard-card p{margin:0}.kanji-dashboard-card p{color:var(--muted);line-height:1.5}.kanji-progress-meter{background:#ebe2d3;border-radius:999px;height:12px;overflow:hidden}.kanji-progress-meter span{background:var(--green);display:block;height:100%;transition:width .16s ease}.kanji-progress-score{align-items:flex-end;display:flex;gap:12px;justify-content:space-between}.kanji-progress-score strong{font-size:38px;line-height:1}.kanji-next-review,.kanji-progress-score span{color:var(--muted);font-size:13px;font-weight:800}.kanji-stat-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.kanji-stat-grid div{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:auto 1fr auto;min-height:48px;padding:10px}.kanji-stat-grid span{color:var(--muted);font-size:12px;font-weight:800}.kanji-due-list{display:grid;grid-gap:8px;gap:8px}.kanji-due-list button{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:6px 10px;gap:6px 10px;grid-template-columns:auto 1fr;min-height:58px;padding:10px;text-align:left}.kanji-due-list button:hover{border-color:var(--red)}.kanji-due-list strong{font-size:30px;grid-row:span 2;line-height:1}.kanji-due-list span{font-weight:800}.kanji-due-list small,.kanji-review-status{color:var(--muted);font-size:12px;font-weight:800}.kanji-quiz-toolbar{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px}.kanji-quiz-toolbar h3,.kanji-quiz-toolbar p{margin:0}.kanji-theme-panel{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:18px}.kanji-theme-heading{align-items:flex-end;display:flex;gap:16px;justify-content:space-between}.kanji-search-panel{display:grid;grid-gap:8px;gap:8px;justify-items:end;min-width:min(100%,320px)}.kanji-search-field{align-items:center;background:#fffdf8;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:flex;gap:8px;min-height:42px;padding:0 12px;width:min(100%,320px)}.kanji-search-field input{background:transparent;border:0;color:var(--ink);font:inherit;min-width:0;outline:none;width:100%}.kanji-search-field svg{flex:0 0 auto}.kanji-search-help{position:relative}.kanji-search-help summary{align-items:center;cursor:help;display:flex;list-style:none;justify-content:center;width:-moz-fit-content;width:fit-content}.kanji-search-help summary::-webkit-details-marker{display:none}.kanji-search-help p{background:#fffdf8;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);color:var(--muted);font-size:12px;line-height:1.5;margin:8px 0 0;max-width:320px;padding:10px 12px;position:absolute;right:0;top:100%;z-index:2}.kanji-theme-heading h3,.kanji-theme-heading p{margin:0}.kanji-theme-heading p{color:var(--muted);line-height:1.5;margin-top:4px}.kanji-theme-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kanji-theme-card{align-content:start;background:#f7efe3;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;font:inherit;grid-gap:8px;gap:8px;min-height:96px;padding:14px;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.kanji-theme-card.active,.kanji-theme-card:focus-visible,.kanji-theme-card:hover{border-color:var(--red);box-shadow:0 0 0 3px rgba(183,59,45,.12);outline:none;transform:translateY(-1px)}.kanji-theme-card-all{background:#eef5e7;border-color:rgba(76,119,67,.28)}.kanji-theme-card-all.active{border-color:var(--green);box-shadow:0 0 0 3px rgba(76,119,67,.16)}.kanji-theme-card>span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.kanji-theme-card strong{font-size:18px;line-height:1.2}.kanji-theme-card p{color:var(--muted);font-size:13px;line-height:1.4;margin:0}.kanji-theme-preview{color:var(--red);display:block;font-size:23px;font-style:normal;font-weight:900;line-height:1.25;max-height:58px;overflow:hidden}.kanji-card-button{align-content:center;color:inherit;cursor:pointer;display:grid;font:inherit;grid-gap:8px;gap:8px;min-height:168px;overflow:hidden;scroll-margin:120px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.kanji-card-button.search-focused,.kanji-card-button:hover{border-color:var(--red);transform:translateY(-2px)}.kanji-card-button.search-focused{animation:kanji-search-pulse 1.2s ease-in-out 3;box-shadow:0 0 0 4px rgba(183,59,45,.12),var(--shadow)}.kanji-card-button p{color:var(--muted);font-size:13px;line-height:1.35;margin:0;overflow:hidden;text-wrap:balance}.kanji-card-button>span:not(.kanji-level-corner){color:var(--muted);display:block;font-size:12px;font-weight:900;line-height:1.35;min-height:16px;overflow:hidden;text-overflow:ellipsis}@keyframes kanji-search-pulse{0%,to{box-shadow:0 0 0 4px rgba(183,59,45,.1),var(--shadow)}50%{box-shadow:0 0 0 8px rgba(183,59,45,.2),var(--shadow)}}@media (prefers-reduced-motion:reduce){.kanji-card-button.search-focused{animation:none}}.kanji-level-corner{background:#f0eadf;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:900;line-height:1;padding:5px 7px;position:absolute;right:10px;top:10px}.kanji-level-corner-large{font-size:13px;right:22px;top:76px}.kanji-active-filter,.kanji-data-note{align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.kanji-active-filter-labels{display:flex;flex-wrap:wrap;gap:8px 12px}.kanji-active-filter-labels span{background:#f6efe4;border:1px solid rgba(112,90,64,.16);border-radius:999px;color:var(--ink);font-size:12px;font-weight:800;padding:6px 10px}.kanji-data-note{color:var(--muted);display:block}.kanji-quiz-card{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:20px}.kanji-quiz-card>strong{font-size:82px;line-height:1;text-align:center}.kanji-quiz-progress{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.correct-option{background:rgba(79,123,89,.12);border-color:var(--green);color:var(--green)}.incorrect-option{background:rgba(183,59,45,.12);border-color:var(--red);color:var(--red)}.answer-option:disabled{cursor:default}.kanji-result-card h3{font-size:54px;margin:0}.kanji-auto-next-note{color:var(--muted);font-size:13px;font-weight:800;margin:0}.kanji-wrong-list{display:grid;grid-gap:10px;gap:10px}.kanji-wrong-list h4{margin:0}.kanji-wrong-list div{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:60px 1fr;padding:10px}.kanji-wrong-list strong{font-size:38px;text-align:center}.kanji-wrong-list span{color:var(--muted)}.kanji-overlay{align-items:center;background:rgba(35,31,27,.68);display:grid;inset:0;justify-items:center;padding:24px;position:fixed;z-index:60}.kanji-anki-card{align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;max-height:calc(100vh - 48px);min-height:min(680px,calc(100vh - 48px));overflow-y:auto;padding:22px;position:relative;width:min(900px,calc(100vw - 48px))}.kanji-close-button{justify-self:end}.kanji-card-navigation{align-items:center;display:flex;gap:8px;justify-content:flex-start}.kanji-card-topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto auto;padding-bottom:14px;position:-webkit-sticky;position:sticky;top:0;z-index:4}.kanji-level-pill{background:#f0eadf;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:900;line-height:1;padding:14px 12px;white-space:nowrap}.kanji-card-nav-button{background:#fffaf1;flex:0 0 42px;height:42px;min-height:42px;min-width:0;padding:0;width:42px}.kanji-card-nav-button span{overflow:hidden;text-overflow:ellipsis}.kanji-card-nav-button:disabled{cursor:not-allowed;opacity:.42}.kanji-card-position{background:#f0eadf;border:1px solid var(--line);border-radius:999px;color:var(--muted);flex:0 0 auto;font-size:12px;font-weight:800;min-height:42px;line-height:1;padding:14px 12px;white-space:nowrap}.kanji-back,.kanji-front{align-content:center;display:grid;grid-gap:22px;gap:22px;justify-items:center;min-height:min(560px,calc(100vh - 150px));text-align:center}.kanji-back{align-content:start;min-height:0;text-align:left;width:100%}.kanji-back>.eyebrow{justify-self:center}.kanji-front strong{font-size:clamp(150px,28vw,280px);line-height:.9}.kanji-back-heading{align-items:center;display:grid;grid-gap:8px;gap:8px;justify-items:center;max-width:620px;text-align:center;width:100%}.kanji-back-heading h3,.kanji-back-heading p{margin:0}.kanji-back-heading h3{color:var(--ink);font-size:24px;line-height:1.2}.kanji-back-heading p{color:var(--muted);font-size:15px;font-weight:800;line-height:1.45}.kanji-back-character{color:var(--red);font-size:62px;font-weight:900;line-height:.95}.kanji-mnemonic-tier{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(170px,.72fr) minmax(240px,1fr);text-align:left;width:100%}.kanji-mnemonic-panel,.kanji-mnemonic-text,.kanji-symbol-panel{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:16px}.kanji-symbol-panel{align-content:center;justify-items:center;min-height:260px;text-align:center}.kanji-mnemonic-heading span,.kanji-mnemonic-text>span,.kanji-symbol-panel span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.kanji-mnemonic-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between}.kanji-mnemonic-heading em{color:#b33b31;font-size:12px;font-style:normal;font-weight:800;line-height:1.35;text-transform:none}.kanji-symbol-panel strong{font-size:clamp(132px,18vw,210px);line-height:.92}.kanji-stroke-button{align-items:center;aspect-ratio:1;background:rgba(255,252,246,.62);border:1px solid rgba(116,99,81,.16);border-radius:8px;cursor:pointer;display:inline-flex;justify-content:center;padding:10px;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:min(100%,218px)}.kanji-stroke-button:hover{background:rgba(255,252,246,.9);border-color:rgba(179,59,49,.32);transform:translateY(-1px)}.kanji-stroke-button:focus-visible{outline:3px solid rgba(179,59,49,.28);outline-offset:3px}.kanji-stroke-svg{display:block;height:100%;overflow:visible;width:100%}.kanji-stroke-drawing path,.kanji-stroke-ghost path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.5}.kanji-stroke-ghost path{opacity:.14;stroke:var(--ink)}.kanji-stroke-drawing path{animation:kanji-stroke-draw .58s cubic-bezier(.32,0,.2,1) forwards;opacity:0;stroke:var(--ink);stroke-dasharray:100;stroke-dashoffset:100}.kanji-stroke-fallback{color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(132px,18vw,210px);line-height:.92;opacity:.24}@keyframes kanji-stroke-draw{0%{opacity:0;stroke-dashoffset:100}6%{opacity:1}to{opacity:1;stroke-dashoffset:0}}@keyframes kanji-stroke-draw-replay{0%{opacity:0;stroke-dashoffset:100}6%{opacity:1}to{opacity:1;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.kanji-stroke-drawing path{animation:none;opacity:1;stroke-dashoffset:0}}.kanji-mnemonic-panel{align-content:flex-start;min-height:260px}.kanji-mnemonic-placeholder{align-items:center;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:206px;padding:18px;text-align:center}.kanji-mnemonic-placeholder p,.kanji-mnemonic-text p{line-height:1.55;margin:0}.kanji-detail-grid,.kanji-mnemonic-text{text-align:left;width:100%}.kanji-detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kanji-detail-grid>div{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:14px}.kanji-detail-grid span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.kanji-detail-grid p{margin:0}.kanji-reading-grid>div:first-child{grid-column:span 2}.kanji-radical-chip-list{display:flex;flex-wrap:wrap;gap:8px}.kanji-radical-chip-list button{background:#fffaf1;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font:inherit;font-size:18px;font-weight:800;min-height:38px;min-width:42px;padding:6px 12px}.kanji-radical-chip-list button:focus-visible,.kanji-radical-chip-list button:hover{border-color:var(--red);color:var(--red);outline:none}.kanji-example-list{display:grid;grid-gap:10px;gap:10px;text-align:left;width:100%}.kanji-example-list>span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.kanji-example-list>div{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kanji-combined-example-list>div{grid-template-columns:1fr}.kanji-combined-example{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:8px}.kanji-example-empty{background:#fffaf1;border:1px dashed var(--line);border-radius:8px;color:var(--muted);line-height:1.55;margin:0;padding:14px}.kanji-example-sound{align-items:center;background:#fffaf1;border:1px solid transparent;border-radius:8px;color:var(--ink);cursor:pointer;display:inline-flex;gap:10px;min-height:54px;padding:9px 12px;text-align:left;width:100%}.kanji-example-sound:focus-visible,.kanji-example-sound:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,73,54,.14);outline:none}.kanji-example-sound>span{display:grid;grid-gap:2px;gap:2px}.kanji-example-sound strong{font-size:18px;line-height:1.1}.kanji-example-sound em,.kanji-example-sound small{color:var(--muted);font-size:12px;font-style:normal;line-height:1.2}.kanji-sentence-example-list>div{grid-template-columns:1fr}.kanji-sentence-example-sound{align-items:flex-start;min-height:68px}.kanji-sentence-example-sound strong{font-size:15px;line-height:1.45}.kanji-sentence-example-sound em{font-size:13px;line-height:1.45}.kanji-mnemonic-image,.kanji-mnemonic-preview{border:1px solid var(--line);border-radius:8px;max-height:280px;max-width:min(100%,520px);object-fit:contain}.kanji-mnemonic-panel .kanji-mnemonic-image{background:#fffaf1;height:220px;justify-self:stretch;max-height:none;max-width:100%;width:100%}.kanji-radical-overlay{z-index:72}.kanji-radical-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;position:relative;width:min(720px,calc(100vw - 48px))}.kanji-radical-panel h3,.kanji-radical-panel p{margin:0}.kanji-radical-panel h3{font-size:48px;line-height:1}.kanji-radical-panel p{color:var(--muted);line-height:1.55}.kanji-radical-note{background:#fffaf1;border:1px dashed var(--line);border-radius:8px;padding:14px}.kanji-radical-results{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kanji-radical-results button{align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-gap:5px;gap:5px;grid-template-columns:52px 1fr auto;padding:10px;text-align:left}.kanji-radical-results button:focus-visible,.kanji-radical-results button:hover{border-color:var(--red);outline:none}.kanji-radical-results strong{font-size:34px;line-height:1;text-align:center}.kanji-radical-results span{color:var(--ink);font-size:14px;font-weight:800}.kanji-radical-results em{color:var(--red);font-size:12px;font-style:normal;font-weight:900}.kanji-edit-form{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;text-align:left;width:100%}.kanji-edit-heading,.kanji-edit-wide,.kanji-image-upload,.kanji-mnemonic-preview{grid-column:1/-1}.kanji-edit-heading{align-items:center;display:flex;justify-content:space-between}.kanji-edit-heading h4{margin:0}.kanji-edit-heading span{color:var(--muted);font-size:13px;font-weight:800}.kanji-edit-form label{color:var(--muted);display:grid;font-size:12px;font-weight:800;grid-gap:6px;gap:6px;text-transform:uppercase}.kanji-edit-form input,.kanji-edit-form textarea{background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:10px;resize:vertical;text-transform:none}.selection-speaker-button{align-items:center;background:var(--accent);border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:0 12px 30px rgba(41,32,24,.22);color:white;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;position:fixed;transform:translateX(-50%);width:36px;z-index:80}.selection-speaker-button:focus-visible,.selection-speaker-button:hover{background:#7f2f25;outline:2px solid rgba(168,73,54,.28);outline-offset:2px}.kanji-image-upload{align-items:center;background:white;border:1px dashed var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:flex;gap:10px;min-height:48px;padding:10px 12px}.kanji-image-upload input{margin-left:auto;min-height:auto;padding:0}.kanji-drawing-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px;position:relative;width:min(720px,calc(100vw - 48px))}.kanji-drawing-panel h3,.kanji-drawing-panel p{margin:0}.kanji-drawing-panel p{color:var(--muted);margin-top:6px}.kanji-drawing-canvas{background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(222,214,200,.75) 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),rgba(222,214,200,.75) 50%,transparent calc(50% + .5px)),white;border:1px solid var(--line);border-radius:8px;height:min(280px,48vh);touch-action:none;width:100%}.kanji-drawing-matches{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.kanji-drawing-matches button{background:#fffaf1;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:106px;padding:10px}.kanji-drawing-matches button:hover{border-color:var(--red)}.kanji-drawing-matches strong{font-size:42px;line-height:1}.kanji-drawing-matches span{color:var(--muted);font-size:12px;line-height:1.3}.games-page{--game-soft:#eef4ed;--game-warm:#fff6e4;--game-blue:#e9f0f5}.games-intro-panel h2,.games-intro-panel p{margin:0}.games-intro-panel p{color:var(--muted);margin-top:4px}.priority-games-header,.priority-games-hub{display:grid;grid-gap:18px;gap:18px}.priority-games-header{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto}.priority-games-header h2,.priority-games-header p{margin:0}.priority-games-header p{color:var(--muted);line-height:1.55;margin-top:6px;max-width:760px}.dojo-stats{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(92px,1fr))}.dojo-stats div{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-height:76px;padding:12px;text-align:center}.dojo-stats strong{font-size:28px;line-height:1}.dojo-stats span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;text-transform:uppercase}.priority-mode-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.priority-mode-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:7px;gap:7px;min-height:128px;padding:12px;text-align:left}.priority-mode-card svg{align-self:start}.priority-mode-card.active,.priority-mode-card:hover{border-color:var(--red);box-shadow:0 10px 30px rgba(36,32,26,.08);transform:translateY(-1px)}.priority-mode-card svg{color:var(--red)}.priority-mode-card strong{font-size:15px;line-height:1.25}.priority-mode-card span{color:var(--muted);font-size:12px;line-height:1.35}.dojo-lesson-picker{color:var(--muted);display:grid;font-size:12px;font-weight:900;grid-gap:7px;gap:7px;max-width:520px;text-transform:uppercase}.dojo-settings-row{display:flex;flex-wrap:wrap;gap:12px}.dojo-speed-picker{color:var(--muted);display:grid;font-size:12px;font-weight:900;grid-gap:7px;gap:7px;min-width:210px;text-transform:uppercase}.dojo-speed-picker select{min-height:42px;padding:9px 12px}.dojo-lesson-picker select,.dojo-speed-picker select{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);text-transform:none}.dojo-lesson-picker select{min-height:46px;padding:10px 12px}.dojo-progress-row{align-items:center;color:var(--muted);display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;font-size:13px;font-weight:800}.dojo-progress-track{background:#e5ded1;border-radius:999px;height:8px;overflow:hidden}.dojo-progress-track span{background:var(--green);display:block;height:100%;transition:width .25s ease}.dojo-question-card,.dojo-result-card{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:18px}.dojo-question-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dojo-question-head h3{font-size:clamp(22px,3vw,34px);line-height:1.15;margin:4px 0 0}.dojo-question-count{background:#f0eadf;border:1px solid var(--line);border-radius:999px;color:var(--ink);flex:0 0 auto;font-size:13px;font-weight:900;padding:8px 12px}.dojo-sentence,.dojo-target,.dojo-target-block{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;margin:0;padding:14px}.dojo-sentence{font-size:20px;line-height:1.55}.dojo-target{background:transparent;border:0;color:var(--red);font-size:clamp(42px,9vw,82px);font-weight:900;line-height:1;padding:0;text-align:center}.dojo-target-block{display:grid;grid-gap:6px;gap:6px;justify-items:center}.dojo-hint{display:grid;grid-gap:8px;gap:8px;justify-items:start}.dojo-hint p{background:var(--game-blue);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:700;line-height:1.45;margin:0;padding:12px}.dojo-choice-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.dojo-choice,.dojo-token{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;font-weight:800}.dojo-choice{line-height:1.4;min-height:68px;padding:14px;text-align:left}.dojo-choice:hover,.dojo-token:hover{border-color:var(--red)}.dojo-choice:disabled,.dojo-token:disabled{cursor:default}.dojo-order-task{display:grid;grid-gap:12px;gap:12px}.dojo-order-answer{align-items:center;background:var(--game-blue);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-weight:800;gap:8px;min-height:70px;padding:12px}.dojo-order-answer span,.dojo-token{padding:10px 12px}.dojo-order-answer span{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink)}.dojo-token-bank{display:flex;flex-wrap:wrap;gap:8px}.dojo-answer-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.dojo-answer-form input{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:48px;padding:12px}.dojo-result-card{align-items:center;justify-items:center;min-height:320px;overflow:hidden;position:relative;text-align:center}.dojo-result-card svg{color:var(--green)}.dojo-result-card h3{color:var(--red);font-size:clamp(54px,12vw,118px);line-height:.9;margin:0}.dojo-result-card p{color:var(--muted);line-height:1.5;margin:0;max-width:620px}.game-furigana{color:var(--muted);display:block;font-size:15px;font-weight:900;letter-spacing:0;line-height:1.35}.game-result-card{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;overflow:hidden;padding:16px;position:relative}.game-result-card>strong{font-size:22px}.dojo-result-card>:not(.victory-confetti),.game-result-card>:not(.victory-confetti){position:relative;z-index:1}.game-summary-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.game-summary-grid div{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px;text-align:center}.game-summary-grid strong{font-size:28px;line-height:1}.game-summary-grid span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.game-mistake-summary{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px;text-align:left;width:100%}.game-mistake-summary>strong{color:var(--red)}.game-mistake-summary p{color:var(--muted);line-height:1.45;margin:0}.game-mistake-summary p span{color:var(--ink);font-weight:900;margin-right:8px}.victory-confetti{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.victory-confetti span{animation:confetti-fall 1.9s ease-out forwards;border-radius:2px;height:12px;left:var(--confetti-left);opacity:0;position:absolute;top:-18px;transform:rotate(var(--confetti-rotate));width:7px}.victory-confetti span:nth-child(2n){height:8px;width:12px}.victory-confetti span{animation-delay:var(--confetti-delay)}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-18px) rotate(var(--confetti-rotate))}15%{opacity:1}to{opacity:0;transform:translateY(340px) rotate(calc(var(--confetti-rotate) + 220deg))}}.games-hub,.games-overview{display:grid;grid-gap:18px;gap:18px}.games-overview{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;padding:20px}.games-overview h2,.games-overview p{margin:0}.games-overview p{color:var(--muted);line-height:1.55;margin-top:6px;max-width:760px}.games-overview-stats{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(88px,1fr))}.games-overview-stats div{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-height:76px;padding:12px;text-align:center}.games-overview-stats strong{font-size:28px;line-height:1}.games-overview-stats span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.game-mode-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.game-mode-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:8px;gap:8px;min-height:132px;padding:14px;text-align:left}.game-mode-card.active,.game-mode-card:hover{border-color:var(--red);box-shadow:0 10px 30px rgba(36,32,26,.08);transform:translateY(-1px)}.game-mode-card svg{align-self:start;color:var(--red);justify-self:start}.game-mode-card strong{font-size:16px}.game-mode-card span{color:var(--muted);font-size:13px;line-height:1.35}.game-stage{min-height:620px}.game-layout{display:grid;grid-gap:18px;gap:18px}.game-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.game-header .inline-title{align-items:flex-start}.game-header .inline-title>svg{flex:0 0 auto;margin-top:5px}.game-header h2,.game-header p{margin:0}.game-header p{color:var(--muted);line-height:1.45;margin-top:3px}.game-score-pill{background:#f0eadf;border:1px solid var(--line);border-radius:999px;color:var(--ink);flex:0 0 auto;font-size:13px;font-weight:900;padding:8px 12px}.game-kanji-prompt,.game-word-prompt{align-items:center;background:var(--game-warm);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;justify-items:center;min-height:190px;padding:20px;text-align:center}.game-kanji-prompt.compact{min-height:134px}.game-kanji-prompt strong{font-size:clamp(82px,18vw,150px);line-height:.9}.game-kanji-prompt.compact strong{font-size:clamp(64px,12vw,108px)}.game-kanji-prompt span,.game-word-prompt span{color:var(--muted);font-weight:800;line-height:1.4}.game-word-prompt{grid-template-columns:auto minmax(0,auto) minmax(160px,1fr);justify-items:start;min-height:104px;text-align:left}.game-word-prompt strong{font-size:clamp(34px,8vw,72px);line-height:1}.game-options-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.component-chip,.game-choice,.memory-card,.odd-kanji-card,.word-chain-card,.world-zone{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer}.game-choice{min-height:68px;padding:14px;text-align:left}.component-chip:hover,.game-choice:hover,.memory-card:hover,.odd-kanji-card:hover,.word-chain-card:hover,.world-zone:hover{border-color:var(--red)}.component-chip:disabled,.game-choice:disabled,.memory-card:disabled,.odd-kanji-card:disabled,.word-chain-card:disabled{cursor:default}.game-actions{display:flex;flex-wrap:wrap;gap:10px}.compact-button{min-height:40px;padding:8px 12px}.game-input-label{color:var(--muted);display:grid;font-size:12px;font-weight:900;grid-gap:7px;gap:7px;text-transform:uppercase}.game-input-label input{background:white;color:var(--ink);min-height:48px;padding:12px;text-transform:none}.game-feedback,.game-input-label input{border:1px solid var(--line);border-radius:8px}.game-feedback{display:grid;grid-gap:6px;gap:6px;padding:12px 14px}.game-feedback strong{font-size:16px}.game-feedback p,.game-feedback small{margin:0}.game-feedback p{line-height:1.5}.game-feedback small{color:var(--muted);font-weight:800}.game-feedback.success{background:rgba(79,123,89,.12);border-color:var(--green);color:var(--green)}.game-feedback.danger{background:rgba(183,59,45,.12);border-color:var(--red);color:var(--red)}.game-mistake-summary.success{background:color-mix(in srgb,var(--green) 10%,var(--surface));border-color:color-mix(in srgb,var(--green) 32%,var(--line))}.game-mistake-summary.success>strong{color:var(--green)}.game-empty{align-content:center;color:var(--muted);display:grid;grid-gap:10px;gap:10px;justify-items:center;min-height:420px;text-align:center}.game-empty h3,.game-empty p{margin:0}.game-empty p{max-width:520px}.component-build-line{background:var(--game-blue);border:1px solid var(--line);border-radius:8px;font-size:26px;font-weight:900;min-height:70px;padding:18px;text-align:center}.component-chip-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.component-chip{font-size:30px;font-weight:900;min-height:68px}.component-chip.selected{background:rgba(57,64,111,.12);border-color:var(--indigo);color:var(--indigo)}.odd-kanji-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.odd-kanji-card{display:grid;grid-gap:8px;gap:8px;min-height:166px;padding:14px;text-align:center}.odd-kanji-card strong{font-size:68px;line-height:1}.odd-kanji-card small,.odd-kanji-card span{color:var(--muted);line-height:1.35}.memory-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.memory-card{align-items:center;background:#f0eadf;display:flex;font-size:24px;font-weight:900;justify-content:center;min-height:116px;padding:10px;text-align:center}.memory-card.visible{background:var(--surface-strong)}.memory-card.visible.kanji{font-size:58px}.rain-board{background:linear-gradient(180deg,rgba(255,250,241,.98),rgba(238,244,237,.95));border:1px solid var(--line);border-radius:8px;height:280px;overflow:hidden;position:relative}.rain-drop{animation:kanji-rain-drop 8s linear forwards;color:var(--red-strong);font-weight:900;left:50%;line-height:1;position:absolute;top:-90px;transform:translateX(-50%);text-align:center}.rain-drop strong{display:block;font-size:82px;line-height:.95}.rain-drop small{color:var(--muted);display:block;font-size:14px;line-height:1.2}.rain-status{background:rgba(255,253,250,.9);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:2px;gap:2px;padding:10px 12px;position:absolute;right:14px;top:14px}.rain-status strong{font-size:22px;line-height:1}.game-rule,.rain-status span{color:var(--muted);font-weight:800}@keyframes kanji-rain-drop{0%{top:-90px}to{top:230px}}.boss-arena{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:16px}.world-zone-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.world-zone{display:grid;grid-gap:6px;gap:6px;min-height:118px;padding:14px;text-align:left}.world-zone.active{border-color:var(--red);box-shadow:0 0 0 3px rgba(183,59,45,.1)}.world-zone span{color:var(--muted);font-size:13px;line-height:1.35}.world-zone em{color:var(--green);font-style:normal;font-weight:900;justify-self:end}.drawing-prompt{align-items:center;background:var(--game-blue);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:auto 1fr auto;padding:14px}.drawing-prompt em,.drawing-prompt span{color:var(--muted);font-style:normal;font-weight:800}.drawing-prompt strong{font-size:24px}.game-drawing-canvas{height:min(360px,52vh);max-width:720px;touch-action:none}.drawing-reference-card{align-items:center;background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;justify-items:center;padding:14px;text-align:center}.drawing-reference-card small,.drawing-reference-card span{color:var(--muted);font-weight:800}.drawing-reference-card strong{color:var(--red);font-size:clamp(64px,14vw,128px);line-height:.95}.drawing-check-note{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45;margin:-4px 0 0}.word-chain-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.word-chain-card{display:grid;grid-gap:5px;gap:5px;min-height:108px;padding:14px;text-align:left}.word-chain-card strong{font-size:30px;line-height:1.1}.word-chain-card small,.word-chain-card span{color:var(--muted);line-height:1.35}.auth-page{display:grid;min-height:calc(100vh - 76px);padding:28px 16px;place-items:center}.auth-panel{max-width:460px;padding:28px;width:100%}.auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:22px}.compact-form{margin-top:12px}.auth-form label{color:var(--muted);display:grid;font-weight:700;grid-gap:8px;gap:8px}.auth-form input,.editor-form input,.editor-form select,.editor-form textarea,.profile-fields input,.profile-fields select,.profile-fields textarea,.toolbar input,.toolbar select{background:white;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px 12px}.password-input-wrap{display:grid;position:relative}.password-input-wrap input{padding-right:48px}.password-visibility-toggle{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px}.password-visibility-toggle:hover{background:#f0eadf;color:var(--ink)}.profile-editor{display:grid;grid-gap:18px;gap:18px}.profile-editor-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:180px minmax(0,1fr)}.avatar-preview{align-items:center;display:grid;grid-gap:12px;gap:12px;justify-items:center}.avatar-preview img{border-radius:24px;border:1px solid var(--line)}.file-button input{display:none}.profile-fields{display:grid;grid-gap:12px;gap:12px}.profile-fields label{color:var(--muted);display:grid;font-weight:700;grid-gap:8px;gap:8px}.avatar-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(6,56px)}.avatar-option{background:transparent;border:2px solid transparent;border-radius:12px;cursor:pointer;height:60px;padding:0;width:60px}.avatar-option.active{border-color:var(--red)}.admin-entry-panel{align-items:center;display:flex;gap:18px;justify-content:space-between}.chat-panel{display:grid;grid-gap:16px;gap:16px}.chat-panel-compact{align-self:start}.chat-panel-compact .chat-messages{max-height:360px}.chat-panel-compact .chat-message{grid-template-columns:34px minmax(0,1fr) auto auto}.chat-panel-compact .chat-message img{height:34px;width:34px}.chat-panel-compact .chat-form{grid-template-columns:1fr 48px}.chat-panel-compact .primary-button{padding-inline:0}.chat-messages{max-height:520px;overflow:auto}.chat-message,.chat-messages{display:grid;grid-gap:12px;gap:12px}.chat-message{align-items:flex-start;background:#f4efe6;border:1px solid var(--line);border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;padding:12px}.chat-message img{border-radius:10px}.chat-message p{margin:6px 0}.chat-message time{color:var(--muted);font-size:12px}.chat-moderation-control{align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:5px;min-height:38px;padding:0 7px}.chat-moderation-control select{background:transparent;border:0;color:var(--ink);font-size:12px;font-weight:800;max-width:112px}.emoji-row{display:flex;flex-wrap:wrap;gap:8px}.chat-auth-warning{align-items:center;background:#fff4e4;border:1px solid #ead7b9;border-radius:8px;color:var(--ink);display:flex;flex-wrap:wrap;font-size:14px;gap:10px;justify-content:space-between;padding:10px 12px}.chat-auth-warning a{color:var(--red);font-weight:900;text-decoration:none}.emoji-button,.emoji-preview{align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:inline-flex;font-size:18px;justify-content:center;min-height:34px;min-width:34px;padding:4px 8px}.chat-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr auto}.chat-form input{border:1px solid var(--line);border-radius:8px;min-height:44px;padding:10px 12px}.discussion-layout{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr)}.discussion-form,.discussion-list,.discussion-replies,.discussion-thread,.discussion-topic-list,.generated-test-list{display:grid;grid-gap:14px;gap:14px}.discussion-form input,.discussion-form textarea{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.discussion-topic{background:#f4efe6;border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:5px;gap:5px;padding:12px;text-align:left}.discussion-topic p{color:var(--muted);display:-webkit-box;font-size:14px;line-height:1.45;margin:0;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.answer-option.active,.discussion-topic.active{border-color:var(--red)}.discussion-reply time,.discussion-topic span{color:var(--muted);font-size:12px}.discussion-thread-heading{align-items:flex-start;display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto}.discussion-summary{color:var(--muted);font-weight:800;margin:0}.discussion-body{display:grid;grid-gap:14px;gap:14px}.discussion-body p{line-height:1.7;margin:0;white-space:pre-wrap}.discussion-image-picker{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto auto}.discussion-image-grid,.discussion-image-preview-list{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.discussion-image-grid img,.discussion-image-preview{aspect-ratio:16/10;background:#f8f2e8;border:1px solid var(--line);border-radius:8px;overflow:hidden}.discussion-image-preview{position:relative}.discussion-image-grid img,.discussion-image-preview img{height:100%;object-fit:cover;width:100%}.discussion-image-preview .icon-button{background:white;min-height:32px;min-width:32px;position:absolute;right:8px;top:8px}.discussion-reply{align-items:flex-start;background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:38px 1fr auto;padding:12px}.discussion-reply img{border-radius:8px}.empty-state{color:var(--muted);display:grid;min-height:260px;place-content:center;text-align:center}.generated-test-card{display:grid;grid-gap:14px;gap:14px}.generated-test-card.answered{border-color:color-mix(in srgb,var(--indigo) 22%,var(--line))}.generated-test-card.is-correct{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.generated-test-card.is-incorrect{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.test-progress-panel{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(150px,auto) minmax(180px,1fr) auto;padding:14px}.test-progress-panel strong{display:block;font-size:22px;line-height:1.1;margin-top:2px}.test-progress-track{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;height:10px;overflow:hidden}.test-progress-track span{background:linear-gradient(90deg,var(--green),var(--gold));display:block;height:100%;transition:width .18s ease}.test-progress-stats{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;font-weight:900;gap:8px;justify-content:flex-end;text-transform:uppercase}.generated-test-more{justify-self:center;min-width:min(100%,280px)}.final-test-submit{align-items:center;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) auto}.final-test-submit .form-note{grid-column:1/-1}.hint-block{display:grid;grid-gap:10px;gap:10px;justify-items:start}.hint-block p{background:#fffaf1;border:1px solid var(--line);border-radius:8px;color:var(--ink);margin:0;padding:12px}.answer-options{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.answer-option{background:var(--surface-soft);cursor:pointer;font-weight:800;min-height:46px;padding:10px}.answer-feedback,.answer-option{border:1px solid var(--line);border-radius:8px}.answer-feedback{display:grid;grid-gap:10px;gap:10px;padding:12px}.answer-feedback strong{font-size:16px}.answer-feedback em,.answer-feedback p{margin:0}.answer-feedback p{line-height:1.55}.answer-feedback em{color:var(--muted);font-style:normal;font-weight:800}.answer-feedback.success{background:color-mix(in srgb,var(--green) 10%,var(--surface));border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.answer-feedback.danger{background:color-mix(in srgb,var(--red) 10%,var(--surface));border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.answer-feedback-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.answer-feedback-grid span{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-width:0;padding:9px}.answer-feedback-grid b{color:var(--muted);font-size:11px;text-transform:uppercase}.test-next-steps{background:color-mix(in srgb,var(--indigo) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--indigo) 28%,var(--line));border-radius:8px;display:grid;grid-gap:5px;gap:5px;grid-column:1/-1;padding:12px}.test-next-steps p{color:var(--muted);line-height:1.5;margin:0}.task-sentence,.task-target{background:#fffaf1;border:1px solid var(--line);border-radius:8px;font-size:20px;font-weight:800;margin:0;padding:12px}.task-target{font-size:36px;letter-spacing:0}.inline-answer-form,.order-task{display:grid;grid-gap:10px;gap:10px}.order-answer{align-items:center;background:white;border:1px dashed var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:10px}.order-answer span{background:#f0eadf;border-radius:8px;font-weight:800;padding:8px 10px}.inline-answer-form{grid-template-columns:minmax(0,1fr) auto}.inline-answer-form input{border:1px solid var(--line);border-radius:8px;min-height:44px;padding:10px 12px}.reading-level-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.reading-level-card{align-content:center;background:white;border:1px solid var(--line);border-radius:8px;color:inherit;display:grid;grid-gap:4px;gap:4px;min-height:76px;overflow:hidden;padding:12px 14px;position:relative;text-decoration:none}.reading-level-card strong{font-size:24px;line-height:1.2}.reading-level-card p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}.reading-level-card>span:last-of-type{color:var(--muted);font-size:13px;font-weight:900}.reading-level-card.active{border-color:var(--red);box-shadow:0 16px 32px rgba(183,59,45,.12)}.reading-level-card.locked{cursor:not-allowed}.reading-card.locked>:not(.development-overlay),.reading-level-card.locked>:not(.development-overlay){filter:blur(3px);opacity:.48;transform:scale(.99)}.development-overlay{align-items:center;background:rgba(255,250,241,.82);border:1px solid rgba(183,59,45,.22);border-radius:8px;color:var(--red);display:flex;font-style:normal;font-weight:1000;inset:14px;justify-content:center;letter-spacing:0;position:absolute;text-align:center;text-transform:uppercase;z-index:1}.reading-level-section{display:grid;grid-gap:18px;gap:18px}.reading-library{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.reading-card{color:inherit;display:grid;grid-gap:12px;gap:12px;min-height:220px;overflow:hidden;position:relative;text-decoration:none}.reading-card-cover{align-content:start;display:grid;grid-gap:10px;gap:10px}.reading-card-title-en{margin:0}.reading-card-title-ja{color:var(--muted);font-size:16px;font-weight:900;line-height:1.45;margin:0}.reading-card.locked{cursor:not-allowed}.reading-card-meta,.reading-genre-strip,.reading-meta-row{display:flex;flex-wrap:wrap;gap:8px}.reading-card-meta span,.reading-genre-strip a,.reading-meta-row span{background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:900;padding:6px 9px}.bookmark-summary{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.bookmark-summary div{display:grid;grid-gap:4px;gap:4px}.bookmark-summary strong{font-size:42px;line-height:1}.bookmark-card,.bookmark-grid{display:grid;grid-gap:14px;gap:14px}.bookmark-card{color:inherit;text-decoration:none}.bookmark-card:hover{transform:translateY(-1px)}.bookmark-card-action,.bookmark-card-heading,.bookmark-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bookmark-card-heading{justify-content:space-between}.bookmark-card-heading>span:last-child,.bookmark-card-meta span{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;gap:5px;padding:6px 9px}.bookmark-card h2{margin:0 0 6px}.bookmark-card p{color:var(--muted);margin:0}.bookmark-card-action{color:var(--red)}.reading-genre-strip a.active{background:var(--ink);border-color:var(--ink);color:white}.reading-genre-strip a span{opacity:.72}.reading-workspace{align-items:flex-start;--reading-furigana-scale:1;--reading-line-height:2.05;--reading-scale:1;--reading-translation-line-height:1.48;--reading-translation-scale:1;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.reading-sidebar{display:grid;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:96px}.reading-detail-heading,.reading-text-panel{display:grid;grid-gap:18px;gap:18px}.reading-detail-heading{align-items:flex-start;grid-template-columns:minmax(0,1fr) auto}.reading-detail-title-ja{color:var(--muted);font-size:18px;font-weight:900;margin:6px 0 0}.reading-view-toggle{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:inline-grid;gap:4px;grid-template-columns:repeat(2,minmax(0,auto));justify-self:start;padding:4px}.reading-view-toggle button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:900;min-height:38px;padding:8px 12px}.reading-view-toggle button.active{background:white;color:var(--ink);box-shadow:0 8px 18px rgba(48,39,28,.08)}.reading-controls-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between}.reading-settings-panel{background:#f4efe6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;min-width:min(100%,440px);padding:10px}.reading-settings-heading,.reading-size-label{align-items:center;display:flex;gap:12px;justify-content:space-between}.reading-settings-heading strong{color:var(--muted);font-size:12px;letter-spacing:0;text-transform:uppercase}.reading-settings-heading span,.reading-size-label output{color:var(--red);font-weight:900}.reading-mode-selector{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.reading-mode-button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:900;min-height:34px;padding:7px 10px}.reading-mode-button.active{background:white;box-shadow:0 8px 18px rgba(48,39,28,.08);color:var(--ink)}.reading-size-control{color:var(--muted);display:grid;font-size:13px;font-weight:900;grid-gap:6px;gap:6px}.reading-size-control input[type=range]{accent-color:var(--red);cursor:pointer;width:100%}.reading-size-slider-row{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto minmax(0,1fr) auto}.reading-size-slider-row button{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.reading-size-slider-row button:hover:not(:disabled){border-color:rgba(183,59,45,.34);color:var(--red)}.reading-size-slider-row button:disabled{cursor:not-allowed;opacity:.48}.reading-bilingual-panel{align-items:flex-start;display:grid;grid-gap:18px;gap:18px}.reading-bilingual-panel.parallel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reading-language-column{align-content:flex-start;background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:18px}.reading-language-column h2{color:var(--muted);font-size:13px;margin:0;text-transform:uppercase}.reading-text{align-content:flex-start;display:grid;grid-gap:18px;gap:18px}.reading-text p{font-size:calc(28px * var(--reading-scale));line-height:var(--reading-line-height);margin:0}.reading-token{background:transparent;border:0;border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;padding:2px 4px}.reading-token.active,.reading-token.linked,.reading-token:hover{background:#f0eadf}.reading-token.saved{box-shadow:inset 0 -.35em 0 rgba(79,123,89,.18)}.reading-token rt{color:var(--muted);font-size:calc(11px * var(--reading-furigana-scale))}.reading-english-text{align-content:flex-start;display:grid;grid-gap:10px;gap:10px}.reading-english-text p{color:var(--ink);font-size:calc(18px * var(--reading-translation-scale));line-height:var(--reading-translation-line-height);margin:0}.translation-token{background:transparent;border:0;border-radius:8px;color:inherit;cursor:pointer;display:inline-grid;font:inherit;gap:2px;line-height:1.25;min-height:42px;padding:2px 4px;text-align:left;vertical-align:top}.translation-token small{color:var(--muted);font-size:11px;line-height:1.2}.translation-token.active,.translation-token.linked,.translation-token:hover{background:#f0eadf}.reading-token.linked,.translation-token.linked{box-shadow:inset 0 -.4em 0 rgba(183,59,45,.18)}.reading-mode-study .reading-language-column{background:#fffdf7}.reading-mode-print .reading-language-column{background:white;box-shadow:none}.reading-mode-print .reading-token,.reading-mode-print .translation-token{border-radius:4px}.reading-locked-detail{display:grid;grid-gap:14px;gap:14px;max-width:860px}.reading-locked-preview{border:1px solid var(--line);border-radius:8px;min-height:220px;overflow:hidden;padding:24px;position:relative}.reading-locked-preview p{filter:blur(5px);font-size:26px;line-height:2;margin:0;opacity:.48;white-space:pre-line}.reading-locked-preview strong{align-items:center;background:rgba(255,250,241,.84);border:1px solid rgba(183,59,45,.22);border-radius:8px;color:var(--red);display:flex;font-size:20px;inset:18px;justify-content:center;position:absolute;text-transform:uppercase}.selected-word{display:block;font-size:42px;line-height:1.2}.note-list{color:var(--muted);display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:20px}.answer-result{border-radius:8px;margin:0;padding:12px}.answer-result.correct{background:rgba(79,123,89,.12);color:var(--green)}.answer-result.incorrect{background:rgba(183,59,45,.12);color:var(--red)}.billing-card ul{color:var(--muted);line-height:1.7;padding-left:20px}.billing-action{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.print-page{background:white;color:#111;min-height:100vh;padding:24px}.print-toolbar{align-items:center;display:flex;justify-content:space-between;margin:0 auto 24px;max-width:1100px}.print-selector-panel{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;margin:0 auto 24px;max-width:1100px;padding:16px}.print-selector-panel h2,.print-selector-panel p{margin:0}.print-selector-panel p{color:var(--muted)}.print-kanji-picker{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr));max-height:360px;overflow:auto}.print-kanji-chip{background:#fffaf1;border:1px solid var(--line);border-radius:8px;color:inherit;cursor:pointer;display:grid;grid-gap:4px;gap:4px;min-height:104px;padding:8px;position:relative;text-align:center}.print-kanji-chip.selected{border-color:var(--green)}.print-kanji-chip>span{align-items:center;background:white;border:1px solid var(--line);border-radius:999px;display:flex;font-size:12px;font-weight:900;height:22px;justify-content:center;position:absolute;right:6px;top:6px;width:22px}.print-kanji-chip strong{font-size:38px;line-height:1}.print-kanji-chip small{color:var(--muted);font-size:11px;line-height:1.25}.worksheet-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;max-width:1100px}.worksheet-card{border:2px solid #222;page-break-inside:avoid;break-inside:avoid;padding:16px}.worksheet-card strong{display:block;font-size:72px;text-align:center}.practice-grid{display:grid;grid-template-columns:repeat(6,1fr)}.practice-grid span{align-items:center;aspect-ratio:1/1;border:1px solid #888;display:flex;font-size:32px;justify-content:center}@media print{.no-print,.site-header{display:none!important}main{min-height:0}.print-page{padding:0}.worksheet-grid{grid-template-columns:repeat(2,1fr)}}.editor-form{display:grid;grid-gap:14px;gap:14px}.editor-form .form-field,.editor-form label{color:var(--muted);display:grid;font-weight:700;grid-gap:8px;gap:8px}.topic-text-manager{background:#fffaf1;border:1px solid var(--line);border-radius:8px;padding:16px}.topic-text-manager h3{margin:0}.topic-text-manager .form-note{margin:6px 0 0}.section-topic-texts{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;padding-top:14px}.section-topic-list{display:grid;grid-gap:14px;gap:14px}.section-topic-texts summary{cursor:pointer;font-weight:800}.section-topic-texts summary span{color:var(--muted);display:block;font-size:13px;font-weight:600;margin-top:4px}.section-topic-texts[open] summary{margin-bottom:12px}.editor-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.cover-picker{align-items:stretch;display:grid;grid-gap:14px;gap:14px;grid-template-columns:180px minmax(0,1fr)}.cover-input-row{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.cover-placeholder,.cover-preview{aspect-ratio:16/10;border:1px solid var(--line);border-radius:8px;width:100%}.cover-preview{background:#fffaf1;object-fit:cover}.cover-placeholder{align-items:center;background:#f8f3ea;color:var(--muted);display:grid;font-size:13px;font-weight:800;grid-gap:8px;gap:8px;justify-items:center;padding:16px;text-align:center}.cover-picker-fields{align-content:start;display:grid;grid-gap:10px;gap:10px}.cover-picker-fields .secondary-button{justify-self:start}.reading-format-note{background:#fffaf1;border:1px solid var(--line);border-radius:8px;padding:12px}.reading-format-note summary{align-items:center;color:var(--indigo);cursor:pointer;display:inline-flex;font-weight:900;gap:8px}.field-hint,.reading-format-note p{color:var(--muted);font-size:13px;line-height:1.5}.field-hint code,.reading-format-note code{background:#f0eadf;border-radius:5px;color:var(--ink);font-size:.95em;padding:2px 5px}.field-hint{display:block;margin-top:6px}.modal-backdrop{align-items:center;background:rgba(31,26,21,.54);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:90}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 80px rgba(31,26,21,.28);max-height:min(860px,calc(100vh - 48px));overflow:auto;padding:22px;width:min(980px,100%)}.reading-manual-modal{display:grid;grid-gap:16px;gap:16px}.rich-editor{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.rich-editor-toolbar{background:#f4efe6;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px;padding:8px}.rich-editor-toolbar button{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.rich-editor-toolbar button.is-active,.rich-editor-toolbar button:hover{border-color:var(--red);color:var(--red)}.rich-editor-toolbar button:disabled,.rich-editor-toolbar input:disabled,.rich-editor-toolbar select:disabled{cursor:not-allowed;opacity:.45}.rich-editor-toolbar button.rich-editor-swatch{border-color:rgba(31,41,55,.2);border-radius:999px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8);width:30px}.rich-editor-toolbar button.rich-editor-highlight-swatch{border-radius:8px}.rich-editor-control,.rich-editor-select{align-items:center;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;gap:6px;height:38px;padding:0 8px}.rich-editor-control input{background:transparent;border:0;cursor:pointer;height:24px;padding:0;width:28px}.rich-editor-select select{background:transparent;border:0;color:inherit;font:inherit;font-size:13px;font-weight:700;outline:0}.rich-editor-file-input{display:none}.rich-editor-surface{min-height:320px;outline:0;padding:16px}.rich-editor-surface .ProseMirror{min-height:288px;outline:0}.rich-editor-surface .ProseMirror p{margin:0 0 12px}.rich-editor-surface .ProseMirror>:last-child{margin-bottom:0}.rich-editor-surface .ProseMirror p.is-editor-empty:first-child:before{color:var(--muted);content:"Текст новости";float:left;height:0;pointer-events:none}.rich-editor-surface blockquote{border-left:3px solid var(--red);color:var(--muted);margin:14px 0;padding-left:14px}.rich-editor-surface table{border-collapse:collapse;margin:14px 0;table-layout:fixed;width:100%}.rich-editor-surface td,.rich-editor-surface th{border:1px solid var(--line);min-width:90px;padding:8px;vertical-align:top}.rich-editor-surface th{background:#f4efe6;font-weight:800}.rich-editor-surface img{border:1px solid var(--line);border-radius:8px;display:block;height:auto;margin:12px 0;max-width:100%}.rich-editor-status{border-top:1px solid var(--line);color:var(--muted);font-size:13px;margin:0;padding:10px 14px}.checkbox-row{align-items:center;display:flex!important;gap:10px}.form-error{color:var(--red);margin:0}.dev-link,.form-note{color:var(--muted);margin:0}.dev-link{color:var(--red);font-weight:800;overflow-wrap:anywhere}.auth-divider{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:800;gap:10px;margin:18px 0 8px;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:var(--line);content:"";flex:1 1;height:1px}.oauth-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.oauth-stack{display:grid;grid-gap:10px;gap:10px}.auth-switch{color:var(--muted);margin:18px 0 0}.auth-switch a,.inline-auth-link{color:var(--red);font-weight:800}.inline-auth-link{font-size:.92rem;justify-self:start;margin-top:-6px}.admin-shell{display:grid;grid-gap:24px;gap:24px;grid-template-columns:220px minmax(0,1fr);margin:0 auto;max-width:1220px;padding:28px clamp(16px,4vw,48px) 56px}.admin-sidebar{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;position:-webkit-sticky;position:sticky;top:96px}.admin-sidebar nav{display:grid;grid-gap:6px;gap:6px;margin-top:12px}.admin-sidebar a{align-items:center;border-radius:8px;color:var(--muted);display:flex;gap:8px;padding:10px}.admin-sidebar a:hover{background:#f0eadf;color:var(--ink)}.admin-content{display:grid;grid-gap:20px;gap:20px}.metric-card{padding:18px}.metric-card strong{display:block;font-size:34px}.toolbar{background:var(--surface);gap:12px;padding:12px}.search-field,.toolbar{border:1px solid var(--line);border-radius:8px}.search-field{background:white;flex:1 1;gap:8px;padding:0 10px}.search-field input{border:0;flex:1 1;outline:0}.admin-table{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.admin-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:2fr .8fr .8fr .8fr;padding:14px 16px}.news-admin-row{grid-template-columns:2fr .7fr .8fr .8fr .6fr}.content-admin-row{align-items:center;grid-template-columns:minmax(220px,2fr) .8fr .75fr .75fr auto}.content-admin-row.with-stats{grid-template-columns:minmax(220px,2fr) .8fr .75fr .75fr .55fr auto}.text-admin-row{align-items:center;grid-template-columns:minmax(240px,2fr) .45fr .7fr .7fr auto}.content-admin-title{display:grid;grid-gap:4px;gap:4px}.content-admin-title small{color:var(--muted);font-size:12px}.content-admin-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.admin-edit-panel{display:grid;grid-gap:16px;gap:16px}.discussion-admin-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)}.admin-row+.admin-row{border-top:1px solid var(--line)}.admin-row-head{background:#f0eadf;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.users-role-row{align-items:center;grid-template-columns:1.2fr 1.4fr .7fr 1.3fr 1fr auto}.admin-user-cell{align-items:center;display:flex;gap:10px}.admin-user-cell img{border-radius:8px}.admin-user-cell small,.users-role-row small{color:var(--muted);display:block;font-size:12px}.status-ok{color:var(--green)!important}.status-warn{color:var(--red)!important}.role-toggle-list{display:flex;flex-wrap:wrap;gap:8px}.role-toggle-list label{align-items:center;background:#f4efe6;border:1px solid var(--line);border-radius:999px;display:flex;gap:6px;padding:6px 9px}.chat-ban-cell{display:grid;grid-gap:6px;gap:6px}.chat-ban-cell .secondary-button{justify-self:start}.availability-editor{display:grid;grid-gap:10px;gap:10px;justify-items:end}.availability-editor.compact{justify-items:start}.availability-editor-panel{background:#fffaf1;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;max-width:520px;padding:14px;width:min(520px,100%)}.availability-editor-panel label{color:var(--muted);display:grid;font-weight:700;grid-gap:6px;gap:6px}.availability-editor-panel input,.availability-editor-panel select,.availability-editor-panel textarea{background:white;border:1px solid var(--line);border-radius:8px;min-height:40px;padding:9px 11px}.report-log-stack{display:grid;grid-gap:16px;gap:16px}.admin-section-block{display:grid;grid-gap:14px;gap:14px}.compact-info-list{display:flex;flex-wrap:wrap;gap:10px}.compact-info-list span{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px;font-weight:800;padding:8px 11px}.report-log-metrics .metric-card strong{font-size:28px}.report-log-toolbar{align-items:center;display:flex;flex-wrap:wrap}.report-log-row{align-items:flex-start;grid-template-columns:minmax(260px,1.7fr) minmax(160px,.9fr) minmax(180px,.9fr) minmax(190px,1fr) auto}.security-log-row{align-items:flex-start;grid-template-columns:minmax(260px,1.35fr) minmax(170px,.8fr) minmax(190px,.85fr) minmax(180px,.85fr) minmax(220px,1fr)}.report-log-cell,.report-log-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.report-log-cell small,.report-log-main time{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.report-log-cell strong{overflow-wrap:anywhere}.report-reason{color:var(--ink);font:inherit;line-height:1.55;margin:4px 0 0;max-height:180px;padding:10px}.metadata-preview,.report-reason{background:#fbf8f2;border:1px solid var(--line);border-radius:8px;overflow:auto;white-space:pre-wrap}.metadata-preview{color:var(--muted);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;margin:0;max-height:150px;padding:9px}.security-type-strip{display:flex;flex-wrap:wrap;gap:8px}.security-type-strip span{background:#f8f2e8;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:800;padding:7px 10px}.security-archive-tabs{background:#f0eadf;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px}.security-archive-tabs button{background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);cursor:pointer;font-weight:900;min-height:40px;padding:8px 12px}.security-archive-tabs button.active{background:white;border-color:var(--line);box-shadow:var(--shadow);color:var(--ink)}.security-actions-panel,.security-filter-panel{background:#fbf8f2;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.security-filter-grid{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(120px,.7fr)) auto}.security-actions-panel label,.security-filter-grid label{color:var(--muted);display:grid;font-size:12px;font-weight:800;grid-gap:6px;gap:6px}.security-actions-panel input,.security-actions-panel select,.security-filter-grid input,.security-filter-grid select{background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:40px;padding:8px 10px}.security-actions-panel{align-items:end;grid-template-columns:auto minmax(180px,1fr) auto auto}.security-actions-panel small{color:var(--muted)}.toggle-line{align-items:center;display:flex!important;gap:8px!important}.toggle-line input{min-height:auto;width:auto}.danger-button{border-color:rgba(183,59,45,.28);color:var(--red)}.status-pill{border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:800;padding:4px 8px}.status-open{background:#fff6df;color:#8a5a00}.status-reviewing{background:#e8f0ff;color:#2f528f}.status-resolved{background:#e8f5eb;color:var(--green)}.status-rejected{background:#fdebea;color:var(--red)}.status-archived{background:#ece5d8;color:var(--muted)}.security-severity-critical{background:#fdebea;color:var(--red)}.security-severity-error{background:#fff0e8;color:#9a4a1c}.security-severity-warning{background:#fff6df;color:#8a5a00}.security-severity-info{background:#e8f5eb;color:var(--green)}.security-severity-debug{background:#e8f0ff;color:#2f528f}.currency-rate-grid,.stats-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.currency-rate-card,.stats-grid article{background:#f8f2e8;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:16px}.currency-rate-card span,.stats-grid span{color:var(--muted);font-size:13px;font-weight:800}.currency-rate-card strong,.stats-grid strong{font-size:25px}.study-overview-panel,.today-study-panel{display:grid;grid-gap:20px;gap:20px}.study-overview-grid{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}.study-overview-score{align-items:center;background:radial-gradient(circle at 12% 16%,rgba(189,59,48,.08),transparent 210px),#f8f2e8;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:18px;gap:18px;grid-template-columns:auto minmax(0,1fr);padding:18px}.study-overview-score h3,.today-checklist h3{font-size:20px;margin:0 0 8px}.study-overview-ring{align-items:center;background:radial-gradient(circle,var(--surface) 58%,transparent 59%),conic-gradient(var(--green) var(--score,0),rgba(126,112,94,.2) 0);border-radius:999px;display:inline-flex;height:118px;justify-content:center;width:118px}.study-overview-ring strong{font-size:30px}.study-domain-list{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.study-domain-card{background:#fffdfa;border:1px solid var(--line);border-radius:8px;color:inherit;display:grid;grid-gap:8px;gap:8px;padding:13px 14px;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.study-domain-card:hover{border-color:rgba(189,59,48,.32);box-shadow:0 14px 28px rgba(73,55,32,.09);transform:translateY(-1px)}.study-domain-card div{align-items:center;display:flex;justify-content:space-between}.study-domain-card strong{font-size:15px}.study-domain-card small,.study-domain-card span{color:var(--muted);font-size:13px;font-weight:800}.study-domain-card span{align-items:center;display:inline-flex;gap:5px}.study-domain-card i{background:#ebe4d8;border-radius:999px;display:block;height:8px;overflow:hidden;position:relative}.study-domain-card i:before{background:var(--green);border-radius:inherit;content:"";inset:0 auto 0 0;position:absolute;width:var(--meter-width,0)}.study-domain-card.status-strong i:before{background:linear-gradient(90deg,var(--green),#6f9a55)}.study-domain-card.status-steady i:before{background:linear-gradient(90deg,var(--gold),var(--green))}.study-domain-card.status-started i:before{background:var(--gold)}.today-study-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.today-study-grid article{background:#f8f2e8;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:16px}.today-study-grid svg{color:var(--green)}.today-study-grid span{color:var(--muted);font-size:13px;font-weight:800}.today-study-grid strong{font-size:24px}.today-study-detail{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr)}.today-checklist{background:#fffdfa;padding:16px}.today-checklist,.today-checklist div{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px}.today-checklist div{align-items:center;color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.today-checklist div.done{background:#edf5e7;border-color:rgba(79,123,67,.28);color:var(--green)}.today-checklist span,.today-checklist strong{font-size:13px;font-weight:900}.currency-widget{display:grid;grid-gap:12px;gap:12px}.compact-currency-card{background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 42px rgba(73,55,32,.075);justify-self:stretch;padding:16px}.currency-widget-body,.currency-widget-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.currency-widget-heading h2{font-size:20px;margin:2px 0 0}.currency-picker{display:flex;flex-wrap:wrap;gap:6px}.currency-chip{background:#f8f2e8;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:900;min-height:28px;padding:5px 9px}.currency-chip.active{background:var(--ink);border-color:var(--ink);color:white}.currency-rate-card{align-items:center;gap:5px;grid-template-columns:auto auto minmax(0,1fr);padding:10px 12px}.currency-rate-card strong{font-size:16px;white-space:nowrap}.currency-mini-chart{color:var(--green);flex:0 0 210px;height:44px}.currency-mini-chart path{fill:none;stroke:rgba(126,112,94,.24);stroke-width:1.5}.currency-mini-chart polyline{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.currency-mini-chart circle{fill:#fffdf8;stroke:currentColor;stroke-width:2}.admin-status-panel{align-items:flex-start;display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto minmax(0,1fr)}.admin-status-panel>svg{color:var(--green)}.admin-status-panel h2{margin:2px 0 6px}.admin-status-panel p{color:var(--muted);margin:0 0 12px}.admin-status-panel a{align-items:center;display:inline-flex;font-weight:900;gap:6px}.compact-field{color:var(--muted);display:grid;font-size:13px;font-weight:800;grid-gap:7px;gap:7px;margin:12px 0}.compact-field input,.compact-field textarea{background:#fffdfa;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:11px 12px}.compact-level-strip a.active{background:var(--ink);color:white}.compact-level-strip a span{color:var(--muted);font-size:12px;font-weight:900}.compact-level-strip a.active span{color:rgba(255,255,255,.72)}.bug-report{bottom:18px;position:fixed;right:18px;z-index:30}.bug-report-button{align-items:center;background:var(--red);border:0;border-radius:999px;box-shadow:var(--shadow);color:white;cursor:pointer;display:inline-flex;font-weight:900;gap:8px;padding:13px 16px}.bug-report-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;max-width:min(360px,calc(100vw - 36px));padding:16px}.bug-report-panel .inline-title{justify-content:space-between}.bug-report-panel textarea{border:1px solid var(--line);border-radius:8px;padding:12px;resize:vertical}.bug-report-contact{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:10px 12px}.admin-chat-controls{display:grid;grid-gap:18px;gap:18px}.chat-admin-row{align-items:center;grid-template-columns:1fr 1fr .8fr auto}@media (max-width:1180px){.topic-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){body,html{overflow-x:hidden}.site-header{grid-template-columns:1fr}.header-actions,.site-nav{justify-content:flex-start;overflow-x:auto}.global-search{justify-self:start}.global-search.expanded{width:100%}.global-search-panel{left:0;max-height:min(520px,calc(100vh - 180px));right:auto}.profile-growth-stage{min-height:760px}.profile-growth-copy{max-width:calc(100% - 36px)}.profile-growth-metrics{right:18px}.sakura-tree-shell{height:650px;transform:translateX(-50%);width:980px}.profile-menu-panel{left:0;right:auto}.admin-shell,.chapter-flow,.discussion-admin-grid,.discussion-layout,.example-grid,.examples-grid,.hero-panel,.home-main-grid,.kanji-dashboard-grid,.lesson-builder-shell,.lesson-content-grid,.lesson-editor-split,.lesson-hero,.lesson-methodology-grid,.lesson-text-grid,.lesson-theory-intro,.lesson-training-block .generated-test-list,.lesson-vocabulary-compact,.minna-theory-grid,.n5-hero,.n5-lesson-grid,.pattern-grid,.profile-editor-grid,.progress-ambient-panel,.reading-bilingual-panel.parallel,.reading-library,.reading-workspace,.split-grid,.study-overview-grid,.today-study-detail{grid-template-columns:1fr}.drawing-prompt,.game-header,.games-overview,.priority-games-header,.security-actions-panel{align-items:stretch;grid-template-columns:1fr}.home-side-apps,.reading-sidebar{position:static}.reading-controls-row{align-items:stretch}.reading-settings-panel,.reading-view-toggle{width:100%}.component-chip-grid,.content-grid,.currency-rate-grid,.discussion-image-grid,.discussion-image-preview-list,.dojo-choice-grid,.game-mode-grid,.game-summary-grid,.kanji-grid,.kanji-level-tabs,.memory-grid,.metric-grid,.odd-kanji-grid,.print-kanji-picker,.priority-mode-grid,.reading-level-grid,.reading-view-toggle,.security-filter-grid,.stats-grid,.today-study-grid,.topic-list,.world-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar,.lesson-builder-preview{position:static}.te-form-reference-head{align-items:stretch;display:grid}.te-form-search{max-width:none}.lesson-builder-grid.four,.lesson-builder-grid.three{grid-template-columns:1fr}.n5-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-feedback-grid,.test-progress-panel{grid-template-columns:1fr}.test-progress-stats{justify-content:flex-start}.lesson-editor-panel:before{justify-self:start;position:static}.core-grid,.example-ladder,.example-layout,.lesson-concept-hero,.lesson-concept-section .pattern-grid,.lesson-concept-section-header,.mistake-grid,.practice-focus,.question-grid{grid-template-columns:1fr}.lesson-concept-badge{justify-self:start;width:-moz-fit-content;width:fit-content}}@media (max-width:620px){.hero-copy h1,.section-heading h1{font-size:38px}.profile-growth-stage{min-height:740px}.profile-growth-copy{left:18px;top:28px}.profile-growth-copy h1{font-size:42px}.profile-growth-metrics{bottom:16px;grid-template-columns:1fr;left:18px;right:18px}.sakura-tree-shell{height:540px;transform:translateX(-49%);width:820px}.sakura-progress-boundary span{left:calc(50% + 18px)}.reading-mode-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-item small{grid-column:auto}.lesson-vocabulary-actions{justify-items:flex-start}.vocabulary-preview-item{min-width:min(138px,100%)}.lesson-vocabulary-modal-backdrop{align-items:stretch;padding:10px}.lesson-vocabulary-modal{max-height:calc(100vh - 20px);width:100%}.vocabulary-detail-head{align-items:stretch}.vocabulary-detail-word{font-size:27px}.answer-options,.chapter-nav,.content-grid,.cover-picker,.currency-rate-grid,.discussion-image-grid,.discussion-image-picker,.discussion-image-preview-list,.editor-grid,.final-test-submit,.inline-answer-form,.kanji-detail-grid,.kanji-drawing-matches,.kanji-edit-form,.kanji-grid,.kanji-level-tabs,.kanji-mnemonic-tier,.kanji-stat-grid,.kanji-theme-grid,.lesson-builder-grid,.lesson-methodology-grid,.lesson-task-builder,.level-strip,.metric-grid,.n5-lesson-grid,.print-kanji-picker,.reading-level-grid,.reading-library,.stats-grid,.today-study-grid,.topic-list,.vocabulary-item{grid-template-columns:1fr}.kanji-reading-grid>div:first-child{grid-column:auto}.kanji-theme-heading{align-items:stretch;display:grid}.kanji-search-panel{justify-items:stretch;min-width:0}.kanji-search-field{width:100%}.kanji-search-help p{left:0;max-width:none;right:auto}.kanji-active-filter{align-items:flex-start;flex-direction:column}.kanji-active-filter-labels{width:100%}.kanji-anki-card{max-height:calc(100vh - 24px);min-height:min(620px,calc(100vh - 24px));padding:14px;width:calc(100vw - 24px)}.kanji-card-topbar{grid-template-columns:1fr auto}.kanji-card-navigation{grid-column:1/-1;justify-content:space-between;order:3;width:100%}.kanji-level-pill{justify-self:start;order:1}.kanji-close-button{order:2}.kanji-back-heading{grid-template-columns:1fr;justify-items:center;text-align:center}.kanji-back-character{font-size:54px}.kanji-card-nav-button span{display:none}.component-chip-grid,.dojo-choice-grid,.dojo-stats,.game-mode-grid,.game-options-grid,.game-summary-grid,.game-word-prompt,.games-overview-stats,.memory-grid,.odd-kanji-grid,.priority-mode-grid,.security-filter-grid,.word-chain-grid,.world-zone-grid{grid-template-columns:1fr}.lesson-builder-block-head,.lesson-builder-row-head,.lesson-builder-topbar{align-items:stretch;flex-direction:column}.lesson-builder-block-actions,.lesson-builder-item-actions,.lesson-builder-status-row{justify-content:flex-start}.answer-feedback-grid,.dojo-answer-form,.dojo-progress-row,.dojo-question-head,.lesson-builder-item,.test-progress-panel{grid-template-columns:1fr}.dojo-question-head{display:grid}.chapter-nav a:last-child{justify-self:stretch}.currency-rate-card,.horizontal-heading,.kanji-quiz-toolbar,.learning-card,.level-topic-group summary,.maintenance-card,.n5-lesson-card,.reading-detail-heading,.standalone-card{align-items:stretch;display:grid;grid-template-columns:1fr}.icon-button,.primary-button,.secondary-button,.site-nav a{min-height:44px}.dojo-question-card,.dojo-result-card,.generated-test-card{padding:14px}.answer-option,.dojo-choice,.dojo-token,.game-choice{min-height:48px;padding:12px}.dojo-answer-form .primary-button,.final-test-submit .primary-button,.game-actions .primary-button,.game-actions .secondary-button,.inline-answer-form .primary-button{justify-content:center;width:100%}.bug-report{bottom:12px;right:12px}.quick-bookmarks{bottom:74px;right:12px}.quick-bookmarks-trigger{height:52px;width:52px}.quick-bookmarks-panel{bottom:calc(100% + 12px);max-height:min(520px,calc(100vh - 150px));right:0;top:auto;transform:none;width:calc(100vw - 24px)}.bug-report-button span{display:none}.bug-report-panel{max-height:calc(100vh - 24px);overflow-y:auto;width:calc(100vw - 24px)}.page-stack{gap:18px;padding-bottom:80px}.hero-panel,.panel{padding:18px}.brand small{display:none}.profile-menu-panel{min-width:min(320px,calc(100vw - 32px))}.admin-row{grid-template-columns:1fr}}@media (max-width:900px){.game-header{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}.game-stage{min-height:auto}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (hover:none),(pointer:coarse){.component-chip,.dojo-choice,.dojo-token,.game-choice,.game-mode-card,.memory-card,.odd-kanji-card,.priority-mode-card,.word-chain-card,.world-zone{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.component-chip:hover,.dojo-choice:hover,.dojo-token:hover,.game-choice:hover,.game-mode-card:hover,.memory-card:hover,.odd-kanji-card:hover,.priority-mode-card:hover,.word-chain-card:hover,.world-zone:hover{box-shadow:none;transform:none}}@media (max-width:620px){.games-page{gap:14px}.game-stage.panel,.games-overview,.priority-games-hub.panel{padding:14px}.game-header,.games-overview,.priority-games-header{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}.game-header .inline-title{align-items:flex-start}.game-score-pill{justify-self:start;width:-moz-fit-content;width:fit-content}.game-mode-grid,.priority-mode-grid{display:flex;gap:10px;grid-template-columns:none;margin-inline:-4px;overflow-x:auto;padding:2px 4px 10px;scroll-padding-inline:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.game-mode-card,.priority-mode-card{flex:0 0 min(78vw,260px);min-height:112px;scroll-snap-align:start}.dojo-stats,.games-overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dojo-stats div,.games-overview-stats div{min-height:64px;padding:10px 6px}.dojo-stats strong,.games-overview-stats strong{font-size:22px}.game-layout{gap:14px}.game-kanji-prompt,.game-word-prompt{min-height:130px;padding:14px}.game-kanji-prompt strong{font-size:clamp(58px,28vw,112px)}.game-kanji-prompt.compact strong{font-size:clamp(48px,22vw,84px)}.game-word-prompt{justify-items:center;text-align:center}.game-word-prompt strong{font-size:clamp(28px,12vw,52px);overflow-wrap:anywhere}.dojo-choice-grid,.game-options-grid,.word-chain-grid,.world-zone-grid{grid-template-columns:1fr}.component-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.odd-kanji-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.memory-card{font-size:18px;min-height:74px;padding:8px}.memory-card.visible.kanji{font-size:36px}.rain-board{height:240px}.rain-drop strong{font-size:64px}.rain-status{right:10px;top:10px}.boss-arena{padding:12px}.component-build-line{font-size:20px;min-height:56px;padding:12px}.component-chip{font-size:24px;min-height:58px}.odd-kanji-card{min-height:132px;padding:10px}.odd-kanji-card strong{font-size:48px}.word-chain-card{min-height:94px}.word-chain-card strong{font-size:25px;overflow-wrap:anywhere}.drawing-prompt{display:grid;grid-template-columns:1fr;text-align:center}.game-drawing-canvas{height:min(320px,48vh);max-width:100%}.drawing-reference-card strong{font-size:clamp(54px,24vw,96px)}}@media (max-width:380px){.dojo-stats,.games-overview-stats{grid-template-columns:1fr}.component-chip-grid,.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rain-board{height:220px}}:root[data-theme=dark] :is(.panel,.learning-card,.content-card,.metric-card,.maintenance-card,.kanji-card,.auth-panel,.admin-sidebar,.admin-table,.toolbar,.games-overview,.game-mode-card,.kanji-anki-card,.kanji-radical-panel,.kanji-drawing-panel,.modal-panel,.bug-report-panel,.kanji-search-field,.kanji-search-help p){background:var(--surface);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.site-nav a:hover,.icon-button:hover,.secondary-button:hover,.admin-sidebar a:hover,.global-search-toggle:hover,.global-search-toggle:focus-visible,.global-search-result:hover,.global-search-result.active,.quick-bookmark-list a:hover){background:var(--surface-hover);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.global-search-toggle,.global-search-field,.profile-menu-trigger,.theme-toggle,.furigana-toggle,.quick-bookmarks-panel,.quick-bookmark-list a,.profile-bookmarks-link,.chat-message,.discussion-topic,.discussion-reply,.rich-editor,.rich-editor-toolbar,.rich-editor-toolbar button,.reading-format-note,.cover-preview,.cover-placeholder,.print-selector-panel,.chat-moderation-control,.chat-auth-warning,.emoji-button,.emoji-preview,.search-field,.admin-row-head,.role-toggle-list label,.availability-editor-panel,.report-reason,.metadata-preview,.security-filter-panel,.security-actions-panel,.compact-currency-card,.bug-report-panel textarea,.kanji-active-filter-labels span){background:var(--surface-strong);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select,.generator-controls select,.lesson-editor-panel input,.lesson-editor-panel select,.lesson-editor-panel textarea,.auth-form input,.profile-fields input,.profile-fields select,.profile-fields textarea,.editor-form input,.editor-form select,.editor-form textarea,.toolbar input,.toolbar select,.discussion-form input,.discussion-form textarea,.game-input-label input,.kanji-edit-form input,.kanji-edit-form textarea,.availability-editor-panel input,.availability-editor-panel select,.availability-editor-panel textarea,.security-filter-grid input,.security-filter-grid select,.security-actions-panel input,.security-actions-panel select,.compact-field input,.compact-field textarea){background:var(--surface-strong);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .kanji-search-field input{background:transparent;border:0;color:var(--ink)}:root[data-theme=dark] .kanji-search-help p{background:var(--surface-strong)}:root[data-theme=dark] .global-search-field input::placeholder,:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#8f8578}:root[data-theme=dark] :is(.profile-growth-stage){background:linear-gradient(180deg,rgba(27,25,23,.98),rgba(21,20,19,.96) 58%,#181512),repeating-linear-gradient(90deg,rgba(255,244,229,.025) 0 1px,transparent 1px 7px)}:root[data-theme=dark] .profile-growth-stage:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.2) 58%,rgba(0,0,0,.34))}:root[data-theme=dark] .profile-growth-copy h1{color:var(--ink)}:root[data-theme=dark] .profile-growth-copy p{color:var(--muted)}:root[data-theme=dark] .profile-growth-metrics div{background:rgba(33,31,28,.88);border-color:var(--line);box-shadow:var(--shadow);color:var(--ink)}:root[data-theme=dark] .profile-premium-link,:root[data-theme=dark] .quick-bookmarks-trigger{background:linear-gradient(180deg,#3a3024,#28221c);border-color:var(--line);color:var(--indigo)}:root[data-theme=dark] .progress-ambient-panel{border-color:rgba(143,201,148,.22)}:root[data-theme=dark] .study-progress-shell:before{background:linear-gradient(90deg,rgba(143,201,148,.16) var(--study-progress-width,0),transparent 0),linear-gradient(180deg,rgba(42,38,34,.66),rgba(21,20,19,0));border-color:rgba(143,201,148,.22)}:root[data-theme=dark] :is(.progress-ambient-bar,.kanji-progress-meter,.study-domain-card i,.metricBar,.resumeProgress i){background:#3a332b}:root[data-theme=dark] :is(.n5-goals div,.generator-controls .checkbox-row,.generated-reading-box,.generated-translation-box,.generated-gloss-box,.flow-step,.lesson-note-list p,.lesson-theory-intro,.minna-theory-section,.pattern-card.grammar-point,.mistake-focus,.dialogue-card,.dialogue-row,.dialogue-nav button,.lesson-examples-block .lesson-dialogue,.lesson-examples-block .lesson-vocabulary,.lesson-reading-subsection,.grammar-table th,.grammar-table td,.te-form-search,.te-form-filter-row button,.te-form-groups details,.te-form-groups summary b,.te-form-empty,.lesson-extra-body,.dialogue-line,.vocabulary-item,.maintenance-art,.topic-tile,.topic-tile span,.kanji-dashboard-card,.kanji-stat-grid div,.kanji-due-list button,.kanji-quiz-toolbar,.kanji-theme-panel,.kanji-theme-card,.kanji-active-filter,.kanji-data-note,.kanji-quiz-card,.kanji-wrong-list div,.kanji-card-nav-button,.kanji-card-position,.kanji-card-topbar,.kanji-level-pill,.kanji-symbol-panel,.kanji-mnemonic-panel,.kanji-mnemonic-text,.kanji-detail-grid>div,.kanji-radical-chip-list button,.kanji-combined-example,.kanji-example-empty,.kanji-example-sound,.kanji-mnemonic-panel .kanji-mnemonic-image,.kanji-radical-note,.kanji-radical-results button,.kanji-edit-form,.kanji-image-upload,.kanji-drawing-matches button){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .lesson-vocabulary{background:transparent}:root[data-theme=dark] :is(.lesson-concept-section,.lesson-meta,.concept-panel,.distance-map,.question-card,.mini-note,.ladder-step,.table-wrap,.lesson-concept-section .pattern-card,.mistake-item,.practice-focus article){background:var(--surface);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.lesson-concept-section-header,.map-point,.dialogue-title-row){background:var(--surface-soft);border-color:var(--line)}:root[data-theme=dark] .map-point:nth-child(2),:root[data-theme=dark] .map-point:nth-child(3){background:var(--surface-muted)}:root[data-theme=dark] .focus-list span,:root[data-theme=dark] .lesson-concept-badge{background:rgba(143,201,148,.14);border-color:rgba(143,201,148,.28);color:var(--green)}:root[data-theme=dark] .grammar-table thead th{background:rgba(143,201,148,.22);color:var(--ink)}:root[data-theme=dark] .grammar-table tbody td.example-col,:root[data-theme=dark] .grammar-table tbody td.question-col,:root[data-theme=dark] .grammar-table tbody th,:root[data-theme=dark] .grammar-table tbody tr:nth-child(2n) td:not(.question-col,.example-col){background:var(--surface-muted);color:var(--ink)}:root[data-theme=dark] .mistake-panel{background:var(--surface-soft);border-color:rgba(224,106,92,.28)}:root[data-theme=dark] .formula,:root[data-theme=dark] .pattern-card[data-tone=gold] .formula,:root[data-theme=dark] .pattern-card[data-tone=green] .formula{background:var(--surface-muted);color:var(--ink)}:root[data-theme=dark] .lesson-vocabulary-compact{background:var(--surface);border-color:var(--line);box-shadow:0 18px 48px rgba(0,0,0,.28)}:root[data-theme=dark] .vocabulary-compact-heading h3{color:var(--green)}:root[data-theme=dark] .vocabulary-item,:root[data-theme=dark] .vocabulary-preview-item{background:rgba(143,201,148,.08);border-color:rgba(143,201,148,.24)}:root[data-theme=dark] .vocabulary-preview-item:nth-child(2n){background:rgba(170,183,255,.09);border-color:rgba(170,183,255,.2)}:root[data-theme=dark] .vocabulary-open-button{background:#2d6f73;border-color:#2d6f73;color:var(--ink)}:root[data-theme=dark] .vocabulary-open-button:focus-visible,:root[data-theme=dark] .vocabulary-open-button:hover{background:#358086;border-color:#358086}:root[data-theme=dark] .lesson-vocabulary-modal,:root[data-theme=dark] .vocabulary-detail-card,:root[data-theme=dark] .vocabulary-item.active,:root[data-theme=dark] .vocabulary-item:hover,:root[data-theme=dark] .vocabulary-preview-item:focus-visible,:root[data-theme=dark] .vocabulary-preview-item:hover{background:rgba(28,35,32,.96);border-color:rgba(196,58,47,.42)}:root[data-theme=dark] .vocabulary-detail-card{box-shadow:0 12px 26px rgba(0,0,0,.22)}:root[data-theme=dark] .vocabulary-detail-close,:root[data-theme=dark] .vocabulary-kanji-link{background:rgba(255,250,241,.08);border-color:rgba(229,220,207,.18);color:var(--ink)}:root[data-theme=dark] .vocabulary-detail-meta div{background:rgba(143,201,148,.1);border-color:rgba(143,201,148,.22)}:root[data-theme=dark] .kanji-theme-card-all{background:rgba(143,201,148,.12);border-color:rgba(143,201,148,.28)}:root[data-theme=dark] :is(.kanji-level-corner,.level-badge,.status-pill,.dojo-question-count,.game-score-pill,.order-answer span,.bookmark-card-heading>span:last-child,.bookmark-card-meta span,.reading-card-meta span,.reading-meta-row span,.reading-genre-strip a,.print-kanji-chip>span,.security-type-strip span,.currency-chip){background:var(--surface-muted);border-color:var(--line);color:var(--muted)}:root[data-theme=dark] :is(.reading-genre-strip a.active,.currency-chip.active,.compact-level-strip a.active){background:var(--red);border-color:var(--red);color:white}:root[data-theme=dark] :is(.generated-token:hover,.generated-token.linked,.generated-gloss-token:hover,.generated-gloss-token.linked,.reading-token:hover,.reading-token.active,.reading-token.linked,.translation-token:hover,.translation-token.active,.translation-token.linked,mark,.selected-word,.field-hint code,.reading-format-note code){background:var(--surface-hover);color:var(--ink)}:root[data-theme=dark] :is(.games-overview-stats div,.dojo-stats div,.priority-mode-card,.dojo-question-card,.dojo-result-card,.dojo-sentence,.dojo-target-block,.dojo-hint p,.dojo-choice,.dojo-token,.dojo-order-answer,.dojo-order-answer span,.game-result-card,.game-summary-grid div,.game-mistake-summary,.game-kanji-prompt,.game-word-prompt,.component-build-line,.memory-card,.rain-status,.boss-arena,.drawing-prompt,.drawing-reference-card,.game-choice,.word-chain-card,.odd-kanji-card,.component-chip,.world-zone){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .games-page{--game-soft:#202a21;--game-warm:#332a20;--game-blue:#202736}:root[data-theme=dark] .dojo-progress-track{background:var(--surface-muted)}:root[data-theme=dark] .dojo-answer-form input,:root[data-theme=dark] .dojo-lesson-picker select,:root[data-theme=dark] .dojo-speed-picker select{background:var(--surface-strong);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .rain-board{background:linear-gradient(180deg,rgba(35,31,27,.98),rgba(31,40,31,.94));border-color:var(--line)}:root[data-theme=dark] :is(.answer-option,.task-sentence,.task-target,.order-answer,.hint-block p,.reading-level-card,.reading-card,.reading-language-column,.reading-settings-panel,.reading-view-toggle,.reading-mode-button.active,.reading-size-slider-row button,.reading-view-toggle button.active,.bookmark-card,.topic-text-manager,.cover-preview,.cover-placeholder,.print-kanji-chip,.stats-grid article,.currency-rate-card,.study-overview-score,.study-domain-card,.today-study-grid article,.today-checklist,.today-checklist div,.compact-field textarea){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .development-overlay,:root[data-theme=dark] .reading-locked-preview strong{background:rgba(42,30,27,.88);border-color:rgba(224,106,92,.32);color:var(--red-strong)}:root[data-theme=dark] .reading-locked-preview{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] :is(.today-checklist div.done,.status-published,.status-visible,.status-resolved,.security-severity-info,.completed-badge){background:rgba(143,201,148,.14);border-color:rgba(143,201,148,.28);color:var(--green)}:root[data-theme=dark] :is(.status-draft,.status-review,.status-scheduled,.status-open,.security-severity-warning){background:rgba(226,181,107,.16);border-color:rgba(226,181,107,.3);color:var(--gold)}:root[data-theme=dark] :is(.status-maintenance,.status-hidden,.status-deleted,.status-rejected,.security-severity-critical,.security-severity-error){background:rgba(224,106,92,.16);border-color:rgba(224,106,92,.32);color:var(--red-strong)}:root[data-theme=dark] :is(.status-reviewing,.security-severity-debug){background:rgba(170,183,255,.14);border-color:rgba(170,183,255,.28);color:var(--indigo)}:root[data-theme=dark] :is(.security-archive-tabs,.security-archive-tabs button.active,.security-filter-grid input,.security-filter-grid select,.security-actions-panel input,.security-actions-panel select){background:var(--surface-soft);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] :is(.currency-mini-chart circle){fill:var(--surface)}:root[data-theme=dark] :is(.kanji-stroke-button,.kanji-stroke-button:hover){background:rgba(42,38,34,.92);border-color:var(--line)}:root[data-theme=dark] .kanji-drawing-canvas{background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(244,238,229,.28) 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),rgba(244,238,229,.28) 50%,transparent calc(50% + .5px)),#201e1b;border-color:var(--line)}:root[data-theme=dark] .drawing-prompt{background:#202736}