@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Source+Sans+3:wght@400;500;600&display=swap";:root{--bg: #f6f1ea;--bg-accent: #fff0d6;--ink: #1f1b16;--muted: #6a5e54;--accent: #ff6b4a;--accent-2: #1c8a84;--accent-3: #7f3cff;--stat-done: #138a3d;--panel: #ffffff;--border: #f0d2b8;--panel-muted: #fff7ec;--surface: rgba(255, 255, 255, .9);--surface-strong: rgba(255, 255, 255, .98);--surface-accent: rgba(236, 252, 250, .9);--surface-pop: rgba(255, 240, 214, .85);--surface-inset: #ffffff;--button-bg: linear-gradient(135deg, #ffffff 0%, #fff5e6 100%);--button-border-strong: rgba(28, 138, 132, .25);--nav-bg: linear-gradient(135deg, rgba(255, 255, 255, .9), rgba(255, 240, 214, .9));--drawer-bg: linear-gradient(160deg, #fffdf9 0%, #f7f2ea 55%, #eefcf9 100%);--drawer-bg-warm: linear-gradient(165deg, #fffdf8 0%, #fff2d7 52%, #f8efe4 100%);--backdrop: rgba(17, 14, 10, .32);--shadow: 0 14px 36px rgba(24, 14, 5, .12);--shadow-soft: 0 8px 22px rgba(28, 138, 132, .16);--shadow-strong: 0 12px 28px rgba(24, 14, 5, .2);--bg-radial-1: rgba(255, 198, 122, .35);--bg-radial-2: rgba(127, 60, 255, .18);--text-warm: #5b2c1f;--text-gold: #8b4b00;--danger: #d94832;font-family:"Source Sans 3",Segoe UI,sans-serif;color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #0e1418;--bg-accent: #152028;--ink: #e6edf2;--muted: #9ba9b6;--accent: #ff8a66;--accent-2: #4fd0c6;--accent-3: #9a7dff;--stat-done: #57d98b;--panel: #152028;--border: #27404d;--panel-muted: #1b2a34;--surface: rgba(24, 36, 45, .9);--surface-strong: rgba(21, 32, 40, .98);--surface-accent: rgba(22, 48, 52, .9);--surface-pop: rgba(50, 38, 28, .76);--surface-inset: #111b22;--button-bg: linear-gradient(135deg, #1a2832 0%, #223440 100%);--button-border-strong: rgba(79, 208, 198, .28);--nav-bg: linear-gradient(135deg, rgba(17, 27, 34, .94), rgba(23, 38, 46, .94));--drawer-bg: linear-gradient(160deg, #131d24 0%, #17242d 55%, #162d31 100%);--drawer-bg-warm: linear-gradient(165deg, #171e25 0%, #221d19 52%, #1e262d 100%);--backdrop: rgba(4, 7, 10, .56);--shadow: 0 18px 40px rgba(0, 0, 0, .34);--shadow-soft: 0 10px 24px rgba(0, 0, 0, .28);--shadow-strong: 0 16px 34px rgba(0, 0, 0, .4);--bg-radial-1: rgba(255, 138, 102, .12);--bg-radial-2: rgba(127, 60, 255, .12);--text-warm: #f2c3b1;--text-gold: #ffd08a;--danger: #ff8f7a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,var(--bg-radial-1) 0%,transparent 50%),radial-gradient(900px 500px at 90% 10%,var(--bg-radial-2) 0%,transparent 45%),var(--bg);color:var(--ink);transition:background .18s ease-out,color .18s ease-out}a{color:var(--accent-2);text-decoration:none}a:hover{color:var(--accent-3);text-decoration:underline}h1,h2{font-family:Fraunces,Georgia,serif;margin:0 0 12px}button{border-radius:12px;border:1px solid var(--border);padding:8px 14px;font-size:.95rem;font-weight:600;font-family:inherit;color:var(--ink);background:var(--button-bg);cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}button:hover{border-color:var(--accent);box-shadow:0 8px 18px #ff6b4a40;transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}ul{margin:0;padding:0;list-style:none}#root{max-width:1200px;margin:0 auto;padding:28px}.app-shell{display:flex;flex-direction:column;gap:20px;min-width:0}.navbar{position:static;z-index:40;display:grid;grid-template-columns:minmax(180px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 10px;border-radius:12px;border:1px solid rgba(17,24,39,.14);background:linear-gradient(135deg,#111827f5,#1f2937e0),var(--nav-bg);box-shadow:0 18px 40px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar>*{min-width:0}.nav-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:0;color:#f8fafc;text-decoration:none;cursor:pointer}.nav-brand:focus-visible{outline:2px solid rgba(132,236,229,.9);outline-offset:3px;border-radius:10px}.nav-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(132,236,229,.34);border-radius:10px;background:linear-gradient(135deg,#1c8a84f2,#2f6fedb8);color:#fff;font-family:Fraunces,Georgia,serif;font-size:.86rem;letter-spacing:-.03em;font-weight:900;line-height:1;box-shadow:0 10px 22px #1c8a8447}.nav-brand-copy{display:grid;gap:1px;min-width:0}.nav-brand-copy strong{overflow:hidden;margin-top:-.4em;padding-top:.4em;font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:850;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.nav-brand-alpha{margin-left:4px;background:linear-gradient(90deg,#fbbf24,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Inter,system-ui,sans-serif;font-size:.6em;font-weight:900;letter-spacing:.04em;vertical-align:super;line-height:0}.nav-brand-copy small{color:#e2e8f0b3;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.nav-tabs{display:flex;justify-content:flex-start;justify-self:stretch;min-width:0;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:6px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;gap:6px;border:1px solid rgba(226,232,240,.12);border-radius:10px;background:#0f172a94;padding:4px 6px}.nav-tab{flex:0 0 auto;display:inline-flex;align-items:center;text-decoration:none;border:1px solid rgba(226,232,240,.1);border-radius:8px;background:#ffffff0b;color:#f1f5f9db;padding:7px 10px;font-size:.78rem;font-weight:900;cursor:pointer}.nav-tab:hover{border-color:#84ece52e;background:#ffffff0f;color:#fff}.nav-tab.active{border-color:#84ece599;background:linear-gradient(135deg,#1c8a84d9,#2f6fed99);color:#fff;box-shadow:inset 0 1px #ffffff1f,0 4px 12px #1c8a844d}.nav-status-badge{margin-left:6px;border-radius:999px;padding:1px 6px;font-size:.6rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;line-height:1.5}.nav-status-preview{background:#f59e0b38;color:#fcd34d;border:1px solid rgba(245,158,11,.45)}.nav-status-admin{background:#94a3b829;color:#e2e8f0db;border:1px solid rgba(148,163,184,.35)}.nav-mode-badge{flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:.66rem;font-weight:900;letter-spacing:.04em;white-space:nowrap;border:1px solid rgba(226,232,240,.22);color:#e2e8f0db}.nav-mode-badge.local{border-color:#f59e0b73;color:#fcd34d}.nav-mode-badge.live{border-color:#34d39973;color:#6ee7b7}.nav-view-toggle{flex:0 0 auto;min-height:30px;border:1px solid rgba(226,232,240,.22);border-radius:999px;background:#ffffff0f;color:#e2e8f0db;padding:4px 10px;font-size:.7rem;font-weight:900;white-space:nowrap;cursor:pointer}.nav-view-toggle.active{border-color:#34d39980;color:#6ee7b7}@media(max-width:640px){.nav-mode-badge{display:none}}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}@media(max-width:1100px){.navbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.nav-brand-copy small{display:none}.player-hud{max-width:240px}.player-name,.player-name-static{width:72px}.theme-toggle{min-height:32px;padding:4px 7px}.theme-toggle-label{display:none}}.site-footer{display:flex;justify-content:center;gap:14px;padding:6px 0 2px;color:var(--muted);font-size:.82rem}.site-footer a{color:inherit;font-weight:800;text-decoration:none}.site-footer a:hover{color:var(--accent)}.legal-page{max-width:860px;margin-inline:auto}.legal-panel{display:grid;gap:16px;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:28px;box-shadow:var(--shadow)}.legal-copy{display:grid;gap:16px;color:var(--text);line-height:1.65}.legal-copy h2{margin:10px 0 0;font-size:1rem}.legal-copy p{margin:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid rgba(226,232,240,.14);border-radius:999px;background:#ffffff0f;color:#e2e8f0d1;padding:6px 9px}.theme-toggle-icon{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff17;color:#f8fafc;font-size:.86rem}.theme-toggle-label{font-size:.72rem;font-weight:900;letter-spacing:0}.player-hud{min-width:0;max-width:310px;border-radius:10px;border:1px solid rgba(226,232,240,.12);background:#ffffff0f;color:#f8fafc;box-shadow:none;padding:6px 8px;display:flex;flex-direction:column;gap:5px;animation:hud-in .22s ease-out}.player-hud-top{display:flex;align-items:center;justify-content:flex-end;gap:6px}.player-name{width:92px;min-width:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#f8fafc;font-size:.82rem;font-weight:850;padding:2px 4px}.player-name-static{width:92px;min-width:0;padding:2px 4px;font-size:.82rem;font-weight:850;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name:focus{border-color:#1c8a8473;outline:none;background:var(--surface)}.auth-account-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.auth-account-actions button{border:1px solid rgba(28,138,132,.32);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 12px;font-weight:850}.auth-account-actions button.danger{border-color:#dc26263d;color:#b91c1c;background:#fef2f2d1}.dev-switcher-open{border-radius:999px;padding:3px 7px;font-size:.68rem;border:1px solid rgba(132,236,229,.28);background:#ffffff0f;color:#e2e8f0db}.dev-switcher-panel{margin-top:6px;border:1px solid rgba(28,138,132,.25);border-radius:10px;padding:8px;background:var(--surface);display:grid;gap:8px}.dev-switcher-panel label{display:grid;gap:4px;font-size:.78rem;font-weight:600;color:var(--muted)}.dev-switcher-input{border:1px solid rgba(28,138,132,.32);border-radius:8px;padding:6px 8px;font-size:.85rem;font-family:inherit;color:var(--ink);background:var(--surface-inset)}.dev-switcher-actions{display:flex;justify-content:flex-end}.account-page{display:grid;gap:16px}.account-panel{display:grid;gap:14px;border:1px solid rgba(28,138,132,.2);border-radius:8px;background:linear-gradient(135deg,rgba(47,111,237,.08),transparent 52%),var(--surface-strong);box-shadow:0 14px 30px #1f293714;padding:18px}.account-panel.subtle{background:var(--surface-strong)}.account-placement-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 58%),var(--surface-strong)}.account-placement-panel div{display:grid;gap:7px}.account-placement-panel p{max-width:760px;margin:0;line-height:1.55}.account-placement-panel button{min-height:42px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);padding:9px 18px;font:inherit;font-weight:850;cursor:pointer}.account-panel h1,.account-panel h2{margin:0}.account-panel span{color:var(--muted);font-size:.85rem;font-weight:850}.account-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.account-stat-grid span{display:grid;gap:4px;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:10px}.account-stat-grid strong{overflow:hidden;color:var(--accent-2);font-size:1.1rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.account-settings-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end}.account-settings-form label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:850}.account-settings-form input{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);color:var(--ink);padding:9px 10px;font:inherit}.account-settings-form button{min-height:38px;border:1px solid rgba(28,138,132,.24);border-radius:8px;background:var(--surface-inset);color:var(--ink);font-weight:850}.reminder-settings-form{grid-template-columns:minmax(140px,.7fr) minmax(120px,.6fr) auto}.account-checkbox-label{align-self:center;grid-template-columns:auto 1fr;gap:8px;color:var(--ink);font-size:.9rem}.account-checkbox-label input{width:16px;height:16px;accent-color:var(--accent-2)}.account-admin-select-label{display:grid;gap:5px;max-width:260px;color:var(--muted);font-size:.78rem;font-weight:850}.account-admin-select-label select{border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);color:var(--ink);padding:9px 10px;font:inherit}.account-action-row{display:flex;flex-wrap:wrap;gap:10px}.account-action-row button{min-height:38px;border:1px solid rgba(28,138,132,.24);border-radius:8px;background:var(--surface-inset);color:var(--ink);font-weight:850}.account-action-row button.danger{border-color:#b91c1c47;color:#b91c1c}.account-action-row button:disabled{cursor:wait;opacity:.62}.account-saved-list{display:grid;gap:8px}.account-saved-list>span,.account-saved-list>a{display:grid;gap:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:9px 10px}.account-saved-list>a{color:inherit;text-decoration:none}.account-saved-list>a:hover,.account-saved-list>a:focus-visible{border-color:var(--accent);background:var(--surface-accent)}.account-saved-list strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.account-saved-list small{color:var(--muted);font-size:.76rem;font-weight:800}.account-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.account-section-heading span{border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);padding:4px 8px;font-size:.76rem;font-weight:850}.account-notification-list{display:grid;gap:8px}.account-notification-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(28,138,132,.22);border-radius:8px;background:var(--surface-inset);padding:10px}.account-notification-list article.read{opacity:.72}.account-notification-list article div{display:grid;gap:3px;min-width:0}.account-notification-list strong,.account-notification-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-notification-list strong{color:var(--ink);font-size:.92rem}.account-notification-list span,.account-notification-list small{color:var(--muted);font-size:.76rem;font-weight:800}.account-notification-list button{border:1px solid rgba(28,138,132,.24);border-radius:8px;background:var(--surface-strong);color:var(--ink);font-weight:850}@media(max-width:640px){.account-placement-panel{grid-template-columns:1fr}.account-placement-panel button{width:100%}.account-settings-form,.reminder-settings-form{grid-template-columns:1fr}.account-notification-list article{grid-template-columns:1fr}}.player-level{flex:0 0 auto;border-radius:999px;padding:3px 7px;font-weight:900;font-size:.72rem;color:#84ece5;border:1px solid rgba(132,236,229,.28);background:#1c8a8429;box-shadow:none}.player-points{flex:0 0 auto;border-radius:999px;padding:3px 7px;font-weight:900;font-size:.72rem;color:#ffd08a;border:1px solid rgba(245,158,11,.34);background:#f59e0b1f;box-shadow:none}.xp-row{display:flex;justify-content:space-between;gap:8px}.xp-text{font-size:.66rem;font-weight:850;color:#e2e8f0ad}.xp-bar{height:5px;width:100%;border-radius:999px;background:#e2e8f01f;overflow:hidden}.xp-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c8a84,#3bc8bf 55%,#7fe8e2);box-shadow:0 0 14px #1c8a846b;transition:width .22s ease-out}.alt-dungeon-debug{display:grid;gap:16px}.alt-dungeon-bridge{display:grid;gap:16px;min-width:0}.alt-play-select{display:grid;gap:22px}.alt-play-select-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.alt-play-select-header h1{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:0;line-height:.95;margin:4px 0 10px}.alt-play-select-header p{color:var(--muted);margin:0;max-width:560px}.alt-play-select-actions{display:flex;gap:10px}.alt-play-floor-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.alt-play-floor-card{align-items:flex-start;background:linear-gradient(135deg,#0f172a0a,#22c55e14),var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:10px;min-height:210px;padding:18px;text-align:left}.alt-play-floor-card.is-interactive:hover{border-color:#22c55e8c;box-shadow:0 18px 45px #0f172a1f;transform:translateY(-1px)}.alt-play-floor-card.is-test{background:linear-gradient(135deg,#0f172a0a,#0ea5e914),var(--surface)}.alt-play-floor-card.is-test.is-interactive:hover{border-color:#0ea5e98c}.alt-play-floor-card strong{font-size:1.45rem;letter-spacing:0}.alt-play-floor-card>span:not(.alt-play-floor-kicker),.alt-play-floor-card small{color:var(--muted)}.alt-play-floor-kicker{color:var(--accent-2);font-size:.76rem;font-weight:900;text-transform:uppercase}.alt-play-floor-meta{display:flex;flex-wrap:wrap;gap:7px}.alt-play-floor-meta span{background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.76rem;font-weight:800;padding:4px 8px}.alt-play-floor-card.is-loading{cursor:default}.alt-play-floor-actions{margin-top:auto;width:100%;display:flex;flex-wrap:wrap;gap:8px}.alt-play-floor-start,.alt-play-floor-codex{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:8px 12px;font-size:.78rem;font-weight:800;cursor:pointer}.alt-play-floor-start{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 75%,var(--border));color:#fff}.alt-play-floor-codex{background:var(--surface-strong)}.alt-play-floor-start:disabled,.alt-play-floor-codex:disabled{cursor:not-allowed;opacity:.58}.alt-bridge-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.alt-bridge-header h1{margin:2px 0 6px}.alt-bridge-header p{color:var(--muted);margin:0;max-width:760px}.alt-bridge-eyebrow{color:var(--accent-2);font-size:.76rem;font-weight:800;text-transform:uppercase}.alt-bridge-header-actions,.alt-bridge-controls{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.alt-bridge-view-toggle,.alt-bridge-image-toggle{align-self:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.alt-bridge-view-toggle button,.alt-bridge-image-toggle button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:.74rem;font-weight:900;padding:8px 12px}.alt-bridge-view-toggle button.is-active,.alt-bridge-image-toggle button.is-active{background:#22c55e24;color:#22c55e}.alt-bridge-controls{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.alt-bridge-controls label{color:var(--muted);display:grid;font-size:.78rem;font-weight:800;gap:5px;min-width:160px}.alt-bridge-controls label:first-child{flex:1 1 360px}.alt-bridge-controls input,.alt-bridge-controls select{background:var(--surface-inset);border:1px solid var(--border);border-radius:8px;color:var(--ink);font:inherit;min-height:40px;padding:8px 10px}.alt-bridge-error{background:#e144441f;border:1px solid rgba(225,68,68,.35);border-radius:8px;color:#dc2626;font-weight:800;padding:10px 12px}.alt-bridge-package-strip{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.76rem;font-weight:800;gap:7px;padding:10px 12px}.alt-bridge-package-strip span,.alt-bridge-package-strip strong{background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;padding:4px 8px}.alt-bridge-package-strip strong{color:var(--accent-2)}.alt-bridge-badge-good{color:#047857;border-color:#04785759!important;background:#10b9811f!important}.alt-bridge-badge-warn{color:#a16207;border-color:#a1620759!important;background:#eab3081f!important}.alt-bridge-badge-bad{color:#b91c1c;border-color:#b91c1c59!important;background:#ef44441f!important}.alt-bridge-shell{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(260px,.35fr)}.alt-bridge-stage,.alt-bridge-debug{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);min-width:0;padding:16px}.alt-bridge-stage{display:grid;gap:14px;min-height:520px}.alt-bridge-location{color:var(--accent-2);font-weight:900}.alt-bridge-route{align-items:center;background:var(--surface-inset);border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:8px 10px}.alt-bridge-route span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.alt-bridge-route strong{color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;overflow-wrap:anywhere;text-align:right}.alt-bridge-lines{display:grid;gap:10px}.alt-bridge-lines p{background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;color:var(--ink);display:grid;font-size:1.25rem;font-weight:800;gap:4px;line-height:1.35;margin:0;min-height:54px;padding:12px 14px}.alt-bridge-lines small,.alt-bridge-choice-label small{color:var(--muted);font-size:.74rem;font-weight:800}.alt-bridge-choices{align-items:stretch;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.alt-bridge-choice{align-items:start;display:grid;gap:4px;justify-items:start;min-height:64px;text-align:left}.alt-bridge-choice-label{display:grid;gap:2px;min-width:0}.alt-bridge-choice>small{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.alt-bridge-encounter{background:var(--surface-strong);border:1px solid rgba(220,38,38,.24);border-radius:8px;display:grid;gap:10px;padding:12px}.alt-bridge-encounter>div:first-child,.alt-bridge-encounter-meta,.alt-bridge-hp>div:first-child{align-items:center;display:flex;gap:8px;justify-content:space-between}.alt-bridge-encounter span,.alt-bridge-hp span{color:var(--muted);font-size:.76rem;font-weight:800}.alt-bridge-encounter strong,.alt-bridge-hp strong{color:var(--ink)}.alt-bridge-encounter-meta{justify-content:flex-start}.alt-bridge-encounter-meta span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 8px}.alt-bridge-battle-timeline{border-top:1px solid var(--border);display:grid;gap:6px;padding-top:8px}.alt-bridge-battle-timeline>span{color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.alt-bridge-battle-turn{align-items:center;background:#0f172a73;border:1px solid var(--border);border-radius:6px;display:grid;gap:6px;grid-template-columns:36px 1fr 1fr 78px 86px;padding:6px 8px}.alt-bridge-battle-turn strong,.alt-bridge-battle-turn span{color:var(--ink);font-size:.72rem;min-width:0}.alt-bridge-hp{display:grid;gap:5px}.alt-game-mode{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);max-width:min(860px,100%);min-height:640px;overflow:hidden}.alt-game-header{background:var(--surface-strong)}.alt-game-header-tools span{color:var(--muted);font-size:.72rem;font-weight:900}.alt-game-level-badge{color:#22c55e;border-color:#22c55e73;white-space:nowrap}.alt-game-image-placeholder{min-height:300px;height:300px}.alt-game-image-placeholder.is-loading-blackout{background:#000;gap:0;padding:0}.alt-game-image-result .adv-scene-image,.alt-game-image{height:300px}.alt-game-image-state{border:1px solid var(--border);border-radius:999px;color:var(--accent-2);font-size:.72rem;font-weight:900;padding:5px 9px;text-transform:uppercase}.alt-game-image-error{color:#fecaca;font-size:.72rem;max-width:70ch}.alt-game-battle-panel{margin-top:0}.alt-game-choices{padding-bottom:12px}.alt-game-status-strip{margin-bottom:20px}.alt-game-heart-panel{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:7px;margin:-8px 20px 20px;padding-top:10px;width:calc(100% - 40px)}.alt-game-heart-label{color:#f97316;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.alt-bridge-hp-track{background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;height:9px;overflow:hidden}.alt-bridge-hp-track span{background:linear-gradient(90deg,#0f766e,#22c55e);display:block;height:100%}.alt-bridge-debug{display:grid;gap:12px}.alt-bridge-debug h2,.alt-bridge-trace h3,.alt-bridge-context h3,.alt-bridge-playability h3,.alt-bridge-story-overview h3,.alt-bridge-inventory h3,.alt-bridge-equipment h3,.alt-bridge-progression h3,.alt-bridge-pressure h3,.alt-bridge-hazards h3,.alt-bridge-narrative-history h3{margin:0}.alt-bridge-debug dl{display:grid;gap:7px;margin:0}.alt-bridge-debug dt{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.alt-bridge-debug dd{color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:800;margin:-4px 0 4px;overflow-wrap:anywhere}.alt-bridge-context,.alt-bridge-playability,.alt-bridge-narrative-history,.alt-bridge-inventory,.alt-bridge-equipment,.alt-bridge-progression,.alt-bridge-pressure,.alt-bridge-hazards{display:grid;gap:8px}.alt-bridge-stat-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.alt-bridge-context>div,.alt-bridge-playability>div,.alt-bridge-story-overview,.alt-bridge-replay-status,.alt-bridge-inventory-row,.alt-bridge-equipment-row,.alt-bridge-progression-row,.alt-bridge-pressure-events>div,.alt-bridge-stat-grid>div,.alt-bridge-hazards small,.alt-bridge-narrative-history>div{background:var(--surface-strong);border:1px solid var(--border);border-radius:8px}.alt-bridge-context>div,.alt-bridge-playability>div,.alt-bridge-replay-status,.alt-bridge-inventory-row,.alt-bridge-equipment-row,.alt-bridge-progression-row,.alt-bridge-pressure-events>div,.alt-bridge-stat-grid>div,.alt-bridge-hazards small,.alt-bridge-narrative-history>div{display:grid;gap:3px;padding:8px}.alt-bridge-context>.alt-bridge-locked-exits{gap:6px}.alt-bridge-playability>.alt-bridge-objective-list,.alt-bridge-playability>.alt-bridge-locked-exits{gap:6px}.alt-bridge-objective-list>div{display:grid;gap:2px}.alt-bridge-locked-exits>div{display:grid;gap:2px}.alt-bridge-pressure-events{display:grid;gap:6px}.alt-bridge-story-overview{display:grid;gap:8px;padding:10px}.alt-bridge-story-overview p{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35;margin:0}.alt-bridge-story-overview>div{display:grid;gap:3px}.alt-bridge-context span,.alt-bridge-playability span,.alt-bridge-story-overview span,.alt-bridge-replay-status span,.alt-bridge-inventory span,.alt-bridge-equipment span,.alt-bridge-progression span,.alt-bridge-pressure span,.alt-bridge-hazards span,.alt-bridge-narrative-history span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.alt-bridge-context strong,.alt-bridge-playability strong,.alt-bridge-story-overview strong,.alt-bridge-replay-status strong,.alt-bridge-inventory strong,.alt-bridge-equipment strong,.alt-bridge-progression strong,.alt-bridge-pressure strong,.alt-bridge-hazards strong,.alt-bridge-narrative-history strong{color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;overflow-wrap:anywhere}.alt-bridge-narrative-lines{display:grid;gap:4px}.alt-bridge-narrative-history .alt-bridge-narrative-line{color:var(--ink);font-size:inherit;font-weight:inherit;line-height:1.45;text-transform:none}.alt-bridge-narrative-history .alt-bridge-narrative-line span{font-size:inherit;font-weight:inherit;text-transform:none}.alt-bridge-narrative-history .alt-bridge-narrative-line span:not(.adv-token-stage){color:inherit}.alt-bridge-inventory small,.alt-bridge-equipment small,.alt-bridge-hazards small,.alt-bridge-playability small{color:var(--muted);overflow-wrap:anywhere}.alt-bridge-trace{display:grid;gap:8px}.alt-bridge-trace-row{align-items:center;background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;display:grid;gap:6px;grid-template-columns:24px minmax(72px,auto) minmax(0,1fr) minmax(72px,auto);padding:8px}.alt-bridge-trace-row span{color:var(--muted);font-size:.72rem;font-weight:800}.alt-bridge-trace-row strong{color:var(--ink);font-size:.78rem}.alt-bridge-trace-row small{color:var(--muted);overflow-wrap:anywhere}.alt-dungeon-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.alt-dungeon-header h1{margin:0}.alt-dungeon-header-actions{display:flex;gap:8px}.alt-dungeon-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.25fr) minmax(280px,1fr);gap:14px;align-items:start}.alt-dungeon-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);padding:14px;min-width:0}.alt-dungeon-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.alt-dungeon-panel-head-tight{margin-bottom:0}.alt-dungeon-panel-head h2,.alt-dungeon-subsection h3{margin:0}.alt-dungeon-package-list{display:grid;gap:8px;max-height:540px;overflow:auto}.alt-dungeon-package{display:grid;gap:4px;width:100%;text-align:left;border-radius:8px;padding:10px;border:1px solid var(--border);background:var(--surface-strong)}.alt-dungeon-package.active{border-color:#1c8a84b3;background:var(--surface-accent)}.alt-dungeon-session-list{display:grid;gap:8px;max-height:280px;overflow:auto}.alt-dungeon-session{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);color:var(--ink);display:grid;gap:4px;padding:9px;text-align:left}.alt-dungeon-session.active{border-color:#1c8a84b3;background:var(--surface-accent)}.alt-dungeon-session span,.alt-dungeon-session small{overflow-wrap:anywhere}.alt-dungeon-session span{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.76rem;font-weight:800}.alt-dungeon-session small{color:var(--muted);font-size:.72rem;font-weight:700}.alt-dungeon-package-id{font-size:.86rem;font-weight:700;overflow-wrap:anywhere}.alt-dungeon-package-meta{color:var(--muted);font-size:.76rem}.alt-dungeon-package-status{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.alt-dungeon-package-compare{display:grid;gap:8px;margin-top:10px;max-height:360px;overflow:auto}.alt-dungeon-package-compare-row{background:var(--surface-strong);border:1px solid var(--border);border-radius:8px;color:var(--ink);display:grid;gap:5px;padding:9px;text-align:left}.alt-dungeon-package-compare-row.active{background:var(--surface-accent);border-color:#1c8a84b3}.alt-dungeon-package-compare-row>span{align-items:center;display:flex;flex-wrap:wrap;gap:5px;min-width:0}.alt-dungeon-package-compare-row strong,.alt-dungeon-package-compare-row small{overflow-wrap:anywhere}.alt-dungeon-package-compare-row strong{font-size:.8rem}.alt-dungeon-package-compare-row small{color:var(--muted);font-size:.72rem;font-weight:700}.alt-dungeon-field{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:.78rem;font-weight:700}.alt-dungeon-field input,.alt-dungeon-field select{width:100%;min-width:0;border-radius:8px;border:1px solid var(--border);background:var(--surface-inset);color:var(--ink);padding:8px 10px;font:inherit}.alt-dungeon-controls{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1fr) auto;gap:10px;align-items:end;margin-top:12px}.alt-dungeon-sim .alt-dungeon-controls{grid-template-columns:minmax(100px,1fr) auto}.alt-dungeon-seed-replay{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.alt-dungeon-seed-replay button{border-radius:8px;padding:7px 9px}.alt-dungeon-render{margin-top:14px;border:1px solid rgba(28,138,132,.25);border-radius:8px;background:var(--surface-strong);padding:12px;display:grid;gap:10px}.alt-dungeon-location{color:var(--accent-2);font-weight:800}.alt-dungeon-lines{display:grid;gap:8px}.alt-dungeon-line{border-radius:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);font-size:1.15rem;font-weight:700;display:grid;gap:4px}.alt-dungeon-line small{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:700;overflow-wrap:anywhere}.alt-dungeon-translated-text{display:inline-grid;gap:2px;max-width:100%;vertical-align:middle}.alt-dungeon-translation-main{overflow-wrap:anywhere}.alt-dungeon-translation-original{color:var(--muted);font-size:.72em;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.alt-dungeon-choices{display:flex;flex-wrap:wrap;gap:8px}.alt-dungeon-facts,.alt-dungeon-chip-group{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.alt-dungeon-pill{display:inline-flex;align-items:center;max-width:100%;border-radius:999px;padding:4px 9px;border:1px solid var(--border);background:var(--surface-strong);color:var(--muted);font-size:.75rem;font-weight:800;overflow-wrap:anywhere}.alt-dungeon-pill-good{color:#047857;border-color:#04785759;background:#10b9811f}.alt-dungeon-pill-warn{color:#a16207;border-color:#a1620759;background:#eab3081f}.alt-dungeon-pill-bad{color:#b91c1c;border-color:#b91c1c59;background:#ef44441f}.alt-dungeon-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.alt-dungeon-metrics>div{border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-strong);display:grid;gap:2px}.alt-dungeon-metrics strong{font-size:1.1rem}.alt-dungeon-metrics span,.alt-dungeon-small-list span{color:var(--muted);font-size:.78rem}.alt-dungeon-subsection{margin-top:14px;display:grid;gap:8px}.alt-dungeon-debug-grid,.alt-dungeon-graph-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.alt-dungeon-graph-toolbar,.alt-dungeon-graph-health{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);display:grid;gap:9px;padding:10px}.alt-dungeon-graph-toolbar .alt-dungeon-field{margin:0}.alt-dungeon-graph-filter-row{display:flex;flex-wrap:wrap;gap:6px}.alt-dungeon-graph-filter-row button{border-radius:999px;font-size:.72rem;font-weight:850;min-height:30px;padding:5px 9px}.alt-dungeon-graph-filter-row button.active{background:var(--surface-accent);border-color:#1c8a84b8;color:var(--ink)}.alt-dungeon-graph-filter-status{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:800}.alt-dungeon-graph-budget-grid{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-budget-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.alt-dungeon-graph-budget{background:var(--surface-inset);border:1px solid var(--border);border-radius:8px;display:grid;gap:2px;min-width:0;padding:8px}.alt-dungeon-graph-budget.passed{border-color:#0478575c}.alt-dungeon-graph-budget.failed{border-color:#b91c1c7a;background:#ef444414}.alt-dungeon-graph-budget span{color:var(--muted);font-size:.7rem;font-weight:900;overflow-wrap:anywhere;text-transform:uppercase}.alt-dungeon-graph-budget strong{color:var(--ink);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:1rem}.alt-dungeon-graph-budget small{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem}.alt-dungeon-graph-section.is-expanded{display:flex;flex-direction:column;gap:10px;position:fixed;inset:18px;z-index:120;margin:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 24px 72px #0f172a47;overflow:auto}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-summary{grid-template-columns:repeat(6,minmax(96px,1fr))}.alt-dungeon-graph-visual{border:1px solid var(--border);border-radius:8px;background:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px),var(--surface-inset);background-size:28px 28px;min-width:0;overflow:hidden}.alt-dungeon-graph-visual svg{display:block;height:auto;max-height:320px;width:100%}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-visual{flex:0 0 min(72vh,760px);min-height:min(560px,calc(100vh - 160px));overflow:auto}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-visual svg{height:100%;max-height:none;min-height:inherit;width:max(100%,1400px)}.alt-dungeon-map-edge{cursor:pointer;outline:none}.alt-dungeon-map-edge path{fill:none;opacity:.78;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.alt-dungeon-map-edge text{fill:#fff;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:900;paint-order:stroke;stroke:#0f172af0;stroke-width:5px;text-anchor:middle;-webkit-user-select:none;user-select:none}.alt-dungeon-map-edge:hover path,.alt-dungeon-map-edge:focus path,.alt-dungeon-map-edge.selected path{opacity:1;stroke-width:4}.alt-dungeon-map-edge.gated-highlight path{filter:drop-shadow(0 0 4px rgba(234,179,8,.75));stroke-width:3.4}.alt-dungeon-map-node{cursor:pointer;outline:none}.alt-dungeon-map-node rect{fill:var(--surface-strong);stroke:var(--border);stroke-width:1.4}.alt-dungeon-map-node text{fill:#fff;font-size:11px;font-weight:900;paint-order:stroke;pointer-events:none;stroke:#0f172af0;stroke-width:4px;text-anchor:middle;-webkit-user-select:none;user-select:none}.alt-dungeon-map-node .alt-dungeon-map-node-meta{fill:#ffffffc7;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800}.alt-dungeon-map-node.active rect{fill:var(--surface-accent);stroke:#1c8a84f2;stroke-width:2.2}.alt-dungeon-map-node.visited:not(.active) rect{stroke:#0478577a}.alt-dungeon-map-node:hover rect,.alt-dungeon-map-node:focus rect,.alt-dungeon-map-node.selected rect{stroke:#2563ebdb;stroke-width:2.5}.alt-dungeon-graph-legend{display:flex;flex-wrap:wrap;gap:6px}.alt-dungeon-graph-role-chip{align-items:center;background:var(--surface-inset);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:900;gap:5px;line-height:1;padding:5px 7px}.alt-dungeon-graph-role-chip span{border-radius:999px;display:inline-block;height:8px;width:8px}.alt-dungeon-graph-inspector{display:grid;gap:8px;grid-template-columns:1fr}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-inspector{grid-template-columns:repeat(2,minmax(0,1fr))}.alt-dungeon-graph-inspector h4{font-size:.78rem;margin:0 0 6px}.alt-dungeon-graph-inspector-grid{display:grid;gap:6px}.alt-dungeon-debug-kv{border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);display:grid;gap:3px;min-width:0;padding:8px}.alt-dungeon-debug-kv span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.alt-dungeon-debug-kv strong{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.76rem;overflow-wrap:anywhere}.alt-dungeon-debug-kv-wide{grid-column:1 / -1}.alt-dungeon-template-list{display:flex;flex-wrap:wrap;gap:6px}.alt-dungeon-template-list code{border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);font-size:.72rem;font-weight:800;padding:4px 7px;overflow-wrap:anywhere}.alt-dungeon-choice-debug-list{display:grid;gap:8px}.alt-dungeon-choice-debug{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);display:grid;gap:8px;padding:10px}.alt-dungeon-choice-debug strong,.alt-dungeon-choice-debug small{display:block;overflow-wrap:anywhere}.alt-dungeon-choice-debug small{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;margin-top:2px}.alt-dungeon-choice-debug-meta{display:flex;flex-wrap:wrap;gap:6px}.alt-dungeon-route-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px}.alt-dungeon-route-breadcrumbs button{align-items:center;background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;color:var(--ink);display:inline-flex;font:inherit;font-size:.78rem;font-weight:850;gap:6px;max-width:100%;padding:5px 9px 5px 5px}.alt-dungeon-route-breadcrumbs button.current{border-color:#1c8a84b3;background:var(--surface-accent)}.alt-dungeon-route-breadcrumbs button span{align-items:center;background:var(--surface-inset);border-radius:999px;color:var(--muted);display:inline-flex;flex:0 0 auto;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.68rem;height:20px;justify-content:center;min-width:20px;padding:0 5px}.alt-dungeon-node-move-history,.alt-dungeon-locked-exit-list{display:grid;gap:7px}.alt-dungeon-node-move-history h4{font-size:.78rem;margin:2px 0 0}.alt-dungeon-move-history-row,.alt-dungeon-locked-exit{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);display:grid;gap:6px;padding:9px}.alt-dungeon-move-history-row{align-items:center;grid-template-columns:auto minmax(0,1fr)}.alt-dungeon-move-history-row>span:not(.alt-dungeon-pill),.alt-dungeon-move-history-row small,.alt-dungeon-locked-exit small{overflow-wrap:anywhere}.alt-dungeon-move-history-row small{color:var(--muted);grid-column:2}.alt-dungeon-locked-exit-title{align-items:center;display:flex;gap:8px;justify-content:space-between}.alt-dungeon-locked-exit-title strong{overflow-wrap:anywhere}.alt-dungeon-graph-list{display:grid;gap:8px;max-height:420px;overflow:auto}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-list{grid-template-columns:repeat(3,minmax(220px,1fr));max-height:260px}.alt-dungeon-graph-node{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);cursor:pointer;display:grid;gap:6px;outline:none;padding:9px}.alt-dungeon-graph-node.active{border-color:#1c8a84bf;background:var(--surface-accent)}.alt-dungeon-graph-node.visited:not(.active){border-color:#04785747}.alt-dungeon-graph-node:hover,.alt-dungeon-graph-node:focus,.alt-dungeon-graph-node.selected{border-color:#2563ebb8}.alt-dungeon-graph-node-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.alt-dungeon-graph-node-title strong,.alt-dungeon-graph-node>small,.alt-dungeon-graph-edge-list button{overflow-wrap:anywhere}.alt-dungeon-graph-node-title span,.alt-dungeon-graph-node>small,.alt-dungeon-graph-edge-list{color:var(--muted);font-size:.72rem;font-weight:800}.alt-dungeon-graph-node>small,.alt-dungeon-graph-edge-list{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.alt-dungeon-graph-node-tags{display:flex;flex-wrap:wrap;gap:5px}.alt-dungeon-inline-button{align-items:center;background:var(--surface-inset);border:1px solid var(--border);border-radius:7px;color:var(--ink);cursor:pointer;display:inline-flex;font:inherit;font-weight:850;justify-content:center;min-height:30px;padding:5px 9px}.alt-dungeon-inline-button:hover,.alt-dungeon-inline-button:focus{border-color:#2563ebb8}.alt-dungeon-inline-button:disabled{cursor:not-allowed;opacity:.52}.alt-dungeon-graph-edge-list{display:grid;gap:3px}.alt-dungeon-graph-relationships{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);display:grid;gap:8px;max-height:180px;overflow:auto;padding:9px}.alt-dungeon-graph-relationship-summary{display:flex;flex-wrap:wrap;gap:6px}.alt-dungeon-graph-relationships button{background:var(--surface-inset);border:1px solid var(--border);border-radius:7px;color:var(--ink);display:grid;font:inherit;gap:3px;padding:7px;text-align:left}.alt-dungeon-graph-relationships strong,.alt-dungeon-graph-relationships span,.alt-dungeon-graph-relationships small{overflow-wrap:anywhere}.alt-dungeon-graph-relationships small{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.7rem}.alt-dungeon-graph-edge-list button{background:transparent;border:0;border-radius:6px;color:inherit;font:inherit;padding:3px 4px;text-align:left}.alt-dungeon-graph-edge-list button:hover,.alt-dungeon-graph-edge-list button:focus,.alt-dungeon-graph-edge-list button.selected{background:var(--surface-inset);color:var(--text)}.alt-dungeon-map-relationship{stroke:#eab308b3;stroke-dasharray:7 5;stroke-linecap:round;stroke-width:2;pointer-events:none}.alt-dungeon-map-relationship.shortcut_route{stroke:#f472b685}.alt-dungeon-map-relationship.clue_unlocks_shortcut,.alt-dungeon-map-relationship.clue_branch{stroke:#38bdf8ad}.alt-dungeon-map-relationship.key_unlocks_shortcut,.alt-dungeon-map-relationship.reward_branch{stroke:#facc15b8}.alt-dungeon-map-relationship.risk_branch{stroke:#f87171b8}.alt-dungeon-map-relationship.decoy_branch{stroke:#a855f7a8}.alt-dungeon-small-list{display:grid;gap:4px}.alt-dungeon-issue-list{display:grid;gap:7px}.alt-dungeon-issue{align-items:center;background:var(--surface-inset);border:1px solid var(--border);border-radius:8px;display:grid;gap:4px 8px;grid-template-columns:auto minmax(0,1fr);padding:8px}.alt-dungeon-issue>span:not(.alt-dungeon-pill){font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere}.alt-dungeon-issue small{color:var(--muted);font-size:.72rem;grid-column:2;overflow-wrap:anywhere}.alt-dungeon-trace-list{display:grid;gap:10px;max-height:360px;overflow:auto}.alt-dungeon-trace{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:10px;display:grid;gap:6px}.alt-dungeon-trace-title{font-size:.82rem;font-weight:800;overflow-wrap:anywhere}.alt-dungeon-trace-step{display:grid;grid-template-columns:90px 1fr 60px;gap:8px;align-items:center;color:var(--muted);font-size:.78rem}.alt-dungeon-trace-step>span{display:grid;gap:2px;min-width:0}.alt-dungeon-trace-step small{color:var(--ink);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}.alt-dungeon-trace-step .alt-dungeon-materialized-ref{color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.66rem}.alt-dungeon-json{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:12px;color:var(--ink);font-size:.78rem;line-height:1.45}.alt-dungeon-error{border-radius:8px;padding:10px 12px}@media(max-width:980px){.alt-dungeon-layout{grid-template-columns:1fr}.alt-dungeon-header{display:grid}}@media(max-width:640px){.alt-dungeon-controls,.alt-dungeon-sim .alt-dungeon-controls,.alt-dungeon-metrics,.alt-dungeon-debug-grid,.alt-dungeon-graph-summary{grid-template-columns:1fr}.alt-dungeon-graph-section.is-expanded{inset:8px;padding:10px}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-summary,.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-inspector,.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-list{grid-template-columns:1fr}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-visual{flex-basis:68vh;min-height:420px}.alt-dungeon-graph-section.is-expanded .alt-dungeon-graph-visual svg{height:100%;min-height:inherit;width:900px}.alt-dungeon-trace-step{grid-template-columns:1fr}}.quests-fab{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:42;border-radius:999px;padding:10px 14px;border:1px solid rgba(28,138,132,.5);background:linear-gradient(145deg,var(--surface-strong),var(--surface-accent));box-shadow:0 12px 26px #1c8a8447;display:inline-flex;align-items:center;gap:10px}.quests-fab:hover{transform:translateY(-50%)}.quests-fab-icon{font-weight:700;color:var(--accent-2)}.quests-fab-badge{min-width:24px;height:24px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff6b4a,#f97316);border:1px solid rgba(255,107,74,.6)}.lootbox-fab{position:fixed;right:16px;top:calc(50% + 64px);transform:translateY(-50%);z-index:42;border-radius:999px;padding:10px 14px;border:1px solid rgba(245,158,11,.55);background:linear-gradient(145deg,var(--surface-strong),var(--surface-pop));box-shadow:var(--shadow-strong);display:inline-flex;align-items:center;gap:10px}.lootbox-fab:hover{transform:translateY(-50%)}.lootbox-fab-icon{font-weight:700;color:var(--text-gold)}.lootbox-fab-badge{min-width:28px;height:24px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#f59e0b,#ea580c);border:1px solid rgba(217,119,6,.65)}.quests-drawer-root{position:fixed;inset:0;z-index:44}.quests-drawer-backdrop{position:absolute;inset:0;border:none;background:var(--backdrop);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.quests-drawer{position:absolute;top:0;right:0;width:min(420px,90vw);height:100%;padding:20px 18px;background:var(--drawer-bg);border-left:1px solid rgba(255,107,74,.2);box-shadow:-10px 0 32px #1f1b1629;overflow-y:auto;animation:quests-slide-in .18s ease-out}.quests-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.quests-drawer-header h2{margin:0}.quests-section{margin-bottom:16px}.quests-section h3{margin:0 0 10px;font-family:Fraunces,Georgia,serif;color:var(--ink)}.quests-list{display:flex;flex-direction:column;gap:10px}.quest-item{border:1px solid rgba(28,138,132,.22);border-radius:12px;padding:12px;background:var(--surface);box-shadow:0 6px 14px #1f1b160f}.quest-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.quest-reward{font-size:.82rem;font-weight:700;color:var(--text-gold)}.quest-meta{margin-top:4px;font-size:.84rem;color:var(--muted)}.quest-progress{margin-top:8px;height:8px;width:100%;border-radius:999px;background:#1c8a8424;overflow:hidden}.quest-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6b4a,#1c8a84);transition:width .2s ease-out}.lootbox-drawer-root{position:fixed;inset:0;z-index:44}.lootbox-drawer-backdrop{position:absolute;inset:0;border:none;background:var(--backdrop);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.lootbox-drawer{position:absolute;top:0;right:0;width:min(440px,92vw);height:100%;padding:20px 18px;background:var(--drawer-bg-warm);border-left:1px solid rgba(245,158,11,.28);box-shadow:-10px 0 34px #1f1b162e;overflow-y:auto;animation:quests-slide-in .18s ease-out}.lootbox-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.lootbox-drawer-header h2{margin:0}.lootbox-balance-row{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(245,158,11,.26);border-radius:12px;padding:10px 12px;background:var(--surface)}.lootbox-balance-label{font-weight:600;color:var(--muted)}.lootbox-balance-value{font-size:1.05rem;font-weight:800;color:var(--text-gold)}.lootbox-actions{display:flex;gap:10px;flex-wrap:wrap}.lootbox-roll-button{border-radius:999px;padding:8px 14px;border:1px solid rgba(245,158,11,.5);background:linear-gradient(135deg,var(--surface-pop),var(--surface-strong));color:var(--text-gold)}.lootbox-notice{margin-top:10px;font-size:.92rem;color:var(--text-gold)}.lootbox-results{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.loot-reward-card{border:1px solid rgba(107,114,128,.32);border-radius:12px;padding:10px;background:var(--surface);box-shadow:0 6px 14px #1f1b1614}.loot-reward-type{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.loot-reward-label{margin-top:5px;font-weight:700;color:var(--ink);line-height:1.3}.loot-reward-rarity{margin-top:7px;font-size:.8rem;font-weight:700;text-transform:capitalize}.loot-rarity-common{border-color:#6b728066}.loot-rarity-uncommon{border-color:#22c55e85}.loot-rarity-rare{border-color:#3b82f685}.loot-rarity-epic{border-color:#8b5cf68c}.loot-rarity-legendary{border-color:#f59e0b9e}@keyframes hud-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes quests-slide-in{0%{transform:translate(22px);opacity:0}to{transform:translate(0);opacity:1}}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(520px,92vw);border-radius:18px;border:1px solid rgba(28,138,132,.25);background:linear-gradient(160deg,var(--surface-strong) 0%,var(--surface-accent) 100%);box-shadow:var(--shadow);padding:20px}.auth-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0;padding:4px;border:1px solid rgba(28,138,132,.22);border-radius:10px;background:#0f172a0a}.auth-mode-tab{min-height:36px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.1}.auth-mode-tab.active{background:#1c8a84;color:#f8fafc;box-shadow:0 8px 18px #1c8a842e}.dev-auth-card{display:grid;gap:14px}.dev-auth-form{display:grid;gap:12px}.dev-auth-form label{display:grid;gap:6px;color:var(--muted);font-size:.84rem;font-weight:850}.dev-auth-form input{width:100%;border:1px solid rgba(28,138,132,.32);border-radius:9px;background:var(--surface);color:var(--ink);padding:10px 11px;font:inherit}.dev-auth-actions,.dev-auth-presets{display:flex;flex-wrap:wrap;gap:8px}.dev-auth-actions button,.dev-auth-presets button{border:1px solid rgba(28,138,132,.34);border-radius:9px;background:#1c8a84;color:#f8fafc;padding:9px 12px;font-weight:900}.dev-auth-actions button.secondary,.dev-auth-presets button{background:var(--surface);color:var(--ink)}.dev-auth-actions button.ghost{background:#1c8a8414;color:#14635f}.dev-auth-actions button:disabled{cursor:wait;opacity:.72}.dev-auth-notice{border:1px solid rgba(28,138,132,.2);border-radius:9px;background:#1c8a8414;color:var(--muted);padding:9px 10px;font-size:.84rem;font-weight:750}.app{display:flex;flex-direction:column;gap:16px}.page-loading{min-height:45vh;display:grid;place-items:center}.page-loading-panel{border:1px solid rgba(28,138,132,.22);border-radius:10px;background:var(--surface);color:var(--muted);padding:14px 18px;font-weight:850;box-shadow:var(--shadow)}.layout{display:flex;gap:24px;align-items:flex-start}.panel{background:var(--panel);border:1px solid rgba(255,107,74,.2);border-radius:18px;box-shadow:var(--shadow);padding:20px}.panel-left{flex:1}.panel-right{width:300px}.topics-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.topics{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.topic-button{background:linear-gradient(135deg,var(--surface-pop) 0%,var(--panel-muted) 100%);border-color:#ff6b4a59;color:var(--text-warm)}.jp-stream{border:1px solid rgba(127,60,255,.2);background:var(--surface-inset);border-radius:14px;padding:12px;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:8px 0 16px;box-shadow:inset 0 1px #ffffff14}.jp-line{font-size:inherit;line-height:1.4;display:flex;align-items:center;gap:12px}.play-button{width:28px;height:28px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;background:linear-gradient(135deg,var(--surface-strong) 0%,var(--surface-pop) 100%)}.output-panel{border:1px solid rgba(28,138,132,.35);margin-top:8px;padding:16px;background:linear-gradient(135deg,var(--surface-pop),var(--surface-strong));border-radius:14px;box-shadow:inset 0 1px #ffffff14}.output-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.output-header h2{margin:0;font-size:1.1rem}.translation{color:var(--muted);margin-top:4px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-button{border:1px solid rgba(28,138,132,.35);background:var(--surface-strong);padding:4px 10px;border-radius:10px}.tag-button.selected{border:2px solid var(--accent);color:var(--accent);box-shadow:0 6px 16px #ff6b4a33}.score-buttons{display:flex;gap:12px}.slider-panel{margin-top:16px;display:flex;flex-direction:column;gap:12px}.memory-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.memory-grid{display:grid;grid-template-columns:1fr 120px 100px 60px;gap:8px;margin-top:10px;font-size:.95rem}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.page{background:var(--panel);border:1px solid rgba(255,107,74,.2);border-radius:18px;box-shadow:var(--shadow);padding:28px;min-height:320px}.kanji-games-page{display:flex;flex-direction:column;gap:18px}.kanji-games-hero{display:flex;flex-direction:column;gap:6px}.kanji-games-list{display:flex;flex-direction:column;gap:16px}.kanji-game-card,.kanji-game-detail,.kanji-game-session{width:100%;display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:stretch}.kanji-game-card{text-align:left;border-radius:18px;border:1px solid rgba(28,138,132,.22);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);padding:18px}.kanji-game-card:hover{border-color:#1c8a8480}.kanji-game-copy{min-width:0;display:flex;flex-direction:column;gap:10px}.kanji-game-card-top,.kanji-game-detail-header,.kanji-game-session-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.kanji-game-card-top h2,.kanji-game-copy h1{margin:0}.kanji-game-status{flex:0 0 auto;border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:700;color:var(--accent-2);border:1px solid rgba(28,138,132,.34);background:#1c8a841f}.kanji-game-placeholder{min-height:140px;border-radius:16px;border:1px dashed rgba(127,60,255,.32);background:linear-gradient(135deg,#7f3cff14,#ff6b4a14),var(--surface-inset);color:var(--muted);display:grid;place-items:center;font-weight:700;letter-spacing:.03em}.kanji-game-placeholder.large{min-height:260px}.kanji-game-actions{display:flex;gap:12px;flex-wrap:wrap}.kanji-game-overlay{position:absolute;inset:0;border-radius:inherit;display:grid;place-items:center;background:#060a0e6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3}.kanji-game-overlay-card{width:min(360px,calc(100% - 32px));border-radius:20px;padding:22px;border:1px solid rgba(255,107,74,.18);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-strong);display:flex;flex-direction:column;gap:12px;text-align:center}.kanji-game-overlay-card h2{margin:0}.kanji-game-session-topbar{display:flex;gap:14px;flex-wrap:wrap}.kanji-game-topbox{min-width:150px;border-radius:16px;padding:14px 16px;border:1px solid rgba(28,138,132,.22);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:4px}.kanji-game-topbox-timer{min-width:200px}.kanji-game-topbox-timer.warning{border-color:#ff6b4a57;background:linear-gradient(135deg,var(--surface-strong),rgba(255,107,74,.12))}.kanji-game-topbox-label{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.kanji-game-topbox-value{font-size:1.55rem;line-height:1}.kanji-game-topbox-sub{font-size:.82rem;color:var(--muted)}.kanji-game-radical-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}.kanji-game-radical-board-panel,.kanji-game-radical-sidebar{padding:18px}.kanji-game-radical-board-wrap{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:22px;padding:14px;background:radial-gradient(circle at center,rgba(127,60,255,.06),transparent 38%),linear-gradient(135deg,var(--surface-strong),var(--surface-accent));border:1px solid rgba(127,60,255,.12)}.radical-board-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));gap:8px;width:100%;height:100%}.radical-board-cell{min-width:0;min-height:0;border-radius:14px}.radical-board-cell-empty{background:#ffffff08;border:1px dashed rgba(127,60,255,.12)}.radical-board-cell-outer{display:grid;place-items:center;padding:0;border:1px solid rgba(28,138,132,.24);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:inset 0 1px #ffffff0f}.radical-board-char{font-size:clamp(1.2rem,2.4vw,1.95rem);line-height:1}.radical-board-center{position:absolute;inset:24%;display:grid;place-items:center;pointer-events:none}.radical-board-center-card{width:100%;height:100%;min-height:220px;border-radius:24px;border:1px solid rgba(255,107,74,.18);background:linear-gradient(135deg,#ff6b4a14,#7f3cff14),var(--surface-inset);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;box-shadow:var(--shadow-soft)}.radical-board-center-label{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.radical-board-center-char{font-size:clamp(3rem,7vw,5rem);line-height:1}.radical-board-center-name{font-size:.95rem;color:var(--muted)}.kanji-game-session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.kanji-game-stat{border-radius:14px;padding:12px;border:1px solid rgba(28,138,132,.2);background:var(--surface);display:flex;flex-direction:column;gap:6px}.kanji-game-radical-instructions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.kanji-game-radical-instructions h2{margin:0;font-size:1rem}.kanji-game-feedback{border-radius:12px;padding:10px 12px;border:1px solid rgba(255,107,74,.2);background:#ff6b4a14;font-weight:600}.kanji-game-alternating-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}.kanji-game-alternating-board,.kanji-game-alternating-sidebar{position:relative;padding:20px}.kanji-game-alternating-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.kanji-choice-center{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.kanji-choice-card,.radical-choice-card,.kanji-single-card{border-radius:22px;padding:20px;border:1px solid rgba(28,138,132,.22);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:210px;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.kanji-choice-card.is-correct,.radical-choice-card.is-correct{border-color:#1c8a84c7;background:radial-gradient(circle at top,rgba(28,138,132,.2),transparent 54%),linear-gradient(135deg,var(--surface-strong),rgba(28,138,132,.16));box-shadow:0 16px 36px #1c8a8438;transform:translateY(-2px) scale(1.015)}.kanji-choice-card.is-wrong,.radical-choice-card.is-wrong{border-color:#ff6b4ad1;background:radial-gradient(circle at top,rgba(255,107,74,.22),transparent 54%),linear-gradient(135deg,var(--surface-strong),rgba(255,107,74,.14));box-shadow:0 16px 36px #ff6b4a33;transform:translateY(1px) scale(.99)}.kanji-choice-card.is-dimmed,.radical-choice-card.is-dimmed{opacity:.58}.kanji-choice-card.is-revealed,.radical-choice-card.is-revealed{opacity:1}.kanji-choice-char,.kanji-single-char{font-size:clamp(3.2rem,9vw,5.4rem);line-height:1}.kanji-choice-sub,.radical-choice-sub{color:var(--muted);font-size:.95rem}.kanji-choice-furigana{position:relative;color:var(--muted);font-size:1.275rem;letter-spacing:.04em;cursor:default}.kanji-choice-furigana:after{content:"";position:absolute;inset:-3px -7px;background:var(--surface-strong);border-radius:5px;transition:opacity .12s}.kanji-choice-furigana:hover:after{opacity:0}.kanji-image-choice-card.is-correct .kanji-choice-furigana:after,.kanji-image-choice-card.is-wrong .kanji-choice-furigana:after,.kanji-image-choice-card.is-revealed .kanji-choice-furigana:after{opacity:0}.kanji-image-session-timer{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text);min-width:3.2rem;text-align:right}.kanji-image-session-timer.warning{color:#e05e3a}.kanji-image-duration-row{display:flex;flex-direction:column;gap:8px;margin-top:12px}.kanji-inline-link{background:none;border:none;padding:0;color:var(--accent-2);cursor:pointer;font-size:inherit;text-decoration:underline}.kanji-back-link{background:none;border:none;padding:0 0 8px;color:var(--accent-2);cursor:pointer;font-size:.9rem;display:block}.image-srs-library-layout{display:flex;gap:24px;padding:0 32px 32px;align-items:flex-start}.image-srs-library-list{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.image-srs-library-row{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;transition:background .1s}.image-srs-library-row:hover{background:var(--surface-strong)}.image-srs-library-row.selected{border-color:var(--accent-2);background:var(--surface-strong)}.image-srs-library-row.overdue{border-left:3px solid #e05e3a}.image-srs-library-row-kanji{font-size:1.6rem;font-weight:700;min-width:36px;text-align:center}.image-srs-library-row-info{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.88rem;min-width:0}.image-srs-library-row-source{font-weight:600}.image-srs-library-row-due{font-size:.8rem;white-space:nowrap}.image-srs-library-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.image-srs-due-badge{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.image-srs-due-badge.overdue{background:#e05e3a26;color:#e05e3a}.image-srs-due-badge.future{background:var(--surface-strong);color:var(--muted)}.image-srs-due-badge.new{background:#1c8a8426;color:var(--accent-2)}.image-srs-library-detail{width:280px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;position:sticky;top:80px}.image-srs-detail-kanji{font-size:3rem;font-weight:800;text-align:center}.image-srs-detail-source{text-align:center;font-size:1rem;font-weight:600}.image-srs-detail-image{width:100%;height:auto;border-radius:10px;object-fit:contain}.image-srs-detail-no-image{text-align:center;padding:24px 0;font-size:.85rem}.image-srs-detail-stats{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.image-srs-detail-stats div{display:flex;justify-content:space-between}.kanji-image-nothing-due{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px;background:var(--surface-strong);font-size:.95rem}.kanji-source-badge{border-radius:999px;padding:4px 9px;border:1px solid rgba(28,138,132,.28);background:#1c8a841a;color:var(--accent-2);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.kanji-badge-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.kanji-meaning-badge{border-color:#ff6b4a47;background:#ff6b4a1a;color:var(--accent)}.kanji-choice-source{color:var(--muted);font-size:.8rem}.kanji-answer-mark{margin-top:4px;border-radius:999px;padding:5px 10px;background:var(--surface-inset);color:var(--text);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.kanji-game-answer-area{min-height:200px}.kanji-answer-reveal{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:8px 0 4px}.kanji-reveal-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 18px;border-radius:12px;min-width:110px}.kanji-reveal-wrong{background:#e05e3a1f;border:1px solid rgba(224,94,58,.35)}.kanji-reveal-correct{background:#1c8a841a;border:1px solid rgba(28,138,132,.35)}.kanji-reveal-correct--contrast{background:#1c8a842e}.kanji-reveal-badge{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.kanji-reveal-kanji{font-size:1.5rem;font-weight:700;line-height:1}.kanji-reveal-reading{font-size:.85rem;color:var(--muted)}.kanji-reveal-meaning{font-size:.82rem;color:var(--ink)}.kanji-choice-bottom{display:flex;flex-direction:column;gap:12px;align-items:center}.kanji-choice-radical-prompt{width:min(280px,100%);border-radius:18px;padding:18px;border:1px solid rgba(255,107,74,.18);background:linear-gradient(135deg,rgba(255,107,74,.08),var(--surface-inset));display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.kanji-choice-radical-char,.radical-choice-char{font-size:clamp(2.4rem,7vw,4rem);line-height:1}.kanji-single-center{display:flex;justify-content:center;margin-bottom:18px}.kanji-single-card{width:min(340px,100%)}.radical-choice-row{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kanji-game-image-board{position:relative;padding:20px;max-width:100%;margin:0 auto}.kanji-image-prompt-card{border-radius:26px;border:1px solid rgba(255,107,74,.18);background:radial-gradient(circle at 18% 16%,rgba(255,107,74,.14),transparent 30%),linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);padding:14px;display:flex;flex-direction:column;align-items:center;margin-bottom:18px}.kanji-image-mock-art{position:relative;width:100%;max-height:480px;aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 70% 22%,rgba(255,242,166,.76),transparent 18%),radial-gradient(circle at 28% 82%,rgba(28,138,132,.52),transparent 28%),linear-gradient(145deg,#294f52eb,#141e2af0)}.kanji-image-generated-art{width:100%;max-height:480px;object-fit:contain;border-radius:18px;background:var(--surface-inset);display:block}.kanji-image-mock-art:before,.kanji-image-mock-art:after{content:"";position:absolute;inset:auto -10% -8%;height:42%;border-radius:999px 999px 0 0;background:#1c8a8457;z-index:-1}.kanji-image-mock-art:after{inset:auto 12% -14%;height:55%;background:#ff6b4a33}.kanji-image-mock-glow{position:absolute;width:62%;aspect-ratio:1 / 1;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.26),transparent 64%);filter:blur(2px)}.kanji-image-mock-subject{font-size:clamp(4.2rem,12vw,8rem);color:#ffffffe0;text-shadow:0 18px 42px rgba(0,0,0,.34)}.kanji-image-prompt-copy{min-width:0;border-radius:20px;padding:18px;background:var(--surface-inset);display:flex;flex-direction:column;justify-content:center;gap:8px}.kanji-image-prompt-copy strong{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05}.kanji-image-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kanji-image-choice-card{min-height:160px;container-type:inline-size}.kanji-image-choice-card .kanji-choice-char{font-size:clamp(1rem,calc(70cqi / var(--label-len, 1)),3.5rem);word-break:keep-all}.kanji-image-start-options{border-radius:16px;padding:14px;border:1px solid rgba(28,138,132,.2);background:var(--surface-inset);display:flex;flex-direction:column;gap:10px}.kanji-image-scope-section{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07)}.kanji-image-scope-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #888);display:flex;align-items:center;gap:8px}.kanji-image-vocab-unlock-badge{display:flex;align-items:baseline;gap:3px}.kanji-image-mode-toggle{display:flex;gap:10px;flex-wrap:wrap}.kanji-image-mode-toggle button.active{border-color:#1c8a8494;color:var(--accent-2);background:linear-gradient(135deg,rgba(28,138,132,.16),var(--surface-strong))}.kanji-image-topic-field{display:flex;flex-direction:column;gap:8px}.kanji-image-topic-field input,.kanji-image-style-select{border-radius:12px;padding:10px 12px;border:1px solid rgba(28,138,132,.24);color:var(--ink);background:var(--surface);font-size:.95rem;width:100%}.kanji-meaning-setup-panel{max-width:880px}.kanji-generation-log{margin-top:12px;padding:12px 14px;background:var(--surface-alt, rgba(0,0,0,.04));border-radius:10px;border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-family:monospace;max-height:220px;overflow-y:auto;scroll-behavior:smooth}.kanji-gen-log-line{color:var(--ink);opacity:.85;line-height:1.5}.kanji-gen-log-line:last-child{opacity:1;font-weight:600}.empty-page{display:flex;flex-direction:column;gap:12px}.skill-tree-page{display:flex;flex-direction:column;gap:22px}.topic-progression-page{display:flex;flex-direction:column;gap:30px}.topic-progression-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topic-progression-header h1,.topic-gate-panel h2,.topic-category-header h2{margin:0}.topic-progression-header p{max-width:680px;margin:6px 0 0}.topic-title-toggle,.topic-level-selector{display:inline-flex;width:fit-content;align-items:center;gap:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:4px}.topic-title-toggle button,.topic-level-selector button{border:0;border-radius:6px;background:transparent;color:var(--muted);min-height:32px;padding:6px 10px;font-size:.8rem;font-weight:900}.topic-title-toggle button:hover,.topic-title-toggle button.active,.topic-level-selector button:hover,.topic-level-selector button.active{background:#1c8a841f;color:var(--accent-2)}.topic-progression-kicker{margin:0 0 6px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.topic-gate-panel{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,2fr) auto;grid-template-areas:"copy progress actions";gap:10px 16px;align-items:center;border:1px solid rgba(28,138,132,.25);border-radius:12px;background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);padding:12px 14px}.topic-gate-panel>.topic-gate-copy{grid-area:copy}.topic-gate-panel>.topic-gate-progress{grid-area:progress}.topic-gate-panel>.topic-gate-actions{grid-area:actions}.topic-gate-panel>.topic-gate-error,.topic-gate-panel>.read-guard{grid-column:1 / -1}.topic-gate-panel h2{font-size:1.3rem;line-height:1.25}.topic-gate-panel .topic-progression-kicker{margin-bottom:0}.topic-gate-copy{display:grid;gap:4px}.topic-gate-copy span{color:var(--muted);font-weight:800}.topic-gate-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.topic-gate-error{color:#b91c1c;font-size:.78rem;font-weight:850}.topic-gate-stats{display:flex;flex-wrap:wrap;gap:6px}.topic-gate-stats div{display:grid;gap:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:5px 10px}.topic-gate-stats strong{color:var(--accent-2);font-size:1.1rem;line-height:1}.topic-gate-stats span{color:var(--muted);font-size:.78rem;font-weight:800}.topic-gate-unlocks{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start}.topic-gate-unlocks span{border:1px solid rgba(255,107,74,.28);border-radius:999px;background:var(--surface-strong);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:3px 8px;font-weight:900}.topic-gate-unlocks strong{color:var(--ink);font-size:.84rem;line-height:1.15}.topic-gate-unlocks i{font-style:normal;text-align:center}.topic-gate-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.topic-gate-actions button{border-radius:999px;min-width:0;padding:6px 14px;font-weight:900}.topic-gate-actions button.saved{border-color:#16a34a5c;background:#16a34a1f;color:#15803d}.topic-gate-actions button.liked{border-color:#e11d4852;background:#e11d481a;color:#be123c}.topic-root-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.topic-root-nav button{position:relative;isolation:isolate;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:0 10px;min-height:0;overflow:hidden;border:1px solid rgba(28,138,132,.18);border-radius:8px;background:linear-gradient(180deg,#ffffffd6,#ffffff80),var(--surface-strong);color:var(--ink);box-shadow:0 4px 12px #1f29370f;padding:8px 12px;text-align:left;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}[data-theme=dark] .topic-root-nav button{background:linear-gradient(180deg,#1e293bc7,#0f172aa3),var(--surface-strong)}.topic-root-nav button:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--topic-accent, var(--accent-2));z-index:-1}.topic-root-nav button:nth-of-type(1){--topic-accent: #1c8a84}.topic-root-nav button:nth-of-type(2){--topic-accent: #2f6fed}.topic-root-nav button:nth-of-type(3){--topic-accent: #d94f2b}.topic-root-nav button:nth-of-type(4){--topic-accent: #7f3cff}.topic-root-nav button:nth-of-type(5){--topic-accent: #b16a00}.topic-root-nav button:nth-of-type(6){--topic-accent: #138a3d}.topic-root-nav button.active,.topic-root-nav button:hover{border-color:color-mix(in srgb,var(--topic-accent, var(--accent-2)) 48%,transparent);box-shadow:0 18px 34px #1f293721;transform:translateY(-2px)}.topic-root-nav .topic-root-card-mark{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--topic-accent, var(--accent-2)) 38%,transparent);border-radius:6px;background:color-mix(in srgb,var(--topic-accent, var(--accent-2)) 13%,var(--surface-strong));color:var(--topic-accent, var(--accent-2));font-size:1rem;font-weight:950}.topic-root-nav .topic-root-card-mark:before{content:attr(data-topic-initial)}.topic-root-nav strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.2}.topic-root-nav button>span:not(.topic-root-card-mark){color:var(--muted);font-size:.78rem;font-weight:900}.topic-browser-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:18px;align-items:start}.topic-browser-layout.is-all-topics{grid-template-columns:minmax(0,1fr)}.topic-browser-layout.is-all-topics .topic-browser-rail:empty{display:none}.topic-browser-anchor{scroll-margin-top:88px}.topic-browser-main,.topic-browser-rail,.topic-rail-panel{display:grid;gap:12px}.topic-browser-main{min-width:0}.topic-all-articles{display:grid;gap:10px;scroll-margin-top:88px}.topic-all-articles>header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(28,138,132,.18);border-radius:12px;background:color-mix(in srgb,#1c8a84 7%,var(--surface-strong))}.topic-all-articles>header h2,.topic-all-articles>header p{margin:0}.topic-all-articles>header>strong{min-width:40px;padding:6px 10px;border-radius:999px;background:var(--surface-strong);color:var(--accent-2);text-align:center}.topic-all-article-list{display:grid;gap:5px}.topic-paginated-hierarchy{display:grid;gap:14px;scroll-margin-top:88px}.topic-article-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--topic-accent, var(--accent-2)) 22%,transparent);border-radius:12px;background:color-mix(in srgb,var(--topic-accent, var(--accent-2)) 5%,var(--surface-strong))}.topic-article-pagination>span{color:var(--muted);font-size:.82rem;font-weight:900}.topic-article-pagination>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.topic-article-pagination button{min-width:36px;min-height:36px;padding:6px 10px;border-color:color-mix(in srgb,var(--topic-accent, var(--accent-2)) 25%,transparent);border-radius:8px;background:var(--surface-strong);color:var(--text);font-weight:900}.topic-article-pagination button.active{border-color:var(--topic-accent, var(--accent-2));background:var(--topic-accent, var(--accent-2));color:#fff}.topic-article-pagination button:disabled{opacity:.42}.topic-pagination-gap{min-width:22px;color:var(--muted);text-align:center;font-weight:900}@media(max-width:560px){.topic-article-pagination{align-items:stretch}.topic-article-pagination>span{width:100%}.topic-article-pagination>div{justify-content:space-between;width:100%}}.topic-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.topic-breadcrumbs button{border-color:#2f6fed2e;border-radius:8px;background:color-mix(in srgb,#2f6fed 7%,var(--surface-strong));padding:6px 10px;color:var(--muted);font-size:.78rem;font-weight:900}.topic-article-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.topic-article-filters button{border-color:#1c8a8438;border-radius:999px;background:var(--surface-strong);padding:7px 12px;color:var(--muted);font-size:.8rem;font-weight:900}.topic-article-filters button.active{border-color:#1c8a8480;background:color-mix(in srgb,#1c8a84 13%,var(--surface-strong));color:var(--accent-2)}.topic-article-filters span{color:var(--muted);font-size:.76rem}.topic-tree-node{position:relative;display:grid;gap:5px;border:1px solid rgba(28,138,132,.16);border-radius:8px;background:color-mix(in srgb,var(--surface-strong) 86%,var(--surface-inset));box-shadow:0 2px 8px #1f29370d;padding:8px}.topic-tree-node:before{content:"";position:absolute;top:8px;bottom:8px;left:13px;width:100%;border-radius:999px;background:#1c8a842e}.topic-tree-node+.topic-tree-node{margin-top:5px}.topic-tree-node.current{border-color:#1c8a846b;box-shadow:0 16px 30px #1c8a841a}.topic-tree-node.depth-1,.topic-tree-node.depth-2,.topic-tree-node.depth-3{margin-left:18px}.topic-tree-node-header{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:stretch;gap:8px;position:relative;z-index:1}.topic-tree-expand{width:28px;min-height:28px;padding:0;border-color:#1c8a843d;border-radius:999px;background:var(--surface-strong);color:var(--accent-2);font-weight:950}.topic-tree-expand:disabled{opacity:.35}.topic-tree-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border-radius:8px;border-color:#1c8a8424;background:var(--surface-strong);padding:5px 10px;text-align:left}.topic-tree-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-tree-title span{color:var(--muted);font-size:.76rem;font-weight:900;white-space:nowrap}.topic-tree-children{display:grid;gap:4px;position:relative;z-index:1}.topic-article-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px;border:1px solid rgba(28,138,132,.12);border-radius:8px;background:var(--surface-strong);padding:5px 6px 5px 10px}.topic-article-row.selected{border-color:#1c8a846b;background:color-mix(in srgb,#1c8a84 8%,var(--surface-strong));color:var(--accent-2)}.topic-article-row.unavailable{opacity:.72}.topic-article-main,.topic-article-meta{min-width:0;display:grid;gap:3px}.topic-article-main{display:flex;align-items:baseline;gap:8px}.topic-article-main strong{min-width:0}.topic-article-main span{flex:none}.topic-article-main strong{overflow:visible;white-space:normal;overflow-wrap:anywhere}.topic-article-tags{display:inline-flex;flex-wrap:wrap;gap:4px;min-width:0}.topic-article-tags span,.topic-tag-filter-list button{border:1px solid rgba(28,138,132,.2);border-radius:999px;background:color-mix(in srgb,#1c8a84 7%,var(--surface-strong));color:var(--accent-2);font-size:.68rem;font-weight:800;line-height:1.15}.topic-article-tags span{padding:2px 6px}.topic-tag-filters{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid rgba(28,138,132,.16);border-radius:10px;background:color-mix(in srgb,#1c8a84 4%,var(--surface-strong))}.topic-tag-filters-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.8rem}.topic-tag-filters-heading button{padding:2px 7px;border:0;background:transparent;color:var(--accent-2);font-size:.76rem;font-weight:850}.topic-tag-filter-list{display:flex;flex-wrap:wrap;gap:5px}.topic-tag-filter-list button{padding:4px 8px}.topic-tag-filter-list button.selected{border-color:var(--accent-2);background:var(--accent-2);color:#fff}.topic-tag-filter-list small{margin-left:2px;opacity:.72;font:inherit}.topic-article-main span,.topic-article-meta span,.topic-empty-note{color:var(--muted);font-size:.78rem;font-weight:800}.topic-level-badges{display:inline-flex;align-items:center;gap:5px}.topic-level-badges span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);font-size:.72rem;font-weight:950;line-height:1;box-shadow:inset 0 0 0 1px #ffffff2e}.topic-level-badges span.available{border-color:#16a34a6b;background:color-mix(in srgb,#16a34a 14%,var(--surface-strong));color:#15803d}.topic-article-meta{text-align:right}.topic-article-row button,.topic-article-read-link{border-radius:999px;padding:4px 11px;font-size:.8rem;font-weight:900}.topic-article-read-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--button-bg);color:var(--ink);line-height:normal;text-decoration:none;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.topic-article-read-link:hover{border-color:var(--accent);color:var(--ink);text-decoration:none;box-shadow:0 8px 18px #ff6b4a40;transform:translateY(-1px)}.topic-article-read-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topic-article-read-link.is-disabled{opacity:.55;cursor:not-allowed}.topic-rail-panel{border:1px solid rgba(47,111,237,.16);border-radius:8px;background:color-mix(in srgb,#2f6fed 5%,var(--surface-strong));box-shadow:0 12px 26px #1f293712;padding:14px}.topic-request-panel{display:grid;gap:12px;border:1px solid rgba(177,106,0,.28);border-radius:8px;background:linear-gradient(135deg,rgba(177,106,0,.12),transparent 58%),var(--surface-strong);box-shadow:0 14px 28px #1f293714;padding:14px}.topic-request-panel h3{margin:0 0 4px;color:var(--text-gold);font-size:1.1rem}.topic-request-panel span{color:var(--muted);font-size:.78rem;font-weight:850;line-height:1.35}.topic-request-panel form{display:grid;gap:8px}.topic-request-panel input{width:100%;min-width:0;border:1px solid rgba(177,106,0,.26);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 10px;font:inherit;font-size:.86rem;font-weight:800}.topic-request-panel input:focus{border-color:#b16a0085;outline:none;box-shadow:0 0 0 3px #b16a001f}.topic-request-panel button{border-color:#b16a0061;border-radius:999px;background:color-mix(in srgb,var(--text-gold) 12%,var(--surface-strong));color:var(--text-gold);padding:8px 12px;font-weight:950}.topic-request-panel button:disabled{opacity:.55}.topic-request-error{color:#b91c1c!important}.topic-request-success{color:#15803d!important}.topic-review-panel{display:grid;gap:12px;border:1px solid rgba(217,70,239,.22);border-radius:8px;background:linear-gradient(135deg,rgba(217,70,239,.1),transparent 58%),var(--surface-strong);box-shadow:0 14px 28px #1f293714;padding:14px}.topic-review-panel-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.topic-review-panel h3{margin:0;color:var(--ink);font-size:1rem}.topic-review-panel-header button{border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:950}.topic-review-list{display:grid;gap:9px}.topic-review-item{display:grid;gap:8px;border:1px solid rgba(217,70,239,.14);border-radius:8px;background:var(--surface-strong);padding:10px}.topic-review-item strong{display:block;overflow:hidden;color:var(--ink);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.topic-review-item span{color:var(--muted);font-size:.74rem;font-weight:850}.topic-review-flags{display:flex;flex-wrap:wrap;gap:5px}.topic-review-flags span{border:1px solid rgba(220,38,38,.24);border-radius:999px;background:#dc262614;color:#b91c1c;padding:3px 7px;font-size:.68rem}.topic-review-item input{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);padding:7px 8px;font:inherit;font-size:.78rem}.topic-review-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.topic-review-actions button{border-radius:999px;padding:6px 7px;font-size:.72rem;font-weight:950}.topic-rail-panel h3{margin:0;color:var(--ink);font-size:.94rem}.topic-rail-list{display:grid;gap:7px}.topic-rail-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(47,111,237,.12);border-radius:8px;background:var(--surface-strong);padding:10px;text-align:left}.topic-rail-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.84rem}.topic-rail-list span{color:var(--muted);font-size:.74rem;font-weight:850}.topic-rail-list .topic-level-badges{justify-self:end}.topic-rail-list .topic-level-badges span{width:22px;height:22px;font-size:.68rem}.topic-rail-list .topic-level-badges span.available{color:#15803d}.topic-browser-loading{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:16px;font-weight:850}.topic-read-page{display:grid;gap:18px}.topic-read-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:16px}.topic-read-heading{text-align:center}.topic-read-header h1{margin:0 0 4px;color:color-mix(in srgb,var(--topic, var(--accent-2)) 58%,var(--muted));font-family:var(--font-read, "Source Sans 3", "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif);font-size:calc(1.8rem * var(--reader-font-scale, 1));font-weight:700;line-height:1.25;letter-spacing:0}.topic-read-header span,.topic-read-sidebar span{color:var(--muted);font-weight:800}.topic-read-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px}.topic-read-header .topic-read-level{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--topic, var(--accent-2)) 34%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--topic, var(--accent-2)) 12%,var(--surface));color:color-mix(in srgb,var(--topic, var(--accent-2)) 76%,var(--ink));padding:3px 9px;font-size:.8rem;font-weight:950;letter-spacing:.02em}.topic-read-group{font-size:.84rem}.topic-read-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;justify-self:end;gap:8px;text-align:initial}.topic-read-back,.topic-read-save,.topic-read-train{border-radius:999px;padding:10px 16px;font-size:.94rem;font-weight:900}.topic-read-back{justify-self:start;border:2px solid color-mix(in srgb,var(--accent) 68%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}.topic-read-train{border:2px solid color-mix(in srgb,var(--accent-2) 68%,var(--border));background:color-mix(in srgb,var(--accent-2) 9%,var(--surface));color:var(--accent-2)}.topic-read-save{border:2px solid color-mix(in srgb,var(--topic, var(--accent)) 60%,var(--border));background:color-mix(in srgb,var(--topic, var(--accent)) 10%,var(--surface));color:color-mix(in srgb,var(--topic, var(--accent)) 78%,var(--ink))}.topic-read-save.saved{border-color:color-mix(in srgb,#22c55e 60%,var(--border));background:color-mix(in srgb,#22c55e 13%,var(--surface));color:color-mix(in srgb,#15803d 78%,var(--ink))}.topic-read-save:disabled{cursor:wait;opacity:.65}.topic-read-back:hover,.topic-read-back:focus-visible{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.topic-read-train:hover,.topic-read-train:focus-visible{background:color-mix(in srgb,var(--accent-2) 18%,var(--surface))}.topic-read-save:not(:disabled):hover,.topic-read-save:not(:disabled):focus-visible{background:color-mix(in srgb,var(--topic, var(--accent)) 19%,var(--surface))}.topic-read-dashboard{display:grid;grid-template-columns:repeat(2,minmax(140px,190px)) minmax(280px,1fr);gap:10px;align-items:stretch}.topic-read-dashboard>div{display:grid;gap:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:12px}.topic-read-dashboard strong{color:var(--accent-2);font-size:1.45rem;line-height:1}.topic-read-dashboard span{color:var(--muted);font-size:.78rem;font-weight:800}.topic-read-heart-panel{align-content:center}.topic-read-live-debug{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border:1px solid rgba(28,138,132,.22);border-radius:8px;background:var(--surface-strong);padding:9px 10px}.topic-read-live-debug span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);padding:4px 8px;font-size:.74rem;font-weight:850}.topic-read-live-debug strong{color:var(--ink)}.topic-read-live-debug.is-rescue{border-color:#d946ef6b;background:#d946ef14}.topic-debug-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:10px 12px}.topic-debug-toolbar label{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:.82rem;font-weight:900}.topic-debug-toolbar input{accent-color:var(--accent)}.topic-hearts-dimension{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:700;padding:4px 6px}.topic-fog-legend{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;border-left:1px solid var(--border);padding-left:10px}.topic-fog-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.topic-fog-swatch{color:#6b7280;font-style:normal;font-weight:950;letter-spacing:0}.topic-fog-swatch.deep{color:#111827}.topic-debug-backend-error{display:grid;gap:6px;border:1px solid rgba(220,38,38,.35);border-radius:8px;background:#dc262614;color:#991b1b;padding:14px}.topic-debug-backend-error strong{font-size:.95rem}.topic-debug-backend-error span{font-size:.85rem;font-weight:800}.topic-debug-threshold{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.topic-debug-threshold span{color:var(--muted);font-size:.78rem;font-weight:900}.topic-debug-threshold button{min-width:30px;border-radius:999px;padding:5px 8px;font-weight:900}.topic-debug-threshold button.active{border-color:#1c8a848c;background:#1c8a841f;color:var(--accent-2)}.topic-read-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;align-items:start}.topic-read-article{border:1px solid rgba(28,138,132,.2);border-radius:8px;background:var(--surface-strong);padding:clamp(18px,3vw,34px)}.topic-read-article h2{margin:0 0 18px;color:color-mix(in srgb,var(--topic, var(--accent-2)) 58%,var(--muted));font-family:var(--font-read, "Source Sans 3", "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif);font-size:calc(1.5rem * var(--reader-font-scale, 1));font-weight:700;line-height:1.35;letter-spacing:0}.topic-read-article p{margin:0 0 16px;font-size:calc(clamp(1.15rem,2.4vw,1.55rem) * var(--reader-font-scale, 1));font-weight:850;line-height:2.15}.topic-read-fontbar{display:flex;flex-basis:100%;width:100%;margin:4px 0 0;padding-top:8px;border-top:1px solid var(--border)}.topic-read-article p:last-child{margin:0}.topic-read-paragraph+.topic-read-paragraph{margin-top:clamp(28px,4vw,52px);padding-top:clamp(8px,1.5vw,14px)}.topic-read-sentence-row{display:block}.topic-read-sentence-row+.topic-read-sentence-row{margin-top:16px}.topic-read-sentence-debug{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:-8px 0 12px}.topic-read-sentence-debug span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(28,138,132,.18);border-radius:999px;background:var(--surface-inset);color:var(--muted);padding:3px 7px;font-size:.68rem;font-weight:850}.topic-read-sentence-debug strong{color:var(--ink)}.topic-read-segment{display:inline;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:0;line-height:inherit;padding:1px 2px;margin:0 1px;vertical-align:baseline}button.topic-read-segment{cursor:pointer}.topic-read-segment.grammar{box-shadow:inset 0 -2px #2f6fed47}.topic-read-segment.fogged{color:var(--muted)}.topic-read-segment.unmapped .topic-read-fog-block{color:#1f2937}.topic-read-segment.selected{outline:2px solid rgba(249,115,22,.7);outline-offset:2px}.topic-read-unowned-fog{display:inline;border-radius:4px;color:#111827;font-weight:950;letter-spacing:0;padding:1px 2px;margin:0 1px}.topic-read-fog-block{color:#6b7280;font-weight:950;letter-spacing:0}.topic-read-fog-block.deep{color:#111827}.topic-read-sidebar{display:grid;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:14px}.topic-read-sidebar h3{margin:0 0 4px}.topic-read-blocker-list{display:grid;gap:7px}.topic-read-blocker-list span{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:7px}.topic-read-blocker-list i{font-style:normal;text-align:center}.topic-read-blocker-list strong{color:var(--ink)}.topic-read-blocker-list small{color:var(--muted);font-weight:800}.topic-debug-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.topic-debug-summary-grid span{display:grid;gap:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:9px;color:var(--muted);font-size:.74rem;font-weight:850}.topic-debug-summary-grid strong{color:var(--accent-2);font-size:1.1rem;line-height:1}.topic-debug-empty,.topic-segment-inspector{border-top:1px solid var(--border);padding-top:12px}.topic-debug-empty{color:var(--muted);font-size:.85rem;font-weight:750;line-height:1.45}.topic-segment-inspector{display:grid;gap:10px}.topic-segment-inspector h3{margin:0 0 3px}.topic-segment-inspector dl{display:grid;gap:6px;margin:0}.topic-segment-inspector dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start}.topic-segment-inspector dt{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.topic-segment-inspector dd{margin:0;color:var(--ink);font-size:.8rem;font-weight:850;overflow-wrap:anywhere}.topic-segment-findings{display:grid;gap:6px;border:1px solid rgba(249,115,22,.35);border-radius:8px;background:#f9731614;padding:10px}.topic-segment-findings strong{color:#9a3412}.topic-segment-findings span{color:#9a3412;font-size:.78rem;font-weight:850}.topic-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.topic-category-card{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:14px}.topic-category-header{display:flex;align-items:center;gap:10px}.topic-category-header span{width:10px;height:28px;border-radius:999px}.topic-category-header h2{font-size:1rem}.topic-progression-list{display:grid;gap:8px}.topic-progression-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,auto) auto;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:9px}.topic-progression-row.selected{border-color:#1c8a8459;color:var(--accent-2)}.topic-progression-row-main,.topic-progression-row-meta{min-width:0;display:grid;gap:3px}.topic-progression-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-progression-row-main span,.topic-progression-row-meta span{color:var(--muted);font-size:.78rem;font-weight:800}.topic-progression-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;text-align:right}.topic-progression-row button{border-radius:999px;padding:6px 11px;font-size:.8rem;font-weight:900}.skill-tree-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.skill-tree-header h1{margin:0 0 8px}.skill-tree-header p{max-width:720px;margin:0}.skill-tree-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.skill-tree-header-actions button.active{border-color:#1c8a8499;background:linear-gradient(135deg,rgba(28,138,132,.15),var(--surface-strong));color:var(--accent-2)}.skill-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.skill-overview-card{display:grid;gap:6px;text-align:left;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong);padding:14px}.skill-overview-card.active{border-color:#1c8a849e;background:linear-gradient(135deg,rgba(28,138,132,.12),var(--surface-strong))}.skill-overview-title{color:var(--ink);font-weight:800}.skill-overview-meta{color:var(--muted);font-size:.82rem;font-weight:700}.skill-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:16px 0 10px}.skill-pack-toolbar{display:flex;justify-content:flex-start;margin:14px 0 0}.skill-pack-toolbar label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-weight:800}.skill-pack-toolbar select{max-width:260px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 10px;font-weight:700}.skill-pack-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);padding:12px;display:grid;gap:8px}.skill-pack-card.active{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2),0 6px 18px #1c8a841f}.skill-pack-main{border:0;background:transparent;color:inherit;text-align:left;padding:0;display:grid;gap:5px;cursor:pointer}.skill-pack-title{font-weight:900}.skill-pack-meta,.skill-pack-description{color:var(--muted);font-size:.82rem}.skill-pack-description{line-height:1.35}.skill-pack-progress{height:6px;overflow:hidden;border-radius:999px;background:var(--border)}.skill-pack-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent-2)}.skill-pack-actions{display:flex;gap:6px;flex-wrap:wrap}.skill-pack-actions button{border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--ink);padding:5px 9px;font-size:.78rem;font-weight:800;cursor:pointer}.skill-pack-actions button:disabled{opacity:.62;cursor:wait}.skill-heart-table{display:grid;gap:1px;margin-top:12px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.skill-heart-table-head,.skill-heart-table-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:12px;background:var(--surface-strong);padding:7px 10px}.skill-heart-table-head{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.skill-heart-table-row{font-size:.86rem;font-weight:800}.skill-heart-table-row span{display:inline-flex;align-items:center;gap:8px}.skill-heart-table-row i{min-width:16px;font-style:normal;text-align:center}.skill-heart-table-row strong{justify-self:end;font-size:.94rem}.skill-pack-status{border:1px solid rgba(28,138,132,.22);border-radius:8px;background:var(--surface-inset);color:var(--muted);padding:6px 8px;font-size:.75rem;font-weight:700}.skill-tree-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:4px 10px;border:1px solid rgba(28,138,132,.35);background:var(--surface-strong);color:var(--accent-2);font-size:.78rem;font-weight:700}.skill-tree-layout{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:18px;align-items:start}.skill-tree-paths{display:grid;gap:10px}.skill-path-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong);padding:12px 14px}.skill-path-link span{font-weight:700}.skill-path-link small{flex:0 0 auto;color:var(--muted);font-weight:700}.skill-path-link.active{border-color:#1c8a8499;background:linear-gradient(135deg,rgba(28,138,132,.13),var(--surface-strong));color:var(--accent-2);box-shadow:var(--shadow-soft)}.skill-template-page{border:1px solid rgba(28,138,132,.25);border-radius:14px;background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);padding:20px}.skill-template-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-template-kicker{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.skill-template-page h2{margin:14px 0 8px}.skill-template-page p{max-width:720px}.skill-tree-population{color:var(--muted);font-size:.9rem}.skill-tree-population code{border-radius:8px;border:1px solid var(--border);background:var(--surface-inset);color:var(--accent-2);padding:2px 6px}.skill-tree-file-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.skill-tree-file-grid span{border-radius:999px;border:1px solid rgba(28,138,132,.25);background:var(--surface-inset);color:var(--muted);padding:5px 9px;font-size:.78rem;font-weight:800}.skill-node-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:18px}.skill-node-lane{min-height:190px;border-radius:14px;border:1px solid rgba(28,138,132,.22);background:var(--surface-inset);padding:12px;display:flex;flex-direction:column;gap:10px}.skill-node-lane-title{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.skill-node-pill{display:grid;gap:2px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg,var(--surface-strong),var(--surface));padding:10px}.skill-node-pill strong{color:var(--ink);font-size:1.08rem}.skill-node-pill span,.skill-node-empty{color:var(--muted);font-size:.84rem}.skill-node-empty{border-radius:10px;border:1px dashed var(--border);padding:10px}.skill-edge-summary{grid-column:1 / -1;color:var(--muted);font-size:.84rem;font-weight:700}.skill-graph-shell{display:grid;gap:12px;margin-top:18px}.skill-graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.skill-graph-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.skill-graph-legend span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);padding:4px 8px;font-size:.72rem;font-weight:800}.skill-graph-legend i{width:9px;height:9px;border-radius:999px;box-shadow:0 0 10px currentColor}.skill-graph-controls{display:inline-flex;align-items:center;gap:6px}.skill-graph-controls button,.skill-graph-controls span{min-height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);padding:5px 9px;font-size:.8rem;font-weight:800}.skill-graph-controls span{color:var(--muted);min-width:54px;text-align:center}.skill-graph-controls button.is-active{border-color:#f59e0b8c;background:#f59e0b24;color:#d7ba7d}.skill-graph-debug-summary{width:fit-content;border:1px solid rgba(239,68,68,.34);border-radius:999px;background:#ef444417;color:#fca5a5;padding:5px 10px;font-size:.78rem;font-weight:850}.skill-graph-viewport{position:relative;height:min(72vh,760px);min-height:560px;overflow:hidden;border:1px solid rgba(28,138,132,.24);border-radius:14px;background:radial-gradient(circle at center,rgba(28,138,132,.12),transparent 18%),radial-gradient(circle at 28% 24%,rgba(245,158,11,.08),transparent 20%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 38%),var(--surface-inset);cursor:grab;outline:none;touch-action:auto;-webkit-user-select:none;user-select:none}.skill-graph-viewport.is-active{border-color:#1c8a8485;box-shadow:0 0 0 1px #1c8a8429,0 0 34px #1c8a841f;touch-action:none}.skill-graph-viewport:active{cursor:grabbing}.skill-graph-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.skill-graph-active-hint{position:absolute;right:14px;bottom:14px;z-index:3;border:1px solid rgba(28,138,132,.28);border-radius:999px;background:#0c1618c2;color:var(--muted);padding:6px 10px;font-size:.74rem;font-weight:800;pointer-events:none}.skill-graph-viewport.is-active .skill-graph-active-hint{border-color:#f59e0b57;color:#d7ba7d}.skill-graph-tooltip{position:absolute;left:14px;bottom:14px;z-index:4;max-width:min(340px,calc(100% - 28px));display:grid;gap:4px;border:1px solid rgba(28,138,132,.35);border-radius:10px;background:color-mix(in srgb,var(--surface-strong),transparent 5%);box-shadow:var(--shadow-soft);padding:10px 12px;pointer-events:none}.skill-graph-tooltip strong{color:var(--ink)}.skill-graph-tooltip span{color:var(--muted);font-size:.86rem}.skill-template-placeholder{margin-top:18px;border:1px dashed rgba(28,138,132,.45);border-radius:12px;background:var(--surface-inset);padding:18px}.skill-template-placeholder h3{margin:0 0 8px}.skill-template-placeholder p{margin:0}.skill-template-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.skill-template-examples span{border-radius:999px;border:1px solid rgba(255,107,74,.25);background:var(--surface-strong);color:var(--text-warm);padding:6px 10px;font-size:.86rem;font-weight:700}.skill-unlockables-panel{margin-top:18px;border:1px solid rgba(28,138,132,.25);border-radius:14px;background:var(--surface-inset);padding:16px}.skill-unlockables-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.skill-unlockables-header h3{margin:0}.skill-unlockables-header span{color:var(--muted);font-size:.84rem;font-weight:700}.skill-unlockables-list{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:4px}.skill-unlockable-row{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);padding:12px}.skill-unlockable-row div:first-child{display:grid;gap:2px}.skill-unlockable-row strong{color:var(--ink);font-size:1.1rem}.skill-unlockable-row div:first-child span,.skill-unlockable-row p{color:var(--muted)}.skill-unlockable-row p{margin:0}.skill-unlockable-tags{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.skill-unlockable-tags span{border-radius:999px;border:1px solid rgba(28,138,132,.25);background:var(--surface-strong);color:var(--accent-2);padding:3px 8px;font-size:.76rem;font-weight:700}.skill-unlockables-empty{border-radius:12px;border:1px dashed var(--border);background:var(--surface);color:var(--muted);padding:14px}.skill-training-page{display:flex;flex-direction:column;align-items:center;gap:18px}.skill-training-page.is-embedded{width:100%;gap:10px}.skill-training-topbar{width:min(920px,100%);display:flex;align-items:center;justify-content:space-between;gap:12px}.skill-training-back{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 12px;cursor:pointer}.skill-training-back:hover{border-color:var(--accent);background:var(--surface-strong)}.skill-training-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:var(--muted);font-size:.85rem}.skill-training-stats span{border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--surface)}.skill-training-stats{position:relative}.skill-training-stats .skill-training-gold-flash{position:absolute;top:calc(100% + 6px);right:0;z-index:20;pointer-events:none;white-space:nowrap;max-width:none;box-shadow:0 4px 14px #0000002e;border-color:#f59e0b8c;background:#f59e0b1f;color:var(--text-gold);font-weight:700;opacity:1;transition:opacity 2s ease-out}.skill-training-stats .skill-training-gold-flash.is-fading{opacity:0}.skill-training-card{width:min(920px,100%);min-height:760px;justify-content:flex-start}.skill-training-sidebits{display:contents}@media(max-width:1220px){.skill-training-sidebits{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;width:100%;min-width:0;flex-wrap:wrap}.skill-training-sidebits .kr-star-panel,.skill-training-sidebits .kr-level-badge{position:relative;top:auto;left:auto;right:auto;flex-direction:row;align-items:center;gap:8px;min-width:0;max-width:none}.skill-training-sidebits .kr-star-grid{grid-template-columns:repeat(10,auto)}.skill-training-sidebits .kr-level-badge{flex:1 1 220px;max-width:360px}.skill-training-sidebits .kr-level-badge .kr-level-label,.skill-training-sidebits .kr-level-badge .kr-level-xp{white-space:nowrap}.skill-training-sidebits .kr-level-bar-track{flex:1 1 auto;min-width:40px}}@media(min-width:1221px){.skill-training-card,.skill-training-page.is-embedded .skill-training-card{width:min(920px,calc(100% - 272px))}.kr-level-badge{max-width:120px}}.skill-training-page.is-embedded .skill-training-topbar,.skill-training-page.is-embedded .skill-training-card{width:100%}.skill-training-page.is-embedded .skill-training-card{min-height:min(640px,calc(100dvh - 150px))}.skill-training-stars{top:82px}.skill-training-level{top:12px}.skill-training-display{gap:10px}.skill-training-card.is-waiting{justify-content:flex-start}.skill-training-waiting-display{min-height:360px;align-items:center;justify-content:center}.skill-training-waiting-panel{width:min(420px,100%);min-height:150px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.95rem}.skill-training-prompt-label{color:var(--muted);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.5rem}.skill-training-prompt-label.is-reading{color:#0ea5e9}.skill-training-prompt-label.is-meaning{color:#a855f7}.skill-training-reading-kind{font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:none;padding:.1rem .45rem;border-radius:999px;border:1px solid currentColor}.skill-training-reading-kind.is-on{color:#f97316}.skill-training-reading-kind.is-kun{color:#10b981}.skill-training-reading-kind.is-mixed{color:var(--muted)}.skill-training-main-fit{display:flex;justify-content:center;width:100%;overflow:visible}.skill-training-main-fit::-webkit-scrollbar{display:none}.skill-training-main-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:100%}.skill-training-main-wrap .srs-streak-badge{bottom:-10px;right:-10px}.kana-char.skill-training-main{line-height:1.15;max-width:none;white-space:nowrap}.skill-training-sentence-context{color:var(--muted);font-size:.95rem;line-height:1.6;max-width:34rem;margin:.35rem auto 0;overflow-wrap:anywhere}.skill-training-sentence-context strong{font-weight:700}.skill-training-card.is-grammar .skill-training-main{--target-ceiling: 26svh}.skill-training-main.is-use{--target-ceiling: 19svh;line-height:1.45;letter-spacing:0}.skill-training-card.is-grammar .skill-training-main.is-use{--target-ceiling: 15svh}.skill-training-card.is-image-meaning{width:min(720px,100%);min-height:760px}.skill-training-card.is-image-meaning .skill-training-display{width:100%;gap:6px}.skill-training-image-meaning-card{width:min(340px,100%);border-radius:18px;border:1px solid rgba(255,107,74,.18);background:radial-gradient(circle at 18% 16%,rgba(255,107,74,.14),transparent 30%),linear-gradient(135deg,var(--surface-strong),var(--surface-accent));box-shadow:var(--shadow-soft);padding:10px;display:grid;gap:8px;justify-items:center}.skill-training-image-meaning-card .kanji-image-generated-art,.skill-training-image-meaning-card .kanji-image-mock-art{width:100%;max-height:245px;border-radius:14px}.skill-training-image-mask{position:relative;width:100%;max-height:245px;border-radius:14px;overflow:hidden;outline:none;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.2),transparent 26%),linear-gradient(135deg,#14b8a638,#6366f12e),var(--surface-strong)}.skill-training-image-mask.is-small{width:min(240px,100%);aspect-ratio:1;max-height:none;border-radius:8px;border:1px solid var(--border)}.skill-training-image-mask img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;filter:blur(18px) saturate(.85) brightness(.78);transform:scale(1.08);transition:filter .18s ease,transform .18s ease}.skill-training-image-mask:hover img,.skill-training-image-mask:focus-visible img,.skill-training-image-mask:focus-within img{filter:none;transform:scale(1)}.skill-training-image-mask-overlay{position:absolute;inset:0;display:grid;place-content:center;gap:6px;padding:18px;text-align:center;color:#fff;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.2),transparent 24%),linear-gradient(135deg,#0f172a80,#14b8a657 52%,#7c3aed6b),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 1px,transparent 1px 10px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .16s ease,transform .16s ease}.skill-training-image-mask-overlay strong{font-size:.86rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.skill-training-image-mask-overlay small{color:#ffffffd1;font-size:.76rem;font-weight:760}.skill-training-image-mask:hover .skill-training-image-mask-overlay,.skill-training-image-mask:focus-visible .skill-training-image-mask-overlay,.skill-training-image-mask:focus-within .skill-training-image-mask-overlay{opacity:0;transform:scale(1.02);pointer-events:none}.skill-training-image-meaning-copy{width:100%;display:grid;gap:4px;justify-items:center;padding:8px;border-radius:12px;background:var(--surface-inset);text-align:center}.skill-training-image-meaning-copy strong{font-size:clamp(1.05rem,3vw,1.45rem);line-height:1.05}.skill-training-image-meaning-copy span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.skill-training-image-meaning-copy button{border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);padding:6px 10px;font-weight:800;cursor:pointer}.skill-training-image-batch-controls{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.skill-training-image-batch-controls input{width:72px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);padding:6px 10px;font:inherit;font-weight:800;text-align:center}.skill-training-image-batch-controls input:disabled{opacity:.5}.skill-training-image-meaning-copy button:disabled,.skill-training-image-empty button:disabled{cursor:wait;opacity:.7}.skill-training-image-meta{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.skill-training-image-choice-grid{width:min(600px,100%);gap:8px}.skill-training-image-choice-grid .kanji-image-choice-card{min-height:86px;border-radius:14px;padding:10px}.skill-training-image-choice-grid .kanji-choice-char{font-size:clamp(1.45rem,calc(52cqi / var(--label-len, 1)),2.65rem)}.skill-training-image-choice-grid .kanji-choice-furigana{font-size:.9rem}.skill-training-image-choice-grid .kanji-answer-mark{margin-top:0;padding:3px 7px;font-size:.62rem}.skill-training-image-generation-status{width:min(440px,100%);display:grid;gap:4px;border:1px solid rgba(28,138,132,.24);border-radius:10px;background:var(--surface);color:var(--muted);padding:8px 10px;font-size:.76rem;text-align:left}.skill-training-image-generation-status strong{color:var(--ink)}.skill-training-main.is-use .skill-training-romaji-char small{font-size:.32em}.skill-training-due{color:var(--muted);font-size:.8rem}.skill-training-register-note{width:min(520px,100%);margin-inline:auto;padding:7px 10px;border:1px solid color-mix(in srgb,#d97706 35%,var(--border));border-radius:9px;background:color-mix(in srgb,#d97706 9%,var(--surface));color:var(--ink);font-size:.78rem;font-weight:700}.skill-training-srs-error{border:1px solid rgba(239,68,68,.35);border-radius:8px;background:#ef44441a;color:#ef4444;padding:7px 10px;font-size:.82rem;font-weight:700}.skill-training-override-panel{display:grid;gap:8px;width:min(420px,100%);margin:8px auto 0;padding:10px 12px;border:1px solid rgba(168,85,247,.35);border-radius:10px;background:#a855f714;text-align:center}.skill-training-override-verdict{font-size:.9rem;color:var(--ink)}.skill-training-override-accepted{font-size:.84rem;color:var(--muted)}.skill-training-override-actions{display:flex;gap:8px;justify-content:center}.skill-training-override-actions .kana-next-btn.is-secondary{opacity:.75}.skill-training-override-hint{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:7px 34px 0 4px;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);color:var(--muted);font-size:.76rem;line-height:1.35}.skill-training-override-hint kbd{display:inline-block;padding:1px 5px;border:1px solid color-mix(in srgb,var(--ink) 20%,var(--border));border-bottom-width:2px;border-radius:4px;background:var(--surface);color:var(--ink);font:700 .72rem/1.25 JetBrains Mono,SFMono-Regular,Consolas,monospace}.skill-training-override-hint-close{position:absolute;top:5px;right:0;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1}.skill-training-override-hint-close:hover,.skill-training-override-hint-close:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.skill-training-image-panel{width:min(320px,100%);display:grid;gap:6px;justify-items:center}.skill-training-image-panel>img,.skill-training-image-empty{width:min(240px,100%);aspect-ratio:1;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.skill-training-image-panel>img{object-fit:cover}.skill-training-image-empty{display:grid;place-items:center;gap:8px;padding:14px;color:var(--muted);font-size:.82rem;font-weight:700}.skill-training-image-empty button{border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);padding:6px 10px;font-weight:800;cursor:pointer}.skill-training-image-panel small{color:var(--muted);font-size:.75rem;text-align:center}.skill-training-rule{width:min(620px,100%);border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:.92rem;line-height:1.45}.skill-training-options .kana-option-btn{min-width:0;max-width:100%;min-height:58px;white-space:normal;line-height:1.25}.skill-training-options:not(.is-use){grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.skill-training-card.is-grammar .skill-training-options .kana-option-btn{font-size:.98rem}.skill-training-options.is-use{display:grid;grid-template-columns:1fr;width:min(420px,100%);margin-left:auto;margin-right:auto}.skill-training-options.is-use .kana-option-btn{min-height:54px}.skill-training-romaji-line{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.08em}.skill-training-romaji-char{display:inline-flex;flex-direction:column;align-items:center;min-width:.7em;line-height:1.05}.skill-training-romaji-char small{color:var(--muted);font-size:.23em;line-height:1;margin-top:.16em}.skill-training-romaji-char.is-unit{min-width:1.4em}.skill-training-grammar-var,.skill-training-romaji-char.is-grammar-var>span{color:#8cc6d7;font-weight:800;text-shadow:0 0 14px rgba(140,198,215,.18)}.skill-training-card.is-grammar .skill-training-main .skill-training-grammar-var,.skill-training-card.is-grammar .skill-training-main .skill-training-romaji-char.is-grammar-var>span{color:#9bd0c2}.skill-training-card.is-grammar .skill-training-options .skill-training-grammar-var,.skill-training-card.is-grammar .skill-training-options .skill-training-romaji-char.is-grammar-var>span{color:#9ab8e8}.skill-training-card.is-grammar .skill-training-rule .skill-training-grammar-var,.skill-training-card.is-grammar .skill-training-example .skill-training-grammar-var{color:#d7ba7d}.skill-training-options .skill-training-romaji-char small{font-size:.68rem}.skill-training-distractor-debug{width:min(620px,100%);color:var(--muted);font-size:.76rem;font-weight:700;text-align:center}.skill-training-example{width:min(620px,100%);margin:8px auto 0;display:grid;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px;text-align:center}.skill-training-example strong{font-size:1.4rem}.skill-training-example span,.skill-training-example small{color:var(--muted)}.skill-training-example p{margin:4px 0 0;font-size:1.35rem;display:grid;gap:3px}.skill-training-example p small{display:block;font-size:.78rem}.skill-training-rightcol{position:absolute;top:82px;left:calc(100% + 16px);width:120px;min-width:0;display:grid;gap:18px}.skill-training-next3{position:static;width:auto;min-width:0;display:grid;gap:8px}.skill-training-quota{display:grid;gap:6px;min-width:0}.skill-training-quota-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 6px;font-size:.78rem}.skill-training-quota-label{color:var(--ink);font-weight:600}.skill-training-quota-count{color:var(--muted);font-variant-numeric:tabular-nums}.skill-training-quota-track{grid-column:1 / -1;height:5px;border-radius:999px;background:var(--panel-muted);overflow:hidden}.skill-training-quota-track>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.skill-training-quota-note{margin:2px 0 0;font-size:.72rem;line-height:1.35;color:var(--muted);text-align:center}.skill-training-quota-note.is-done{color:var(--stat-done);font-weight:600}.skill-training-next3-title{white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.08em}.skill-training-next3-list{min-width:0;display:grid;gap:6px}.skill-training-next3-list>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 9px;color:var(--muted);font-size:.8rem;text-align:center}.skill-training-next3-list>span.is-empty{border-style:dashed;background:var(--surface-inset);color:var(--muted);font-weight:850}.skill-training-empty{width:min(720px,100%);border:1px dashed var(--border);border-radius:8px;padding:24px;text-align:center;color:var(--muted)}.kg-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.kg-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kg-query{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--muted)}.kg-query input{border-radius:10px;border:1px solid var(--border);padding:8px 12px;font-size:.95rem;font-family:inherit;min-width:180px}.kg-points{margin:6px 0 10px;font-size:1.5rem;font-weight:700;color:var(--accent-2);text-shadow:0 8px 18px rgba(28,138,132,.2)}.kg-lootbox-bar{margin-bottom:10px;padding:14px 16px;border-radius:14px;border:1px solid rgba(28,138,132,.25);background:linear-gradient(135deg,#ffffffeb,#f0fdfae6);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kg-lootbox-title{font-size:1.05rem;font-weight:700}.kg-lootbox-sub{color:var(--muted);font-size:.92rem}.kg-lootbox-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:960px){.navbar{grid-template-columns:auto minmax(0,1fr) auto}.nav-tabs{justify-content:flex-start}.nav-actions{justify-content:flex-end;flex-wrap:nowrap}.player-hud{width:auto;max-width:190px;padding:4px 6px}.player-hud .player-points,.player-hud .xp-row,.player-hud .xp-bar{display:none}.skill-tree-header{flex-direction:column}.topic-progression-header,.topic-gate-panel{grid-template-columns:1fr}.topic-gate-panel{grid-template-areas:"copy" "progress" "actions"}.topic-progression-header{display:grid}.topic-gate-unlocks,.topic-gate-actions{justify-content:flex-start}.topic-read-header,.topic-read-dashboard,.topic-read-layout{grid-template-columns:1fr}.topic-read-header{align-items:stretch}.topic-progression-row,.topic-browser-layout,.topic-article-row,.topic-rail-list button{grid-template-columns:1fr}.topic-article-meta{text-align:left}.topic-rail-list .topic-level-badges{justify-self:start}.topic-progression-row-meta{text-align:left}.skill-tree-layout,.kanji-game-card,.kanji-game-detail,.kanji-game-session,.kanji-game-radical-layout,.kanji-game-alternating-layout{grid-template-columns:1fr}.kanji-game-session-topbar{flex-direction:column}.radical-board-grid{gap:6px}.radical-board-center{inset:23%}.radical-board-center-card{min-height:180px}.kanji-game-session-stats,.kanji-choice-center,.radical-choice-row{grid-template-columns:1fr}}.lootbox-button{border-radius:999px;padding:8px 16px;border:1px solid rgba(28,138,132,.4);background:#fff;font-weight:600;cursor:pointer}.lootbox-button:disabled{opacity:.5;cursor:not-allowed}.lootbox-button-secondary{border-color:#ff6b4a59;background:linear-gradient(135deg,#ffe3c2,#fff7ec);color:#5b2c1f}.kg-lootbox-notice{margin-bottom:10px;color:var(--muted);font-size:.95rem}.kg-canvas{height:70vh;min-height:420px;border-radius:16px;border:1px solid rgba(28,138,132,.2);overflow:hidden;background:linear-gradient(135deg,#ffffffe6,#fff5e6f2);position:relative}.kg-direction-indicators{position:absolute;inset:0;pointer-events:none;z-index:4}.kg-direction-indicator{position:absolute;background:#ef4444cc;box-shadow:0 0 12px #ef444499;animation:kg-edge-pulse 1.6s ease-in-out infinite}.kg-direction-indicator.top,.kg-direction-indicator.bottom{left:18px;right:18px;height:6px;border-radius:999px}.kg-direction-indicator.top{top:10px}.kg-direction-indicator.bottom{bottom:10px}.kg-direction-indicator.left,.kg-direction-indicator.right{top:18px;bottom:18px;width:6px;border-radius:999px}.kg-direction-indicator.left{left:10px}.kg-direction-indicator.right{right:10px}.kg-debug-bounds{position:absolute;inset:0;pointer-events:none;z-index:1}.kg-debug-bound{position:absolute;border:1px dashed rgba(244,63,94,.8);background:#f43f5e14;box-sizing:border-box}.kg-node{border-radius:999px!important;padding:12px 18px!important;font-size:1.2rem!important;font-weight:700!important;border:3px solid rgba(28,138,132,.65);background:#fff!important;color:#1f1b16!important;position:relative;min-width:120px;text-align:center}.kg-node-relation{border-radius:10px!important;padding:8px 12px!important;font-size:1rem!important;font-weight:600!important}.kg-node-loading:after{content:"";position:absolute;inset:-6px;border-radius:999px;background:conic-gradient(from 0deg,rgba(28,138,132,.9) 0deg 12deg,transparent 12deg 24deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:kg-ants 1.2s linear infinite;pointer-events:none}.kg-node-overdue{animation:kg-overdue-pulse 2.2s ease-in-out infinite;box-shadow:0 0 #ef444400}.kg-edge-overdue{animation:kg-edge-pulse 1.1s ease-in-out infinite;border-color:#ef4444b3;box-shadow:0 0 #ef444400}@keyframes kg-overdue-pulse{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 6px #ef444459}}@keyframes kg-edge-pulse{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 5px #ef444473}}@keyframes kg-ants{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kg-node-center{font-size:1.5rem!important;border-color:#ff6b4acc;background:linear-gradient(135deg,#fff0d6e6,#fff)!important}.kg-node-label{position:relative;z-index:2}.kg-node-expand{position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:22px;height:22px;padding:0;border-radius:50%;border:1px solid rgba(28,138,132,.45);background:#fff;color:#1f1b16;font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.kg-node-expand:hover{transform:translateY(-50%)}.kg-node-expand:disabled{opacity:.4;cursor:not-allowed}.kg-handle{width:10px;height:10px;background:transparent;border:none;opacity:0;transform:translate(-50%,-50%);pointer-events:none}.kg-edge-label{position:absolute;padding:4px 8px;border-radius:8px;border:1px solid rgba(31,27,22,.25);background:#fff;color:#1f1b16;font-size:.9rem;font-weight:600;box-shadow:0 8px 18px #1f1b1614;z-index:5;cursor:pointer;pointer-events:all}.kg-edge-label-text{display:inline-block}.memory-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}.memory-overlay-frame{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px}.memory-overlay-panel{width:min(1700px,96vw);border-radius:18px;border:1px solid rgba(255,107,74,.25);background:transparent;padding:14px 16px}.memory-overlay-backdrop{position:absolute;inset:0;background:#110e0a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.memory-overlay-card{position:relative;z-index:1;width:min(520px,92vw);background:#fff;border-radius:18px;border:1px solid rgba(255,107,74,.25);box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:16px}.memory-overlay-cards-panel{z-index:2}.memory-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.memory-overlay-body{display:flex;flex-direction:column;gap:14px;align-items:center}.memory-overlay-cards{width:100%;display:flex;flex-wrap:nowrap;justify-content:center;gap:18px}.memory-card{width:220px;height:330px;border-radius:14px;background:#e5e7eb;border:2px solid rgba(107,114,128,.4);box-shadow:inset 0 1px #fff9;flex:0 0 auto}.memory-card-common{background:#e5e7eb;border-color:#6b728099}.memory-card-uncommon{background:#dcfce7;border-color:#22c55e99}.memory-card-rare{background:#dbeafe;border-color:#3b82f699}.memory-card-epic{background:#ede9fe;border-color:#8b5cf6a6}.memory-card-legendary{background:#fef3c7;border-color:#f59e0bb3}.memory-card-mythic{background:#fee2e2;border-color:#ef4444b3}.memory-overlay-front{font-size:1.6rem;font-weight:700}.memory-overlay-back{font-size:1.05rem;color:var(--muted);text-align:center}@media(max-width:900px){.navbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand tabs hud";align-items:center}.nav-brand{grid-area:brand}.nav-tabs{grid-area:tabs;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.nav-actions{grid-area:hud;justify-content:flex-end;width:auto;flex-wrap:nowrap}.player-hud{max-width:190px;width:auto}.quests-fab{right:10px;top:auto;bottom:16px;transform:none}.quests-fab:hover{transform:none}.lootbox-fab{right:10px;top:auto;bottom:68px;transform:none}.lootbox-fab:hover{transform:none}.layout{flex-direction:column}.panel-right{width:100%}}.vocab-game{display:flex;flex-direction:column;gap:18px}.vocab-game-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.vocab-game-header h1{margin:0;font-size:1.6rem}.vocab-subtitle{margin:6px 0 0;color:#3c2f2fb3}.vocab-scorecard{display:flex;gap:12px;background:#fffc;border:1px solid rgba(255,107,74,.2);border-radius:14px;padding:12px 16px;box-shadow:inset 0 1px #ffffffb3}.vocab-scorecard div{display:flex;flex-direction:column;gap:4px;min-width:70px}.vocab-score-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#3c2f2f8c}.vocab-score-value{font-size:1.1rem;font-weight:600}.vocab-audio-bar{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;border:1px solid rgba(28,138,132,.25);background:linear-gradient(120deg,#ebf8f6e6,#ffffffe6)}.vocab-topic-row{display:flex;flex-direction:column;gap:6px}.vocab-audio-now{display:flex;align-items:center;gap:8px;color:#3c2f2fbf}.vocab-audio-status{font-size:.85rem;color:#3c2f2f99}.vocab-audio-item{font-weight:600;color:#2b4d4a}.vocab-arena{position:relative;height:360px;border-radius:18px;border:1px solid rgba(28,138,132,.3);background:radial-gradient(circle at top,#f4fcfbe6,#fffffff2);overflow:hidden}.vocab-round-clear{position:absolute;inset:0;display:grid;place-items:center;gap:12px;background:#fffaf0d1;text-align:center;z-index:2}.vocab-round-clear-text{font-size:2rem;font-weight:700;color:#d93a2e;text-shadow:0 2px 0 #ffd84a}.vocab-round-clear-cta{padding:10px 18px;border-radius:999px;border:1px solid rgba(217,58,46,.3);background:linear-gradient(135deg,#ffd84a,#ffb347);color:#7a1c14;font-weight:600}.vocab-tile{position:absolute;width:96px;height:96px;border-radius:16px;border:1px solid rgba(255,107,74,.2);background:linear-gradient(145deg,#fff4e6,#fff9f3);padding:18px 12px;text-align:center;cursor:pointer;transition:box-shadow .16s ease,border-color .16s ease}.vocab-tile.active{border-color:#1c8a8480;box-shadow:0 12px 24px #1c8a8426}.vocab-kanji{font-size:2.2rem;font-weight:600}.vocab-reading{display:block;margin-top:4px;font-size:.95rem;color:#3c2f2fb3}.vocab-game-panel h2{margin-top:0}.vocab-game-panel ul{padding-left:18px;margin:10px 0 0;display:grid;gap:8px;color:#3c2f2fbf}.kana-hub{max-width:980px;margin:32px auto 52px;padding:0 16px}.kana-hub-hero{position:relative;display:grid;grid-template-columns:1fr 160px;align-items:center;gap:20px;overflow:hidden;padding:clamp(22px,5vw,38px);border:1px solid color-mix(in srgb,var(--accent-2) 28%,var(--border));border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-2)) 0%,var(--surface-strong) 52%,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-3)) 100%);box-shadow:var(--shadow)}.kana-hub-kicker{margin:0 0 4px;color:var(--accent-2);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.kana-hub h1{margin:0;font-size:clamp(2.25rem,6vw,3.4rem);line-height:1}.kana-hub-hero p:not(.kana-hub-kicker){max-width:550px;margin:11px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.5}.kana-hub-hero-art{position:relative;height:130px;border:1px solid color-mix(in srgb,var(--accent-2) 38%,var(--border));border-radius:20px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent-2) 20%,var(--surface)),color-mix(in srgb,var(--accent-3) 15%,var(--surface)))}.kana-hub-hero-art span{position:absolute;display:grid;width:52px;height:52px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-2) 50%,var(--border));border-radius:16px;background:var(--surface-strong);color:var(--accent-2);box-shadow:0 8px 15px color-mix(in srgb,var(--accent-2) 17%,transparent);font-size:1.7rem;font-weight:800}.kana-hub-hero-art span:first-child{top:22px;left:18px;transform:rotate(-8deg)}.kana-hub-hero-art span:nth-child(2){right:14px;bottom:19px;color:var(--accent-3);transform:rotate(8deg)}.kana-hub-hero-art i{position:absolute;top:15px;right:20px;color:var(--accent);font-size:1.3rem;font-style:normal}.kana-hub-meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.kana-hub-meta span{padding:6px 10px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-inset) 72%,transparent);color:var(--muted);font-size:.76rem;font-weight:700}.kana-mastery{display:grid;gap:14px;margin:25px 0 0;padding:18px;border:1px solid color-mix(in srgb,var(--accent-2) 24%,var(--border));border-radius:19px;background:color-mix(in srgb,var(--surface-strong) 96%,var(--accent-2));box-shadow:var(--shadow-soft)}.kana-mastery-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.kana-mastery-head h2{margin:0;font-size:1.3rem}.kana-mastery-head p:not(.kana-hub-kicker){max-width:620px;margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.kana-mastery-total{display:grid;flex:0 0 auto;justify-items:end;min-width:105px}.kana-mastery-total strong{color:var(--accent-2);font-size:1.85rem;line-height:1;font-variant-numeric:tabular-nums}.kana-mastery-total span{margin-top:3px;color:var(--ink);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.kana-mastery-total small,.kana-mastery-script header small,.kana-mastery-metric>small{color:var(--muted);font-size:.7rem}.kana-mastery-error{margin:0;color:var(--danger);font-size:.78rem;font-weight:750}.kana-mastery-scripts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kana-mastery-script{display:grid;gap:13px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.kana-mastery-script>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.kana-mastery-script h3{margin:0;font-size:1rem}.kana-mastery-script header div{display:grid;min-width:0}.kana-mastery-script header>strong{color:var(--accent-2);font-size:1.25rem;font-variant-numeric:tabular-nums}.kana-mastery-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent-2) 12%,var(--surface-inset));color:var(--accent-2);font-size:1.25rem;font-weight:850}.kana-mastery-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kana-mastery-metric{display:grid;gap:5px;min-width:0}.kana-mastery-metric-copy{display:flex;align-items:end;justify-content:space-between;gap:8px}.kana-mastery-metric-copy>span{display:grid;min-width:0;color:var(--ink);font-size:.78rem;font-weight:800}.kana-mastery-metric-copy small{color:var(--muted);font-size:.66rem;font-weight:650}.kana-mastery-metric-copy strong{font-size:.84rem;font-variant-numeric:tabular-nums}.kana-mastery-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-inset)}.kana-mastery-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-2),var(--accent-3))}.kana-hub-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.kana-hub-section-head>span{font-size:1.12rem;font-weight:800}.kana-hub-section-head small{color:var(--muted);font-size:.8rem}.kana-game-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:0}.kana-game-card{overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--border) 86%,transparent);border-radius:17px;background:var(--surface-strong);text-align:left;cursor:pointer;transition:box-shadow .18s,transform .18s,border-color .18s}.kana-game-card:hover:not(:disabled){border-color:var(--accent-2);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.kana-game-card-disabled{opacity:.45;cursor:default}.kana-game-card-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;font-size:1.1rem;font-weight:800}.kana-game-card-desc{margin-top:6px;color:var(--muted, #888);font-size:.84rem;line-height:1.4}.kana-game-card-copy{display:grid;align-content:start;padding:14px}.kana-game-card-play{margin-top:13px;color:var(--accent-2);font-size:.84rem;font-weight:800}.kana-game-card-play span{margin-left:3px;font-size:1.1em}.kana-game-preview{position:relative;height:145px;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);pointer-events:none}.kana-preview-top{position:absolute;top:8px;left:9px;right:9px;display:flex;justify-content:flex-end;gap:3px}.kana-preview-top i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}.kana-preview-trainer{display:grid;place-items:center;padding-top:10px;color:var(--accent-2);background:radial-gradient(circle at 50% 41%,color-mix(in srgb,var(--accent-2) 22%,transparent),transparent 47%),color-mix(in srgb,var(--accent-2) 7%,var(--surface))}.kana-preview-trainer>strong{margin-bottom:26px;color:var(--ink);font-size:4.2rem;line-height:1}.kana-preview-options{position:absolute;bottom:11px;left:11px;right:11px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.kana-preview-options span,.kana-preview-rain-options span{display:grid;min-height:25px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-2) 27%,var(--border));border-radius:6px;background:var(--surface-strong);color:var(--ink);font-size:.58rem;font-weight:800}.kana-preview-listen{padding:22px 14px 11px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-3) 15%,var(--surface)),color-mix(in srgb,var(--accent) 9%,var(--surface)))}.kana-preview-listen .kana-preview-top{color:var(--accent-3)}.kana-preview-sound{margin:2px auto 8px;width:max-content;padding:4px 10px;border:1px solid color-mix(in srgb,var(--accent-3) 35%,var(--border));border-radius:999px;background:var(--surface-strong);font-size:.7rem}.kana-preview-slots{display:flex;justify-content:center;gap:5px}.kana-preview-slots span{display:grid;width:25px;height:27px;place-items:center;border:1px dashed color-mix(in srgb,var(--accent-3) 45%,var(--border));border-radius:6px;color:var(--accent-3);font-size:.8rem;font-weight:800}.kana-preview-kana-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:8px}.kana-preview-kana-grid span{display:grid;height:20px;place-items:center;border-radius:4px;background:var(--surface-strong);color:var(--ink);font-size:.62rem}.kana-preview-rain{padding:0 11px 11px;background:linear-gradient(180deg,color-mix(in srgb,#82c8ef 27%,var(--surface)),color-mix(in srgb,var(--accent-2) 8%,var(--surface)))}.kana-preview-rain .kana-preview-cloud{position:absolute;top:10px;left:13px;color:#ffffffbf;font-size:2.4rem;line-height:1}.kana-preview-rain>strong{position:absolute;top:24px;left:50%;display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-2) 55%,#fff);border-radius:50%;background:var(--surface-strong);color:var(--ink);font-size:1.45rem;transform:translate(-50%)}.kana-preview-rain-options{position:absolute;bottom:11px;left:11px;right:11px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.kana-preview-rain-options span{min-height:21px;font-size:.55rem}@media(max-width:760px){.kana-hub-hero{grid-template-columns:1fr 125px}.kana-game-list{grid-template-columns:1fr}.kana-game-card{display:grid;grid-template-columns:150px 1fr;min-height:160px}.kana-game-preview{height:100%;min-height:160px;border-right:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-bottom:0}.kana-game-card-copy{padding:16px}}@media(max-width:700px){.kana-mastery-scripts{grid-template-columns:1fr}}@media(max-width:480px){.kana-hub{margin-top:16px;padding:0 10px}.kana-hub-hero{grid-template-columns:1fr 96px;gap:12px;padding:20px;border-radius:19px}.kana-hub-hero-art{height:104px;border-radius:15px}.kana-hub-hero-art span{width:40px;height:40px;border-radius:12px;font-size:1.3rem}.kana-hub-hero-art span:first-child{left:9px}.kana-hub-hero-art span:nth-child(2){right:7px}.kana-hub-hero p:not(.kana-hub-kicker){font-size:.95rem}.kana-mastery{padding:14px;border-radius:16px}.kana-mastery-head{align-items:flex-start}.kana-mastery-total{min-width:80px}.kana-mastery-total small{display:none}.kana-mastery-breakdown{grid-template-columns:1fr}.kana-hub-section-head{align-items:flex-start;flex-direction:column;gap:2px}.kana-game-card{grid-template-columns:125px 1fr}.kana-game-preview{min-height:155px}}.kana-card-shell{max-width:480px;margin:32px auto;padding:0 16px;display:flex;flex-direction:column;align-items:center;gap:24px}.kana-card-header{width:100%;display:flex;align-items:center;gap:12px}.kana-back-btn{font-size:.9rem}.kana-mode-toggle{display:flex;gap:4px;margin-left:auto}.kana-mode-toggle button{padding:4px 12px;border-radius:6px;font-size:.85rem;background:transparent;border:1px solid var(--border, #ccc)}.kana-mode-toggle button.active{background:var(--accent, #3b82f6);color:#fff;border-color:transparent}.kana-script-badge{font-size:.75rem;color:var(--muted, #888);text-transform:capitalize}.kana-display{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:160px;justify-content:center}.kana-char{font-size:8rem;line-height:1;transition:color .15s;-webkit-user-select:none;user-select:none}.kana-char-correct{color:#22c55e}.kana-char-wrong{color:#ef4444}.kana-answer-reveal{font-size:2rem;font-weight:700;color:#22c55e;letter-spacing:.05em}.kana-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;width:100%}.kana-option-btn{padding:14px 8px;border-radius:10px;font-size:1rem;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);cursor:pointer;transition:background .1s,border-color .1s}.kana-option-btn:hover:not(:disabled){background:var(--surface-accent)}.kana-opt-correct{background:#dcfce7!important;border-color:#22c55e!important;color:#166534}.kana-opt-wrong{background:#fee2e2!important;border-color:#ef4444!important;color:#991b1b}.kana-type-form{display:flex;gap:8px;width:100%}.kana-type-form input{flex:1;font-size:1.2rem;padding:10px 14px;border-radius:8px;text-align:center}.kana-next-btn{font-size:1rem;padding:10px 28px;border-radius:8px}.kana-trainer-shell{position:relative;width:min(640px,100%);max-width:none;margin:28px auto;padding:0 16px;gap:16px}.kana-trainer-shell:before{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--accent-2) 20%,var(--border));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-2)) 0%,var(--surface-strong) 58%,color-mix(in srgb,var(--surface-strong) 94%,var(--accent-3)) 100%);box-shadow:var(--shadow);pointer-events:none}.kana-trainer-shell>*{position:relative;z-index:1}.kt-header{width:100%;display:flex;align-items:center;gap:12px;padding:14px 14px 0}.kt-header .kana-back-btn{min-height:38px;padding:6px 11px;border-radius:10px;font-size:.88rem}.kt-title{margin-right:auto;color:var(--accent-2);font-size:.73rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.kt-header-controls{display:flex;align-items:center;gap:7px;margin-left:auto}.kt-segmented{display:flex;gap:3px;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--surface-inset) 82%,transparent)}.kt-segmented button{min-height:34px;padding:4px 10px;border:1px solid transparent;border-radius:7px;background:transparent;box-shadow:none;color:var(--muted);font-size:.82rem;white-space:nowrap}.kt-segmented button:hover{transform:none;border-color:transparent;box-shadow:none;color:var(--ink)}.kt-segmented button.active{background:var(--surface-strong);color:var(--accent-2);box-shadow:0 2px 7px color-mix(in srgb,var(--ink) 14%,transparent)}.kt-display{width:calc(100% - 28px);min-height:245px;margin:0 14px;padding:18px;border:1px solid color-mix(in srgb,var(--accent-2) 21%,var(--border));border-radius:19px;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--accent-2) 9%,transparent),transparent 54%)}.kt-prompt{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.kana-trainer-shell .kana-char{font-size:clamp(6.5rem,12vw,10rem);text-shadow:0 8px 18px color-mix(in srgb,var(--accent-2) 13%,transparent)}.kana-trainer-shell .kana-answer-reveal{font-size:2rem}.kt-font-control{width:calc(100% - 28px);display:grid;grid-template-columns:auto auto minmax(120px,1fr) auto;align-items:center;gap:8px;margin:-5px 14px 0;padding:8px 11px;border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-inset) 75%,transparent);color:var(--muted)}.kt-font-label{margin-right:3px;font-size:.76rem;font-weight:700}.kt-font-small{font-size:.76rem}.kt-font-large{color:var(--ink);font-size:1.15rem;font-weight:800}.kt-font-control input{width:100%;min-width:0;accent-color:var(--accent-2);cursor:pointer}.kana-trainer-shell .kana-options{width:calc(100% - 28px);margin:0 14px 14px;gap:8px}.kana-trainer-shell .kana-option-btn{min-height:64px;padding:9px 5px;border-radius:12px;font-size:1rem;font-weight:750}.kana-trainer-shell .kana-option-btn:hover:not(:disabled){border-color:var(--accent-2);box-shadow:0 7px 14px color-mix(in srgb,var(--accent-2) 15%,transparent)}.kana-trainer-shell .kana-type-form{width:calc(100% - 28px);margin:0 14px 14px}.kana-trainer-shell .kana-type-form input{font-size:1.2rem;border-color:color-mix(in srgb,var(--accent-2) 25%,var(--border))}.kana-trainer-shell .kana-next-btn{margin-bottom:14px}@media(max-width:590px){.kana-trainer-shell{margin:14px auto;padding:0 10px}.kana-trainer-shell:before{border-radius:19px}.kt-header{align-items:flex-start;flex-wrap:wrap;padding:12px 12px 0}.kt-title{display:none}.kt-header-controls{width:100%;justify-content:space-between;margin-left:0}.kt-segmented{flex:1}.kt-segmented button{flex:1;padding-inline:5px}.kt-display{width:calc(100% - 24px);min-height:225px;margin:0 12px}.kt-font-control,.kana-trainer-shell .kana-options,.kana-trainer-shell .kana-type-form{width:calc(100% - 24px);margin-left:12px;margin-right:12px}.kana-trainer-shell .kana-options{grid-template-columns:repeat(3,1fr)}.kana-trainer-shell .kana-option-btn{min-height:56px}}.kana-skip-btn{font-size:.9rem;padding:10px 14px;border-radius:8px;color:var(--muted);background:var(--surface-strong);border:1px solid var(--border);white-space:nowrap}.kana-skip-btn:disabled{opacity:.5}.kana-string-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.kana-string-slot{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:6px 4px;border-radius:8px;border:1px solid var(--border);background:var(--surface-strong)}.kana-slot-correct{border-color:#22c55e;background:#22c55e1f}.kana-slot-wrong{border-color:#ef4444;background:#ef44441f}.kana-string-char{font-size:1.6rem;line-height:1}.kana-string-romaji{font-size:.65rem;display:flex;flex-direction:column;align-items:center;gap:1px;min-height:1.4em}.kana-slot-typed{color:#ef4444;text-decoration:line-through}.kana-slot-answer{color:#22c55e;font-weight:700}.kana-string-score{font-size:1.2rem;font-weight:700}.kr-kanji{font-size:7rem}.kr-type-badge{font-size:.85rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.04em}.on-badge{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.35)}.kun-badge{background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.35)}.kr-reveal{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px}.kr-readings{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.kr-reading-chip{font-size:1.1rem;padding:3px 10px;border-radius:6px;background:var(--surface-strong);border:1px solid var(--border)}.kr-meaning{font-size:.9rem;color:var(--muted, #888)}.kr-source-note{border:1px solid rgba(28,138,132,.22);border-radius:999px;background:#1c8a8414;color:var(--accent-2);font-size:.74rem;font-weight:850;padding:3px 9px}.kr-options{grid-template-columns:repeat(6,1fr)}.kr-option-btn{font-size:1.1rem;font-family:inherit}.kr-opt-selected{border-color:var(--accent, #3b82f6)!important;background:#3b82f61f!important}.kr-opt-missed{border-color:#f59e0b!important;background:#f59e0b1f!important}.kr-opt-kana{display:block}.kr-opt-romaji{display:block;font-size:.72rem;color:var(--muted, #888);margin-top:2px}.kr-hint{font-size:.8rem;color:var(--muted, #888)}.kr-hearts{display:flex;gap:3px;justify-content:center;margin-top:6px}.kr-heart{font-size:1.1rem;line-height:1}.kr-layout{position:relative}.kr-star-panel{position:absolute;top:60px;right:calc(100% + 16px);display:flex;flex-direction:column;align-items:center;gap:6px;min-width:48px}.kr-star-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.kr-star-pip{font-size:1rem;color:var(--border, #444);transition:color .2s,transform .15s}.kr-star-pip.filled{color:#f59e0b;transform:scale(1.15)}.kr-star-count{font-size:.75rem;color:var(--muted, #888);font-variant-numeric:tabular-nums}.kr-star-banked{font-size:.7rem;color:#f59e0b;font-weight:700}.kr-vocab-btn{display:flex;flex-direction:column;align-items:center;gap:1px;background:#3b82f61f;border:1px solid rgba(59,130,246,.35);border-radius:8px;padding:5px 8px;cursor:pointer;margin-top:6px;transition:background .15s}.kr-vocab-btn:hover{background:#3b82f638}.kr-vocab-count{font-size:1rem;font-weight:700;color:#3b82f6;line-height:1}.kr-vocab-label{font-size:.6rem;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.05em}.kr-level-badge{position:absolute;top:-4px;left:calc(100% + 16px);display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:100px}.kr-level-label{font-size:.9rem;font-weight:700;color:#f59e0b;letter-spacing:.04em;line-height:1}.kr-level-bar-track{width:100%;height:5px;background:#ffffff1a;border-radius:3px;overflow:hidden}.kr-level-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:3px;transition:width .4s ease}.kr-levelup-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#0000008c;cursor:pointer;overflow:hidden}.kr-levelup-slam{text-align:center;animation:kr-levelup-slam .65s cubic-bezier(.17,.67,.35,1.45) forwards;pointer-events:none}@keyframes kr-levelup-slam{0%{transform:scale(3.5) translateY(-60px);opacity:0}55%{transform:scale(.88) translateY(0);opacity:1}72%{transform:scale(1.12) translateY(0)}86%{transform:scale(.96) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}.kr-levelup-text{font-size:2.2rem;font-weight:900;color:#f59e0b;letter-spacing:.12em;text-shadow:0 0 30px rgba(245,158,11,.8),0 3px 8px rgba(0,0,0,.6)}.kr-levelup-num{font-size:6rem;font-weight:900;line-height:1;color:#fff;text-shadow:0 0 40px rgba(245,158,11,1),0 6px 16px rgba(0,0,0,.7)}.kr-levelup-heart{position:fixed;top:-6%;animation:kr-heart-fall linear forwards;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes kr-heart-fall{0%{transform:translateY(0) translate(0) rotate(-15deg);opacity:1}80%{opacity:1}to{transform:translateY(110vh) translate(var(--sway)) rotate(200deg);opacity:0}}.kr-level-xp{font-size:.6rem;color:var(--muted, #888);font-variant-numeric:tabular-nums}.kr-xp-flash{position:absolute;top:-18px;left:0;font-size:.75rem;font-weight:700;color:#f59e0b;animation:kr-xp-float 1.2s ease-out forwards;pointer-events:none}@keyframes kr-xp-float{0%{opacity:1;transform:translateY(0)}60%{opacity:1;transform:translateY(-12px)}to{opacity:0;transform:translateY(-22px)}}.kr-back-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.8rem;cursor:pointer;color:var(--ink)}.kr-back-btn:hover{background:var(--surface-strong)}.vr-options{grid-template-columns:repeat(2,1fr)!important}.sr-attribution{display:flex;align-items:baseline;gap:6px;font-size:.72rem;color:#666;margin-bottom:10px;flex-wrap:wrap}.sr-book-title{color:#aaa;font-style:italic}.sr-attr-sep{color:#555}.sr-author{color:#999}.sr-aozora{margin-left:auto;font-size:.62rem;color:#555}.sr-display{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px}.sr-sentence{font-size:1.35rem;line-height:1.9;text-align:center;color:var(--text, #e8e8e8);letter-spacing:.04em;max-width:520px}.sr-options{grid-template-columns:1fr!important;width:100%;gap:6px!important}.sr-opt{height:auto!important;min-height:44px;padding:10px 14px!important;text-align:left!important;align-items:flex-start!important;white-space:normal!important;line-height:1.5!important}.sr-opt-reading{font-size:.95rem;line-height:1.6;letter-spacing:.03em;color:inherit}.sr-full-reading-reveal{font-size:.9rem;color:#4ade80;line-height:1.6;letter-spacing:.03em;text-align:center;padding:4px 8px}.kr-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--muted, #888);text-align:center}.kr-empty-hint{font-size:.85rem}.kr-celebration{position:fixed;inset:0;pointer-events:none;z-index:999;display:flex;align-items:center;justify-content:center}.kr-cel-3{animation:kr-shake .5s ease-in-out}@keyframes kr-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,4px)}80%{transform:translate(4px,-2px)}}.kr-particle{position:absolute;font-size:calc(1.1rem * var(--size, 1));opacity:0;animation:kr-burst var(--dur, 1.2s) ease-out var(--delay, 0s) forwards}@keyframes kr-burst{0%{opacity:1;transform:translate(0) scale(1.4)}60%{opacity:.9}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.2)}}.kr-ring{position:absolute;border-radius:50%;border:3px solid;opacity:0;animation:kr-ring-expand var(--dur, 1.1s) ease-out var(--delay, 0s) forwards}@keyframes kr-ring-expand{0%{opacity:.9;transform:scale(.1)}70%{opacity:.5}to{opacity:0;transform:scale(3.5)}}.kr-slam-text{position:absolute;font-size:7rem;font-weight:900;color:#f59e0b;opacity:0;text-shadow:0 0 40px rgba(245,158,11,.6);animation:kr-slam 2s ease-out forwards;z-index:2}.kr-slam-l3{font-size:11rem;background:linear-gradient(135deg,#f59e0b,#ec4899,#3b82f6,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 30px rgba(245,158,11,.8));animation:kr-slam 2.8s ease-out forwards}@keyframes kr-slam{0%{opacity:0;transform:scale(5)}15%{opacity:1;transform:scale(.85)}25%{opacity:1;transform:scale(1.05)}35%{opacity:1;transform:scale(1)}70%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1)}}.kr-flash-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(245,158,11,.35) 0%,rgba(236,72,153,.15) 50%,transparent 75%);animation:kr-flash-fade .8s ease-out forwards}@keyframes kr-flash-fade{0%{opacity:1}to{opacity:0}}.kr-cel-3{animation:kr-shake-l3 .6s ease-in-out}@keyframes kr-shake-l3{0%,to{transform:translate(0)}15%{transform:translate(-8px,4px)}30%{transform:translate(8px,-5px)}45%{transform:translate(-6px,6px)}60%{transform:translate(7px,-3px)}75%{transform:translate(-4px,5px)}90%{transform:translate(5px,-2px)}}.kr-upcoming{position:absolute;top:60px;left:calc(100% + 16px);display:flex;flex-direction:column;gap:12px;min-width:max-content}.kr-debug-panel{position:absolute;top:60px;left:calc(100% + 100px);display:flex;flex-direction:column;gap:4px;min-width:110px}.kr-debug-title{font-size:.65rem;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.kr-debug-row{display:flex;align-items:center;gap:5px}.kr-debug-kanji{font-size:1.1rem;min-width:28px}.kr-debug-due{font-size:.7rem;color:var(--muted, #888);font-variant-numeric:tabular-nums}.kr-upcoming-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.kr-upcoming-char{font-size:2.8rem;line-height:1;color:var(--muted, #888);white-space:nowrap}.kr-upcoming-badge{font-size:.6rem;padding:1px 5px;border-radius:999px}.srs-streak-badge{position:absolute;bottom:5px;right:5px;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;font-size:.7rem;font-weight:800;color:#fff;line-height:1;pointer-events:none;box-shadow:0 1px 4px #00000073;transition:background .3s}.kr-kanji-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ia-image-wrap{position:relative;display:inline-block}.ia-image-wrap .srs-streak-badge,.kr-kanji-wrap .srs-streak-badge{bottom:-12px;right:-12px}.ia-layout{width:448px;min-height:720px}.ia-image-area{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0 0}.ia-image{width:280px;height:280px;object-fit:cover;border-radius:12px;border:2px solid var(--border, #333);box-shadow:0 4px 20px #00000059}.ia-prompt{font-size:.85rem;color:var(--muted, #888);text-align:center;margin-top:-14px;margin-bottom:0;letter-spacing:.03em;text-transform:uppercase}.ia-english-confirm{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:-20px;margin-bottom:0}.ia-english-text{font-size:1.1rem;font-weight:600;color:#4ade80}.ia-check{font-size:1.1rem;color:#4ade80}.ia-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:360px;margin:-12px auto 0}.ia-opt{padding:14px 10px;border-radius:10px;border:2px solid var(--border, #333);background:var(--card-bg, #1a1a1a);color:var(--text, #eee);font-size:.95rem;font-weight:500;cursor:pointer;text-align:center;transition:background .12s,border-color .12s,transform .08s;min-height:56px;display:flex;align-items:center;justify-content:center}.ia-opt:hover:not(:disabled){background:#ffffff12;border-color:var(--accent, #888)}.ia-opt:active:not(:disabled){transform:scale(.97)}.ia-options-kanji .ia-opt{font-size:2rem;font-weight:700;min-height:72px}.adv-shell{display:flex;flex-direction:column;align-items:center;gap:36px;padding:48px 24px 80px;min-height:100vh}.adv-hero{text-align:center}.adv-title{font-size:4.5rem;font-weight:900;line-height:1;color:var(--ink);letter-spacing:-.02em}.adv-subtitle{font-size:1.4rem;font-weight:700;color:var(--ink);margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.adv-tagline{margin-top:14px;font-size:.95rem;color:var(--muted);max-width:480px;line-height:1.6}.adv-loading{color:var(--muted);font-size:.9rem}.adv-stats-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.adv-stat-card{background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));border:1px solid var(--border);border-radius:14px;padding:20px 28px;text-align:center;min-width:130px}.adv-stat-value{font-size:2.4rem;font-weight:900;line-height:1}.adv-stat-label{font-size:.82rem;font-weight:700;margin-top:6px;color:var(--ink);text-transform:uppercase;letter-spacing:.05em}.adv-stat-sub{font-size:.72rem;color:var(--muted);margin-top:3px}.adv-level-row{display:flex;align-items:center;gap:10px;font-size:.9rem}.adv-level-pip{width:10px;height:10px;border-radius:50%;flex-shrink:0}.adv-level-text{color:var(--ink)}.adv-level-hint{color:var(--muted);font-size:.8rem}.adv-mode-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.adv-mode-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 36px;border-radius:16px;border:2px solid var(--border);background:linear-gradient(135deg,var(--surface-strong),var(--surface-accent));cursor:not-allowed;opacity:.55;transition:opacity .2s,border-color .2s;min-width:200px}.adv-mode-btn:not(:disabled){cursor:pointer;opacity:1}.adv-mode-btn:not(:disabled):hover{border-color:var(--accent-2)}.adv-mode-primary{border-color:var(--accent-2)}.adv-mode-icon{font-size:2rem}.adv-mode-label{font-size:1rem;font-weight:700;color:var(--ink)}.adv-mode-desc{font-size:.78rem;color:var(--muted);text-align:center}.adv-entry-notice{width:min(520px,100%);margin:0 auto;border:1px solid rgba(245,158,11,.45);border-radius:10px;background:#f59e0b1a;color:var(--text-gold);padding:10px 14px;text-align:center;font-weight:700}.adv-coming-soon{font-size:.82rem;color:var(--muted);font-style:italic}.adv-game-shell{--adv-font-scale: 1;display:flex;flex-direction:column;align-items:center;gap:0;min-height:100vh;max-width:680px;margin:0 auto;padding:0 0 40px}.adv-level-up-flash{align-items:center;animation:adv-level-up-shell 2.3s ease both;display:flex;inset:0;justify-content:center;padding:20px;pointer-events:none;position:fixed;z-index:90}.adv-level-up-card{animation:adv-level-up-card 2.3s cubic-bezier(.22,1,.36,1) both;background:linear-gradient(135deg,#facc1533,#3b82f629),#0f172ae6;border:1px solid rgba(253,224,71,.42);border-radius:8px;box-shadow:0 24px 70px #0000006b,0 0 46px #facc152e,inset 0 1px #ffffff24;color:#fef9c3;display:grid;gap:5px;min-width:min(360px,calc(100vw - 56px));overflow:hidden;padding:18px 28px 20px;position:relative;text-align:center}.adv-level-up-card:before{animation:adv-level-up-glint 1.5s ease-out .12s both;background:linear-gradient(105deg,transparent 0%,transparent 28%,rgba(255,255,255,.42) 45%,rgba(253,224,71,.22) 52%,transparent 70%,transparent 100%);content:"";inset:-20%;position:absolute;transform:translate(-48%) skew(-12deg)}.adv-level-up-card span{color:#fef9c3db;font-size:.78rem;font-weight:950;letter-spacing:.1em;position:relative}.adv-level-up-card strong{color:#fff7ed;font-size:clamp(2.5rem,9vw,5.2rem);font-weight:950;line-height:.92;position:relative;text-shadow:0 2px 0 rgba(120,53,15,.45),0 0 30px rgba(250,204,21,.26)}.adv-level-up-card small{color:#dbeafed1;font-size:.8rem;font-weight:850;position:relative}@keyframes adv-level-up-shell{0%{background:#02061700;opacity:0}13%,62%{background:radial-gradient(circle at 50% 42%,#facc1529,#02061733 46%,#0206170a 70%);opacity:1}to{background:#02061700;opacity:0}}@keyframes adv-level-up-card{0%{filter:blur(5px) brightness(1.2);opacity:0;transform:translate3d(0,18px,0) scale(.92)}16%{filter:blur(0) brightness(1.08);opacity:1;transform:translateZ(0) scale(1.02)}34%{transform:translate3d(0,-2px,0) scale(1)}72%{filter:brightness(1);opacity:1;transform:translate3d(0,-4px,0) scale(1)}to{filter:blur(3px) brightness(1);opacity:0;transform:translate3d(0,-14px,0) scale(.985)}}@keyframes adv-level-up-glint{0%{opacity:0;transform:translate(-50%) skew(-12deg)}20%{opacity:.85}to{opacity:0;transform:translate(42%) skew(-12deg)}}.adv-game-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;border-bottom:1px solid var(--border)}.adv-back-btn{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--muted);padding:4px 8px;border-radius:6px}.adv-back-btn:hover{background:var(--surface)}.adv-game-mode-badge{font-size:.78rem;font-weight:600;color:var(--muted);margin-left:4px}.adv-header-tools{margin-left:auto;display:flex;align-items:center;gap:10px}.adv-renderer-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}.adv-renderer-toggle button{border:0;background:transparent;color:var(--muted);padding:4px 9px;font-size:.7rem;font-weight:900;cursor:pointer}.adv-renderer-toggle button.is-active{background:#22c55e24;color:#22c55e}.adv-map-panel{width:calc(100% - 40px);margin:12px 20px 0;border:1px solid rgba(59,130,246,.28);border-radius:12px;background:var(--surface);box-shadow:0 18px 42px #0000002e;overflow:hidden}.adv-map-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--ink)}.adv-map-header strong{font-size:.86rem}.adv-map-header span{color:var(--muted);font-size:.7rem}.adv-map-header button{border:1px solid rgba(59,130,246,.32);border-radius:999px;background:#3b82f61a;color:#93c5fd;padding:5px 9px;font-size:.68rem;font-weight:900;cursor:pointer}.adv-map-header button.is-active{border-color:#22c55e6b;background:#22c55e24;color:#22c55e}.adv-map-canvas-wrap{position:relative;height:min(56vh,620px);min-height:360px;overflow:hidden;overscroll-behavior:contain;background:#111827}.adv-map-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;overscroll-behavior:contain}.adv-map-canvas:active{cursor:grabbing}.adv-map-tooltip{position:absolute;z-index:2;pointer-events:none;display:grid;gap:2px;min-width:98px;padding:7px 9px;border:1px solid rgba(103,232,249,.42);border-radius:8px;background:#0f172aeb;color:#e0f2fe;box-shadow:0 10px 26px #00000047}.adv-map-tooltip strong{font-size:.82rem}.adv-map-tooltip span{color:#93c5fd;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.adv-font-slider{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem;font-weight:900}.adv-font-slider input{width:86px;accent-color:var(--accent-2)}.adv-knowledge-toggle{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:4px 10px;font-size:.72rem;font-weight:900;cursor:pointer}.adv-knowledge-toggle.is-active{border-color:#3b82f673;background:#3b82f61f;color:#3b82f6}.adv-inventory-toggle,.adv-stats-toggle,.adv-quests-toggle{align-items:center;background:#22c55e14;border:1px solid rgba(34,197,94,.28);border-radius:999px;color:#86efac;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:900;gap:7px;padding:4px 9px}.adv-stats-toggle{background:#3b82f614;border-color:#3b82f647;color:#93c5fd}.adv-quests-toggle{background:#f59e0b1a;border-color:#f59e0b57;color:#fcd34d}.adv-inventory-toggle span,.adv-stats-toggle span,.adv-quests-toggle span{align-items:center;background:#22c55e2e;border-radius:999px;color:#dcfce7;display:inline-flex;font-size:.66rem;justify-content:center;min-width:20px;padding:1px 6px}.adv-stats-toggle span{background:#3b82f62e;color:#dbeafe}.adv-quests-toggle span{background:#f59e0b33;color:#fef3c7}.adv-inventory-toggle.is-active,.adv-stats-toggle.is-active,.adv-quests-toggle.is-active{background:#22c55e29;border-color:#22c55e7a;color:#dcfce7}.adv-stats-toggle.is-active{background:#3b82f629;border-color:#3b82f67a;color:#dbeafe}.adv-quests-toggle.is-active{background:#f59e0b2e;border-color:#f59e0b80;color:#fef3c7}.adv-inventory-drawer{background:color-mix(in srgb,var(--surface-strong) 86%,#052e16);border-bottom:1px solid rgba(34,197,94,.24);display:grid;gap:10px;padding:12px 20px}.adv-stats-drawer{background:color-mix(in srgb,var(--surface-strong) 88%,#172554);border-bottom-color:#3b82f63d}.adv-quests-drawer{background:color-mix(in srgb,var(--surface-strong) 88%,#78350f);border-bottom-color:#f59e0b47}.adv-quest-list{max-height:min(34vh,300px);overflow-y:auto;padding-right:2px}.adv-inventory-drawer-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.adv-inventory-drawer-header div{display:grid;gap:2px}.adv-inventory-drawer-header strong{color:var(--ink);font-size:.88rem}.adv-inventory-drawer-header span,.adv-inventory-empty,.adv-equipment-strip span,.adv-gold-summary span,.adv-stat-card span,.adv-stat-card small{color:var(--muted);font-size:.74rem;font-weight:800}.adv-gold-summary{display:flex;flex-wrap:wrap;gap:8px}.adv-gold-summary span{background:#f59e0b1a;border:1px solid rgba(245,158,11,.24);border-radius:999px;color:var(--text-gold);padding:4px 9px}.adv-gold-summary strong{color:var(--text-gold)}.adv-inventory-drawer-header button{background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:.7rem;font-weight:900;padding:4px 9px}.adv-inventory-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));max-height:min(34vh,300px);overflow-y:auto;padding-right:2px}.adv-inventory-card{border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172a5c;display:grid;gap:4px;min-height:98px;padding:9px}.adv-inventory-card strong{color:var(--ink);font-size:calc(1rem * var(--adv-font-scale, 1));line-height:1.25}.adv-inventory-card span{color:#86efac;font-size:.7rem;font-weight:900;text-transform:uppercase}.adv-inventory-card small{color:var(--muted);font-size:.66rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adv-equipment-strip{border-top:1px solid rgba(148,163,184,.16);display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.adv-stats-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.adv-stat-card{background:#0f172a57;border:1px solid rgba(148,163,184,.22);border-radius:8px;display:grid;gap:5px;min-height:98px;padding:10px}.adv-stat-card strong{color:var(--ink);font-size:1.25rem;line-height:1.1}.adv-stat-meter{background:#0f172a8c;border:1px solid rgba(148,163,184,.2);border-radius:999px;height:9px;overflow:hidden}.adv-stat-meter span{background:linear-gradient(90deg,#ef4444,#22c55e);display:block;height:100%}.adv-stat-meter.is-xp span{background:linear-gradient(90deg,#3b82f6,#a78bfa)}.adv-game-level-badge{font-size:.75rem;font-weight:700;border:1.5px solid;border-radius:20px;padding:2px 10px}.adv-game-scene{width:100%;display:flex;flex-direction:column;position:relative}.adv-vocab-overlay-panel{position:absolute;top:14px;right:14px;z-index:8;width:min(320px,calc(100% - 28px));border-radius:12px;border:1px solid rgba(59,130,246,.34);background:linear-gradient(160deg,#020617e6,#0f172aeb),var(--surface-strong);box-shadow:0 16px 34px #0000005c;padding:11px 12px;display:grid;gap:8px}.adv-vocab-overlay-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.adv-vocab-overlay-header div{display:grid;gap:3px}.adv-vocab-overlay-header span{color:#93c5fd;font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.adv-vocab-overlay-header strong{color:#f8fafc;font-size:1.02rem;line-height:1.15}.adv-vocab-overlay-header strong.is-universe-debug{color:#4ade80}.adv-vocab-overlay-header button{border:1px solid rgba(148,163,184,.45);border-radius:999px;background:#1e293be6;color:#cbd5e1;cursor:pointer;font-size:.68rem;font-weight:900;padding:4px 8px}.adv-vocab-overlay-reading{display:grid;gap:1px;padding:2px 0 1px}.adv-vocab-overlay-reading strong{color:#f8fafc;font-size:1.26rem;font-weight:950;letter-spacing:.02em;line-height:1.05}.adv-vocab-overlay-reading span{color:#93c5fd;font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:lowercase}.adv-vocab-overlay-meta{display:flex;flex-wrap:wrap;gap:6px}.adv-vocab-overlay-meta span{border:1px solid rgba(148,163,184,.34);border-radius:999px;background:#1e293bb3;color:#e2e8f0;font-size:.66rem;font-weight:850;padding:3px 8px}.adv-vocab-overlay-meta span.is-universe-debug{border-color:#4ade808f;background:#15803d47;color:#86efac}.adv-vocab-overlay-image{border-radius:8px;overflow:hidden;background:#0206179e;border:1px solid rgba(148,163,184,.26);min-height:100px;display:grid;place-items:center}.adv-vocab-overlay-image img{display:block;width:100%;max-height:180px;object-fit:cover}.adv-vocab-overlay-image-locked{width:100%;min-height:100px;padding:10px 8px;display:grid;place-items:center;gap:6px;text-align:center}.adv-vocab-overlay-image-locked strong{color:#e2e8f0;font-size:1.18rem;line-height:1.2}.adv-vocab-overlay-image-locked small{color:#93c5fd;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}.adv-vocab-overlay-image small{color:#94a3b8;font-size:.7rem;text-align:center;padding:10px}.adv-vocab-overlay-kanji-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.adv-vocab-overlay-kanji-chip{min-width:0;border:1px solid rgba(74,222,128,.32);border-radius:8px;background:#14532d5c;color:#dcfce7;cursor:pointer;display:grid;gap:2px;justify-items:center;min-height:54px;padding:6px 5px;text-align:center}.adv-vocab-overlay-kanji-chip strong{color:#f8fafc;font-size:1rem;line-height:1}.adv-vocab-overlay-kanji-chip span{color:#bbf7d0;font-size:.62rem;font-weight:800;line-height:1.15;max-width:100%;overflow-wrap:anywhere}.adv-vocab-overlay-kanji-chip small{color:#86efac;font-size:.58rem;font-weight:900;line-height:1}.adv-vocab-overlay-quiz{border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172a73;padding:8px;display:grid;gap:7px}.adv-vocab-overlay-quiz-header{display:grid;gap:1px}.adv-vocab-overlay-quiz-header span{color:#93c5fd;font-size:.62rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.adv-vocab-overlay-quiz-header strong{color:#e2e8f0;font-size:.74rem;font-weight:850}.adv-vocab-overlay-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.adv-vocab-overlay-choice{border:1px solid rgba(148,163,184,.34);border-radius:8px;background:#1e293bd6;color:#e2e8f0;cursor:pointer;font-size:.76rem;font-weight:850;line-height:1.2;min-height:34px;padding:6px 7px;text-align:center}.adv-vocab-overlay-choice:disabled{cursor:not-allowed;opacity:.92}.adv-vocab-overlay-choice.is-correct{border-color:#4ade808c;background:#1665348a;color:#dcfce7}.adv-vocab-overlay-choice.is-wrong{border-color:#f871719e;background:#7f1d1d85;color:#fee2e2}.adv-vocab-overlay-result{color:#cbd5e1;font-size:.68rem;font-weight:750}.adv-vocab-overlay-result.is-correct{color:#86efac}.adv-vocab-overlay-result.is-wrong{color:#fecaca}.adv-vocab-overlay-panel p{margin:0;color:#cbd5e1;font-size:.73rem;line-height:1.5}.adv-vocab-overlay-error{color:#fca5a5;font-size:.68rem}.adv-trainer-gate-overlay{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.adv-trainer-gate-backdrop{position:absolute;inset:0;background:#020617b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.adv-trainer-gate-panel{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid rgba(148,163,184,.34);border-radius:10px;background:#0f172af5;box-shadow:0 24px 64px #00000075;padding:14px}.adv-trainer-gate-status,.adv-trainer-gate-error{margin:0 0 10px;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:800}.adv-trainer-gate-status{border:1px solid rgba(59,130,246,.36);background:#1e40af38;color:#bfdbfe}.adv-trainer-gate-error{border:1px solid rgba(248,113,113,.46);background:#7f1d1d4d;color:#fecaca}@media(max-width:760px){.adv-vocab-overlay-panel{inset:auto 12px 12px;width:auto}.adv-trainer-gate-overlay{align-items:stretch;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.adv-trainer-gate-panel{max-height:calc(100dvh - 20px);padding:10px}}.adv-llm-status{margin-bottom:10px;border:1px solid rgba(59,130,246,.24);border-radius:8px;background:#3b82f614;color:#bfdbfe;padding:8px 10px;font-size:.8rem;font-weight:800}.adv-llm-status.is-error{border-color:#f871713d;background:#f8717114;color:#fecaca}.adv-scene-request-status{margin:12px 18px 0;width:fit-content;max-width:calc(100% - 36px);display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(59,130,246,.28);border-radius:8px;background:#3b82f61a;color:#dbeafe;padding:8px 11px;font-size:.82rem;font-weight:850}.adv-scene-request-status.is-error{border-color:#f8717147;background:#f871711a;color:#fecaca}.adv-scene-request-status small{color:var(--muted);font-size:.72rem;font-weight:800}.adv-scene-request-spinner{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;opacity:0}.adv-scene-request-spinner.is-active{opacity:1}.adv-scene-request-spinner-ring{width:15px;height:15px;border-radius:999px;border:2px solid rgba(148,163,184,.4);border-top-color:var(--accent-2);animation:adv-choice-spin .8s linear infinite}.adv-scene-image-area{width:100%;background:var(--surface-inset);border-bottom:1px solid var(--border)}.adv-scene-image-frame{position:relative;overflow:hidden;background:#000}.adv-scene-image{display:block;width:100%;height:260px;object-fit:cover;object-position:center bottom;background:var(--surface-inset);animation:adv-scene-image-reveal 1s ease-in-out both,adv-scene-image-pan-y 82s linear infinite}.adv-scene-image.is-battle-image{animation:adv-scene-image-reveal 1s ease-in-out both,adv-battle-image-pan-y 42.36s linear infinite}.adv-scene-image-result{display:grid;overflow:hidden}@keyframes adv-scene-image-pan-y{0%,17%{object-position:center bottom}47%,63%{object-position:center top}93%,to{object-position:center bottom}}@keyframes adv-battle-image-pan-y{0%,3.54%{object-position:center bottom}50%,53.54%{object-position:center top}to{object-position:center bottom}}@keyframes adv-scene-image-reveal{0%{opacity:0}to{opacity:1}}.adv-scene-image-prompt{border-top:1px solid var(--border);background:var(--surface);color:var(--muted);padding:8px 14px;font-size:.76rem}.adv-scene-image-prompt summary{cursor:pointer;color:var(--accent-2);font-weight:900;text-transform:uppercase;letter-spacing:.05em}.adv-scene-image-prompt code{display:block;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.adv-scene-image-placeholder{position:relative;overflow:hidden;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);padding:18px 20px;text-align:center}.adv-scene-image-icon{font-size:1.25rem;font-weight:800}.adv-scene-image-label{font-size:.8rem}.adv-scene-image-tools{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:4px}.adv-scene-image-tools select,.adv-scene-image-tools button{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 10px;font-size:.78rem;font-weight:850}.adv-scene-image-tools button{background:#22c55e24;border-color:#22c55e5c;color:#22c55e;cursor:pointer}.adv-scene-image-tools button:disabled{opacity:.55;cursor:not-allowed}.adv-scene-image-error{max-width:560px;color:#fecaca;background:#ef44441a;border:1px solid rgba(239,68,68,.26);border-radius:8px;padding:6px 8px;font-size:.76rem}.adv-scene-image-fade{position:absolute;inset:0;z-index:1;pointer-events:none;background:#000;opacity:0;transition:opacity .62s ease-in-out}.adv-scene-image-fade.is-blackout{opacity:1}.adv-hp-strip{position:absolute;right:12px;bottom:12px;z-index:2;width:min(230px,calc(100% - 24px));border:1px solid rgba(248,113,113,.34);border-radius:8px;background:linear-gradient(135deg,#7f1d1d6b,#0f172aeb),var(--surface);box-shadow:0 10px 24px #00000038;padding:7px 8px 8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);isolation:isolate}.adv-hp-strip.is-battle{width:min(190px,max(128px,calc(50% - 18px)))}.adv-hp-strip.is-enemy{right:auto;left:12px;border-color:#f8717170;background:linear-gradient(135deg,#7f1d1d94,#0f172aeb),var(--surface)}.adv-hp-strip.is-player{overflow:visible}.adv-hp-strip.is-player .adv-hp-label,.adv-hp-strip.is-player .adv-hp-track{position:relative;z-index:1}.adv-hp-strip.is-player.is-damaged-0,.adv-hp-strip.is-player.is-damaged-1,.adv-hp-strip.is-enemy.is-damaged-0,.adv-hp-strip.is-enemy.is-damaged-1{animation:adv-hp-hit-bounce .74s cubic-bezier(.22,1,.36,1)}.adv-hp-strip.is-enemy.is-damaged-0,.adv-hp-strip.is-enemy.is-damaged-1{border-color:#fef08ab8}.adv-hp-strip.is-player.is-damaged-0:before,.adv-hp-strip.is-player.is-damaged-1:before{content:"";position:absolute;inset:-7px;z-index:0;border:1px solid rgba(254,226,226,.76);border-radius:12px;box-shadow:0 0 #f871715c,0 0 28px #f8717157,inset 0 0 18px #facc1529;pointer-events:none;animation:adv-hp-alert-ring .78s ease-out both}.adv-hp-strip.is-player.is-damaged-0:after,.adv-hp-strip.is-player.is-damaged-1:after{content:"";position:absolute;inset:-4px;z-index:0;border-radius:11px;background:linear-gradient(105deg,transparent 0%,transparent 24%,rgba(255,255,255,.68) 42%,rgba(254,202,202,.5) 48%,transparent 64%,transparent 100%);filter:blur(.2px);mix-blend-mode:screen;pointer-events:none;animation:adv-hp-alert-glint .66s ease-out both}.adv-hp-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;color:#fee2e2;font-size:.7rem;font-weight:900}.adv-hp-label span{color:#fca5a5;letter-spacing:.08em}.adv-hp-label strong{color:#fff1f2;font-size:.76rem}.adv-hp-track{height:7px;overflow:hidden;border-radius:999px;background:#0f172adb;border:1px solid rgba(248,113,113,.22)}.adv-hp-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef4444,#f97316 56%,#facc15);box-shadow:0 0 18px #f871718c;transition:width .22s ease}@keyframes adv-hp-hit-bounce{0%{transform:translateZ(0) scale(1);filter:brightness(1)}16%{transform:translate3d(-5px,-2px,0) scale(1.035);filter:brightness(1.22)}32%{transform:translate3d(4px,1px,0) scale(1.02)}50%{transform:translate3d(-2px,0,0) scale(1.012)}72%{transform:translate3d(1px,0,0) scale(1.004);filter:brightness(1.08)}to{transform:translateZ(0) scale(1);filter:brightness(1)}}@keyframes adv-hp-alert-ring{0%{opacity:0;transform:scale(.94);box-shadow:0 0 #f8717166,0 0 18px #f8717142,inset 0 0 14px #facc1529}18%{opacity:1}to{opacity:0;transform:scale(1.12);box-shadow:0 0 0 12px #f8717100,0 0 36px #f8717100,inset 0 0 22px #facc1500}}@keyframes adv-hp-alert-glint{0%{opacity:0;transform:translate(-32%) skew(-10deg)}20%{opacity:.95}to{opacity:0;transform:translate(34%) skew(-10deg)}}.adv-hp-fill.is-enemy{background:linear-gradient(90deg,#dc2626,#ef4444 58%,#fb7185);box-shadow:0 0 18px #dc26268c}.adv-battle-panel{margin:0 18px 18px;border:1px solid rgba(248,113,113,.26);border-radius:8px;background:linear-gradient(135deg,#7f1d1d33,#0f172aeb),var(--surface);box-shadow:0 18px 40px #00000038;padding:14px}.adv-battle-header{margin-bottom:10px}.adv-battle-header div{display:flex;flex-direction:column;gap:2px}.adv-battle-header span{color:#fca5a5;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.adv-battle-header strong{color:#fff1f2;font-size:1rem}.adv-battle-status{border:1px solid rgba(59,130,246,.24);border-radius:8px;background:#3b82f614;color:#bfdbfe;padding:8px 10px;font-size:.8rem;font-weight:850}.adv-battle-status.is-error{border-color:#f8717147;background:#f871711a;color:#fecaca}.adv-battle-status.is-victory{border-color:#22c55e57;background:#22c55e1f;color:#bbf7d0}.adv-battle-status.is-defeat{border-color:#f8717157;background:#7f1d1d3d;color:#fecaca}.adv-battle-defeat-panel{display:flex;align-items:center;justify-content:space-between;gap:12px}.adv-battle-defeat-panel strong{font-size:.95rem}.adv-battle-defeat-panel button{border:1px solid rgba(254,202,202,.35);border-radius:8px;background:#fecaca1f;color:#fee2e2;padding:7px 11px;font:inherit;font-weight:850;cursor:pointer}.adv-battle-defeat-panel button:hover{background:#fecaca33}.adv-battle-lines{color:var(--ink);font-size:calc(1rem * var(--adv-font-scale));line-height:1.7;margin-bottom:12px;border:1px solid rgba(252,165,165,.18);border-radius:8px;background:#0f172a6b;padding:10px 12px}.adv-battle-lines p{margin:0 0 6px;min-height:1.7em}.adv-battle-lines p:last-child{margin-bottom:0}.adv-battle-lines.is-animated p{animation:adv-battle-line-in .12s ease-out both}.adv-battle-lines .is-intent{color:#fff1f2;font-size:calc(1.12rem * var(--adv-font-scale));font-weight:850}.adv-battle-lines .is-player{color:#bfdbfe;font-weight:850}.adv-battle-lines .is-selected{color:#bfdbfe;font-size:calc(1.02rem * var(--adv-font-scale));font-weight:900}.adv-battle-lines .is-enemy{color:#fecaca;font-weight:850}.adv-battle-lines .is-result{color:var(--muted);font-size:calc(.9rem * var(--adv-font-scale))}.adv-battle-lines .is-separator{border-top:1px solid rgba(252,165,165,.18);color:#fca5a5;font-size:calc(.78rem * var(--adv-font-scale));font-weight:900;letter-spacing:.08em;margin-top:10px;padding-top:8px}.adv-battle-result-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.adv-battle-result-chip{border:1px solid rgba(226,232,240,.22);border-radius:8px;background:#0f172a80;color:#e2e8f0;min-height:32px;padding:6px 10px;font-size:calc(.9rem * var(--adv-font-scale));font-weight:900;line-height:1.2;display:inline-flex;align-items:center}.adv-battle-result-chips.is-animated .adv-battle-result-chip{animation:adv-battle-chip-in .18s ease-out both;animation-delay:calc(var(--battle-chip-index, 0) * 70ms)}.adv-battle-result-chips.is-exiting .adv-battle-result-chip{animation:adv-scene-line-out .22s ease-in both;animation-delay:calc(var(--battle-chip-exit-index, 0) * 80ms)}.adv-battle-result-chip.is-enemy.is-negative{border-color:#f871715c;background:#7f1d1d57;color:#fecaca}.adv-battle-result-chip.is-player.is-negative{border-color:#fbbf2461;background:#713f124d;color:#fde68a}.adv-battle-result-chip.is-player:not(.is-negative),.adv-battle-result-chip.is-no-change{border-color:#94a3b847;background:#3341556b;color:#cbd5e1}.adv-battle-result-chip.is-status{border-color:#60a5fa5c;background:#1e40af3d;color:#bfdbfe}@keyframes adv-battle-chip-in{0%{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.adv-battle-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.adv-battle-action-btn{flex:1 1 max(135px,calc(20% - 8px));min-width:fit-content;max-width:100%;border:1px solid rgba(248,113,113,.3);border-radius:8px;background:#0f172ab8;color:var(--ink);padding:9px 11px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer}.adv-battle-action-btn.is-revealing{animation:adv-battle-action-in .16s ease-out both}.adv-battle-action-btn>span{font-size:1.15rem;font-weight:900}.adv-battle-action-btn small{color:var(--muted);font-size:.82rem;line-height:1.3;text-align:left}.adv-battle-action-btn:hover{background:#7f1d1d5c;border-color:#fca5a57a}.adv-battle-action-btn:disabled{cursor:not-allowed;opacity:.58}@keyframes adv-battle-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes adv-battle-action-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.adv-battle-debug{margin-top:12px;color:var(--muted);font-size:.75rem}.adv-battle-debug summary{cursor:pointer;color:#fca5a5;font-weight:900}.adv-battle-debug pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.adv-scene-body{position:relative;padding:24px 28px;display:flex;flex-direction:column;gap:16px;min-height:clamp(118px,13vh,160px);overflow:hidden}.adv-scene-body:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:#000;opacity:0;transition:opacity .16s ease-in-out}.adv-scene-body.is-blackout:after{opacity:1}.adv-scene-location{display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;font-size:calc(1.08rem * var(--adv-font-scale));font-weight:900;color:var(--ink);border-bottom:2px solid var(--accent-2);padding-bottom:4px;text-decoration:underline;text-decoration-color:#3b82f652;text-decoration-thickness:3px;text-underline-offset:7px}.adv-scene-location-text{display:inline;line-height:1.35;min-width:0;word-break:keep-all}.adv-scene-location-text .adv-token-stage{white-space:nowrap}.adv-scene-body.is-animated .adv-scene-location{animation:adv-scene-line-in .14s ease-out both}.adv-scene-body.is-exiting .adv-scene-location{animation:adv-scene-line-out .22s ease-in both}.adv-location-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 3px #3b82f624;flex-shrink:0;margin-top:.45em}.adv-scene-narration{font-size:calc(.95rem * var(--adv-font-scale));line-height:1.75;color:var(--ink);min-height:calc(2.2em * var(--adv-font-scale))}.adv-scene-body.has-exits>.adv-scene-narration{min-height:calc(2.2em * var(--adv-font-scale))}.adv-scene-narration p{margin:0 0 6px;min-height:1.75em}.adv-scene-narration p:last-child{margin-bottom:0}.adv-scene-narration p.is-post-battle-reward{display:inline-flex;align-items:center;min-height:34px;margin:4px 0 8px;padding:7px 11px;border:1px solid rgba(250,204,21,.34);border-radius:8px;background:#713f123d;color:#fef3c7;font-weight:900;box-shadow:0 10px 24px #0f172a2e}.adv-action-result,.adv-exits-result{opacity:0;transform:translateY(8px);transition:opacity .18s ease-out,transform .18s ease-out}.adv-action-result.is-ready,.adv-exits-result.is-ready{opacity:1;transform:translateY(0)}.adv-action-divider{display:flex;align-items:center;gap:10px;margin:2px 0 8px;color:#475569c7;font-size:calc(.68rem * var(--adv-font-scale));font-weight:900;letter-spacing:0;text-transform:uppercase}.adv-action-divider:before,.adv-action-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(59,130,246,.38),transparent)}.adv-action-divider span{padding:2px 8px;border-radius:999px;background:#3b82f617;border:1px solid rgba(59,130,246,.18)}.adv-exits-divider span{background:#22c55e1a;border-color:#22c55e38;color:#166534}.adv-action-result .adv-scene-narration,.adv-exits-result .adv-scene-narration{min-height:auto;padding-left:10px;border-left:3px solid rgba(59,130,246,.26)}.adv-exits-result .adv-scene-narration{border-left-color:#22c55e3d}.adv-scene-narration.is-animated p{animation:adv-scene-line-in .14s ease-out both}.adv-scene-narration.is-exiting p{animation:adv-scene-line-out .22s ease-in both;animation-delay:calc(var(--scene-line-exit-index, 0) * 80ms)}.adv-type-caret{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:-.16em;border-right:2px solid var(--accent-2);animation:adv-type-caret-blink .72s steps(2,start) infinite}@keyframes adv-scene-line-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes adv-scene-line-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes adv-type-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.adv-start-panel{display:grid;gap:10px;border:1px solid rgba(59,130,246,.24);border-radius:10px;background:var(--surface);padding:14px}.adv-start-panel strong{color:var(--ink);font-size:.95rem}.adv-start-panel span{color:var(--muted);font-size:.84rem;line-height:1.5}.adv-start-panel button{width:fit-content;border:1px solid rgba(34,197,94,.38);border-radius:999px;background:#22c55e24;color:#22c55e;padding:7px 14px;font-weight:900;cursor:pointer}.adv-scene-dialogue{background:var(--surface);border-left:3px solid #3b82f6;border-radius:0 10px 10px 0;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.adv-dialogue-speaker{font-size:.72rem;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.06em}.adv-dialogue-line{font-size:1.05rem;line-height:1.7;color:var(--ink)}.adv-vocab-spotlight{width:calc(100% - 56px);display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:0 28px}.adv-vocab-chip{font-size:.78rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:3px 10px;color:var(--ink)}.adv-vocab-reading{color:var(--muted);margin-left:4px}.adv-validation-panel{width:calc(100% - 56px);display:grid;gap:8px;margin-top:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);padding:12px 14px;font-size:.82rem;color:var(--muted)}.adv-validation-panel div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.adv-validation-panel strong{color:var(--ink)}.adv-validation-panel.is-valid{border-color:#22c55e73}.adv-validation-panel.is-valid strong{color:#16a34a}.adv-validation-panel.is-invalid{border-color:#ef444480}.adv-validation-panel.is-invalid strong{color:#dc2626}.adv-token-report{width:calc(100% - 56px);display:grid;gap:8px;margin-top:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px 14px}.adv-token-report-title{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.adv-token-report-grid{display:flex;flex-wrap:wrap;gap:6px}.adv-token-report-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--ink);padding:3px 8px;font-size:.72rem}.adv-token-report-chip strong{font-weight:900}.adv-token-report-chip span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.adv-token-report-chip.source-safe{border-color:#3b82f657}.adv-token-report-chip.source-safe_kanji{border-color:#3b82f680;background:#3b82f614}.adv-token-report-chip.source-floor{border-color:#22c55e57}.adv-token-report-chip.source-floor_kanji{border-color:#22c55e80;background:#22c55e14}.adv-token-report-chip.source-pressure{border-color:#f9731666}.adv-token-report-chip.source-pressure_kanji{border-color:#f973168f;background:#f9731614}.adv-token-report-chip.source-global,.adv-token-report-chip.source-global_kanji{border-color:#a855f761;background:#a855f712}.adv-token-report-chip.source-allowed_kanji{border-color:#a855f761}.adv-token-report-chip.source-grammar{opacity:.72}.adv-token-report-chip.source-grammar_form{border-color:#22c55e80;background:#22c55e14}.adv-token-report-chip.is-unknown{border-color:#ef44449e;background:#ef444414}.adv-choices{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:2px 28px 0}.adv-choice-row{display:flex;align-items:center;gap:8px;max-width:100%;padding-top:6px;position:relative}.adv-choice-row.is-revealing{animation:adv-choice-row-in .16s ease-out both}.adv-choice-row.is-exiting{animation:adv-choice-row-out .22s ease-in both;animation-delay:calc(var(--choice-exit-index, 0) * 80ms)}.adv-choice-row.has-movement{align-items:flex-start;flex-basis:100%;flex-wrap:wrap}.adv-choice-row.is-battle .adv-choice-btn{border-color:#f8717161;background:#7f1d1d29}.adv-choice-shell{display:inline-flex;max-width:100%;min-width:0;position:relative}@keyframes adv-choice-spin{to{transform:rotate(360deg)}}.adv-choice-btn{display:flex;align-items:center;gap:14px;width:auto;max-width:100%;padding:14px 54px 14px 18px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface-strong);cursor:pointer;font-size:.95rem;color:var(--ink);text-align:left;transition:border-color .15s,background .15s}.adv-choice-text-panel{cursor:text}.adv-choice-row.is-inspecting .adv-choice-btn{border-color:#67e8f975;background:#082f492e}.adv-choice-row.is-inspecting .adv-choice-text{line-height:1.55}.adv-choice-row.is-inspecting.is-split-grammar .adv-token-stage+.adv-token-stage{margin-left:.18em}.adv-scene-location.is-split-grammar .adv-token-stage+.adv-token-stage{margin-left:.18em}.adv-choice-row.is-inspecting .adv-token-stage.is-clickable{cursor:pointer}.adv-choice-row.is-inspecting .adv-token-stage.is-clickable:hover,.adv-choice-row.is-inspecting .adv-token-stage.is-clickable:focus-visible{background:#67e8f921;box-shadow:0 0 0 1px #67e8f93d;outline:none}.adv-choice-mode-toggle{align-items:center;background:var(--surface-inset);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.62rem;font-weight:900;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:8px;width:28px;z-index:2}.adv-choice-mode-toggle:hover,.adv-choice-mode-toggle:focus-visible{border-color:#67e8f994;color:var(--ink);outline:none}.adv-choice-mode-toggle[aria-pressed=true]{border-color:#67e8f9ad;color:#67e8f9}.adv-choice-mode-toggle:disabled{cursor:default;opacity:.5}.adv-choice-btn:hover{border-color:var(--accent-2);background:var(--surface-accent)}.adv-choice-text-panel:hover{border-color:#67e8f975;background:#082f492e}.adv-choice-row.is-post-battle .adv-choice-btn,.adv-choice-row.is-post-battle.is-inspecting .adv-choice-btn,.adv-choice-row.is-post-battle .adv-choice-text-panel,.adv-choice-row.is-post-battle .adv-choice-text-panel:hover{border-color:#bfdbfe61;background:#1e40af33;color:#dbeafe}.adv-choice-row.is-post-battle .adv-choice-btn:hover,.adv-choice-row.is-post-battle .adv-choice-btn:focus-visible{border-color:#bfdbfe8f;background:#1e40af4d}.adv-choice-row.is-post-battle .adv-choice-mode-toggle{border-color:#bfdbfe52;background:#0f172a6b;color:#bfdbfe}.adv-choice-row.is-post-battle .adv-choice-mode-toggle[aria-pressed=true]{border-color:#bfdbfe9e;color:#dbeafe}.adv-choice-btn.is-category,.adv-choice-btn.is-category:hover,.adv-choice-btn:disabled{cursor:default;border-color:var(--border);background:var(--surface-strong);opacity:1}.adv-choice-btn.is-pending,.adv-choice-btn.is-pending:disabled{cursor:wait;border-color:#67e8f980;background:radial-gradient(circle at 18% 50%,rgba(103,232,249,.12),transparent 36%),var(--surface-strong);box-shadow:0 0 0 1px #67e8f91a,0 0 18px #67e8f929;animation:adv-choice-pending-pulse 1.6s ease-in-out infinite}.adv-choice-btn.is-battle.is-pending,.adv-choice-btn.is-battle.is-pending:disabled{border-color:#fca5a585;background:radial-gradient(circle at 18% 50%,rgba(248,113,113,.14),transparent 36%),#7f1d1d29;box-shadow:0 0 0 1px #f871711a,0 0 18px #f8717129}@keyframes adv-choice-pending-pulse{0%,to{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.08);transform:translateY(-1px)}}@keyframes adv-choice-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes adv-choice-row-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.adv-choice-key{font-size:.72rem;font-weight:800;width:20px;height:20px;border-radius:5px;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.adv-choice-label{display:none}.adv-choice-text{min-width:0;font-size:calc(1.03rem * var(--adv-font-scale));font-weight:760}.adv-choice-cost{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.68rem;font-weight:900;margin-left:auto;padding:4px 8px;white-space:nowrap}.adv-movement-selector{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 4px;max-width:100%}.adv-movement-option{display:flex;align-items:center;gap:12px;width:auto;max-width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface-inset);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.adv-movement-option:hover{border-color:var(--accent-2);background:var(--surface-accent)}.adv-movement-option:disabled{cursor:default;border-color:var(--border);background:var(--surface-inset);opacity:1}.adv-movement-key{font-size:.68rem;font-weight:850;min-width:28px;height:22px;border-radius:5px;background:var(--border);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.adv-movement-text{min-width:0;flex:1 1 auto;font-size:calc(.98rem * var(--adv-font-scale));font-weight:760}.adv-token-stage{font-weight:850;text-decoration:none}.adv-token-joined{display:inline}.adv-token-stage.adv-token-stage-0{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 1px rgba(0,0,0,.8)}.adv-token-stage.adv-token-stage-1{color:#888}.adv-token-stage.adv-token-stage-2{color:#22c55e}.adv-token-stage.adv-token-stage-3{color:#3b82f6}.adv-token-stage.adv-token-stage-4{color:#f97316}.adv-token-stage.adv-token-stage-5{color:#ef4444}.adv-token-stage.adv-token-stage-6{color:#f59e0b}.adv-token-stage.is-floor-locked{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:4px}.adv-scene-narration .adv-token-stage.is-description-hoverable,.adv-scene-location .adv-token-stage.is-description-hoverable{display:inline-block;border-radius:.3em;padding:0 .1em;box-shadow:0 0 0 0 transparent;transition:box-shadow .12s ease,background-color .12s ease}.adv-scene-narration .adv-token-stage.is-description-hoverable.is-clickable,.adv-scene-location .adv-token-stage.is-description-hoverable.is-clickable{cursor:pointer}.adv-scene-narration .adv-token-stage.is-description-hoverable:hover,.adv-scene-location .adv-token-stage.is-description-hoverable:hover{background:#facc1524;box-shadow:0 0 0 2.5px #facc15e6,0 5px 14px #11182759}.adv-scene-narration .adv-token-stage.is-description-hoverable.is-clickable:focus-visible,.adv-scene-location .adv-token-stage.is-description-hoverable.is-clickable:focus-visible{outline:2px solid rgba(250,204,21,.9);outline-offset:2px;background:#facc1524;box-shadow:0 0 0 2.5px #facc15e6,0 5px 14px #11182759}.adv-budget-panel{width:calc(100% - 56px);margin-top:16px;border-radius:12px;border:1px dashed var(--border);background:var(--surface-inset);padding:12px 14px;display:grid;gap:8px}.adv-budget-title{font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.adv-budget-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:start;font-size:.84rem}.adv-budget-row span{color:var(--muted)}.adv-budget-row strong{color:var(--ink);font-weight:700;overflow-wrap:anywhere}.adv-debug-runtime{width:calc(100% - 56px);margin-top:14px;border:1px solid rgba(59,130,246,.28);border-radius:12px;background:var(--surface);color:var(--ink);overflow:hidden}.adv-debug-runtime summary{cursor:pointer;padding:10px 14px;font-size:.78rem;font-weight:900;color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em}.adv-debug-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:0 14px 12px}.adv-debug-row{display:grid;gap:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);padding:8px 10px;min-width:0}.adv-debug-row span,.adv-debug-list span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.adv-debug-row strong{color:var(--ink);font-size:.78rem;overflow-wrap:anywhere}.adv-debug-list{display:grid;gap:5px;padding:0 14px 12px}.adv-debug-list code{border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);color:var(--ink);padding:8px 10px;white-space:normal;overflow-wrap:anywhere;font-size:.74rem}.adv-locked-panel{width:min(720px,100%);display:grid;gap:16px;border:1px solid rgba(255,107,74,.25);border-radius:16px;background:linear-gradient(135deg,var(--surface-strong),var(--surface-pop));box-shadow:var(--shadow-soft);padding:20px}.adv-locked-panel h2{margin:0}.adv-locked-panel p{margin:0;color:var(--muted)}.adv-lock-requirements{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.adv-lock-req{display:grid;gap:4px;border-radius:12px;border:1px solid rgba(239,68,68,.34);background:var(--surface);padding:10px 12px}.adv-lock-req.is-met{border-color:#22c55e6b}.adv-lock-req span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.adv-lock-req strong{color:var(--ink)}.adv-lock-hint{font-weight:700}.adv-lock-actions{display:flex;flex-wrap:wrap;gap:10px}.dungeon-floors-view{margin-top:20px}.df-summary{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:18px}.df-summary-sep{opacity:.4}.df-unlock-rule{max-width:560px;margin:-8px 0 16px;border:1px solid rgba(28,138,132,.22);border-radius:8px;background:var(--surface);color:var(--muted);padding:8px 10px;font-size:.82rem;font-weight:800}.df-stack{display:flex;flex-direction:column;gap:14px;max-width:560px}.df-card{border:1px solid var(--border);border-radius:12px;padding:18px 20px 14px;background:var(--panel);transition:box-shadow .15s}.df-card.is-active{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2),0 4px 18px #1c8a841f}.df-card.is-cleared{border-color:#22c55e80;opacity:.82}.df-card.is-locked{opacity:.46}.df-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.df-card-identity{display:flex;flex-direction:column;gap:3px}.df-floor-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.df-theme{font-size:1.05rem;font-weight:700;color:var(--ink)}.df-theme-hidden{color:var(--muted);letter-spacing:.1em}.df-status-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:20px;white-space:nowrap}.df-status-badge.is-active{background:#1c8a8424;color:var(--accent-2);border:1px solid rgba(28,138,132,.3)}.df-status-badge.is-cleared{background:#22c55e1f;color:#22c55e;border:1px solid rgba(34,197,94,.28)}.df-status-badge.is-locked{background:transparent;color:var(--muted);border:1px solid var(--border)}.df-categories{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.df-category-row{display:grid;grid-template-columns:128px 1fr 54px;align-items:center;gap:10px}.df-category-row.is-support{opacity:.9}.df-category-label{font-size:.76rem;font-weight:700;color:var(--muted);text-align:right}.df-category-label small{display:block;margin-top:1px;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-2)}.df-bar-wrap{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.df-bar-fill{height:100%;background:var(--accent-2);border-radius:3px;transition:width .4s ease;min-width:0}.df-bar-fill.is-done{background:#22c55e}.df-category-count{font-size:.72rem;font-weight:700;color:var(--muted);text-align:right}.df-category-count.is-done{color:#22c55e}.df-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border)}.df-overall{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.df-overall-pct{font-size:1rem;font-weight:800;color:var(--accent-2)}.df-overall-count{font-size:.74rem;font-weight:600;color:var(--muted)}.df-entry-readiness{font-size:.72rem;font-weight:800;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--surface)}.df-entry-readiness.is-ready{color:#22c55e;border-color:#22c55e59}.df-heart-row{flex-basis:100%;display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px}.df-heart-count{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:2px 7px;font-size:.68rem;font-weight:800}.df-heart-count.stage-0{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 1px rgba(0,0,0,.8)}.df-heart-count.stage-1{color:#888}.df-heart-count.stage-2{color:#22c55e}.df-heart-count.stage-3{color:#3b82f6}.df-heart-count.stage-4{color:#f97316}.df-heart-count.stage-5{color:#ef4444}.df-heart-count.stage-6{color:#f59e0b}.df-heart-count strong{color:var(--ink)}.df-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.df-actions button{border:1px solid var(--border);border-radius:999px;background:var(--accent);color:#fff;padding:7px 12px;font-weight:800;cursor:pointer}.df-actions select{max-width:210px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 10px;font-weight:700}.df-image-count-control{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:4px 8px 4px 10px;font-size:.78rem;font-weight:800}.df-image-count-control input{width:64px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--ink);padding:3px 4px 3px 8px;font:inherit;font-weight:900}.df-image-count-control input:focus{outline:none}.df-image-count-control:focus-within{border-color:var(--accent)}.df-actions button:disabled{cursor:not-allowed;opacity:.55}.df-actions .df-secondary-action{background:var(--surface);color:var(--ink)}.df-image-generation-status{margin-top:10px;border:1px solid rgba(28,138,132,.22);border-radius:8px;background:var(--surface);color:var(--muted);padding:8px 10px;font-size:.78rem;font-weight:700}.df-locked-hint{font-size:.78rem;color:var(--muted);margin:0;font-style:italic}.floor-vocab-codex-page{display:flex;flex-direction:column;gap:14px}.fvc-header{display:flex;flex-direction:column;gap:6px}.fvc-back{align-self:flex-start;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:6px 10px;font-weight:800;cursor:pointer}.fvc-header-top{display:flex;align-items:baseline;gap:10px}.fvc-header-top h1{margin:0}.fvc-header-top span{font-size:.9rem;font-weight:700;color:var(--muted)}.fvc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px}.fvc-metric-box{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.fvc-metric-box span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fvc-metric-box strong{font-size:1.05rem;font-weight:900;color:var(--ink)}.fvc-flavor{margin:0;font-size:.9rem;font-weight:700;color:var(--muted)}.fvc-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.fvc-controls button{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 12px;font-weight:800;cursor:pointer}.fvc-controls button:disabled{opacity:.5;cursor:not-allowed}.fvc-controls .fvc-train{background:var(--accent);color:#fff}.fvc-controls span{font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.fvc-status{border:1px solid rgba(28,138,132,.25);border-radius:10px;background:var(--surface);color:var(--muted);padding:7px 10px;font-size:.82rem;font-weight:700}.fvc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fvc-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(170deg,var(--surface),var(--surface-strong));box-shadow:0 6px 14px #14181f14;padding:9px;display:flex;flex-direction:column;gap:8px;min-height:190px;cursor:pointer}.fvc-card.is-locked{background:linear-gradient(170deg,#14181feb,#242a34eb);border-color:#94a3b842}.fvc-card.is-mastered{border-color:#f59e0b73;box-shadow:0 8px 16px #f59e0b24}.fvc-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fvc-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.fvc-card-index{font-size:.64rem;font-weight:900;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.fvc-card-badge{font-size:.62rem;font-weight:900;color:#f59e0b;border:1px solid rgba(245,158,11,.4);border-radius:999px;padding:2px 7px;text-transform:uppercase;letter-spacing:.05em}.fvc-card-image{width:100%;height:92px;border-radius:10px;background:#0f172a1f;overflow:hidden}.fvc-card-image img{width:100%;height:100%;object-fit:cover;display:block}.fvc-card-image-missing{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em}.fvc-card.is-locked .fvc-card-image-missing{color:#ffffff9e;text-shadow:0 0 8px rgba(0,0,0,.45);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.08),transparent 45%)}.fvc-card-copy{display:flex;flex-direction:column;gap:3px}.fvc-card-copy strong{font-size:1.05rem;line-height:1.1;color:var(--ink)}.fvc-card-copy span{font-size:.78rem;color:var(--muted);min-height:1.1em}.fvc-card.is-locked .fvc-card-copy strong,.fvc-card.is-locked .fvc-card-copy span{color:#ffffffb8}.fvc-hearts{display:inline-flex;align-items:center;gap:2px;flex-wrap:wrap}.fvc-heart{font-size:.78rem;color:var(--muted)}.fvc-heart.is-filled{color:#f97316}.fvc-shelf{display:flex;flex-direction:column;gap:8px;margin-top:4px}.fvc-shelf h3{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.fvc-shelf-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fvc-shelf-card{border:1px solid var(--border);border-radius:10px;padding:7px;background:var(--surface);display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:center}.fvc-shelf-open{border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--ink);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;cursor:pointer}.fvc-modal-root,.fvc-art-root{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px}.fvc-modal-backdrop,.fvc-art-backdrop{position:absolute;inset:0;border:0;background:#080c11b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fvc-modal-card{position:relative;z-index:1;width:min(560px,calc(100vw - 34px));border:1px solid var(--border);border-radius:16px;background:linear-gradient(170deg,var(--surface),var(--surface-strong));box-shadow:0 24px 48px #00000059;padding:12px;display:flex;flex-direction:column;gap:10px}.fvc-modal-card.is-locked{background:linear-gradient(170deg,#14181ff2,#242a34f2)}.fvc-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fvc-modal-header div{display:flex;flex-direction:column;gap:2px}.fvc-modal-header span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fvc-modal-header strong{font-size:1.3rem;color:var(--ink)}.fvc-modal-card.is-locked .fvc-modal-header strong{color:#ffffffd1}.fvc-modal-header button{border:1px solid var(--border);border-radius:10px;width:32px;height:32px;background:var(--surface);color:var(--ink);font-weight:900;cursor:pointer}.fvc-modal-image{width:100%;border-radius:12px;overflow:hidden;min-height:180px;background:#0f172a26}.fvc-modal-image img{width:100%;max-height:54vh;object-fit:contain;display:block}.fvc-modal-image-button{width:100%;display:block;border:0;padding:0;margin:0;background:transparent;cursor:zoom-in}.fvc-modal-image-missing{min-height:180px;display:grid;place-items:center;color:var(--muted);font-weight:800;font-size:.88rem}.fvc-modal-copy{display:grid;gap:6px}.fvc-modal-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--border);padding-bottom:4px}.fvc-modal-row span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fvc-modal-row strong{font-size:.95rem;color:var(--ink);text-align:right}.fvc-modal-card.is-locked .fvc-modal-row strong{color:#ffffffc7}.fvc-modal-hearts{justify-content:center;margin-top:4px}.fvc-modal-actions{display:flex;justify-content:flex-end;gap:8px}.fvc-modal-actions button{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 12px;font-weight:800;cursor:pointer}.fvc-art-card{position:relative;z-index:1;width:min(960px,calc(100vw - 28px));max-height:calc(100vh - 32px);border:1px solid var(--border);border-radius:16px;background:#070a0ef5;box-shadow:0 26px 52px #00000073;padding:10px;display:flex;flex-direction:column;gap:8px}.fvc-art-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.fvc-art-card header strong{color:#e2e8f0;font-size:.95rem}.fvc-art-card header button{border:1px solid rgba(148,163,184,.35);border-radius:10px;width:32px;height:32px;background:#0f172acc;color:#e2e8f0;font-weight:900;cursor:pointer}.fvc-art-card img{width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:12px;display:block}.fvc-shelf-thumb{width:56px;height:48px;border-radius:8px;overflow:hidden;background:#0f172a1f}.fvc-shelf-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fvc-shelf-thumb-missing{width:100%;height:100%;background:repeating-linear-gradient(135deg,#94a3b847,#94a3b847 6px,#0f172a2e 6px 12px)}.fvc-shelf-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.fvc-shelf-copy strong{font-size:.85rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.fvc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:840px){.fvc-metrics{grid-template-columns:1fr;max-width:none}.fvc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fvc-shelf-row{grid-template-columns:1fr}.fvc-modal-row{flex-direction:column;align-items:flex-start}.fvc-modal-row strong{text-align:left}}.authored-review-page{display:flex;flex-direction:column;gap:16px;color:var(--ink)}.authored-review-header,.authored-review-controls,.authored-review-alert,.authored-review-bottom-actions,.authored-review-node,.authored-review-line{border:1px solid var(--border);background:var(--surface);border-radius:8px}.authored-review-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px}.authored-review-header h1,.authored-review-node-title h2,.authored-review-alert h2{margin:0}.authored-review-header p{margin:8px 0 0;color:var(--muted);max-width:760px}.authored-review-manifest{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;overflow-wrap:anywhere}.authored-review-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.authored-review-bottom-nav{display:flex;gap:10px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}.authored-review-bottom-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px}.authored-review-bottom-actions strong,.authored-review-bottom-actions span{display:block}.authored-review-bottom-actions span{margin-top:3px;color:var(--muted);font-size:.9rem}.authored-review-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.authored-review-summary div{border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);padding:12px}.authored-review-summary span,.authored-review-gloss span,.authored-review-token-table td span,.authored-review-token-table small,.authored-review-node-title span,.authored-review-line-meta{color:var(--muted)}.authored-review-summary strong{display:block;font-size:1.35rem;margin-top:4px}.authored-review-message{border:1px solid rgba(28,138,132,.35);background:#1c8a841a;border-radius:8px;padding:10px 12px}.authored-review-message.error{border-color:#dc262673;background:#dc26261a}.authored-review-controls{display:flex;gap:14px;align-items:end;padding:12px;flex-wrap:wrap}.authored-review-controls label,.authored-review-manifest-select,.authored-review-node-select{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.86rem}.authored-review-controls select,.authored-review-manifest-select select,.authored-review-node-select select{min-width:280px;border:1px solid var(--border);border-radius:8px;background:var(--surface-inset);color:var(--ink);padding:9px 10px}.authored-review-node-select.compact select{min-width:240px}.authored-review-checkbox{flex-direction:row!important;align-items:center;color:var(--ink)!important}.authored-review-semantic-source{display:flex;flex-direction:column;gap:3px;min-width:min(320px,100%);border:1px solid rgba(28,138,132,.22);border-radius:8px;background:#1c8a8414;padding:8px 10px;color:var(--muted);font-size:.78rem}.authored-review-semantic-source strong{color:var(--ink)}.authored-review-alert{padding:14px;border-color:#dc262680}.authored-review-alert.semantic{border-color:#f59e0b94;background:linear-gradient(180deg,rgba(245,158,11,.08),transparent),var(--surface)}.authored-review-alert-list{display:grid;gap:8px;margin-top:10px}.authored-review-alert-list div{display:grid;grid-template-columns:180px 80px 160px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border-radius:6px;background:#dc262614}.authored-review-alert-list.semantic div{grid-template-columns:180px 110px 160px minmax(0,1fr);background:#f59e0b14}.authored-review-node{padding:14px}.authored-review-node-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}.authored-review-line{padding:12px;margin-top:12px;background:var(--surface-strong)}.authored-review-line.is-blocking{border-color:#f59e0b99}.authored-review-line.is-untracked{border-color:#dc262699}.authored-review-line header{display:flex;justify-content:space-between;gap:12px;align-items:start;color:var(--muted);font-size:.85rem}.authored-review-line header div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.authored-review-role,.authored-review-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;border:1px solid var(--border);background:var(--surface-inset);font-size:.78rem;white-space:nowrap}.authored-review-japanese{margin:10px 0 2px;font-size:1.2rem;line-height:1.7}.authored-review-translation{margin:0 0 10px;color:var(--text);line-height:1.5}.authored-review-line-meta{margin:-4px 0 10px}.authored-review-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.authored-review-gloss div{border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-inset)}.authored-review-gloss p{margin:4px 0 0;line-height:1.5}.authored-review-support-projection{margin:0 0 12px;border:1px solid rgba(28,138,132,.18);border-radius:8px;background:#1c8a840f;padding:10px}.authored-review-support-projection>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.73rem;font-weight:900;text-transform:uppercase}.authored-review-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.authored-review-support-card{border:1px solid rgba(28,138,132,.18);border-radius:7px;background:var(--surface);padding:8px}.authored-review-support-card.has-issues{border-color:#f59e0b8c;background:#f59e0b14}.authored-review-support-card strong,.authored-review-support-card span,.authored-review-support-card small,.authored-review-support-card em{display:block}.authored-review-support-card em{margin-top:4px;color:#92400e;font-style:normal;font-weight:700}.authored-review-visible-segments{margin:0 0 12px;border:1px solid rgba(28,138,132,.18);border-radius:8px;background:#1c8a840d;padding:10px;overflow-x:auto}.authored-review-visible-segments>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.73rem;font-weight:900;text-transform:uppercase}.authored-review-segment-table{width:100%;min-width:900px;border-collapse:collapse}.authored-review-segment-table th,.authored-review-segment-table td{border-top:1px solid rgba(28,138,132,.14);padding:7px;text-align:left;vertical-align:top}.authored-review-segment-table th{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.authored-review-segment-table td strong,.authored-review-segment-table td span,.authored-review-segment-table td small{display:block}.authored-review-segment-table td small{color:var(--muted);font-size:.76rem;overflow-wrap:anywhere}.segment-blocking,.segment-sense{background:#dc26260f}.segment-review{background:#f59e0b0f}.segment-ok{background:#1c8a840a}.authored-review-token-table-wrap{overflow-x:auto}.authored-review-token-table{width:100%;min-width:980px;border-collapse:collapse}.authored-review-token-table th,.authored-review-token-table td{border-top:1px solid var(--border);padding:8px;text-align:left;vertical-align:top}.authored-review-token-table th{color:var(--muted);font-size:.82rem;font-weight:700}.authored-review-token-table td strong,.authored-review-token-table td span,.authored-review-token-table small{display:block}.authored-review-correction-input,.authored-review-token-table textarea{width:100%;min-width:180px;margin-top:6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-inset);color:var(--ink);padding:6px}.authored-review-token-table textarea{resize:vertical}.authored-review-token-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.authored-review-token-table button.marked{border-color:#1c8a84b3;background:#1c8a8424}.authored-review-token-table button.accepted{border-color:#1c8a84bf;background:#1c8a842e}.status-blocking,.status-missing,.status-sense{border-color:#dc26268c;background:#dc26261a}.status-review{border-color:#f59e0b8c;background:#f59e0b1f}.status-ok{border-color:#1c8a8459;background:#1c8a841a}.status-accepted{border-color:#1c8a84bf;background:#1c8a842e}.token-blocking,.token-missing,.token-sense{background:#dc26260d}.token-review{background:#f59e0b0d}.token-accepted{background:#1c8a840d}.authored-review-token-table tr.is-accepted{box-shadow:inset 3px 0 #1c8a84b3}@media(max-width:840px){.authored-review-header,.authored-review-bottom-actions,.authored-review-gloss{grid-template-columns:1fr}.authored-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.authored-review-alert-list div{grid-template-columns:1fr}}.authored-review-page{width:min(100%,1180px);margin:0 auto;padding-bottom:18px}.authored-review-header,.authored-review-controls,.authored-review-summary div,.authored-review-node,.authored-review-line,.authored-review-bottom-actions{box-shadow:0 14px 34px #0f172a14}.authored-review-header{border-color:#1c8a8447;background:linear-gradient(135deg,rgba(28,138,132,.13),transparent 44%),linear-gradient(180deg,var(--surface),var(--surface-strong))}.authored-review-header h1{font-size:1.55rem;letter-spacing:0}.authored-review-actions button,.authored-review-token-actions button{border:1px solid var(--button-border-strong);border-radius:7px;background:var(--surface-strong);color:var(--ink);font-size:.82rem;font-weight:800;min-height:34px;padding:7px 10px}.authored-review-actions button:hover,.authored-review-token-actions button:hover{border-color:#1c8a8494;background:var(--surface-accent)}.authored-review-actions button:disabled,.authored-review-token-actions button:disabled{cursor:default;opacity:.58}.authored-review-summary div{border-color:#1c8a842e;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),var(--surface-strong)}.authored-review-summary span{font-size:.75rem;font-weight:900;text-transform:uppercase}.authored-review-controls,.authored-review-bottom-actions{border-color:#1c8a842e;background:var(--surface-strong)}.authored-review-node-select select,.authored-review-controls select{min-height:38px;box-shadow:inset 0 1px #ffffff0d}.authored-review-node{border-color:#1c8a8433;background:var(--surface);padding:16px}.authored-review-node-title{border-bottom:1px solid var(--border);padding-bottom:12px}.authored-review-node-title h2{font-size:1.25rem;letter-spacing:0}.authored-review-line{border-left:4px solid rgba(28,138,132,.38);background:linear-gradient(90deg,rgba(28,138,132,.08),transparent 22%),var(--surface-strong)}.authored-review-line.is-blocking{border-left-color:#f59e0bd9}.authored-review-line.is-untracked{border-left-color:#dc2626d9}.authored-review-japanese{font-size:1.28rem;font-weight:700}.authored-review-translation{color:var(--ink);font-size:.95rem}.authored-review-line-meta{font-size:.82rem;font-weight:700}.authored-review-gloss div{border-color:#1c8a8424}.authored-review-gloss span{font-size:.73rem;font-weight:900;text-transform:uppercase}.authored-review-token-table{border-collapse:separate;border-spacing:0;min-width:1120px}.authored-review-token-table th{position:sticky;top:0;z-index:1;border-top:0;background:var(--surface);color:var(--muted);text-transform:uppercase}.authored-review-token-table th:first-child,.authored-review-token-table td:first-child{padding-left:12px}.authored-review-token-table th:last-child,.authored-review-token-table td:last-child{min-width:260px;padding-right:12px}.authored-review-token-table td{background:#ffffff04}.authored-review-token-table tr:hover td{background:#1c8a840b}.authored-review-token-table td strong{font-size:1rem}.authored-review-status{width:fit-content;font-weight:900}.authored-review-token-actions{align-items:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.authored-review-token-actions button{min-width:0;padding:6px 8px}.authored-review-token-table button.marked,.authored-review-token-table button.accepted{color:var(--ink)}.authored-review-correction-input,.authored-review-token-table textarea{min-width:0;border-color:#1c8a8438;background:var(--surface);font-size:.82rem}.authored-review-correction-input:focus,.authored-review-token-table textarea:focus{border-color:#1c8a84b3;box-shadow:0 0 0 3px #1c8a841f;outline:none}.authored-review-token-table td:last-child small{margin-top:6px;border-left:3px solid rgba(28,138,132,.45);padding-left:7px}.token-blocking td,.token-missing td,.token-sense td{background:#dc26260f}.token-review td{background:#f59e0b0f}.token-accepted td{background:#1c8a840f}.authored-review-token-table tr.is-accepted{box-shadow:inset 4px 0 #1c8a84d9}@media(max-width:840px){.authored-review-page{width:100%}.authored-review-token-actions{grid-template-columns:1fr}.authored-review-node-select select,.authored-review-controls select{min-width:min(280px,calc(100vw - 80px))}}.world-builder-page{display:flex;flex-direction:column;gap:18px}.world-builder-header,.world-builder-summary,.world-builder-toolbar,.world-builder-detail-header,.world-builder-list-header,.world-builder-section>div,.world-builder-relation-list h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.world-builder-header h1,.world-builder-detail-header h2,.world-builder-sections h2,.world-builder-section h3,.world-builder-notes h3,.world-builder-relation-list h3{margin:0}.world-builder-kicker,.world-builder-detail-header p{margin:0 0 4px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.world-builder-source{min-width:170px;border:1px solid rgba(28,138,132,.2);border-radius:8px;background:var(--surface);padding:10px 12px;text-align:right}.world-builder-source span,.world-builder-summary span,.world-builder-section span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}.world-builder-source strong{display:block;margin-top:4px;font-size:.82rem}.world-builder-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.world-builder-summary>div{border:1px solid rgba(28,138,132,.18);border-radius:8px;background:var(--surface);padding:12px}.world-builder-summary strong{display:block;margin-top:4px;font-size:1.4rem}.world-builder-summary-path{overflow-wrap:anywhere;font-size:.82rem!important;line-height:1.3}.world-builder-view-tabs{display:inline-flex;width:fit-content;border:1px solid rgba(28,138,132,.18);border-radius:8px;background:var(--surface);padding:4px}.world-builder-view-tabs button{border:0;border-radius:6px;background:transparent;color:var(--muted);min-height:34px;padding:7px 13px;font-weight:900}.world-builder-view-tabs button:hover,.world-builder-view-tabs button.active{background:#1c8a841f;color:var(--ink)}.world-builder-warning{border-color:#dc262659!important;background:#dc26260f!important}.world-builder-toolbar{align-items:end;border:1px solid rgba(28,138,132,.16);border-radius:8px;background:var(--surface);padding:12px}.world-builder-toolbar label{min-width:0;flex:1 1 0;color:var(--muted);font-size:.78rem;font-weight:800}.world-builder-toolbar input,.world-builder-toolbar select{width:100%;margin-top:6px;border:1px solid rgba(28,138,132,.24);border-radius:8px;background:var(--panel);color:var(--ink);padding:9px 10px}.world-builder-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}.world-builder-source-layout{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.world-builder-sidebar,.world-builder-detail,.world-builder-sections{border:1px solid rgba(28,138,132,.16);border-radius:8px;background:var(--surface)}.world-builder-sidebar{overflow:hidden}.world-builder-source-layout .world-builder-sidebar{max-height:calc(100vh - 24px);position:sticky;top:12px}.world-builder-list-header{border-bottom:1px solid rgba(28,138,132,.14);padding:12px}.world-builder-sidebar-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-bottom:1px solid rgba(28,138,132,.14);padding:6px}.world-builder-sidebar-tabs button{border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:900;min-height:32px}.world-builder-sidebar-tabs button:hover,.world-builder-sidebar-tabs button:focus-visible,.world-builder-sidebar-tabs button.active{background:#1c8a841f;color:var(--ink);outline:none}.world-builder-node-list{max-height:620px;overflow:auto}.world-builder-node-button{width:100%;border:0;border-bottom:1px solid rgba(28,138,132,.1);border-radius:0;background:transparent;color:var(--ink);padding:10px 12px;text-align:left}.world-builder-node-button:hover,.world-builder-node-button.active{background:#1c8a841a}.world-builder-node-button span,.world-builder-node-button small{display:block}.world-builder-node-button span{font-weight:850}.world-builder-node-button small{margin-top:3px;color:var(--muted);font-size:.76rem;line-height:1.3}.world-builder-toc-list{padding:6px}.world-builder-toc-button{align-items:baseline;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;min-height:34px;padding:7px 8px;text-align:left;width:100%}.world-builder-toc-button:hover,.world-builder-toc-button:focus-visible{background:#1c8a841a;outline:none}.world-builder-toc-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-builder-toc-button small{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.world-builder-toc-button.level-2{padding-left:18px}.world-builder-toc-button.level-3{padding-left:30px}.world-builder-toc-button.level-4{padding-left:42px}.world-builder-toc-button.level-5{padding-left:54px}.world-builder-toc-button.level-6{padding-left:66px}.world-builder-sidebar-empty{color:var(--muted);font-size:.86rem;font-weight:800;padding:12px}.world-builder-detail{min-width:0;padding:16px}.world-builder-detail-header{align-items:flex-start}.world-builder-nav-buttons{display:flex;gap:4px;margin-bottom:4px}.world-builder-nav-btn{background:none;border:none;padding:0 4px;font-size:1.3rem;line-height:1;color:var(--ink);opacity:.35;cursor:pointer;transition:opacity .15s;border-radius:4px}.world-builder-nav-btn:not(:disabled):hover{opacity:.85;background:#1c8a841a}.world-builder-nav-btn:disabled{cursor:default;opacity:.15}.world-builder-detail-header code{max-width:min(330px,42vw);overflow-wrap:anywhere;border-radius:6px;background:#1c8a841a;padding:6px 8px;color:var(--ink);font-size:.78rem}.world-builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.world-builder-fields div{border:1px solid rgba(28,138,132,.14);border-radius:8px;padding:10px}.world-builder-fields dt{color:var(--muted);font-size:.75rem;font-weight:800}.world-builder-fields dd{margin:4px 0 0;font-weight:800}.world-builder-body,.world-builder-section p{line-height:1.55}.world-builder-notes{margin-top:16px}.world-builder-notes ul,.world-builder-relation-list ul{margin:10px 0 0;padding:0;list-style:none}.world-builder-notes li{border-left:3px solid rgba(28,138,132,.4);margin-bottom:8px;padding-left:10px;line-height:1.45}.world-builder-relations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.world-builder-relation-list{min-width:0;border:1px solid rgba(28,138,132,.14);border-radius:8px;padding:12px}.world-builder-relation-list h3 span{color:var(--muted);font-size:.8rem}.world-builder-relation-list li+li{margin-top:6px}.world-builder-relation-list button{width:100%;border:1px solid rgba(28,138,132,.14);border-radius:8px;background:var(--panel);color:var(--ink);padding:8px 10px;text-align:left}.world-builder-relation-list button:hover{border-color:#1c8a8473}.world-builder-relation-list button span,.world-builder-relation-list button strong{display:block}.world-builder-relation-list button span{color:var(--muted);font-size:.74rem;font-weight:800}.world-builder-relation-list button strong{margin-top:3px}.world-builder-sections{padding:16px}.world-builder-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.world-builder-section{border:1px solid rgba(28,138,132,.14);border-radius:8px;background:var(--panel);padding:12px}.world-builder-section p{margin:10px 0 0;color:var(--muted);font-size:.88rem}.world-builder-status{color:var(--muted);font-weight:800}.world-builder-markdown{border-top:1px solid rgba(28,138,132,.14);margin-top:14px;padding-top:16px}.world-builder-markdown h1,.world-builder-markdown h2,.world-builder-markdown h3,.world-builder-markdown h4,.world-builder-markdown h5,.world-builder-markdown h6,.world-builder-markdown p{max-width:92ch}.world-builder-markdown h1{margin:0 0 16px;font-size:1.55rem}.world-builder-markdown h2{border-top:1px solid rgba(28,138,132,.16);margin:26px 0 10px;padding-top:16px;font-size:1.15rem}.world-builder-markdown h3{margin:18px 0 8px;font-size:1rem}.world-builder-markdown h4,.world-builder-markdown h5,.world-builder-markdown h6{margin:14px 0 6px;font-size:.94rem}.world-builder-md-heading{align-items:center;display:flex;gap:10px;justify-content:space-between;max-width:92ch;scroll-margin-top:22px}.world-builder-md-heading h1,.world-builder-md-heading h2,.world-builder-md-heading h3,.world-builder-md-heading h4,.world-builder-md-heading h5,.world-builder-md-heading h6{flex:1}.world-builder-heading-image-actions{align-items:center;display:flex;flex:0 0 auto;gap:6px}.world-builder-heading-image-button,.world-builder-heading-thumb{align-items:center;border:1px solid rgba(28,138,132,.22);border-radius:7px;background:var(--panel);color:var(--text);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:850;height:30px;justify-content:center;padding:0 9px}.world-builder-heading-thumb{height:34px;overflow:hidden;padding:0;width:46px}.world-builder-heading-thumb img{display:block;height:100%;object-fit:contain;width:100%}.world-builder-image-loading,.world-builder-image-load-error{align-items:center;color:var(--muted);display:flex;font-size:.72rem;font-weight:850;height:100%;justify-content:center;line-height:1.2;min-height:48px;padding:8px;text-align:center;width:100%}.world-builder-image-load-error{color:#a83232}.world-builder-heading-image-button:hover,.world-builder-heading-image-button:focus-visible,.world-builder-heading-thumb:hover,.world-builder-heading-thumb:focus-visible{border-color:#1c8a848c;outline:none}.world-builder-markdown p{margin:8px 0;line-height:1.62}.world-builder-markdown strong{font-weight:800}.world-builder-markdown em{font-style:italic}.world-builder-markdown code{border:1px solid rgba(28,138,132,.18);border-radius:5px;background:#1c8a8414;font:.9em/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:.05em .28em}.world-builder-wiki-link{display:inline;border:0;border-radius:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-weight:750;padding:0;text-align:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}[data-theme=dark] .world-builder-wiki-link{color:#93c5fd}.world-builder-wiki-link:hover,.world-builder-wiki-link:focus-visible{color:#1d4ed8;outline:none;text-decoration-thickness:2px}[data-theme=dark] .world-builder-wiki-link:hover,[data-theme=dark] .world-builder-wiki-link:focus-visible{color:#bfdbfe}.world-builder-md-table-wrap{max-width:100%;overflow-x:auto;margin:14px 0;border:1px solid rgba(28,138,132,.16);border-radius:8px}.world-builder-md-table{width:100%;min-width:680px;border-collapse:collapse;background:var(--panel)}.world-builder-md-table th,.world-builder-md-table td{border-bottom:1px solid rgba(28,138,132,.13);padding:9px 10px;text-align:left;vertical-align:top;line-height:1.45}.world-builder-md-table th{background:#1c8a8417;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.world-builder-md-table tr:last-child td{border-bottom:0}.world-builder-md-list-item{position:relative;padding-left:18px}.world-builder-md-list-item:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:#1c8a84d9}.world-builder-md-gap{height:8px}.world-builder-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f2937d6;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:80}.world-builder-image-tool,.world-builder-image-viewer{background:var(--card);border:1px solid rgba(28,138,132,.22);border-radius:8px;box-shadow:0 24px 70px #02061747;color:var(--text);max-height:calc(100vh - 48px);overflow:auto;padding:18px;width:min(1080px,calc(100vw - 48px))}.world-builder-image-tool>header,.world-builder-image-viewer>header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.world-builder-image-tool header p,.world-builder-image-viewer header p{color:var(--muted);font-size:.8rem;font-weight:900;margin:0 0 4px}.world-builder-image-tool header h2,.world-builder-image-viewer header h2{margin:0 0 4px}.world-builder-image-tool header small{color:var(--muted)}.world-builder-image-tool header button,.world-builder-image-viewer header button,.world-builder-image-tool-row button{border:1px solid rgba(28,138,132,.24);border-radius:7px;background:var(--panel);color:var(--text);cursor:pointer;font-weight:850;min-height:34px;padding:0 12px}.world-builder-image-tool-row button:disabled{cursor:not-allowed;opacity:.55}.world-builder-image-tool-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.world-builder-image-tool textarea{background:var(--panel);border:1px solid rgba(28,138,132,.18);border-radius:8px;color:var(--text);font:.86rem/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-top:10px;padding:12px;resize:vertical;width:100%}.world-builder-image-tool-row{display:flex;flex-wrap:wrap;gap:8px}.world-builder-paste-zone{align-items:center;background:var(--panel);border:1px dashed rgba(28,138,132,.42);border-radius:8px;color:var(--muted);display:flex;font-weight:850;justify-content:center;margin-bottom:10px;max-height:min(58vh,620px);min-height:220px;overflow:hidden;padding:12px;text-align:center}.world-builder-paste-zone:focus-visible{border-color:#1c8a84bf;outline:none}.world-builder-paste-zone img{display:block;height:auto;max-height:calc(min(58vh,620px) - 24px);max-width:100%;object-fit:contain;width:auto}.world-builder-image-meta{color:var(--muted);font-size:.78rem;font-weight:800;margin:-2px 0 10px}.world-builder-image-status{color:var(--muted);font-size:.82rem;font-weight:850;margin:8px 0 0}.world-builder-image-error{color:#b91c1c;font-size:.82rem;font-weight:850;margin:8px 0 0}.world-builder-image-viewer{width:min(1120px,calc(100vw - 48px))}.world-builder-image-viewer img{background:var(--panel);border-radius:8px;display:block;height:auto;margin:0 auto;max-height:calc(100vh - 170px);max-width:100%;object-fit:contain;width:auto}.world-builder-ordered-item{align-items:baseline;cursor:grab;display:flex;gap:8px;padding:3px 0}.world-builder-ordered-item.drag-over{border-top:2px solid var(--accent, #4a9eff)}.world-builder-ordered-item.dragging{opacity:.4}.world-builder-drag-handle{color:var(--muted, #888);flex-shrink:0;font-size:11px;opacity:0;transition:opacity .1s;-webkit-user-select:none;user-select:none}.world-builder-ordered-item:hover .world-builder-drag-handle{opacity:1}.world-builder-ordered-number{color:var(--muted, #888);flex-shrink:0;font-size:13px;min-width:24px;text-align:right}.world-builder-ordered-content{flex:1;min-width:0}.world-builder-save-row{align-items:center;border-bottom:1px solid var(--border, #333);display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px}.world-builder-save-btn{background:var(--accent, #4a9eff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:5px 14px}.world-builder-save-btn:disabled{cursor:default;opacity:.6}.world-builder-save-btn:hover:not(:disabled){opacity:.85}.world-builder-save-discard{background:none;border:none;color:var(--muted, #888);cursor:pointer;font-size:12px;padding:0}.world-builder-save-discard:hover{color:var(--text, #fff)}.world-builder-save-status{font-size:12px;color:var(--muted, #888)}.world-builder-save-error{color:var(--error, #e05)}.world-builder-source-row{align-items:stretch;display:flex;gap:0}.world-builder-source-row .world-builder-node-button{flex:1;min-width:0}.world-builder-reorder-col{display:flex;flex-direction:column;flex-shrink:0}.world-builder-reorder-btn{background:none;border:none;border-radius:0;color:var(--muted, #888);cursor:pointer;font-size:10px;line-height:1;opacity:0;padding:0 4px;transition:opacity .1s,color .1s;width:20px}.world-builder-source-row:hover .world-builder-reorder-btn,.world-builder-source-row:focus-within .world-builder-reorder-btn{opacity:1}.world-builder-reorder-btn:hover:not(:disabled){color:var(--text, #fff)}.world-builder-reorder-btn:disabled{cursor:default;opacity:0}@media(max-width:980px){.world-builder-header,.world-builder-toolbar{align-items:stretch;flex-direction:column}.world-builder-source{text-align:left}.world-builder-summary,.world-builder-layout,.world-builder-relations,.world-builder-section-grid{grid-template-columns:1fr}.world-builder-node-list{max-height:360px}.world-builder-md-heading{align-items:flex-start;flex-direction:column}.world-builder-image-tool-grid{grid-template-columns:1fr}}.dev-issues{display:flex;flex-direction:column;gap:18px;max-width:860px}.dev-issues-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.dev-issues-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:900;color:var(--ink)}.dev-issues-sub{margin:4px 0 0;font-size:.86rem;color:var(--muted)}.dev-issues-toggle{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;color:var(--muted);cursor:pointer;white-space:nowrap}.dev-issues-error{border:1px solid rgba(217,72,50,.4);border-radius:12px;padding:10px 14px;background:var(--surface-pop);color:var(--danger);font-size:.88rem}.dev-issues-empty{border:1px dashed var(--border);border-radius:14px;padding:22px;text-align:center;color:var(--muted);font-size:.92rem}.dev-issue-focus{position:relative;border:1px solid var(--border);border-radius:18px;padding:22px 24px 18px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.dev-issue-focus:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.dev-issue-focus.is-doing:before{background:var(--accent-2)}.dev-issue-focus.is-blocked:before{background:var(--danger)}.dev-issue-focus-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dev-issue-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.dev-issue-focus.is-doing .dev-issue-eyebrow{color:var(--accent-2)}.dev-issue-focus.is-blocked .dev-issue-eyebrow{color:var(--danger)}.dev-issue-focus-chips{display:inline-flex;gap:6px}.dev-issue-focus-chips .dev-issue-chip{min-width:0}.dev-issue-focus-title{margin:0 0 12px;font-family:Fraunces,Georgia,serif;font-size:1.62rem;line-height:1.22;font-weight:800;color:var(--ink)}.dev-issue-focus-body{margin:0 0 12px;font-size:.98rem;line-height:1.6;color:var(--ink)}.dev-issue-focus-body .doc-md,.dev-issue-row-body .doc-md{font-size:inherit}.dev-issue-focus-body .doc-md-p:last-child,.dev-issue-row-body .doc-md-p:last-child,.dev-issue-focus-body .doc-md-list:last-child,.dev-issue-row-body .doc-md-list:last-child,.dev-issue-focus-body .doc-md-pre:last-child,.dev-issue-row-body .doc-md-pre:last-child{margin-bottom:0}.dev-issue-focus-body .doc-md-pre,.dev-issue-row-body .doc-md-pre{margin-bottom:12px}.dev-issue-focus-body .doc-md-li,.dev-issue-row-body .doc-md-li{margin-bottom:9px}.dev-issue-focus-ref{margin:0 0 16px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;color:var(--muted);word-break:break-word}.dev-issue-focus-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.dev-issue-focus-spacer{flex:1 1 auto}.dev-issue-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.dev-issue-chip-stream{min-width:68px;border:1px solid var(--border);background:var(--surface-pop);color:var(--text-warm)}.dev-issue-chip-stream.is-lx{color:var(--accent-2);border-color:#1c8a8466}.dev-issue-chip-stream.is-deploy{color:var(--accent);border-color:#ff6b4a6b}.dev-issue-chip-stream.is-app{color:var(--accent-3);border-color:#7f3cff5c}.dev-issue-chip-stream.is-radar{color:var(--text-gold);border-color:#8b4b0057}.dev-issue-chip-priority{min-width:34px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.dev-issue-chip-priority.is-p0{border-color:#d9483280;color:var(--danger)}.dev-issue-queue-heading{margin:0 0 8px;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.dev-issue-queue-count{margin-left:6px;opacity:.7}.dev-issue-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.dev-issue-row{border-radius:10px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.dev-issue-row:hover{background:var(--surface-pop)}.dev-issue-row.is-expanded{border-color:var(--border);background:var(--surface-pop)}.dev-issue-row.is-blocked .dev-issue-row-title{text-decoration:line-through;opacity:.6}.dev-issue-row.is-done .dev-issue-row-title{opacity:.5}.dev-issue-row-main{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 2px}.dev-issue-promote{flex:0 0 auto;width:26px;height:26px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:.9rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.dev-issue-row:hover .dev-issue-promote,.dev-issue-row.is-expanded .dev-issue-promote{opacity:1}.dev-issue-promote:hover{border-color:var(--button-border-strong);color:var(--accent-2)}.dev-issue-row-open{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 4px;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dev-issue-row-open:focus{outline:none}.dev-issue-row-open:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px;border-radius:8px}.dev-issue-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;color:var(--ink)}.dev-issue-row-age{flex:0 0 auto;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;color:var(--muted)}.dev-issue-row-detail{padding:0 12px 12px 32px}.dev-issue-row-body{margin:0 0 10px;white-space:pre-wrap;font-size:.9rem;line-height:1.55;color:var(--ink);opacity:.88}.dev-issue-row-actions{display:flex;flex-wrap:wrap;gap:8px}.dev-issue-btn{padding:7px 14px;border:1px solid var(--border);border-radius:10px;background:var(--button-bg);color:var(--ink);font-size:.85rem;font-weight:700;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.dev-issue-btn:hover:not(:disabled){border-color:var(--button-border-strong);transform:translateY(-1px)}.dev-issue-btn:disabled{opacity:.5;cursor:default}.dev-issue-btn.is-primary{border-color:transparent;background:linear-gradient(135deg,var(--accent-2),rgba(28,138,132,.82));color:#fff}.dev-issue-btn.is-done{border-color:#138a3d6b;color:#138a3d}.dev-issue-btn.is-quiet{border-color:transparent;background:transparent;color:var(--muted);font-weight:600}.dev-issue-btn.is-quiet:hover:not(:disabled){color:var(--ink)}.dev-issue-edit{display:flex;flex-direction:column;gap:10px}.dev-issue-edit-title,.dev-issue-edit-body,.dev-issue-edit-ref,.dev-issue-add-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-inset);color:var(--ink);font:inherit}.dev-issue-edit-title{font-family:Fraunces,Georgia,serif;font-size:1.24rem;font-weight:800}.dev-issue-edit-body{resize:vertical;line-height:1.55}.dev-issue-edit-ref{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem}.dev-issue-edit-row{display:flex;flex-wrap:wrap;gap:8px}.dev-issue-edit-row select{padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-inset);color:var(--ink);font:inherit;font-size:.85rem}.dev-issue-add{display:flex;gap:8px;align-items:center}.dev-issue-add-input::placeholder{color:var(--muted);opacity:.75}.dev-issue-add-input:focus,.dev-issue-edit-title:focus,.dev-issue-edit-body:focus,.dev-issue-edit-ref:focus{outline:none;border-color:var(--button-border-strong)}.dev-issue-add-hint{margin:-8px 0 0;font-size:.75rem;color:var(--muted)}.dev-issue-add-hint code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem}@media(max-width:620px){.dev-issue-focus{padding:18px 16px 14px}.dev-issue-focus-title{font-size:1.32rem}.dev-issue-row-detail{padding-left:12px}}.dev-issues-header-right{display:flex;align-items:flex-end;gap:18px}.dev-issues-budget{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.dev-issues-budget-value{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.dev-issues-budget-label{margin-top:3px;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.dev-issues-filters{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dev-issue-filter{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,color .12s ease,background .12s ease}.dev-issue-filter:hover{border-color:var(--accent-2);color:var(--ink)}.dev-issue-filter.is-on{border-color:#1c8a848c;background:var(--surface-pop);color:var(--accent-2)}.dev-issue-filter-count{padding:0 6px;border-radius:999px;background:var(--surface-pop);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-variant-numeric:tabular-nums}.dev-issue-filter.is-on .dev-issue-filter-count{background:#1c8a8429}.dev-issue-chip-time{min-width:40px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.02em}.dev-issue-chip-time.is-quick{border-color:#1c8a8473;background:#1c8a841a;color:var(--accent-2)}.dev-issue-edit-estimate{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.dev-issue-edit-estimate input{width:72px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}.dev-issue-doclink{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;background:none;color:var(--accent-2);font:inherit;font-size:.78rem;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.dev-issue-doclink:hover{color:var(--accent)}.dev-issue-doclink-icon{opacity:.7;text-decoration:none}.dev-issue-ref-detail{margin-left:8px;color:var(--muted)}.dev-doc-panel{position:fixed;inset:0 0 0 auto;z-index:40;display:flex;flex-direction:column;width:min(620px,94vw);border-left:1px solid var(--border);background:var(--panel);box-shadow:-18px 0 48px #0000002e}@media(min-width:1180px){.dev-issues.has-doc{padding-right:min(640px,46vw);max-width:none}}.dev-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--border)}.dev-doc-head-text{min-width:0}.dev-doc-path{margin:0;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-weight:700;color:var(--ink);word-break:break-word}.dev-doc-detail{margin:4px 0 0;font-size:.78rem;color:var(--accent-2)}.dev-doc-body{flex:1 1 auto;overflow-y:auto;padding:18px 22px 40px}.doc-md{font-size:.9rem;line-height:1.62;color:var(--ink)}.doc-md-h{margin:22px 0 8px;font-family:Fraunces,Georgia,serif;font-weight:800;line-height:1.25;color:var(--ink)}.doc-md-h:first-child{margin-top:0}.doc-md-h1{font-size:1.3rem}.doc-md-h2{font-size:1.08rem;padding-bottom:6px;border-bottom:1px solid var(--border)}.doc-md-h3{font-size:.98rem}.doc-md-p{margin:0 0 12px}.doc-md-quote{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--accent-2);border-radius:0 10px 10px 0;background:var(--surface-pop);font-size:.85rem;color:var(--muted)}.doc-md-list{margin:0 0 14px;padding:0;list-style:none}.doc-md-li{position:relative;display:flex;gap:8px;margin-bottom:7px;padding-left:14px}.doc-md-li:not(.is-task):before{content:"·";position:absolute;left:2px;font-weight:800;color:var(--muted)}.doc-md-li.is-task{padding-left:0}.doc-md-box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-top:4px;border:1px solid var(--border);border-radius:4px;font-size:.66rem;font-weight:900;color:var(--accent-2)}.doc-md-li.is-checked .doc-md-box{border-color:#1c8a8480;background:#1c8a8424}.doc-md-li.is-checked>span:last-child{color:var(--muted)}.doc-md-pre{margin:0 0 14px;padding:12px 14px;overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface-pop)}.doc-md-pre code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.79rem;line-height:1.55;color:var(--ink);white-space:pre}.doc-md-code{padding:1px 5px;border-radius:5px;background:var(--surface-pop);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82em}.doc-md-link{color:var(--accent-2);text-underline-offset:2px}.doc-md-ref{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82em;color:var(--muted)}.doc-md-rule{margin:18px 0;border:0;border-top:1px solid var(--border)}.doc-md-table-wrap{margin:0 0 14px;overflow-x:auto}.doc-md-table{width:100%;border-collapse:collapse;font-size:.82rem}.doc-md-table th,.doc-md-table td{padding:7px 10px;border:1px solid var(--border);text-align:left;vertical-align:top}.doc-md-table th{background:var(--surface-pop);font-weight:800}@media(max-width:720px){.dev-issues-header-right{flex-direction:column;align-items:flex-end;gap:10px}}.nav-issues-link{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 12px;border:1px solid rgba(226,232,240,.22);border-radius:9px;background:#e2e8f00f;color:#e2e8f0db;font-size:.78rem;font-weight:900;letter-spacing:.02em;text-decoration:none;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.nav-issues-link:hover{border-color:#e2e8f073;background:#e2e8f021;color:#f8fafc}.nav-issues-link.active{border-color:#38bda899;background:#38bda829;color:#f0fdfa}.nav-issues-icon{font-size:.9rem;opacity:.8}@media(max-width:900px){.nav-issues-label{display:none}.nav-issues-link{padding:7px 9px}}.doc-md-li.is-numbered{padding-left:0}.doc-md-li.is-numbered:before{content:none}.doc-md-num{flex:0 0 auto;min-width:1.6em;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82em;font-weight:800;color:var(--accent-2);font-variant-numeric:tabular-nums}.dev-issues-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;margin-top:8px}.dev-issues-stat{display:inline-flex;align-items:baseline;gap:6px}.dev-issues-stat-value{font-family:Fraunces,Georgia,serif;font-size:1.45rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.dev-issues-stat-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.dev-issues-stat.is-open .dev-issues-stat-value{color:var(--accent)}.dev-issues-stat.is-doing .dev-issues-stat-value{color:var(--accent-2)}.dev-issues-stat.is-blocked .dev-issues-stat-value{color:var(--danger)}.dev-issues-stat.is-done .dev-issues-stat-value{color:var(--stat-done)}.dev-issues-stat.is-open .dev-issues-stat-label{color:var(--accent);opacity:.85}.dev-issues-stat.is-done .dev-issues-stat-label{color:var(--stat-done);opacity:.85}.dev-issues-stat.is-zero .dev-issues-stat-value,.dev-issues-stat.is-zero .dev-issues-stat-label{color:var(--muted);opacity:.45}.dev-issues-tracks{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--border)}.dev-issues-track{display:inline-flex;align-items:baseline;gap:7px;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.dev-issues-track:hover{border-color:var(--accent-2);color:var(--ink)}.dev-issues-track-label{font-size:.8rem;font-weight:800;letter-spacing:.02em}.dev-issues-track-count{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-weight:800;font-variant-numeric:tabular-nums}.dev-issues-track-time{font-size:.68rem;font-variant-numeric:tabular-nums;opacity:.7}.dev-issues-track.is-on{background:var(--surface-pop);border-color:var(--ink);color:var(--ink)}.dev-issues-track.is-deploy.is-on{border-color:var(--accent);color:var(--accent)}.dev-issues-track.is-lx.is-on{border-color:var(--accent-2);color:var(--accent-2)}.dev-issues-track.is-app.is-on{border-color:var(--accent-3);color:var(--accent-3)}.dev-issues-track.is-radar.is-on{border-color:var(--text-gold);color:var(--text-gold)}.dev-issues-track.is-repo.is-on{border-color:var(--ink);color:var(--ink)}@media(max-width:720px){.dev-issues-track{padding:6px 10px}.dev-issues-track-time{display:none}}.trainer-type-picker{display:flex;flex-wrap:wrap;gap:6px;max-width:860px;margin:0 auto 4px;padding:14px 18px 0}.trainer-type-picker .trainer-type-chip{--trainer-type-color: var(--accent);display:grid;gap:2px;min-width:132px;padding:7px 10px 8px;border:1px solid color-mix(in srgb,var(--trainer-type-color) 50%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--trainer-type-color) 5%,var(--surface-strong, var(--surface)));color:var(--trainer-type-color);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap;text-align:left;transition:border-color .12s ease,background .12s ease,color .12s ease}.trainer-type-chip[data-preset=aided]{--trainer-type-color: var(--heart-3, #3b82f6)}.trainer-type-chip[data-preset=aided_meaning]{--trainer-type-color: var(--dim-meaning, #a855f7)}.trainer-type-chip[data-preset=aided_reading]{--trainer-type-color: var(--dim-reading, #0ea5e9)}.trainer-type-chip[data-preset=cold_meaning]{--trainer-type-color: var(--heart-4, #f97316)}.trainer-type-chip[data-preset=cold_reading]{--trainer-type-color: var(--heart-5, #ef4444)}.trainer-type-chip[data-preset=cold]{--trainer-type-color: var(--heart-6, #f59e0b)}.trainer-type-head,.trainer-type-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.trainer-type-mastery{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.94rem;font-variant-numeric:tabular-nums;line-height:1;color:var(--trainer-type-color)}.trainer-type-meta{color:var(--trainer-type-color);font-size:.68rem;font-weight:700;letter-spacing:.015em}.trainer-type-chip:hover:not(:disabled){border-color:var(--trainer-type-color);background:color-mix(in srgb,var(--trainer-type-color) 12%,var(--surface-strong, var(--surface)));color:var(--trainer-type-color)}.trainer-type-picker .trainer-type-chip.is-on{border-color:var(--trainer-type-color);background:color-mix(in srgb,var(--trainer-type-color) 16%,var(--surface-pop, var(--surface)));box-shadow:inset 3px 0 0 var(--trainer-type-color);color:var(--trainer-type-color)}.trainer-type-chip:disabled{opacity:.4;cursor:default}.trainer-type-count{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-variant-numeric:tabular-nums}.trainer-type-hint{max-width:860px;margin:0 auto;padding:0 18px;font-size:.78rem;color:var(--muted)}@media(max-width:720px){.trainer-type-picker{padding:10px 12px 0;gap:5px}.trainer-type-picker .trainer-type-chip{min-width:124px;padding:6px 9px 7px;font-size:.75rem}.trainer-type-hint{padding:0 12px}}.skill-training-size{display:inline-flex;align-items:center;gap:4px}.skill-training-size button{display:inline-flex;align-items:baseline;min-width:36px;min-height:36px;justify-content:center;padding:4px 8px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:800;cursor:pointer}.skill-training-size button:first-child{font-size:.78rem}.skill-training-size button:nth-child(2){font-size:1rem}.skill-training-size button span{font-size:.7em}.skill-training-size button:hover:not(:disabled){border-color:var(--accent-2);color:var(--ink)}.skill-training-size button:disabled{opacity:.35;cursor:default}.skill-training-size button.is-reset{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--accent-2);border-color:var(--accent-2)}@media(min-width:760px){.kana-card-shell.skill-training-card{max-width:min(920px,100%)}}.dev-shot-drop{margin-top:18px;padding:14px 16px;border:1px dashed var(--border);border-radius:14px}.dev-shot-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dev-shot-file{font-size:.8rem;color:var(--muted);flex:1 1 200px}.dev-shot-label{flex:1 1 200px;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--ink);font:inherit;font-size:.84rem}.dev-shot-hint{margin:8px 0 0;font-size:.76rem;color:var(--muted)}.dev-shot-list{margin:10px 0 0;padding:0;list-style:none}.dev-shot-list li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:.74rem;color:var(--muted)}.dev-shot-list code{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;color:var(--accent-2);word-break:break-all}@media(max-width:1220px){.skill-training-rightcol{position:static;width:100%;display:grid;gap:8px}.skill-training-quota{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.skill-training-quota-row{flex:1 1 110px}.skill-training-next3{position:static;width:100%;display:flex;align-items:center;gap:10px;margin-bottom:2px}.skill-training-next3-title{text-align:left;white-space:nowrap}.skill-training-next3-list{flex:1 1 auto;grid-auto-flow:column;grid-auto-columns:1fr}}@media(max-width:640px){.skill-training-page{gap:12px;overflow-x:clip}.kana-card-shell.skill-training-card{padding:0 10px;margin:12px auto;min-height:0;gap:14px}.skill-training-quota{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.skill-training-quota .skill-training-next3-title{text-align:left}.skill-training-quota-row{width:100%}.kr-star-panel,.kr-level-badge{position:static;flex-direction:row;align-items:center;justify-content:center;width:100%;min-width:0;gap:8px}.kr-star-grid{grid-template-columns:repeat(6,auto);justify-content:center}.kana-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kana-option-btn{padding:12px 8px;font-size:.92rem;overflow-wrap:anywhere}.skill-training-topbar,.kana-card-header{flex-wrap:wrap;gap:8px}.kana-mode-toggle{margin-left:0}.skill-training-stats{flex-wrap:wrap;gap:6px;font-size:.78rem}.skill-training-next3-title{font-size:.66rem}.skill-training-next3-list>span{padding:5px 6px;font-size:.74rem}.trainer-type-picker{padding:8px 10px 0}}@media(max-width:640px){.kr-star-panel{display:none}.skill-training-sidebits .kr-level-badge{flex-basis:100%;max-width:none}.kr-level-badge{gap:10px;padding:0 2px;font-size:.72rem}.kr-level-badge .kr-level-label{font-size:.82rem;white-space:nowrap}.kr-level-badge .kr-level-bar,.kr-level-badge progress,.kr-level-badge .kr-level-track{flex:1 1 auto;min-width:0;height:5px;border-radius:999px}.kr-level-badge .kr-level-count,.kr-level-badge small{white-space:nowrap;opacity:.65}.skill-training-next3{gap:8px;opacity:.75}.skill-training-next3-list>span{border-color:transparent;background:var(--surface-pop);padding:4px 6px;font-size:.72rem}.kana-card-header{justify-content:center;gap:6px}.kana-mode-toggle{gap:3px}.kana-mode-toggle button,.kana-card-header>button{padding:6px 10px;font-size:.8rem;border-radius:8px}.skill-training-main-fit{margin:4px 0}.skill-training-prompt-label{font-size:.74rem;letter-spacing:.14em}.skill-training-due{font-size:.72rem;opacity:.6}.kana-options{grid-auto-rows:1fr;gap:9px}.kana-option-btn{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px;font-size:.88rem;line-height:1.28;text-align:center;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.kana-card-shell.skill-training-card{gap:12px}}@media(max-width:640px){.skill-training-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 10px;padding:0 2px}.skill-training-back{grid-column:1;padding:8px 12px;font-size:.82rem}.skill-training-size{grid-column:3}.skill-training-size button{min-width:32px;min-height:32px;padding:3px 6px}.skill-training-stats{grid-column:1 / -1;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;font-size:.72rem}.skill-training-stats>span{padding:3px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.skill-training-stats>span:first-child{flex:1 1 auto;min-width:0}.skill-training-next3{display:none}.kana-card-header{flex-wrap:nowrap;justify-content:center;gap:5px;overflow-x:auto;scrollbar-width:none}.kana-card-header::-webkit-scrollbar{display:none}.kana-mode-toggle button,.kana-card-header>button{padding:6px 9px;font-size:.75rem;white-space:nowrap;flex:0 0 auto}.kr-level-badge{gap:8px;margin-top:-2px;font-size:.68rem;opacity:.8}}.kana-header-rail{position:relative;width:100%}.kana-header-arrow{position:absolute;top:50%;z-index:3;display:none;transform:translateY(-50%);width:22px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.62rem;line-height:1;cursor:pointer}.kana-header-arrow.is-left{left:-2px}.kana-header-arrow.is-right{right:-2px}@media(max-width:640px){.kana-header-rail.can-left .kana-header-arrow.is-left,.kana-header-rail.can-right .kana-header-arrow.is-right{display:block}.kana-header-rail.can-left:before,.kana-header-rail.can-right:after{content:"";position:absolute;top:0;bottom:0;width:26px;z-index:2;pointer-events:none}.kana-header-rail.can-left:before{left:0;background:linear-gradient(to right,var(--panel) 30%,transparent)}.kana-header-rail.can-right:after{right:0;background:linear-gradient(to left,var(--panel) 30%,transparent)}.kana-card-header{scroll-padding-inline:22px;padding:0 20px}.kana-card-header>:nth-child(4){order:1}.kana-card-header>:nth-child(3){order:2}.kana-card-header>:nth-child(1){order:3}.kana-card-header>:nth-child(2){order:4}.kana-card-header>.kana-mode-toggle{margin-left:0!important}}@media(max-width:640px){.kana-card-header{justify-content:flex-start;padding-left:22px;padding-right:22px}}@media(max-width:640px){.navbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand tabs hud";gap:6px;padding:7px 8px;border-radius:10px}.nav-brand{gap:9px}.nav-brand-mark{width:30px;height:30px;font-size:.95rem;border-radius:9px}.nav-brand-copy{display:none}.nav-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:4px}.player-hud{border:0;background:transparent;padding:0;width:auto;max-width:132px}.player-hud-top{justify-content:flex-start;flex-wrap:nowrap;gap:4px}.player-name,.player-name-static,.dev-switcher-open{display:none}.player-hud .xp-bar,.player-hud progress,.player-hud .xp-row{display:none}.nav-issues-link{order:1}.theme-toggle{order:2;min-height:30px;padding:3px 6px}.theme-toggle-label{display:none}.nav-tabs{grid-area:tabs;gap:2px;padding:3px;border-radius:10px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(to right,transparent,#000 14px,#000 calc(100% - 14px),transparent)}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:6px 9px;font-size:.74rem}}@media(max-width:640px){.dev-issues-tracks,.trainer-type-picker{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:8px 12px 2px;-webkit-mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent);mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent)}.dev-issues-tracks::-webkit-scrollbar,.trainer-type-picker::-webkit-scrollbar{display:none}.trainer-type-chip{flex:0 0 auto}.trainer-type-hint{margin-top:2px;padding:0 12px 2px;font-size:.72rem;opacity:.75}}.home-page{display:flex;flex-direction:column;gap:44px;color:var(--ink)}.home-hero{display:flex;flex-direction:column;gap:14px;max-width:760px;padding-top:8px}.home-kicker{margin:0;font-size:.9rem;letter-spacing:.04em;color:var(--muted)}.home-hero h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;text-wrap:balance}.home-lede{margin:0;font-size:1.1rem;line-height:1.6;color:var(--muted)}.home-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.home-cta,.home-cta-secondary{padding:11px 22px;border-radius:999px;font-weight:600;font-size:1rem;cursor:pointer}.home-cta{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.home-cta-secondary{border:1px solid var(--border);background:var(--panel);color:var(--ink)}.home-cta:hover,.home-cta-secondary:hover{filter:brightness(.95)}.home-section{display:flex;flex-direction:column;gap:14px}.home-section h2{margin:0;font-size:1.4rem;line-height:1.3}.home-section-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.home-section-lede{margin:0;color:var(--muted);line-height:1.6}.home-badge{padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-muted);color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.home-takeoff{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);align-items:center;gap:28px}.home-takeoff-copy{display:flex;flex-direction:column;gap:12px}.home-takeoff-copy p{margin:0;line-height:1.65}.home-takeoff-chart{width:100%;height:auto;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--panel-muted)}.home-takeoff-axis{stroke:var(--muted);stroke-width:1;opacity:.6}.home-takeoff-threshold{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 4}.home-takeoff-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}.home-takeoff-dot{fill:var(--accent)}.home-takeoff-label,.home-takeoff-axis-label{fill:var(--muted);font-size:11px}.home-next-step{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,1fr);align-items:center;gap:28px;margin-top:2px;padding-top:30px;border-top:1px solid var(--border)}.home-next-step-copy{display:flex;flex-direction:column;gap:12px}.home-next-step-copy h2,.home-next-step-copy p{margin:0}.home-next-step-copy p:not(.home-kicker){line-height:1.65}.home-next-step-chart{width:100%;height:auto;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted)}.home-next-step-axis{stroke:var(--muted);stroke-width:1;opacity:.6}.home-next-step-threshold{stroke:var(--accent-2);stroke-width:1;stroke-dasharray:5 4;opacity:.8}.home-next-step-line{fill:none;stroke:var(--accent-2);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.home-next-step-dot{fill:var(--accent-2);stroke:var(--panel-muted);stroke-width:2}.home-next-step-label,.home-next-step-axis-label{fill:var(--muted);font-size:11px}.home-next-step-label{fill:var(--ink);font-weight:700}.home-takeoff-label{fill:var(--ink);font-weight:600}.home-fix-grid,.home-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.home-fix-card,.home-skill-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--panel-muted)}.home-fix-problem{margin:0;font-weight:600;line-height:1.45}.home-fix-answer,.home-skill-card p{margin:0;color:var(--muted);line-height:1.55}.home-trust{margin:0;padding:12px 16px;border-left:3px solid var(--accent);background:var(--panel-muted);border-radius:0 10px 10px 0;line-height:1.55}.home-skill-ja{font-size:1.5rem;color:var(--accent)}.home-skill-card h3{margin:0;font-size:1.05rem}.home-break-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 24px;margin:0;padding:0;list-style:none}.home-break-list li{line-height:1.55;color:var(--muted)}.home-break-list strong{color:var(--ink)}.home-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.home-topic-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.home-topic-tile:hover{border-color:var(--accent)}.home-topic-ja{font-size:1.3rem;font-weight:600}.home-topic-en{font-weight:600}.home-topic-count{font-size:.85rem;color:var(--muted)}.home-topic-all{justify-content:center;color:var(--accent)}@media(max-width:720px){.home-page{gap:34px}.home-takeoff,.home-next-step{grid-template-columns:1fr}}.home-more{margin:0;font-weight:600}.home-more a,.features-other-link a,.features-toc a{color:var(--accent)}.features-page{gap:36px}.features-other-link{margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-muted)}.features-toc{padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted);max-width:560px}.features-toc-title{margin:0 0 8px;font-weight:600}.features-toc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.features-toc-sub{padding-left:18px;font-size:.95rem}.features-part{display:flex;flex-direction:column;gap:14px;max-width:760px;scroll-margin-top:16px}.features-part>h2{margin:0;font-size:1.6rem}.features-part-label{margin:0;color:var(--accent);font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}.features-part p,.features-part li{line-height:1.7}.features-part p{margin:0}.features-part ul,.features-part ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.features-step{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--border);scroll-margin-top:16px}.features-step h3,.features-other-group h3{margin:0;font-size:1.15rem}.features-note{padding:10px 14px;border-left:3px solid var(--accent);background:var(--panel-muted);border-radius:0 10px 10px 0;color:var(--muted)}.features-chip{display:inline-block;margin:0 2px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--panel-muted);font-size:.85rem;font-weight:600}.features-fog{letter-spacing:.1em;color:var(--muted)}.features-page kbd{padding:0 6px;border:1px solid var(--border);border-radius:5px;background:var(--panel-muted);font-family:inherit}.features-table-wrap{overflow-x:auto}.features-table{width:100%;border-collapse:collapse}.features-table th,.features-table td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.features-table th{color:var(--muted);font-size:.85rem;font-weight:600}.features-heart{font-weight:700;color:var(--accent);white-space:nowrap}.features-other-group{display:flex;flex-direction:column;gap:10px}.features-part .home-break-list{padding:0}.trainer-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.trainer-category-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--panel-muted);color:var(--ink);text-align:left;cursor:pointer}.trainer-category-card:hover:not(:disabled){border-color:var(--accent)}.trainer-category-card:disabled{opacity:.5;cursor:default}.trainer-category-card.is-all{background:var(--panel);border-color:var(--accent)}.trainer-category-ja{font-size:1.4rem;font-weight:600;color:var(--accent)}.trainer-category-label{font-weight:600;font-size:1.05rem}.trainer-category-desc{color:var(--muted);font-size:.9rem;line-height:1.45}.trainer-category-stats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:.85rem;color:var(--muted)}.trainer-category-due{color:var(--accent);font-weight:600}.skill-radar-panel{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.skill-radar-panel h2{margin:0;font-size:1.25rem}.skill-radar-body{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:center;gap:24px}.skill-radar{position:relative;margin:0}.skill-radar svg{display:block;width:100%;height:auto;overflow:visible}.skill-radar-ring{fill:none;stroke:var(--border);stroke-width:1}.skill-radar-ring-label{fill:var(--muted);font-size:10px;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round}.skill-radar-spoke{stroke:var(--border);stroke-width:1}.skill-radar-peak{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4;stroke-linejoin:round}.skill-radar-shape{fill:color-mix(in srgb,var(--accent) 18%,transparent);stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.skill-radar-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2}.skill-radar-hit{fill:transparent;cursor:default}.skill-radar g:focus{outline:none}.skill-radar g:focus .skill-radar-dot{stroke:var(--ink)}.skill-radar-axis-label{fill:var(--ink);font-size:12px;font-weight:600}.skill-radar-axis-value{fill:var(--muted);font-size:11px}.skill-radar-tip{position:absolute;top:0;right:0;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);font-size:.85rem;pointer-events:none}.skill-radar.is-mini{width:88px}.skill-radar.is-mini .skill-radar-shape{stroke-width:1.5}.skill-radar-side{display:flex;flex-direction:column;gap:14px}.skill-gains-caption{margin:0 0 6px;font-weight:600;font-size:.9rem}.skill-gains ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.skill-gains li{display:grid;grid-template-columns:9.5rem minmax(40px,1fr) 3.2em;align-items:center;gap:10px;font-size:.9rem}.skill-gains-label{color:var(--ink)}.skill-gains-track{height:8px;border-radius:4px;background:var(--panel-muted);overflow:hidden}.skill-gains-bar{display:block;height:100%;border-radius:4px;background:var(--accent)}.skill-gains-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.skill-radar-legend{margin:0;font-size:.8rem;line-height:1.8;color:var(--muted)}.skill-radar-key{display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:middle}.skill-radar-key.is-now{border-top:2px solid var(--accent)}.skill-radar-key.is-peak{border-top:1.5px dashed var(--muted)}.skill-radar-empty{margin:0}.topic-gate-radar{display:flex;flex-direction:column;align-items:center;gap:2px}@media(max-width:640px){.skill-radar-body{grid-template-columns:1fr}.skill-radar-panel{padding:14px 12px}.skill-radar:not(.is-mini){width:100%;max-width:340px;margin:0 auto}.skill-gains li{grid-template-columns:7.8rem minmax(40px,1fr) 2.8em;gap:8px}.skill-radar-axis-label{font-size:16px}.skill-radar-axis-value{font-size:14px}.skill-radar-ring-label{font-size:13px}}.readiness-chip{display:inline-block;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--panel-muted);color:var(--muted);font-size:.75rem;font-weight:600;white-space:nowrap}.readiness-chip.is-comfortable{border-color:var(--stat-done);color:var(--stat-done)}.readiness-chip.is-nearly{border-color:var(--accent);color:var(--ink)}.read-guard{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:14px 16px;border:1px solid var(--accent);border-radius:12px;background:var(--panel-muted)}.read-guard p{margin:0;line-height:1.5}.read-guard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.read-guard-actions .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.picture-book-scroll{display:flex;flex-direction:column;gap:28px}.picture-book-pages{display:flex;flex-direction:column;gap:16px}.picture-book-card{display:flex;flex-direction:column;gap:14px;margin:0;max-width:640px;width:100%;align-self:center}.picture-book-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;border:1px solid var(--border);background:var(--panel-muted)}.picture-book-image.is-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;color:var(--muted);border-style:dashed}.picture-book-image.is-placeholder span{font-weight:600}.picture-book-image.is-placeholder small{max-width:44ch;font-size:.8rem;line-height:1.5;font-family:var(--font-ui, system-ui, sans-serif)}.picture-book-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.picture-book-number{flex:none;color:var(--muted);font-size:.8rem;font-family:var(--font-ui, system-ui, sans-serif)}.picture-book-nav{display:flex;align-items:center;justify-content:center;gap:18px}.picture-book-counter{min-width:4.5em;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);font-family:var(--font-ui, system-ui, sans-serif)}.picture-book-layout-toggle{display:inline-flex;gap:4px;margin-left:12px}.picture-book-layout-toggle button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.word-lookup{display:flex;flex-direction:column;gap:8px;font-family:var(--font-ui, "Source Sans 3", "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif)}.word-lookup-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}.word-lookup .word-lookup-dismiss{flex:0 1 auto;min-height:34px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--danger, #b42318) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger, #b42318) 10%,var(--panel));color:var(--danger, #b42318);font-size:.74rem;font-weight:800;line-height:1.2;cursor:pointer}.word-lookup .word-lookup-dismiss:hover,.word-lookup .word-lookup-dismiss:focus-visible{background:color-mix(in srgb,var(--danger, #b42318) 10%,transparent)}.word-lookup .word-lookup-dismiss:disabled{cursor:wait;opacity:.55}.word-lookup h3{margin:0;font-family:inherit;font-size:1.8rem;line-height:1.2;letter-spacing:0}.word-lookup p{margin:0;line-height:1.5}.word-lookup.is-empty p:not(.topic-progression-kicker){color:var(--muted)}.word-lookup-reading{font-size:1.05rem;color:var(--muted)}.word-lookup-meaning{font-size:1.1rem;font-weight:600}.word-lookup-base,.word-lookup-hearts{font-size:.85rem;color:var(--muted)}.word-lookup-dismiss-notice,.word-lookup-dismiss-error{font-size:.82rem}.word-lookup-dismiss-notice{color:var(--success, #15803d)}.word-lookup-dismiss-error{color:var(--danger, #b42318)}.word-lookup-hidden{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}.word-lookup-sentence{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.word-lookup-sentence p{font-size:.9rem}.word-lookup button,.word-lookup-hidden button,.word-lookup-sentence button{border-radius:999px;padding:5px 12px;font-size:.85rem}.reader-debug-details{margin-top:16px;padding-top:10px;border-top:1px dashed var(--border);font-size:.85rem}.reader-debug-details>summary{cursor:pointer;color:var(--muted);font-weight:600}.reader-debug-details[open]>summary{margin-bottom:10px}.mobile-word-lookup-popover{display:none}@media(max-width:760px){.topic-read-sidebar>.word-lookup{display:none}.mobile-word-lookup-popover{position:fixed;z-index:120;display:block;width:min(320px,calc(100vw - 16px));max-height:min(350px,calc(100vh - 16px));overflow:auto;padding:16px;border:1px solid var(--accent);border-radius:14px;background:var(--surface-strong);box-shadow:0 12px 34px #00000047}.mobile-word-lookup-close{position:absolute;top:7px;right:7px;z-index:1;width:30px;height:30px;padding:0;border-radius:999px;font-size:1.25rem;line-height:1}.mobile-word-lookup-popover .word-lookup-heading{align-items:flex-start;padding-right:28px}.mobile-word-lookup-popover .word-lookup-dismiss{max-width:130px}}.trainer-hub-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}.bucket-jars{display:flex;flex-direction:column;gap:8px}.bucket-jars-title{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center}.bucket-jars-row{display:flex;gap:12px}.bucket-jar{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer}.bucket-jar:hover:not(:disabled),.bucket-jar:focus-visible{border-color:var(--border);background:var(--panel-muted)}.bucket-jar:disabled{opacity:.5;cursor:default}.bucket-jar-label{font-weight:700;font-size:.9rem}.bucket-jar-vessel{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:84px;border:2px solid var(--border);border-top-width:0;border-radius:6px 6px 16px 16px;background:var(--panel-muted);overflow:hidden}.bucket-jar-fill{position:absolute;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--accent) 55%,transparent);transition:height .4s ease}.bucket-jar.is-full .bucket-jar-fill{background:color-mix(in srgb,var(--stat-done) 55%,transparent)}.bucket-jar-count{position:relative;font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.bucket-jar-count small{font-size:.75rem;font-weight:500;color:var(--ink)}.bucket-jar-ready{font-size:.75rem;color:var(--muted)}@media(max-width:720px){.trainer-hub-header{grid-template-columns:1fr}.bucket-jars{align-items:flex-start}}.quest-today h2,.quest-board h2{margin:0 0 10px;font-size:1.3rem}.quest-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none}.quest-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted)}.quest-step-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);font-weight:700}.quest-step-text{display:flex;flex-direction:column;gap:2px;min-width:0}.quest-step-text span{color:var(--muted);font-size:.88rem}.quest-step button,.quest-lane-action button,.quest-more-toggle{border-radius:999px;padding:6px 14px;font-weight:600}.quest-board{display:flex;flex-direction:column;gap:18px}.quest-chapter{display:flex;flex-direction:column;gap:10px}.quest-chapter-title{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.quest-chapter-title span{margin-left:6px;letter-spacing:0;text-transform:none}.quest-lane{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.quest-lane.is-unstarted{opacity:.75}.quest-lane-head{display:flex;flex-direction:column;gap:2px;min-width:0}.quest-lane-head strong{line-height:1.3}.quest-lane-head span,.quest-lane-head small{color:var(--muted);font-size:.82rem}.quest-path{display:flex;align-items:flex-start;margin:0;padding:0;list-style:none;min-width:0}.quest-tile{position:relative;flex:1 1 0;min-width:70px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.quest-tile+.quest-tile:before{content:"";position:absolute;top:19px;right:calc(50% + 22px);width:calc(100% - 44px);border-top:3px dashed var(--border)}.quest-tile.is-done+.quest-tile:before{border-top-style:solid;border-top-color:var(--accent)}.quest-tile-token{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:2px dashed var(--border);background:var(--panel-muted);color:var(--muted);font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.quest-tile.is-done .quest-tile-token{border:2px solid var(--accent);background:var(--accent);color:var(--on-accent, #ffffff);font-size:1.05rem}.quest-tile.is-current .quest-tile-token{border:3px solid var(--accent);background:var(--panel);color:var(--ink);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent);animation:quest-pulse 2.4s ease-in-out infinite}@keyframes quest-pulse{0%,to{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 8%,transparent)}}@media(prefers-reduced-motion:reduce){.quest-tile.is-current .quest-tile-token{animation:none}}.quest-tile-label{font-size:.78rem;font-weight:600;line-height:1.25;color:var(--ink)}.quest-tile.is-ahead .quest-tile-label{color:var(--muted);font-weight:500}.quest-tile-meta{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.quest-tile.is-current .quest-tile-meta{color:var(--accent);font-weight:600}.quest-more{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.quest-more .quest-lane{align-self:stretch}@media(max-width:820px){.quest-lane{grid-template-columns:1fr;gap:12px}.quest-path{overflow-x:auto;padding-bottom:4px}.quest-lane-action{justify-self:start}}.quest-daily-track{display:block;height:6px;margin-top:6px;border-radius:999px;background:var(--panel);overflow:hidden}.quest-daily-track>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.quest-step-text .quest-daily-count{font-size:.78rem;font-variant-numeric:tabular-nums}.quest-daily.is-complete .quest-step-number{background:var(--stat-done)}.quest-daily.is-complete .quest-daily-track>span{background:var(--stat-done)}.quest-current{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:2px solid var(--accent);border-radius:16px;background:var(--panel)}.quest-current>strong{font-size:1.15rem}.quest-current>span{color:var(--muted)}.quest-current-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.quest-current-actions button{border-radius:999px;padding:7px 16px;font-weight:600}.quest-current-actions .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.quest-act{display:flex;flex-direction:column;gap:14px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.quest-act.is-current{border-color:var(--accent);padding-bottom:18px}.quest-act.is-locked{opacity:.6;background:var(--panel-muted)}.quest-act.is-coming{border-style:dashed;background:var(--panel-muted);opacity:.72}.quest-act.is-coming .quest-act-number{border-style:dashed}.quest-act.is-coming .quest-act-count{padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel);white-space:nowrap}.quest-act-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.quest-act-head>div{display:flex;flex-direction:column;gap:1px}.quest-act-head>div span{color:var(--muted);font-size:.85rem}.quest-act-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:2px solid var(--border);font-weight:700;font-size:.9rem}.quest-act.is-current .quest-act-number{border-color:var(--accent);color:var(--accent)}.quest-act-count{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.quest-act .quest-path{overflow-x:auto;padding:4px 2px 2px}.quest-tile.is-locked .quest-tile-token{font-size:.8rem;opacity:.7}.features-why{max-width:none}.why-it-works{display:flex;flex-direction:column;gap:40px}.why-section-heading{--why-heading: var(--accent);--why-heading-soft: color-mix(in srgb, var(--accent) 13%, var(--panel));display:flex;align-items:flex-start;gap:12px}.why-section-heading.is-indigo{--why-heading: #5369c6;--why-heading-soft: #eef0ff}.why-section-heading.is-teal{--why-heading: #16867e;--why-heading-soft: #e5f5f2}.why-section-heading.is-gold{--why-heading: #a56508;--why-heading-soft: #fff4dd}.why-section-heading.is-rose{--why-heading: #b3486a;--why-heading-soft: #fff0f4}.why-section-heading.is-violet{--why-heading: #7755b7;--why-heading-soft: #f3efff}.why-section-heading.is-green{--why-heading: #367b55;--why-heading-soft: #eaf7ed}.why-section-heading.is-blue{--why-heading: #28729b;--why-heading-soft: #e8f5fb}:root[data-theme=dark] .why-section-heading.is-indigo{--why-heading-soft: #22294a}:root[data-theme=dark] .why-section-heading.is-teal{--why-heading-soft: #183c3b}:root[data-theme=dark] .why-section-heading.is-gold{--why-heading-soft: #443216}:root[data-theme=dark] .why-section-heading.is-rose{--why-heading-soft: #482433}:root[data-theme=dark] .why-section-heading.is-violet{--why-heading-soft: #34264d}:root[data-theme=dark] .why-section-heading.is-green{--why-heading-soft: #203d2b}:root[data-theme=dark] .why-section-heading.is-blue{--why-heading-soft: #1d3545}.why-section-number{display:grid;flex:0 0 auto;width:31px;height:31px;place-items:center;margin-top:2px;border:1px solid color-mix(in srgb,var(--why-heading) 42%,var(--border));border-radius:9px;background:var(--why-heading-soft);color:var(--why-heading);font-size:.76rem;font-weight:900;letter-spacing:.04em}.why-section-heading h2{padding-bottom:3px;border-bottom:3px solid var(--why-heading)}.why-section-heading .home-kicker{margin-bottom:4px;color:var(--why-heading);font-weight:800}.why-srs-grid,.why-philosophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.why-srs-card,.why-philosophy-card,.why-fandom-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted)}.why-srs-card h3,.why-philosophy-card h3,.why-fandom-card h3{margin:0;font-size:1.05rem;line-height:1.35}.why-srs-card p,.why-philosophy-card p,.why-fandom-card p{margin:0;color:var(--muted);line-height:1.55}.why-srs-hearts{color:#e45b73;font-size:1.05rem;letter-spacing:2px;line-height:1}.why-srs-note{margin:0;padding:12px 16px;border-left:3px solid #b3486a;border-radius:0 10px 10px 0;background:color-mix(in srgb,#b3486a 9%,var(--panel));color:var(--muted);line-height:1.55}.why-fandom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.why-fandom-card:first-child{border-top:3px solid #7755b7}.why-fandom-card:last-child{border-top:3px solid #16867e}.why-fandom-label{color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}@media(max-width:720px){.why-srs-grid,.why-philosophy-grid,.why-fandom-grid{grid-template-columns:1fr}}.home-feed-page{gap:28px}.home-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:center;gap:24px}.home-intro-text{display:flex;flex-direction:column;gap:8px}.home-intro-text h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.2}.home-intro-text .home-lede{font-size:1rem}.home-intro-links{display:flex;flex-wrap:wrap;gap:16px;margin:2px 0 0;font-weight:600}.home-intro-links a{color:var(--accent)}.home-ai-notice{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;background:var(--panel-muted)}.home-ai-notice p{margin:0;font-size:.88rem;line-height:1.5;color:var(--muted)}.home-feed{display:flex;flex-direction:column;gap:14px}.home-feed-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.home-feed-head h2{margin:0;font-size:1.4rem}.level-filter{display:flex;flex-wrap:wrap;gap:4px}.level-filter button{min-width:34px;padding:5px 10px;border-radius:999px;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.level-filter button[aria-pressed=true].is-on{border-color:color-mix(in srgb,var(--accent) 72%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent);font-weight:800}.level-filter button.is-empty:not(.is-on){opacity:.45}.level-filter-count{color:var(--ink);font-size:.8rem;font-weight:750}.home-feed-level-note{margin:0;color:var(--muted);font-size:.9rem}.home-feed-empty{padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.home-feed-empty p{margin:0 0 6px}.home-feed-empty button{margin-right:6px;border-radius:999px;padding:4px 12px}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.feed-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.feed-card-cover{position:relative;display:flex;align-items:center;justify-content:center;min-height:118px;padding:26px 16px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),var(--panel-muted)}.feed-card-cover-title{margin:0;font-size:1.1rem;font-weight:600;line-height:1.45;text-align:center;color:var(--ink)}.feed-card-video-preview{min-height:118px;padding:0;background:#080b10}.feed-card-video-preview video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#080b10}.feed-card-video-mark{position:absolute;left:50%;top:50%;display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,white 70%,transparent);border-radius:999px;background:color-mix(in srgb,black 58%,transparent);color:#fff;font-size:1rem;line-height:1;transform:translate(-50%,-50%);box-shadow:0 4px 18px color-mix(in srgb,black 35%,transparent)}.feed-card-level,.feed-card-origin{position:absolute;top:8px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700}.feed-card-level{left:8px;background:var(--panel);color:var(--ink);border:1px solid var(--border)}.feed-card-origin{right:8px;background:var(--panel);color:var(--muted);border:1px solid var(--border);font-weight:600}.feed-card-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:12px 14px 14px}.feed-card-body h3{margin:0;font-size:1rem;line-height:1.35}.feed-card-title,.feed-card-title:visited,.series-shelf-title,.series-shelf-title:visited{color:inherit;text-decoration:none}.feed-card-title:hover,.feed-card-title:focus-visible,.series-shelf-title:hover,.series-shelf-title:focus-visible{text-decoration:underline}.feed-card-topic{margin:0;font-size:.78rem;font-weight:600;color:var(--muted)}.feed-card-ready{margin:0;font-size:.82rem;color:var(--muted)}.feed-card-ready.is-comfortable{color:var(--stat-done);font-weight:600}.feed-card-ready.is-nearly{color:var(--accent);font-weight:600}.feed-card-coverage{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;font-size:.78rem;color:var(--muted)}.feed-card-coverage-title{flex-basis:100%;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.feed-card-coverage-group{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}.feed-card-coverage-group em{font-style:normal;font-weight:600;color:var(--ink)}.feed-card-coverage-group strong{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.feed-card-coverage-note{display:none}.feed-card-actions{display:flex;gap:6px;margin-top:auto;padding-top:6px}.feed-card-actions button{border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600}.feed-card-actions .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.feed-card.is-coming{border-style:dashed;opacity:.7}.feed-card.is-coming .feed-card-cover{background:var(--panel-muted)}@media(max-width:720px){.home-intro{grid-template-columns:1fr}}@media(max-width:640px){#root{padding:12px}.page,.legal-panel{padding:16px}.home-break-list{grid-template-columns:minmax(0,1fr)}.feed-card-coverage{gap:4px 8px}.feed-card-coverage-group{flex:1 1 100%;flex-wrap:wrap;white-space:normal}.feed-card-coverage-note{display:block;flex-basis:100%;line-height:1.35}}:root{--radar-1: #2a78d6;--radar-2: #1baf7a;--radar-3: #4a3aa7}:root[data-theme=dark]{--radar-1: #3987e5;--radar-2: #199e70;--radar-3: #9085e9}.skill-radar.is-tone-1{--radar-color: var(--radar-1)}.skill-radar.is-tone-2{--radar-color: var(--radar-2)}.skill-radar.is-tone-3{--radar-color: var(--radar-3)}.skill-radar[class*=is-tone-] .skill-radar-shape{fill:color-mix(in srgb,var(--radar-color) 18%,transparent);stroke:var(--radar-color)}.skill-radar[class*=is-tone-] .skill-radar-dot{fill:var(--radar-color)}.trainer-hub-header{grid-template-columns:1fr}.trainer-radars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trainer-radar-card{display:flex;flex-direction:column;gap:8px;margin:0;padding:14px 16px 10px;border:1px solid var(--border);border-top:4px solid var(--radar-color, var(--accent));border-radius:14px;background:var(--panel);min-width:0}.trainer-radar-card.is-tone-1{--radar-color: var(--radar-1)}.trainer-radar-card.is-tone-2{--radar-color: var(--radar-2)}.trainer-radar-card.is-tone-3{--radar-color: var(--radar-3)}.trainer-radar-card figcaption{display:flex;flex-direction:column;gap:2px}.trainer-radar-card figcaption strong{font-size:1.05rem}.trainer-radar-card figcaption span{color:var(--muted);font-size:.85rem}.trainer-radar-card .skill-radar-empty{padding:24px 0;text-align:center;font-size:.88rem}.trainer-radars-note{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.8rem}@media(max-width:900px){.trainer-radars{grid-template-columns:1fr}.trainer-radar-card .skill-radar{max-width:340px;margin:0 auto}}:root{--radar-4: #e87ba4}:root[data-theme=dark]{--radar-4: #d55181}.skill-radar.is-tone-4,.trainer-radar-card.is-tone-4{--radar-color: var(--radar-4)}.skill-radar-axis-label.is-zero{fill:var(--muted);font-weight:500}.trainer-radars{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-radar-card .skill-radar{width:100%;max-width:420px;margin:0 auto}.home-rows-page{gap:26px}.home-strip{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px}.home-strip-text{display:flex;flex-direction:column;gap:6px;max-width:640px}.home-strip-text h1{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2}.home-strip-ai{margin:0;padding:8px 12px;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:var(--panel-muted);color:var(--muted);font-size:.88rem;line-height:1.5}.home-strip-ai strong{color:var(--ink)}.home-strip-ai a{color:var(--accent);font-weight:600;white-space:nowrap}.home-strip-filter{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.home-strip-filter-label{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.home-strip-level-note{color:var(--muted);font-size:.8rem}.media-row{display:flex;flex-direction:column;gap:10px}.media-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.media-row-head h2{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1.25rem}.media-row-head h2 span{color:var(--muted);font-size:.9rem;font-weight:500;flex-shrink:0;white-space:nowrap;word-break:keep-all}.media-row-head h2 small{color:var(--muted);font-size:.8rem;font-weight:500}.media-row-controls{display:flex;align-items:center;gap:6px;max-width:100%;flex-wrap:wrap;justify-content:flex-end}.media-row-controls button{min-width:32px;padding:4px 10px;border-radius:999px;font-weight:700}.media-row-controls .media-row-more{font-size:.85rem;font-weight:600}@media(max-width:520px){.media-row-head{align-items:flex-start;flex-direction:column}.media-row-head h2{width:100%;flex-wrap:wrap}.media-row-controls{width:100%;justify-content:flex-start}.media-row-controls button{max-width:100%}}.media-row-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:none;scroll-padding:0 2px;padding:2px 2px 8px}.media-row-track>.feed-card{flex:0 0 230px;scroll-snap-align:none}.media-row-track>.feed-card.is-wide{flex-basis:min(520px,100%)}.media-row.is-expanded .media-row-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));overflow:visible}.media-row-empty{margin:0;padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}button.feed-card-cover{width:100%;border:0;border-radius:0;font:inherit;cursor:pointer}.feed-card.is-wide{flex-direction:row}.feed-card.is-wide .feed-card-cover{flex:0 0 170px;min-height:0}.points-hint{position:relative;margin-left:auto}.points-hint-button{padding:4px 9px;border-radius:999px;border-style:dashed;font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.points-hint-pop{position:absolute;right:0;bottom:calc(100% + 6px);z-index:5;display:flex;flex-direction:column;gap:4px;width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);font-size:.8rem;line-height:1.4;color:var(--muted)}.points-hint-pop strong{color:var(--ink)}.points-hint-pop a{color:var(--accent);font-weight:600}@media(max-width:720px){.home-strip-filter{align-items:flex-start}.feed-card.is-wide{flex-direction:column}}.feed-card-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-rows-page .feed-card.is-reading>button.feed-card-cover{min-height:68px;padding:20px 76px 10px}.home-rows-page .feed-card.is-reading>button.feed-card-cover .feed-card-cover-title{display:block;max-width:100%;overflow:hidden;font-size:.9rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.home-rows-page .feed-card.is-comic .feed-card-cover{height:236px;min-height:236px;flex:0 0 236px}.home-rows-page .feed-card.is-comic .feed-card-cover-image{object-fit:cover}.media-reader{display:flex;flex-direction:column;gap:18px}.media-reader-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.media-reader-head h1{margin:2px 0 0;font-size:1.5rem}.media-reader-en{margin:2px 0 0;color:var(--muted)}.media-back{border-radius:999px;padding:6px 14px}.media-coverage{display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted);text-align:right}.media-coverage strong{font-size:1.2rem}.media-coverage small{color:var(--muted)}.media-reader-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-muted)}.media-reader-controls label{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:700}.media-reader-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px}.media-side{position:sticky;top:12px;display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.media-body{display:flex;flex-direction:column;gap:18px;max-width:680px}.media-group{display:flex;flex-direction:column;gap:10px}.media-body.is-comic .media-group,.media-body.is-picture_book .media-group{padding:12px;border:2px solid var(--ink);border-radius:10px;background:var(--panel)}.media-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:var(--panel-muted)}.media-image.is-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;border:1px dashed var(--border);color:var(--muted);text-align:center}.media-image.is-placeholder small{max-width:44ch;font-size:.78rem;line-height:1.45}.media-segment{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.media-segment p{margin:0;font-size:calc(1.25rem * var(--reader-font-scale, 1));line-height:1.8}.media-body.is-picture_book .media-segment p{font-weight:650}.media-segment.is-bubble{align-self:flex-start;padding:8px 14px;border:2px solid var(--ink);border-radius:18px;background:var(--panel)}.media-segment.is-narration{padding:6px 10px;border-left:3px solid var(--muted);background:var(--panel-muted)}.media-segment.is-sign p{padding:2px 10px;border:1px solid var(--border);border-radius:4px;font-weight:700}.media-speaker{flex-basis:100%;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:capitalize}.media-token{padding:0;border:0;border-radius:3px;background:none;color:inherit;font:inherit;cursor:pointer}.media-token.is-static{cursor:text}.media-token.is-unknown{text-decoration:underline dotted;text-decoration-color:var(--accent);text-underline-offset:5px}.media-token.is-picked,button.media-token:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.media-english-toggle{padding:1px 8px;border-radius:999px;font-size:.72rem;color:var(--muted);text-align:left}.anime-storyboard{display:flex;flex-direction:column;gap:12px}.anime-storyboard-stage{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted);box-shadow:var(--shadow)}.anime-storyboard-stage .media-image{width:100%;min-height:320px;max-height:70vh;object-fit:cover;border:0;border-radius:0}.anime-storyboard-card{position:absolute;right:18px;bottom:18px;left:18px;display:flex;flex-direction:column;gap:5px;padding:12px 16px;border:1px solid color-mix(in srgb,white 28%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 8px 28px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.anime-storyboard-card .media-segment,.anime-storyboard-card .media-segment.is-bubble,.anime-storyboard-card .media-segment.is-narration{align-self:stretch;padding:0;border:0;background:transparent}.anime-storyboard-card .media-segment p{font-size:calc(1.35rem * var(--reader-font-scale, 1));line-height:1.55}.anime-storyboard-count{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.anime-storyboard-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:7px}.anime-storyboard-rail button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:7px 9px;border-radius:9px;text-align:left}.anime-storyboard-rail button.is-current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.anime-storyboard-rail button.is-seen strong{color:var(--stat-done)}.anime-storyboard-rail small{max-width:100%;overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.anime-storyboard-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.anime-storyboard-nav button{border-radius:999px;padding:7px 14px}.anime-storyboard-nav span{color:var(--muted);font-size:.82rem;text-align:center}.video-episode{display:flex;flex-direction:column;gap:10px;width:100%}.video-player{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;border:1px solid var(--border);border-radius:16px;background:#090b10;box-shadow:var(--shadow)}.video-episode.is-portrait .video-player{width:min(100%,430px);aspect-ratio:9 / 16;align-self:center}.video-player video{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:contain}.video-play-overlay{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border:0;border-radius:0;background:radial-gradient(circle,rgba(0,0,0,.22),transparent 36%);color:#fff}.video-play-overlay span{display:grid;place-items:center;width:58px;height:58px;padding-left:3px;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:#0a0c127a;box-shadow:0 4px 20px #00000059;font-size:1.35rem}.video-caption-safe{position:absolute;right:0;bottom:42px;left:0;z-index:2;display:flex;justify-content:center;padding:44px 8% 8px;background:linear-gradient(transparent,#000000b8);pointer-events:none}.video-caption{max-width:28em;margin:0;padding:.28em .68em .34em;border-radius:.48em;background:#07090ebd;color:#fff;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:750;line-height:1.5;text-align:center;text-shadow:0 2px 3px rgba(0,0,0,.94),0 0 8px rgba(0,0,0,.8);text-wrap:balance;white-space:pre-line;pointer-events:auto}.video-caption .media-token,.video-caption .media-token.is-unknown{border-radius:0;background:transparent;text-decoration:none}.video-caption button.media-token:hover,.video-caption .media-token.is-picked{background:transparent;text-decoration:underline solid rgba(255,255,255,.9);text-decoration-thickness:.09em;text-underline-offset:.18em}.video-caption.is-static{pointer-events:none;cursor:default}.video-controls{position:absolute;right:0;bottom:0;left:0;z-index:3;display:grid;grid-template-columns:auto minmax(40px,1fr) auto auto auto;align-items:center;gap:8px;padding:7px 10px;background:linear-gradient(transparent,#000000db 45%);color:#fff}.video-controls button{min-width:28px;padding:3px 6px;border-color:transparent;background:transparent;color:inherit;font-weight:800}.video-controls button.is-on{border-color:#ffffffa6;border-radius:5px}.video-controls input{width:100%;min-width:0;accent-color:var(--accent)}.video-controls span{font-variant-numeric:tabular-nums;font-size:.72rem;white-space:nowrap}.video-replay-cue{align-self:flex-start;border-radius:999px;padding:6px 11px;font-size:.78rem}.video-next-beat{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1fr);gap:18px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:14px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 11%,var(--panel)),var(--panel))}.video-next-beat-intro h2{margin:2px 0 7px;font-size:1.16rem}.video-next-beat-intro>p:last-child{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.video-next-beat-polls{display:grid;gap:10px}.video-next-beat .poll-card{width:100%}.video-player:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}@media(max-width:820px){.media-reader-head,.media-reader-layout{grid-template-columns:1fr}.media-coverage{text-align:left}.media-side{position:static}.anime-storyboard-stage .media-image{min-height:250px}.anime-storyboard-card{right:10px;bottom:10px;left:10px;padding:10px 12px}.anime-storyboard-card .media-segment p{font-size:calc(1.1rem * var(--reader-font-scale, 1))}.anime-storyboard-rail{display:flex;overflow-x:auto;padding-bottom:3px}.anime-storyboard-rail button{flex:0 0 72px}.anime-storyboard-nav{grid-template-columns:1fr 1fr}.video-caption-safe{bottom:38px;padding-right:6%;padding-left:6%}.video-controls{gap:4px;padding:6px}.video-next-beat{grid-template-columns:1fr;padding:14px}.anime-storyboard-nav span{display:none}}.media-coverage{display:block}.media-coverage small{display:block;margin-top:2px}.home-tests-note{margin:-12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.quests-page{gap:16px}.quests-page>.home-hero,.quests-page>.quest-today,.quests-page>.quest-tier-picker,.quests-page>.quest-board{max-width:none;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent)}.quest-tier-picker{display:grid;gap:14px}.quest-tier-picker .home-section-head p{margin:4px 0 0;color:var(--muted)}.quest-tier-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quest-tier-options button{display:grid;gap:5px;min-height:108px;padding:14px;text-align:left;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong);color:var(--ink)}.quest-tier-options button.is-active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.quest-tier-options button.is-coming{border-style:dashed;background:var(--panel-muted);cursor:not-allowed;opacity:.7}.quest-tier-options button span,.quest-tier-options button small{color:var(--muted)}@media(max-width:700px){.quest-tier-options{grid-template-columns:1fr}}.quests-page>.home-hero{gap:8px;border-left:4px solid var(--accent);background:var(--panel-muted)}.quests-page>.quest-today{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.quests-page>.quest-today>.home-section-head,.quests-page>.quest-board>.home-section-head{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.quests-page>.quest-today>.home-section-head h2,.quests-page>.quest-board>.home-section-head h2{margin:0}.quests-page>.quest-board{gap:14px}.quests-page>.quest-board>.home-section-head{margin-bottom:0}.daily-quest-summary{color:var(--muted);font-size:.88rem}.daily-quest-summary strong{color:var(--ink)}.daily-quest-summary.is-done strong{color:var(--accent)}.daily-quest-toast{margin:0 0 10px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));font-weight:700}.daily-quest-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.daily-quest{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(150px,220px) 104px;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.daily-quest.is-ready{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.daily-quest.is-claimed{background:var(--panel-muted)}.daily-quest.is-claimed .daily-quest-text{opacity:.7}.daily-quest-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--panel-muted);font-size:1.05rem}.daily-quest.is-claimed .daily-quest-icon{background:var(--accent);color:var(--panel);font-weight:800}.daily-quest-text{display:flex;flex-direction:column;min-width:0}.daily-quest-text span{color:var(--muted);font-size:.84rem}.daily-quest-progress{display:flex;align-items:center;gap:8px;min-width:0}.daily-quest-track{flex:1 1 auto;display:block;height:7px;min-width:30px;border-radius:999px;background:var(--panel-muted);border:1px solid var(--border);overflow:hidden}.daily-quest-track>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.daily-quest-count{flex:0 0 auto;min-width:46px;text-align:right;font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--muted)}.daily-quest-parts{flex:1 1 auto;display:flex;gap:6px;min-width:0}.daily-quest-part{flex:1 1 0;display:flex;align-items:center;gap:4px;min-width:0;padding:2px 0;border:0;background:transparent;color:var(--muted);cursor:pointer}.daily-quest-part-label{font-size:.72rem;font-weight:800}.daily-quest-part.is-full .daily-quest-part-label{color:var(--accent)}.daily-quest-go,.daily-quest-claim{justify-self:end;border-radius:999px;padding:6px 12px;font-weight:700;white-space:nowrap}.daily-quest-go small{margin-left:4px;opacity:.7;font-weight:600}.daily-quest-claim{border:1px solid var(--accent);background:var(--accent);color:var(--panel);animation:daily-quest-pulse 1.6s ease-in-out infinite}.daily-quest-earned{justify-self:end;font-size:.84rem;font-weight:700;color:var(--accent)}@keyframes daily-quest-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.daily-quest-claim{animation:none}}@media(max-width:640px){.daily-quest{grid-template-columns:30px minmax(0,1fr) auto}.daily-quest-progress{grid-column:2 / -1;grid-row:2}}.trainer-radars{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trainer-radar-card{--panel: #141c2b;--panel-muted: #1c2638;--border: rgba(203, 213, 225, .16);--ink: #e8edf5;--muted: #9aa6b8;--shadow: 0 8px 22px rgba(0, 0, 0, .35);--radar-1: #3987e5;--radar-2: #199e70;--radar-3: #9085e9;--radar-4: #d55181;position:relative;overflow:hidden;gap:6px;padding:14px 14px 10px;border:1px solid #0b111c;border-top:0;border-radius:14px;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--radar-color) 22%,transparent),transparent 70%),var(--panel);color:var(--ink);box-shadow:0 10px 26px #0f172a38,inset 0 1px #ffffff0f}.trainer-radar-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--radar-color, var(--accent))}.trainer-radar-card figcaption strong{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.trainer-radar-card figcaption strong:before{content:"";width:10px;height:10px;border-radius:999px;background:var(--radar-color, var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--radar-color) 30%,transparent)}.trainer-radar-card figcaption span{color:var(--muted)}.trainer-radar-card .skill-radar-shape{fill:color-mix(in srgb,var(--radar-color) 30%,transparent)}.trainer-radar-card .skill-radar-empty{color:var(--muted)}.trainer-radar-card .skill-radar{max-width:380px}@media(max-width:1100px){.trainer-radars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.trainer-radars{grid-template-columns:1fr}}.trainer-hub{gap:16px}.trainer-hub>.trainer-hub-header .home-hero{max-width:none;gap:8px;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;background:var(--panel-muted)}.trainer-hub-band{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent)}.trainer-hub-band>.home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding-bottom:10px;border-bottom:1px solid var(--border)}.trainer-hub-band>.home-section-head h2{margin:0;font-size:1.15rem}.trainer-hub-band-hint{color:var(--muted);font-size:.85rem}.trainer-hub-band.is-know{background:color-mix(in srgb,var(--ink) 5%,var(--panel-muted))}.trainer-hub-band.is-practice{background:var(--panel)}.trainer-hub-band.is-practice .trainer-category-card{background:var(--panel-muted)}.trainer-hub-band.is-practice .trainer-category-card.is-all{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.trainer-session-frame>.trainer-type-picker{padding:10px 12px;margin:0 auto 6px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted)}.trainer-session-frame>.trainer-type-hint{margin-bottom:8px}.skill-training-topbar{padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted)}.skill-training-quota,.skill-training-next3{padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent)}.skill-training-quota{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.skill-training-next3-title{padding-bottom:5px;border-bottom:1px solid var(--border)}.daily-quest-part.is-unavailable{cursor:default;opacity:.5}.daily-quest-part-none{flex:1 1 auto;padding:0 4px;border:1px dashed var(--border);border-radius:999px;font-size:.66rem;text-align:center;white-space:nowrap}.skill-training-quota-row.is-empty{opacity:.45}.skill-training-size-group{display:inline-flex;align-items:center;gap:8px}.skill-training-size-target{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.skill-training-size-target button{padding:5px 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:.74rem;font-weight:800;cursor:pointer}.skill-training-size-target button.is-on{background:var(--accent);color:var(--on-accent, #ffffff)}.skill-training-options .kr-opt-kana{font-size:calc(1em * var(--answer-scale, 1))}:root{--rarity-common: #8a8f98;--rarity-uncommon: #3f9b62;--rarity-rare: #2f6fd6;--rarity-epic: #8a4fd8;--rarity-legendary: #d4a017;--rarity-mythic: #e0559b}.rarity-common{--rarity: var(--rarity-common)}.rarity-uncommon{--rarity: var(--rarity-uncommon)}.rarity-rare{--rarity: var(--rarity-rare)}.rarity-epic{--rarity: var(--rarity-epic)}.rarity-legendary{--rarity: var(--rarity-legendary)}.rarity-mythic{--rarity: var(--rarity-mythic)}.zukan-page,.pull-page{gap:16px}.zukan-hero{max-width:none;gap:8px;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;background:var(--panel-muted)}.zukan-stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;color:var(--muted)}.zukan-stats strong{color:var(--ink);font-size:1.15rem}.zukan-pull-link,.pull-to-zukan{margin-left:auto;padding:7px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);font-weight:800;cursor:pointer}.link-button{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.zukan-book{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.zukan-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.zukan-tabs,.zukan-filters{display:flex;flex-wrap:wrap;gap:6px}.zukan-tabs button,.zukan-filters button{padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel-muted);color:var(--ink);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.zukan-tabs button.is-on,.zukan-filters button.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.zukan-filters button{font-size:.76rem;padding:4px 10px}.zukan-search{flex:0 1 280px;min-width:180px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit}.zukan-strip{display:flex;gap:6px;overflow-x:auto;padding:6px 2px 8px;border-bottom:1px solid var(--border);scrollbar-width:thin}.zukan-strip button{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:170px;padding:6px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel-muted);color:var(--ink);font:inherit;cursor:pointer}.zukan-strip button.is-on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.zukan-strip-title{max-width:150px;overflow:hidden;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.zukan-strip-count{color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.zukan-spread{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,var(--panel-muted))}.zukan-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.zukan-page-head>div{flex:1 1 auto;text-align:center}.zukan-page-head h2{margin:0;font-size:1.15rem}.zukan-part{color:var(--muted);font-size:.85rem;font-weight:600}.zukan-turn{width:40px;height:40px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer}.zukan-turn:disabled{opacity:.35;cursor:default}.zukan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.zukan-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:3 / 4;border:2px dashed color-mix(in srgb,var(--muted) 45%,transparent);border-radius:10px;background:var(--panel);color:var(--muted);cursor:pointer;transition:transform .12s ease}.zukan-slot:hover{transform:translateY(-2px)}.zukan-slot-mark{font-size:1.6rem;opacity:.35}.zukan-slot-kanji{font-size:2.2rem;line-height:1}.zukan-slot.is-spotted{border-style:solid;border-color:color-mix(in srgb,var(--muted) 60%,transparent)}.zukan-slot.is-spotted .zukan-slot-kanji{color:transparent;-webkit-text-stroke:1px var(--muted)}.zukan-slot.is-collected{border:3px solid var(--rarity);background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 22%,var(--panel)),var(--panel) 70%);color:var(--ink)}.zukan-slot.is-collected.rarity-epic,.zukan-slot.is-collected.rarity-legendary{box-shadow:0 0 14px color-mix(in srgb,var(--rarity) 55%,transparent)}.zukan-slot.is-collected.rarity-mythic{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--mythic-angle, 0deg),#e0559b,#8a4fd8,#2fb5d6,#3f9b62,#d4a017,#e0559b) border-box;animation:mythic-spin 4s linear infinite}@property --mythic-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes mythic-spin{to{--mythic-angle: 360deg}}.zukan-slot-rarity{position:absolute;bottom:5px;font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--rarity)}.zukan-slot-copies{position:absolute;top:4px;right:6px;font-size:.66rem;font-weight:800;color:var(--muted)}.zukan-empty{padding:24px;text-align:center}.zukan-credit{margin:0;color:var(--muted);font-size:.72rem}.zukan-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#0a0e169e}.zukan-modal-inner{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:360px;width:100%;color:#f1f5f9;text-align:center}.zukan-card{position:relative;width:min(300px,80vw);aspect-ratio:3 / 4;padding:0;border:0;background:none;perspective:1000px;cursor:pointer}.zukan-card-face{position:absolute;inset:0;display:flex;flex-direction:column;border:4px solid var(--rarity);border-radius:16px;background:var(--panel);color:var(--ink);backface-visibility:hidden;transition:transform .5s ease;overflow:hidden}.zukan-card.is-undiscovered .zukan-card-face,.zukan-card.is-spotted .zukan-card-face{border-color:color-mix(in srgb,var(--muted) 60%,transparent)}.zukan-card-face.is-back{transform:rotateY(180deg);justify-content:center;gap:10px;padding:18px}.zukan-card.is-flipped .is-front{transform:rotateY(180deg)}.zukan-card.is-flipped .is-back{transform:rotateY(360deg)}.zukan-card-art{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--rarity) 30%,var(--panel)),var(--panel) 75%)}.zukan-card.is-undiscovered .zukan-card-art,.zukan-card.is-spotted .zukan-card-art{background:var(--panel-muted)}.zukan-card-art small{color:var(--muted);font-size:.72rem}.zukan-card-kanji{font-size:7rem;line-height:1}.zukan-card-kanji.is-ghost{color:transparent;-webkit-text-stroke:1.5px var(--muted)}.zukan-card-foot{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:.8rem}.zukan-card-foot strong{color:var(--rarity);text-transform:uppercase;letter-spacing:.05em}.zukan-card-back-kanji{font-size:3.4rem;line-height:1}.zukan-card-meaning{font-weight:700}.zukan-card-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;text-align:left;font-size:.86rem}.zukan-card-facts dt{color:var(--muted);font-weight:700}.zukan-card-facts dd{margin:0}.zukan-modal-hint,.zukan-modal-met{margin:0;font-size:.82rem;opacity:.85}.zukan-modal-actions{display:flex;gap:8px}.zukan-modal-actions button{padding:8px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;color:#f1f5f9;font-weight:700;cursor:pointer}.zukan-modal-actions button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.pull-banners{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pull-banner{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;border:2px solid var(--border);border-radius:14px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.pull-banner.is-featured{background:linear-gradient(135deg,color-mix(in srgb,var(--rarity-legendary) 16%,var(--panel)),var(--panel) 65%)}.pull-banner.is-on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.pull-banner-kicker{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pull-banner-sub{color:var(--muted);font-size:.84rem}.pull-banner-featured{margin-top:4px;font-size:1.6rem;letter-spacing:.2em}.pull-stage,.pull-rates{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.pull-actions{display:flex;flex-wrap:wrap;gap:10px}.pull-actions button{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:170px;padding:10px 18px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:var(--on-accent, #ffffff);font:inherit;font-size:1.05rem;font-weight:800;cursor:pointer}.pull-actions button small{font-size:.72rem;font-weight:600;opacity:.9}.pull-actions button:disabled{opacity:.45;cursor:default}.pull-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.pull-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:3 / 4;border:3px solid var(--rarity);border-radius:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 26%,var(--panel)),var(--panel) 70%);animation:pull-reveal .42s ease both}.pull-card.rarity-epic,.pull-card.rarity-legendary,.pull-card.rarity-mythic{box-shadow:0 0 18px color-mix(in srgb,var(--rarity) 60%,transparent)}.pull-card-kanji{font-size:2.4rem;line-height:1}.pull-card-rarity{color:var(--rarity);font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pull-card-new,.pull-card-dupe{position:absolute;top:4px;right:6px;font-size:.62rem;font-weight:900}.pull-card-new{color:var(--accent)}.pull-card-dupe{color:var(--muted)}@keyframes pull-reveal{0%{opacity:0;transform:translateY(10px) scale(.92) rotateY(90deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pull-card,.zukan-slot.is-collected.rarity-mythic{animation:none}.zukan-card-face{transition:none}}.pull-to-zukan{align-self:flex-start;margin-left:0}.pull-rates h2{margin:0;font-size:1.1rem}.pull-rates table{border-collapse:collapse;max-width:280px}.pull-rates th,.pull-rates td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left;font-variant-numeric:tabular-nums}.pull-rate-chip{padding:2px 8px;border:2px solid var(--rarity);border-radius:999px;font-size:.76rem;font-weight:800}.zukan-frames{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:min(340px,90vw)}.zukan-frame{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;border:2px solid color-mix(in srgb,var(--rarity) 45%,transparent);border-radius:8px;background:#ffffff0f;color:#cbd5e1;font:inherit;cursor:pointer}.zukan-frame span{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.zukan-frame small{font-size:.7rem}.zukan-frame.is-owned{border-color:var(--rarity);background:color-mix(in srgb,var(--rarity) 30%,transparent);color:#fff}.zukan-frame.is-on{outline:2px solid #ffffff;outline-offset:1px}.pull-subhead{margin:8px 0 0;font-size:.98rem}.pull-rates table.pull-freq-table{max-width:460px}.pull-freq-table thead th{color:var(--muted);font-size:.76rem;font-weight:700}.zukan-slot,.pull-card{overflow:hidden}.zukan-slot-art,.pull-card-art,.zukan-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.zukan-card-art{position:relative}.zukan-slot-kanji.is-badge,.pull-card-kanji.is-badge,.zukan-card-kanji.is-badge{position:absolute;top:6%;left:7%;z-index:1;padding:.08em .14em;border-radius:.18em;background:color-mix(in srgb,var(--panel) 82%,transparent);font-size:1.1rem;line-height:1}.zukan-card-kanji.is-badge{font-size:2.2rem}.zukan-slot-rarity,.zukan-slot-copies,.pull-card-rarity,.pull-card-new,.pull-card-dupe{z-index:1}.media-figure{display:flex;flex-direction:column;gap:8px;margin:0}.media-figure-stage{position:relative}.media-figure-stage .media-image{display:block;width:100%}.media-anchor-label{position:absolute;transform:translate(-50%,-50%);display:inline-flex;flex-direction:column;align-items:center;gap:1px;max-width:40%;padding:3px 9px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 2px 6px #0000002e;font-size:1rem;line-height:1.3;text-align:center}.media-anchor-label.is-title{border-radius:10px;font-size:1.25rem;font-weight:800}.media-anchor-label.is-caption{border-radius:10px;font-size:.9rem}.media-anchor-label small{color:var(--muted);font-size:.7rem}.media-figure .media-english-toggle{align-self:flex-start}.media-row-track>.poll-card{flex:0 0 min(360px,88vw);scroll-snap-align:none}.poll-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:14px;background:var(--panel);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 8%,transparent)}.poll-card.is-closed{border-top-color:var(--muted);background:var(--panel-muted)}.poll-head{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.poll-kicker{color:var(--poll-category-color, var(--muted))}.poll-category-read{--poll-category-color: #687685;border-top-color:#687685}.poll-category-picture_book{--poll-category-color: #877666;border-top-color:#877666}.poll-category-comic{--poll-category-color: #766b80;border-top-color:#766b80}.poll-category-infographic{--poll-category-color: #637d77;border-top-color:#637d77}.poll-category-anime{--poll-category-color: #7c735f;border-top-color:#7c735f}:root[data-theme=dark] .poll-category-read{--poll-category-color: #a8b8c5;border-top-color:#a8b8c5}:root[data-theme=dark] .poll-category-picture_book{--poll-category-color: #c0aa96;border-top-color:#c0aa96}:root[data-theme=dark] .poll-category-comic{--poll-category-color: #b7a9c1;border-top-color:#b7a9c1}:root[data-theme=dark] .poll-category-infographic{--poll-category-color: #9fc2b9;border-top-color:#9fc2b9}:root[data-theme=dark] .poll-category-anime{--poll-category-color: #c1b794;border-top-color:#c1b794}.poll-when{white-space:nowrap}.poll-question{display:flex;flex-direction:column;gap:2px;margin:0;font-size:1.02rem;line-height:1.3}.poll-question span{color:var(--muted);font-size:.85rem;font-weight:600}.poll-options{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.poll-option{display:grid;grid-template-columns:44px minmax(0,1fr) auto 40px;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;background:var(--panel);transition:background 80ms ease,border-color 80ms ease}.poll-option.is-lit{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.poll-option.is-winner{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.poll-art{width:44px;height:44px;border-radius:8px;object-fit:cover}.poll-art.is-placeholder{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 16%,var(--panel-muted));color:var(--ink);font-size:1.3rem;font-weight:800}.poll-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.poll-option-text strong{font-size:.9rem;line-height:1.2}.poll-option-text small{color:var(--muted);font-size:.74rem}.poll-bar{display:block;height:6px;border-radius:999px;background:var(--panel-muted);overflow:hidden}.poll-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.poll-chance{display:flex;flex-direction:column;align-items:flex-end;font-weight:800;font-variant-numeric:tabular-nums}.poll-chance small{color:var(--muted);font-size:.62rem;font-weight:600}.poll-add{position:relative;width:36px;height:36px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);font-size:1.2rem;font-weight:800;line-height:1;cursor:pointer}.poll-add small{position:absolute;top:-6px;right:-6px;min-width:16px;padding:1px 4px;border-radius:999px;background:var(--ink);color:var(--panel);font-size:.6rem}.poll-add:disabled{opacity:.45;cursor:default}.poll-mine{color:var(--accent);font-size:.7rem;font-weight:800}.poll-result{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));font-size:.88rem}.poll-result.is-drawing{color:var(--muted);background:transparent}.poll-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;color:var(--muted);font-size:.74rem}.poll-error{margin:0;color:var(--danger, #b03a2e);font-size:.82rem}.polls-explainer{margin:4px 0 0;color:var(--muted);font-size:.8rem}@media(max-width:520px){.home-panel-polls .media-row-track>.poll-card{box-sizing:border-box;flex:0 0 clamp(248px,76vw,320px);min-width:0;max-width:calc(100% - 8px);gap:8px;padding:11px}.home-panel-polls .poll-head{align-items:flex-start;font-size:.66rem}.home-panel-polls .poll-question{overflow-wrap:anywhere;font-size:.92rem}.home-panel-polls .poll-option{grid-template-columns:34px minmax(0,1fr) auto 30px;gap:6px;padding:5px 6px}.home-panel-polls .poll-art{width:34px;height:34px}.home-panel-polls .poll-option-text strong,.home-panel-polls .poll-option-text small{overflow-wrap:anywhere}.home-panel-polls .poll-option-text strong{font-size:.8rem}.home-panel-polls .poll-option-text small{font-size:.67rem}.home-panel-polls .poll-chance{font-size:.78rem}.home-panel-polls .poll-chance small{font-size:.56rem}.home-panel-polls .poll-add{width:30px;height:30px;font-size:1rem}.home-panel-polls .poll-foot{display:grid;justify-content:start;font-size:.68rem}}.media-polls{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.media-polls h2{margin:0;font-size:1.1rem}.media-polls .poll-card{max-width:460px}img.media-image{aspect-ratio:auto;height:auto;object-fit:contain}.media-group>img.media-image{width:auto;max-width:100%;max-height:88vh;margin:0 auto}.comic-layout-desktop{display:block;width:min(100%,680px);height:auto;margin:0 auto;border-radius:8px}.comic-layout-mobile{display:flex;flex-direction:column;gap:10px}.comic-layout-panel{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3 / 4;border-radius:7px;object-fit:contain;background:var(--panel-muted)}.media-image-zoom{display:block;width:fit-content;max-width:100%;margin:0 auto;cursor:zoom-in}.media-image-zoom>img.media-image{width:auto;max-width:100%;max-height:88vh;margin:0 auto}.media-body.is-infographic .media-image-zoom{max-width:min(100%,620px)}.media-body.is-infographic .media-image-zoom>img.media-image{aspect-ratio:9 / 16}@media(max-width:720px){.page.media-reader{padding-inline:10px}.media-body.is-infographic,.media-body.is-infographic .media-group,.media-body.is-infographic .media-image-zoom{width:100%;max-width:none}.media-body.is-infographic .media-image-zoom>img.media-image{display:block;width:100%;max-width:100%;max-height:none;height:auto;margin:0;object-fit:contain}.media-body.is-comic{width:100%;max-width:none}.comic-layout-mobile{width:100%;gap:12px}.comic-layout-panel{max-height:calc(100svh - 24px)}}.learn-next{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.learn-next-empty{margin:0;color:var(--muted);font-size:.85rem}.learn-next-tabs{display:flex;gap:4px}.learn-next-tabs button{width:32px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--panel-muted);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.learn-next-tabs button.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.learn-next-tabs button:disabled{opacity:.35;cursor:default}.learn-next-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.learn-next-list li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-muted)}.learn-next-list li.is-redundant{opacity:.6}.learn-next-list a{color:var(--ink);text-decoration:none}.learn-next-list a:hover strong{color:var(--accent);text-decoration:underline}.learn-next-meta{color:var(--accent);font-size:.76rem;font-weight:700}.learn-next-words{color:var(--muted);font-size:.82rem}.media-meta-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted)}.media-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.media-upvote{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border:1px solid var(--accent);border-radius:999px;background:var(--panel);color:var(--accent);font:inherit;font-weight:800;cursor:pointer}.media-upvote small{color:var(--muted);font-size:.72rem;font-weight:600}.media-upvote.is-on{background:var(--accent);color:var(--on-accent, #ffffff)}.media-upvote.is-on small{color:inherit;opacity:.85}.media-feel{display:inline-flex;align-items:center;gap:4px}.media-feel-label{margin-right:4px;color:var(--muted);font-size:.78rem}.media-feel button{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel);font:inherit;cursor:pointer}.media-feel button small{color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.media-feel button.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.media-tags{display:inline-flex;flex-wrap:wrap;gap:6px}.media-tag{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer}.media-tag:hover{border-color:var(--accent)}.media-poll+.media-poll{margin-top:10px}.media-related{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.media-related h2{margin:0;font-size:1.1rem}.media-related-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.media-related-list.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));overflow:visible}.media-related-card{flex:0 0 170px;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.media-related-card img,.media-related-ph{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;background:var(--panel-muted)}.media-related-ph{display:flex;align-items:center;justify-content:center;font-weight:800}.media-related-card strong{font-size:.86rem;line-height:1.25}.media-related-card small{color:var(--muted);font-size:.72rem}.media-sources{margin-top:16px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.media-sources summary{font-weight:700;cursor:pointer}.media-sources .doc-md{margin-top:12px;color:var(--ink);font-size:.88rem;line-height:1.6}.media-sources .doc-md-h{margin:18px 0 7px;font-family:inherit;font-size:.98rem;font-weight:850}.media-sources .doc-md-h2{padding-bottom:5px;border-bottom:1px solid var(--border)}.media-sources .doc-md-p{margin-bottom:10px}.media-sources .doc-md-p:first-child{color:var(--muted);font-size:.78rem}.media-sources .doc-md-list{margin-bottom:12px}.media-sources .doc-md-li{min-width:0;margin-bottom:6px;line-height:1.55}.media-sources .doc-md-li>span:last-child{min-width:0}.media-sources .doc-md-link{overflow-wrap:anywhere}@media(max-width:960px){.topic-read-page,.topic-read-header,.topic-read-dashboard,.topic-read-layout{grid-template-columns:minmax(0,1fr)}.topic-read-page>*,.topic-read-header>*,.topic-read-dashboard>*,.topic-read-layout>*{min-width:0;max-width:100%}.topic-read-back,.topic-read-header>button{box-sizing:border-box;width:100%}.topic-read-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;width:100%}.topic-read-header-actions>button{box-sizing:border-box;min-width:0;width:100%}.topic-read-header h1{font-size:calc(clamp(1.45rem,7vw,1.9rem) * var(--reader-font-scale, 1));overflow-wrap:anywhere}}:root[data-skin~=kasane] .topic-read-header h1{font-size:calc(clamp(1.45rem,7vw,1.9rem) * var(--reader-font-scale, 1))}@media(max-width:960px){.topic-debug-toolbar{min-width:0;max-width:100%;box-sizing:border-box}.topic-debug-threshold{display:flex;flex-wrap:wrap;margin-left:0;max-width:100%}.topic-read-fontbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:100%}.topic-read-fontbar .adv-font-slider,.topic-read-fontbar input[type=range]{min-width:0;max-width:55vw}.picture-book-layout-toggle{flex-wrap:wrap;max-width:100%}}@media(max-width:960px){.topic-progression-page,.skill-training-page,.trainer-session-frame{min-width:0;max-width:100%;overflow-x:clip}.topic-progression-page>*,.skill-training-page>*,.trainer-session-frame>*{min-width:0;max-width:100%;box-sizing:border-box}.skill-training-topbar{flex-wrap:wrap;width:100%;box-sizing:border-box}.skill-training-size-group{flex-wrap:wrap}.skill-training-stats{justify-content:flex-start;min-width:0;max-width:100%}.skill-training-stats span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-type-picker{max-width:100%;box-sizing:border-box;padding-left:0;padding-right:0}.skill-training-card,.skill-training-rightcol{max-width:100%;box-sizing:border-box}}.skill-training-options .kr-opt-kana{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}@media(max-width:700px){.skill-training-options .kana-option-btn.is-long .kr-opt-kana{font-size:calc(.8em * var(--answer-scale, 1))}.skill-training-options .kana-option-btn.is-very-long .kr-opt-kana{font-size:calc(.68em * var(--answer-scale, 1))}}@media(max-width:960px){.skill-training-main-fit{max-width:100%}}.kana-char.skill-training-main.is-wrapping{min-width:0;max-width:100%;white-space:normal;word-break:break-all;text-align:center}@media(hover:none){.kana-option-btn:hover:not(:disabled){background:var(--surface-strong)}}.article-followups{display:flex;flex-direction:column;gap:16px;padding:18px 20px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:14px;background:var(--panel)}.article-followups header h2{margin:2px 0 0;font-size:1.2rem}.article-community-stats{display:grid;gap:12px;padding:16px 20px;border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--accent-2) 5%,var(--panel))}.article-community-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.article-community-head .topic-progression-kicker{margin:0}.article-community-head h2{margin:2px 0 0;font-size:1.15rem}.article-community-updated{color:var(--muted);font-size:.72rem;font-weight:750;white-space:nowrap}.article-community-numbers{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--muted);font-size:.82rem;font-weight:700}.article-community-numbers strong{color:var(--accent-2);font-size:.98rem;font-variant-numeric:tabular-nums}.article-community-top-words{display:grid;gap:7px}.article-community-top-words>strong{font-size:.84rem}.article-community-top-words ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.article-community-top-words li{display:inline-flex;align-items:baseline;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel-muted)}.article-community-top-words li span{color:var(--accent);font-size:1rem;font-weight:850}.article-community-top-words li small{color:var(--muted);font-size:.69rem;font-weight:700}.article-community-empty{margin:0;color:var(--muted);font-size:.86rem}@media(max-width:640px){.article-community-stats{padding:14px}.article-community-head{align-items:start;flex-direction:column;gap:4px}}.followup-block h3{margin:0 0 8px;font-size:.95rem}.followup-cards{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.followup-card{flex:0 0 200px;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.followup-card:hover{border-color:var(--accent)}.followup-card img,.followup-card-ph{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;background:var(--panel)}.followup-card-ph{display:flex;align-items:center;justify-content:center;padding:8px;font-weight:800;text-align:center;box-sizing:border-box}.followup-card-kind{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.followup-card strong{font-size:.88rem;line-height:1.25}.followup-card-why{color:var(--accent);font-size:.74rem;font-weight:700}.followup-levels{display:flex;flex-wrap:wrap;gap:8px}.followup-level{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted);color:var(--ink);font:inherit;cursor:pointer}.followup-level span{color:var(--muted);font-size:.78rem}.followup-kanji{display:flex;flex-wrap:wrap;gap:6px}.followup-kanji-chip{width:42px;height:48px;border:2px dashed color-mix(in srgb,var(--muted) 45%,transparent);border-radius:8px;background:var(--panel);color:var(--muted);font-size:1.3rem;cursor:pointer}.followup-kanji-chip.is-spotted{border-style:solid;color:var(--ink)}.followup-kanji-chip.is-collected{border:2px solid var(--rarity, var(--accent));background:color-mix(in srgb,var(--rarity, var(--accent)) 16%,var(--panel));color:var(--ink)}.followup-note{margin:6px 0 0;color:var(--muted);font-size:.78rem}.media-token.is-glow{border-radius:4px;background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.media-glow-note{color:var(--accent)}.quest-tile-testout{margin-top:4px;padding:3px 10px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.quest-tile-testout:disabled{opacity:.5;cursor:default}.kana-test-page{gap:16px}.kana-test-rules{margin:0;padding-left:1.2em;color:var(--muted);font-size:.9rem;line-height:1.6}.kana-test-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.kana-test-actions button{padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.kana-test-actions button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.kana-test-stage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 16px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.kana-test-progress,.kana-test-misses{margin:0;color:var(--muted);font-size:.85rem;font-weight:700}.kana-test-timer{width:min(420px,100%);height:8px;border-radius:999px;background:var(--panel-muted);overflow:hidden}.kana-test-timer>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .1s linear}.kana-test-kana{font-size:clamp(5rem,28vw,9rem);line-height:1.1}.kana-test-kana.is-miss{color:var(--danger, #b03a2e)}.kana-test-answer{margin:0;font-size:1.2rem}.kana-test-input{width:min(260px,80vw);padding:12px 14px;border:2px solid var(--accent);border-radius:12px;background:var(--panel);color:var(--ink);font:inherit;font-size:1.4rem;text-align:center}.kana-test-result{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--border);border-top:4px solid var(--muted);border-radius:14px;background:var(--panel)}.kana-test-result.is-pass{border-top-color:var(--ok, #3f9b62)}.kana-test-result.is-fail{border-top-color:var(--danger, #b03a2e)}.kana-test-result h1{margin:0}.kana-test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.kana-test-cell{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border:1px solid var(--border);border-radius:8px;font-size:1.3rem}.kana-test-cell small{min-height:1em;font-size:.68rem}.kana-test-cell.is-right{border-color:var(--ok, #3f9b62);background:color-mix(in srgb,var(--ok, #3f9b62) 14%,var(--panel))}.kana-test-cell.is-missed{border-color:var(--danger, #b03a2e);background:color-mix(in srgb,var(--danger, #b03a2e) 14%,var(--panel))}.kana-test-cell.is-untested,.kana-test-cell.is-inferred{opacity:.5}.kana-test-legend{margin:0;color:var(--muted);font-size:.78rem}.placement-page{display:grid;gap:22px}.placement-kicker{margin:0;color:var(--accent-2);font-size:.76rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.placement-hero,.placement-result-hero{display:grid;gap:12px;padding:clamp(20px,4vw,38px);border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:18px;background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 30%),linear-gradient(145deg,var(--surface-strong),var(--surface-accent))}.placement-hero h1,.placement-result-hero h1{max-width:780px;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.06;text-wrap:balance}.placement-hero>p:not(.placement-kicker),.placement-result-hero>p:not(.placement-kicker){max-width:780px;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.65}.placement-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.placement-facts span{display:grid;gap:4px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 88%,transparent);color:var(--muted);padding:12px;font-size:.8rem}.placement-facts strong{color:var(--ink);font-size:.94rem}.placement-previous,.placement-gate,.placement-level-section,.placement-result-section{display:grid;gap:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);padding:clamp(16px,3vw,24px)}.placement-previous{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-left:4px solid var(--accent)}.placement-previous div{display:grid;gap:5px}.placement-previous h2,.placement-gate h2,.placement-level-section h2,.placement-result-section h2{margin:0}.placement-previous>span,.placement-section-heading>span{border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--muted);padding:6px 10px;font-size:.76rem;font-weight:800;white-space:nowrap}.placement-intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.placement-intro-grid article{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-content:start;border:1px solid var(--border);border-radius:14px;background:var(--surface-inset);padding:16px}.placement-intro-grid article>span{display:grid;grid-row:span 2;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent, #ffffff);font-weight:900}.placement-intro-grid h2,.placement-intro-grid p{margin:0}.placement-intro-grid h2{font-size:1rem}.placement-intro-grid p{color:var(--muted);font-size:.85rem;line-height:1.45}.placement-gate>div:first-child{display:grid;gap:8px}.placement-gate p{margin:0;color:var(--muted);line-height:1.55}.placement-gate-actions,.placement-result-actions{display:flex;flex-wrap:wrap;gap:10px}.placement-gate-actions button,.placement-result-actions button,.placement-start-row button,.placement-kana-route button,.placement-session-header button,.placement-load-error button{min-height:42px;border:1px solid var(--border);border-radius:999px;background:var(--surface-inset);color:var(--ink);padding:9px 16px;font:inherit;font-weight:800;cursor:pointer}.placement-gate-actions button.is-selected,.placement-result-actions button.is-primary,.placement-start-row button.is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.placement-start-row button:disabled{cursor:default;opacity:.48}.placement-kana-route{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:14px}.placement-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.placement-section-heading>div{display:grid;gap:6px}.placement-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.placement-level-grid button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px 12px;align-items:center;border:1px solid var(--border);border-radius:13px;background:var(--surface-inset);color:var(--ink);padding:13px;text-align:left;font:inherit;cursor:pointer}.placement-level-grid button>span{display:grid;grid-row:span 2;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:10px;color:var(--accent-2);font-size:1.05rem;font-weight:900}.placement-level-grid button strong{font-size:.93rem;line-height:1.25}.placement-level-grid button small{color:var(--muted);font-size:.75rem;line-height:1.35}.placement-level-grid button:hover,.placement-level-grid button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-inset))}.placement-level-grid button.is-selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.placement-level-grid button.is-selected>span{background:var(--accent);color:var(--on-accent, #ffffff)}.placement-start-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-top:1px solid var(--border);padding-top:16px}.placement-start-row p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.placement-session{max-width:920px;width:100%;margin-inline:auto}.placement-session-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.placement-session-header>div{display:grid;gap:4px}.placement-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-inset)}.placement-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .18s ease}.placement-question-card{display:grid;gap:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);padding:clamp(20px,4vw,34px)}.placement-question-prompt{margin:0;color:var(--muted);font-size:.98rem;font-weight:800;line-height:1.5}.placement-stimulus{margin:0;padding:clamp(18px,4vw,30px);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:14px;background:var(--surface-inset);font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.8;text-align:center}.placement-target,.placement-target mark{border-radius:4px;background:linear-gradient(to bottom,transparent 10%,color-mix(in srgb,var(--accent) 24%,transparent) 10% 90%,transparent 90%);color:inherit;padding-inline:2px}.placement-target rt{position:relative;top:-.22em;color:#c2410c;font-size:.48em;font-weight:800}:root[data-theme=dark] .placement-target rt{color:#fb923c}.placement-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.placement-choice-grid button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-height:62px;border:1px solid var(--border);border-radius:12px;background:var(--surface-inset);color:var(--ink);padding:12px;text-align:left;font:inherit;font-weight:750;line-height:1.4;cursor:pointer}.placement-choice-grid button>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:.75rem;font-weight:900}.placement-choice-grid button:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-inset))}.placement-choice-grid button:disabled,.placement-unknown:disabled{cursor:wait;opacity:.58}.placement-unknown{justify-self:center;border:0;background:none;color:var(--muted);padding:4px 10px;font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer}.placement-saving,.placement-session-note,.placement-result-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5;text-align:center}.placement-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.placement-result-track{display:grid;gap:14px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:13px;background:var(--surface-inset);padding:15px}.placement-result-track>div{display:grid;gap:3px}.placement-result-track>div span{color:var(--muted);font-size:.75rem}.placement-result-track dl,.placement-result-track dl div{display:grid;gap:4px;margin:0}.placement-result-track dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.placement-result-track dl div{border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);padding:9px}.placement-result-track dt{color:var(--muted);font-size:.68rem;font-weight:800}.placement-result-track dd{margin:0;font-weight:900}.placement-load-error{display:grid;justify-items:start;gap:12px}.placement-load-error h1,.placement-load-error p{margin:0}@media(max-width:760px){.placement-facts,.placement-intro-grid,.placement-result-grid,.placement-level-grid,.placement-choice-grid,.placement-previous,.placement-start-row{grid-template-columns:1fr}.placement-previous>span,.placement-section-heading>span{justify-self:start}.placement-kana-route,.placement-section-heading,.placement-session-header{align-items:stretch;flex-direction:column}.placement-start-row button,.placement-kana-route button,.placement-result-actions button{width:100%}}.home-pulse-block{display:flex;flex-direction:column;gap:8px}.home-theme{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--panel) 70%)}.home-theme-emoji{font-size:1.8rem}.home-theme>div{display:flex;flex-direction:column;flex:1 1 220px}.home-theme>div span{color:var(--muted);font-size:.85rem}.home-theme strong span{color:var(--muted);font-weight:600}.home-theme-left{color:var(--accent);font-size:.8rem;font-weight:800}.home-theme-tags{display:flex;gap:6px}.home-theme-tags button{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-size:.78rem;cursor:pointer}.home-pulse{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;color:var(--muted);font-size:.86rem}.home-pulse strong{color:var(--ink)}.home-pulse-sep{margin-right:8px;opacity:.6}.home-pulse-dot{width:8px;height:8px;border-radius:999px;background:var(--ok, #3f9b62);box-shadow:0 0 color-mix(in srgb,var(--ok, #3f9b62) 60%,transparent);animation:home-pulse-dot 2s ease-out infinite}@keyframes home-pulse-dot{0%{box-shadow:0 0 color-mix(in srgb,var(--ok, #3f9b62) 60%,transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb,var(--ok, #3f9b62) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.home-pulse-dot{animation:none}}.home-you{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.home-you-label{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.home-you button{padding:4px 11px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer}.home-you button:hover{border-color:var(--accent)}.media-row-track>.pulse-card,.media-row-track>.series-shelf{flex:0 0 min(260px,80vw);scroll-snap-align:none}.home-panel-happening .media-row-track{align-items:flex-start}.pulse-card,.series-shelf{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--ink);text-align:left;font:inherit}button.pulse-card{cursor:pointer}.pulse-card:is(button,a){cursor:pointer}a.pulse-card{color:var(--ink);text-decoration:none}.pulse-card:is(button,a):hover,.pulse-card:is(button,a):focus-visible{border-color:var(--accent)}.pulse-card-kicker{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pulse-card strong,.series-shelf strong{font-size:1rem;line-height:1.3}.pulse-card strong span,.series-shelf strong span{color:var(--muted);font-weight:600}.pulse-card-sub{color:var(--muted);font-size:.8rem}.pulse-card-kanji{color:var(--ink);font-size:1.4rem;letter-spacing:.15em}.pulse-card-you{color:var(--accent);font-size:.8rem;font-weight:700}.pulse-card.is-goal{border-top:4px solid var(--ok, #3f9b62)}.pulse-card.is-drawn{border-top:4px solid var(--accent)}.pulse-card.is-closing{border-top:4px solid var(--warn, #c8841c)}.pulse-card.is-community-stat{border-top:4px solid color-mix(in srgb,var(--topic-accent, var(--accent-2)) 72%,var(--accent));background:linear-gradient(160deg,color-mix(in srgb,var(--topic-accent, var(--accent-2)) 7%,var(--panel)),var(--panel) 72%)}.pulse-card.is-community-stat>strong{font-size:1.08rem}.pulse-card.is-topic-stat{border-top-color:var(--warn, #c8841c)}.pulse-card.is-zukan{border-top:4px solid var(--rarity-legendary, #d4a017);background:linear-gradient(160deg,color-mix(in srgb,var(--rarity-legendary, #d4a017) 12%,var(--panel)),var(--panel) 70%)}.pulse-goal-bar{display:block;height:8px;border-radius:999px;background:var(--panel-muted);overflow:hidden}.pulse-goal-bar>span{display:block;height:100%;min-width:4px;border-radius:999px;background:var(--ok, #3f9b62)}.pulse-card.is-wall ul{margin:0;padding:0;list-style:none;font-size:.84rem}.pulse-card-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.home-trending{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 4px}.home-trending-label{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.home-trending button{padding:0;border:0;background:none;color:var(--ink);font-family:inherit;cursor:pointer}.home-trending button:hover{color:var(--accent);text-decoration:underline}.series-episodes{display:flex;gap:6px;overflow-x:auto}.series-episodes button,.series-next{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--panel-muted);color:var(--ink);font:inherit;font-size:.72rem;cursor:pointer}.series-episodes img{width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover}.series-shelf.is-comic .series-episodes button,.series-shelf.is-comic .series-next{flex-basis:128px;padding:6px}.series-shelf.is-comic .series-episodes img{aspect-ratio:3 / 4}.series-next{border-style:dashed;color:var(--muted);cursor:default}.series-next small{font-size:.62rem;text-align:center}.feed-card-new{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);font-size:.66rem;font-weight:900;letter-spacing:.05em}.feed-card-others,.feed-card-voted{margin:0;color:var(--muted);font-size:.76rem}.feed-card-voted{color:var(--accent);font-weight:700}.feed-card-new{inset:auto auto 8px 8px}.category-shelves{display:flex;flex-direction:column;gap:24px}.category-level-filter{display:flex;align-items:center;gap:6px}.category-level-filter>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.category-level-filter button{min-width:34px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.category-level-filter button[aria-pressed=true].is-on{border-color:color-mix(in srgb,var(--accent) 72%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent);font-weight:900}.category-level-count{margin:-16px 0 0;color:var(--ink);font-size:.8rem;font-weight:750}.category-shelves>button.category-see-all[type=button]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;margin-top:-8px;padding:2px 2px 4px;border:0;border-radius:0;background:transparent;color:var(--accent-2);text-align:left;cursor:pointer}.category-shelves>button.category-see-all[type=button]:hover,.category-shelves>button.category-see-all[type=button].is-active{border:0;background:transparent;color:var(--accent-3);box-shadow:none;transform:none}.category-shelves>button.category-see-all[type=button].is-active{font-weight:700}.category-shelves>button.category-see-all[type=button].is-active strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.category-see-all>span{display:grid;gap:2px}.category-see-all strong{font-size:.9rem}.category-see-all small{color:var(--muted);font-size:.74rem}.category-see-all b{min-width:32px;padding:0;background:transparent;color:currentColor;text-align:center;font-size:.78rem}.category-see-all i{color:currentColor;font-style:normal;font-size:1.1rem;font-weight:900}.category-shelf{display:flex;flex-direction:column;gap:12px;padding:12px 14px 14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted)}.category-shelf-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.category-shelf-controls{display:flex;gap:6px}.category-shelf-controls button{min-width:34px;padding:4px 10px;border-radius:999px}.category-shelf-title{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1rem}.category-shelf-title span{color:var(--muted);font-size:.8rem;font-weight:600}.category-tiles{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 8px}.category-tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:0 0 min(220px,78vw);min-width:0;padding:10px 11px;border:1px solid var(--border);border-left:4px solid var(--topic, var(--accent));border-radius:12px;background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.category-tile:hover{transform:translateY(-1px);border-color:var(--topic, var(--accent))}.category-tile.is-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--topic, var(--accent)) 45%,transparent)}.category-tile.is-thin{opacity:.55}.category-tile-top{display:flex;justify-content:space-between;align-items:center;width:100%}.category-tile-icon{font-size:1.5rem;line-height:1}.category-tile strong{font-size:.92rem;line-height:1.2}.category-tile-sub{color:var(--muted);font-size:.74rem}.category-dots{display:flex;gap:3px;margin-top:2px}.category-dot{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.6rem;font-weight:800}.category-dot.is-filled{border-color:var(--topic, var(--accent));background:var(--topic, var(--accent));color:var(--on-accent, #ffffff)}.category-dot.is-selected{outline:2px solid var(--ink);outline-offset:1px}.category-tile-teaser{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.74rem;line-height:1.35}.category-ring{--ring: 0deg;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:conic-gradient(var(--topic, var(--accent)) var(--ring),var(--panel-muted) 0)}.category-ring span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--panel);font-size:.58rem;font-weight:800}@media(max-width:520px){.category-tiles{display:flex}}.topic-top-tags{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:2px 0 8px;white-space:nowrap}.topic-top-tags>strong{margin-right:4px}.topic-top-tags a{padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--ink);text-decoration:none}.topic-top-tags small{color:var(--muted)}.topic-top-tags .topic-all-tags{border-color:var(--accent);color:var(--accent-2);font-weight:800}.topic-tags-page{display:grid;gap:22px}.topic-tag-letters{display:flex;flex-wrap:wrap;gap:6px}.topic-tag-letters a{min-width:34px;padding:6px;border:1px solid var(--border);border-radius:9px;text-align:center;text-decoration:none}.topic-tag-letters a.is-active{background:var(--accent);color:var(--on-accent, #fff)}.topic-tag-directory{display:grid;gap:14px}.topic-tag-directory section{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.topic-tag-directory section.is-selected{border-color:var(--accent)}.topic-tag-directory h2{margin:0 0 10px}.topic-tag-directory h2 span,.topic-tag-directory h2 small{color:var(--muted);font-size:.8em}.topic-tag-directory ul{display:grid;gap:7px;margin:0;padding-left:20px}.topic-tag-directory li span{margin-left:8px;color:var(--muted)}.article-reader-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.article-reader-actions>div{display:flex;align-items:center;gap:10px}.article-reader-actions button{padding:9px 14px;border-radius:999px;font-weight:800}.article-reader-actions button.saved,.article-reader-actions button.liked{border-color:#22c55e;background:color-mix(in srgb,#22c55e 16%,var(--surface-strong));color:#15803d}.article-reader-actions .error{flex-basis:100%;margin:0}.sentence-play{display:inline-flex;align-items:center;justify-content:center;width:1.7em;height:1.7em;margin:0 .3em 0 .15em;padding:0 0 0 .12em;border:1.5px solid var(--accent, #2f5d8a);border-radius:6px;background:var(--surface, #fff);color:var(--accent, #2f5d8a);font-size:.6em;line-height:1;vertical-align:.3em;cursor:pointer;box-shadow:0 1px #0000001f}.sentence-play:hover,.sentence-play:focus-visible{background:var(--accent, #2f5d8a);color:#fff}.sentence-play.is-playing{background:var(--accent, #2f5d8a);color:#fff}.topic-read-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5em .75em}.article-play-all{padding:.35em .8em;border:1.5px solid var(--accent, #2f5d8a);border-radius:8px;background:var(--surface, #fff);color:var(--accent, #2f5d8a);font-size:.45em;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 1px #0000001f}.article-play-all:hover,.article-play-all:focus-visible,.article-play-all.is-playing{background:var(--accent, #2f5d8a);color:#fff}.word-lookup-play{margin-left:.4em;padding:.1em .35em;border:1px solid var(--line, rgba(0, 0, 0, .18));border-radius:8px;background:var(--surface, #fff);font-size:.7em;vertical-align:middle;cursor:pointer}.reader-sound-toggle{padding:.3em .7em;border:1px solid var(--line, rgba(0, 0, 0, .18));border-radius:999px;background:var(--surface, #fff);cursor:pointer}.reader-sound-toggle:not(.is-on){opacity:.6}.skill-training-play{margin-left:.4em;padding:.1em .4em;border:1px solid var(--line, rgba(0, 0, 0, .18));border-radius:8px;background:var(--surface, #fff);font-size:.8em;cursor:pointer}.topic-read-cite{margin-left:2px;font-size:.55em;font-weight:700;line-height:0;vertical-align:super}.topic-read-cite a{color:var(--accent);text-decoration:none}.topic-read-cite a:hover,.topic-read-cite a:focus-visible{text-decoration:underline}.topic-read-sources{margin-top:clamp(28px,4vw,48px);padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.5}.topic-read-sources h3{margin:0 0 8px;color:var(--ink);font-size:.95rem;font-weight:800}.topic-read-sources ol{margin:0;padding-left:1.6em}.topic-read-sources li{overflow-wrap:anywhere}.topic-read-sources li+li{margin-top:10px}.topic-read-sources a{color:var(--accent)}.topic-read-sources blockquote{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--border);font-style:italic}.topic-read-source-note{margin-top:4px;font-size:.85em}:root{--landing-band-1: #eeece9;--landing-band-2: #e7e8e7;--landing-band-3: #f1f0ee;--landing-band-4: #e2e5e5;--landing-band-5: #ebe9e8;--landing-edge-highlight: rgba(255, 255, 255, .78);--landing-edge-shadow: rgba(70, 70, 70, .12);--landing-edge-side: #d1cec9}:root[data-theme=dark]{--landing-band-1: #171a1c;--landing-band-2: #1c2022;--landing-band-3: #141719;--landing-band-4: #202527;--landing-band-5: #191c1e;--landing-edge-highlight: rgba(255, 255, 255, .13);--landing-edge-shadow: rgba(0, 0, 0, .34);--landing-edge-side: #52616a}.landing-page{max-width:980px;margin:0 auto;padding:clamp(16px,4vw,42px) 16px 40px;gap:20px}.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px}.landing-brand-lockup{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:inherit;text-decoration:none;cursor:pointer}.landing-brand-lockup:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}.landing-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(28,138,132,.38);border-radius:10px;background:linear-gradient(135deg,#1c8a84f2,#2f6fedb8);color:#fff;font-family:Fraunces,Georgia,serif;font-size:.86rem;font-weight:900;letter-spacing:-.03em;line-height:1;box-shadow:0 8px 18px #1c8a8433}.landing-brand-copy{display:grid;gap:4px}.landing-brand{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.landing-top-actions{display:inline-flex;align-items:center;gap:10px}.landing-sign-in{min-height:40px;padding:8px 16px;border:1px solid var(--accent-2);border-radius:10px;background:var(--panel);color:var(--accent-2);font:inherit;font-weight:750;cursor:pointer;box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow);transition:background .14s ease,color .14s ease,transform .14s ease}.landing-sign-in:hover{background:var(--accent-2);color:#fff;transform:translateY(-1px)}.landing-sign-in:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.landing-top-divider{display:grid;gap:4px;width:100%;margin:-4px 0 2px}.landing-top-divider i{display:block;height:2px;width:100%;border-radius:999px;background:var(--accent-2)}.landing-topbar .theme-toggle{border-color:var(--border);background:var(--panel);color:var(--ink);box-shadow:var(--shadow-soft)}.landing-topbar .theme-toggle-icon{background:var(--panel-muted);color:var(--ink)}.landing-hero{position:relative;isolation:isolate;width:100%;max-width:none;padding:clamp(24px,5vw,52px);border:0;border-top:4px solid var(--accent);border-bottom:1px solid var(--border);border-radius:0;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.landing-hero:before,.landing-pane:before{content:"";position:absolute;z-index:-1;top:50%;left:0;box-sizing:border-box;width:100%;height:calc(100% + 34px);transform:translateY(-50%);border-radius:0;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-left:2px solid var(--landing-edge-side);border-right:2px solid var(--landing-edge-side);background:var(--landing-band, var(--landing-band-1));pointer-events:none}.landing-hero:after,.landing-pane:after,.landing-demo:after,.landing-steps li:after,.landing-honest>div:after{content:none;position:absolute;z-index:2;top:0;bottom:0;left:0;width:100%;background:linear-gradient(to right,var(--landing-edge-side) 0 2px,transparent 2px calc(100% - 2px),var(--landing-edge-side) calc(100% - 2px) 100%);pointer-events:none}.landing-pane{position:relative;isolation:isolate;width:100%;gap:18px;padding:clamp(20px,4vw,32px);border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.landing-pane-warm{--landing-band: var(--landing-band-2)}.landing-pane-cool{--landing-band: var(--landing-band-3)}.landing-pane-violet{--landing-band: var(--landing-band-4)}.landing-pane-mint{--landing-band: var(--landing-band-5)}.landing-pane-join{--landing-band: var(--landing-band-1)}.landing-pane-beginner{--landing-band: var(--landing-band-2)}.landing-pane-ai{--landing-band: var(--landing-band-1)}.landing-ai-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center;gap:22px}.landing-ai-copy{display:grid;gap:10px}.landing-ai-copy p{margin:0;color:var(--muted);line-height:1.6}.landing-ai-copy p:first-child{color:var(--ink);font-size:1.08rem;font-weight:650}.landing-ai-example{display:grid;gap:7px;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.landing-ai-example img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.landing-ai-example figcaption{padding:0 12px 12px;color:var(--muted);font-size:.82rem}.landing-kana-screenshots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}.landing-kana-screenshot{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.landing-kana-screenshot .kana-game-preview{height:145px;min-height:0;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.landing-kana-screenshot figcaption{padding:10px 12px 11px;color:var(--ink);font-size:.82rem;font-weight:750}.landing-media-block{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--border)}.landing-media-heading h3,.landing-media-heading p,.landing-future-grid h3,.landing-future-grid p{margin:0}.landing-media-heading h3{font-size:1.05rem}.landing-media-heading p,.landing-future-grid p{margin-top:4px;color:var(--muted);line-height:1.5}.landing-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-media-card{display:grid;gap:5px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.landing-media-card img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--panel-muted)}.landing-media-card span,.landing-media-card strong{padding:0 12px}.landing-media-card span{padding-top:7px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.landing-media-card strong{padding-bottom:12px}.landing-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.landing-future-grid article{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.landing-pane-heading{display:flex;align-items:flex-start;gap:12px}.landing-pane-heading h2{margin:0}.landing-pane-heading p{margin:4px 0 0;color:var(--muted);line-height:1.5}.landing-pane-index{flex:0 0 auto;color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:.08em;line-height:1.8}.landing-demo{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:clamp(16px,3vw,28px);border:1px solid var(--border);border-left:2px solid var(--landing-edge-side);border-right:2px solid var(--landing-edge-side);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.landing-demo-sentence{margin:0;font-size:clamp(1.3rem,4.2vw,2rem);font-weight:700;line-height:2.2}.landing-demo-sentence rt{font-size:.45em;font-weight:500;color:var(--muted)}.landing-demo-fog{color:var(--border);letter-spacing:.04em}.landing-demo-learned{font-weight:750}.landing-demo-heart-2{color:#22c55e}.landing-demo-heart-3{color:#3b82f6}.landing-demo-heart-4{color:#f97316}.landing-demo-heart-5{color:#ef4444}.landing-demo-heart-6{color:#f59e0b}.landing-demo-heart-key{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.82rem;font-weight:700}.landing-demo-heart-key-item i{font-style:normal;font-size:.9em}.landing-demo figcaption{color:var(--muted);font-size:.95rem;line-height:1.5}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none}.landing-steps li,.landing-honest>div{position:relative;isolation:isolate;padding:16px;border:1px solid var(--border);border-left:2px solid var(--landing-edge-side);border-right:2px solid var(--landing-edge-side);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.landing-page .home-fix-card,.landing-page .home-skill-card,.landing-page .home-break-list li{box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.landing-step-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent, #ffffff);font-weight:700;font-size:.9rem}.landing-steps h3,.landing-honest h3{margin:10px 0 6px;font-size:1.05rem;line-height:1.35}.landing-honest h3{margin-top:0}.landing-steps p,.landing-honest p{margin:0;color:var(--muted);line-height:1.55}.landing-levels{display:grid;gap:8px;margin:0;padding:0;list-style:none}.landing-levels li{display:grid;grid-template-columns:32px minmax(90px,120px) 1fr auto;align-items:baseline;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.landing-level-mark{font-weight:800;color:var(--accent)}.landing-levels li span:nth-child(3){color:var(--muted)}.landing-levels em{font-style:normal;font-size:.85rem;color:var(--muted);white-space:nowrap}.landing-honest{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.landing-join{align-items:center;text-align:center;scroll-margin-top:16px;border-top-color:var(--accent-2)}.landing-join .landing-pane-heading{justify-content:center;width:100%}.landing-join .landing-auth-card{text-align:left}.landing-auth-card{width:min(520px,100%);margin:2px auto 0;border-color:#1c8a844d;background:var(--panel-muted);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.landing-auth-card h3{margin:0 0 4px;font-size:1.2rem;text-align:center}.landing-auth-card>.muted{text-align:center}.landing-auth-card .auth-mode-tabs{width:min(420px,100%);margin-inline:auto}.landing-auth-card [class*=cl-rootBox]{width:min(440px,100%);margin-inline:auto}.landing-join .landing-auth-card{display:flex;flex-direction:column;align-items:center}.landing-join .landing-auth-card>*{max-width:100%}.landing-join .landing-auth-card>h3,.landing-join .landing-auth-card>.muted{width:100%}.landing-join .landing-auth-card [class*=cl-rootBox]{width:min(620px,100%)!important;margin-inline:auto!important;align-self:center}.landing-join .landing-auth-card [class*=cl-cardBox]{width:100%!important;max-width:none!important;margin-inline:auto!important}.landing-auth-card .clerk-card{width:100%;max-width:none;margin-inline:auto}.landing-join .landing-auth-card .clerk-card{width:100%!important;padding:8px 14px!important;overflow:visible!important}.landing-join .landing-auth-card [class*=cl-main],.landing-join .landing-auth-card [class*=cl-socialButtonsRoot],.landing-join .landing-auth-card [class*=cl-form]{width:100%;overflow:visible}.clerk-card{width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.clerk-header-title{font-family:Fraunces,Georgia,serif;color:var(--ink);text-align:center}.clerk-header-subtitle,.clerk-form-label{color:var(--muted)}.clerk-header-subtitle{text-align:center}.clerk-social-button{border:1px solid var(--border);background:var(--panel);color:var(--ink);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow),inset 1px 0 0 var(--landing-edge-highlight),inset -1px 0 0 var(--landing-edge-shadow)}.clerk-social-button:hover{border-color:var(--accent-2);background:var(--surface-accent);color:var(--ink)}.clerk-social-button-text{color:var(--ink);font-weight:750}.clerk-primary-button{border:1px solid var(--accent-2);background:var(--accent-2);color:#fff;box-shadow:0 8px 16px #1c8a842e}.clerk-form-input{border-color:var(--border);background:var(--panel-muted);color:var(--ink)}.clerk-form-input:focus{border-color:var(--accent-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 20%,transparent)}.clerk-footer-link{color:var(--accent-2)}.landing-why{scroll-margin-top:16px}.landing-footer nav{display:flex;flex-wrap:wrap;gap:18px;padding-top:18px;border-top:1px solid var(--border);font-size:.9rem}.landing-footer a,.landing-back{color:var(--muted)}.landing-public-page{max-width:820px;margin:0 auto;padding:24px 16px 40px}.landing-back{display:inline-block;margin-bottom:12px;text-decoration:none}.features-guide-title{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.25}@media(max-width:560px){.landing-pane-heading{gap:8px}.landing-pane-index{font-size:.7rem}.landing-levels li{grid-template-columns:28px 1fr auto}.landing-levels li span:nth-child(3){grid-column:2 / -1;grid-row:2}.landing-kana-screenshots{grid-template-columns:1fr}.landing-kana-screenshot .kana-game-preview{height:155px}}.site-alerts{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.site-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;background:var(--panel);color:var(--ink);font-size:.92rem;line-height:1.5}.site-alert.is-warning{border-left-color:var(--warn, #b7791f)}.site-alert p{margin:0}.site-alert a{margin-left:8px;color:var(--accent);font-weight:600;white-space:nowrap}.site-alert-dismiss{flex:none;padding:0 6px;border:0;background:none;color:var(--muted);font-size:1.2rem;line-height:1.2;cursor:pointer}.feedback-page{display:flex;flex-direction:column;gap:24px;max-width:720px}.feedback-form{display:flex;flex-direction:column;gap:18px}.feedback-form fieldset{margin:0;padding:0;border:0}.feedback-form legend,.feedback-field>span{margin-bottom:8px;font-weight:600}.feedback-categories{display:flex;flex-wrap:wrap;gap:8px}.feedback-categories label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel);cursor:pointer}.feedback-categories label.is-on{border-color:var(--accent);color:var(--accent);font-weight:600}.feedback-field{display:flex;flex-direction:column;gap:6px}.feedback-field textarea,.feedback-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;line-height:1.5}.feedback-field small,.feedback-hint{margin:6px 0 0;color:var(--muted);font-size:.85rem}.feedback-error{margin:0;color:var(--danger, #b03a2e)}.feedback-form .home-cta{align-self:flex-start}.feedback-sent{padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.feedback-sent h2{margin:0 0 6px}.admin-site-page{display:flex;flex-direction:column;gap:18px}.admin-site-tabs,.admin-site-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-site-tabs button.is-on,.admin-site-toolbar button.is-on{border-color:var(--accent);color:var(--accent);font-weight:700}.admin-site-panel{display:flex;flex-direction:column;gap:14px}.admin-site-panel h3{margin:10px 0 0;font-size:1.05rem}.admin-site-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.admin-site-tiles>div{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.admin-site-tiles strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.admin-site-tiles span{color:var(--muted);font-size:.85rem}.admin-site-scroll{overflow-x:auto}.admin-site-table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}.admin-site-table th,.admin-site-table td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-site-table th{color:var(--muted);font-weight:600;white-space:nowrap}.admin-site-table small{display:block;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.admin-site-table tr.is-unseen td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.admin-site-table tr.is-error td:nth-child(2){color:var(--danger, #b03a2e);font-weight:700}.admin-site-table tr.is-warning td:nth-child(2),.admin-site-table tr.is-warning td:first-child{color:var(--warn, #b7791f);font-weight:600}.admin-site-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.admin-site-feedback{display:flex;flex-direction:column;gap:10px}.admin-site-feedback article{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.admin-site-feedback header,.admin-site-feedback footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.85rem}.admin-site-feedback p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.admin-site-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.admin-site-form h3{grid-column:1 / -1;margin:0}.admin-site-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}.admin-site-form input,.admin-site-form select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface, var(--panel));color:var(--ink);font:inherit}.admin-site-form button{align-self:end}.nav-site-unseen{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent, #ffffff);font-size:.72rem;font-weight:700}.home-rows-page{--ink: #211d19;--home-pane-1: #f3f4f4;--home-pane-2: #edeff0;--home-pane-3: #f5f6f7;--home-pane-4: #e8ebec;--home-pane-5: #f0f1f2;--home-pane-edge: rgba(95, 100, 104, .3);gap:18px}:root[data-theme=dark] .home-rows-page{--ink: #e9e4df;--home-pane-1: #24282a;--home-pane-2: #2a2e30;--home-pane-3: #222527;--home-pane-4: #2f3335;--home-pane-5: #272b2d;--home-pane-edge: rgba(197, 201, 203, .25)}.home-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:20px;padding:clamp(18px,3vw,30px);border:1px solid var(--border);border-radius:16px;background:var(--home-pane-1);box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #36424a1a,0 8px 22px #2632380d}.home-panel:before{position:absolute;inset:0;z-index:-1;border-radius:inherit;border-left:3px solid var(--home-pane-edge);border-right:3px solid var(--home-pane-edge);pointer-events:none;content:""}.home-panel-welcome{background:var(--home-pane-1)}.home-panel-pulse{background:var(--home-pane-2)}.home-panel-progress{background:var(--home-pane-3)}.home-panel-community{background:var(--home-pane-4)}.home-panel-library{background:var(--home-pane-5)}.home-panel-polls{background:var(--home-pane-4)}.home-panel-tests{background:var(--home-pane-1)}.home-panel-level{flex-direction:row;align-items:center;justify-content:space-between;gap:14px 24px;padding-block:13px;background:var(--home-pane-2)}.home-level-copy,.home-level-controls{display:flex;flex-direction:column;gap:5px}.home-level-kicker{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.home-level-copy strong{font-size:.98rem}.home-level-controls{align-items:flex-end}.home-level-controls .level-filter{justify-content:flex-end}@media(max-width:720px){.home-panel-level,.home-level-controls{align-items:flex-start}.home-panel-level{flex-direction:column}}.home-tests-intro{display:grid;grid-template-columns:minmax(0,.75fr) minmax(280px,1.25fr);align-items:center;gap:clamp(18px,4vw,36px);margin-bottom:18px}.home-tests-art{margin:0;padding:8px;border:1px solid color-mix(in srgb,var(--home-pane-edge) 85%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:inset 0 1px #ffffffc2,inset 0 -1px #36424a29,0 8px 18px #26323814}.home-tests-art img{display:block;width:100%;border-radius:10px}.home-panel-welcome.home-strip{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(18px,3vw,30px)}.home-strip-content{display:grid;align-self:stretch;min-width:0}.home-welcome{display:grid;grid-template-rows:auto minmax(0,1fr);gap:22px;min-height:100%}.home-welcome-heading p{margin:0 0 8px;color:var(--accent);font-size:.92rem;font-weight:800;letter-spacing:.04em}.home-welcome-heading h1{margin:0;font-size:clamp(1.45rem,2.7vw,2.25rem);line-height:1.18}.home-welcome-resumes{display:grid;align-content:space-between;gap:12px}.home-welcome-resume{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--ink);text-decoration:none;transition:border-color .14s ease,transform .14s ease}.home-welcome-resume:hover,.home-welcome-resume:focus-visible{border-color:var(--accent);transform:translate(2px)}.home-welcome-skeleton{pointer-events:none}.home-welcome-skeleton>span{display:block;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 8%,transparent) 20%,color-mix(in srgb,var(--ink) 14%,transparent),color-mix(in srgb,var(--ink) 8%,transparent) 80%);background-size:220% 100%;animation:home-welcome-loading 1.4s ease-in-out infinite}.home-welcome-skeleton-title{width:min(72%,260px);height:15px}.home-welcome-skeleton-percent{justify-self:end;width:42px;height:15px}.home-welcome-skeleton-meter{grid-column:1 / -1;width:100%;height:5px}.home-welcome-skeleton-detail{grid-column:1 / -1;width:92px;height:10px}@keyframes home-welcome-loading{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.home-welcome-skeleton>span{animation:none}}.home-welcome-resume-title{display:grid;gap:2px;min-width:0}.home-welcome-title-line{display:flex;align-items:baseline;gap:5px;min-width:0}.home-welcome-resume-title strong{min-width:0;overflow:hidden;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.home-welcome-resume-title small,.home-welcome-detail,.home-welcome-coverage small{color:var(--muted);font-size:.74rem}.home-welcome-level{flex:0 0 auto;font-size:.72rem!important;font-weight:800}.home-welcome-level.is-preschool{color:#16806c}.home-welcome-level.is-elementary{color:#3c69ba}.home-welcome-level.is-middle{color:#7a52ae}.home-welcome-level.is-high{color:#b66a1c}.home-welcome-level.is-college{color:#b24669}.home-welcome-coverage{display:grid;justify-items:end;align-content:center}.home-welcome-coverage strong{color:var(--accent);font-size:1.05rem;line-height:1}.home-welcome-meter{grid-column:1 / -1;display:block;height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--ink) 12%,transparent)}.home-welcome-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.home-welcome-detail{grid-column:1 / -1}.home-strip-art{position:relative;display:grid;gap:7px;margin:0;padding:8px;border:1px solid color-mix(in srgb,var(--home-pane-edge) 85%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:inset 0 1px #ffffffc2,inset 0 -1px #36424a29,0 8px 18px #2632381a}.home-strip-art:after{position:absolute;inset:8px;border:1px solid rgba(255,255,255,.28);border-radius:10px;pointer-events:none;content:""}.home-strip-art img{display:block;width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover}.home-panel-heading{display:flex;align-items:flex-start;gap:14px}.home-panel-sort{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;color:var(--muted);font-size:.85rem}.home-panel-sort select{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);color:var(--ink);font:inherit;font-size:.85rem}.home-panel-heading h2{margin:0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.25}.home-panel-heading p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.45}.home-panel .home-strip-text,.home-panel .home-strip-filter{position:relative;z-index:1}.home-panel .media-row+.media-row,.home-panel .media-row+.home-trending{padding-top:20px;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.home-panel .home-strip-ai{background:color-mix(in srgb,var(--panel) 56%,transparent)}.home-panel .home-pulse-block{gap:12px}.home-loading{margin:0;padding:18px 22px;border:1px dashed var(--border);border-radius:14px;background:var(--home-pane-1)}.home-tests-note-panel{margin:-4px 8px 0;padding:0 12px;border-left:2px solid var(--home-pane-edge)}.media-format-page{gap:24px}.media-format-hero{display:flex;flex-direction:column;gap:8px;max-width:720px}.media-format-hero h1,.media-format-hero p{margin:0}.media-format-hero h1{font-size:clamp(1.8rem,4vw,2.7rem)}.media-format-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.media-format-toolbar .home-strip-filter{align-items:flex-start}.media-format-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.media-format-toolbar-end p{margin:0}.media-format-series{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.media-format-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.media-format-empty p{margin:0}.media-format-empty-actions{display:flex;flex-wrap:wrap;gap:8px}.media-format-empty-actions button{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface, #fff);color:var(--ink);font:inherit;font-size:.85rem;cursor:pointer}.media-format-hero .media-back{align-self:flex-start;margin-bottom:12px}.media-format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}@media(max-width:640px){.home-panel-welcome.home-strip,.home-tests-intro{grid-template-columns:1fr}.home-strip-content{gap:14px}.home-strip-art{width:min(240px,100%)}.landing-ai-layout{grid-template-columns:1fr}.home-panel{padding:18px 14px;border-radius:13px}.home-panel-heading{flex-wrap:wrap;gap:10px}}.kana-game-card-badge{margin-left:8px;padding:1px 6px;border-radius:999px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;color:var(--accent);border:1px solid currentColor}.lb-shell{gap:16px}.lb-shell.lb-playing{margin:0 auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));min-height:calc(100dvh - 120px);gap:12px;max-width:560px}.lb-title{margin:0}.lb-intro{margin:0;text-align:center}.lb-settings{display:flex;flex-direction:column;gap:10px;width:100%}.lb-setting{display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-setting>span{font-weight:600;font-size:.9rem}.lb-toggle{margin-left:0}.lb-toggle button{min-height:40px;padding:6px 14px}.lb-start{min-height:48px;padding:10px 32px;border-radius:10px;font-size:1.05rem;font-weight:600;background:var(--accent);color:#fff;border:none}.lb-hint{margin:0;font-size:.85rem;text-align:center}.lb-shell.lb-setup-shell{width:min(640px,100%);max-width:none;margin:28px auto;padding:0 16px}.lb-setup-card{position:relative;width:100%;overflow:hidden;padding:clamp(20px,4vw,32px);border:1px solid color-mix(in srgb,var(--accent-3) 28%,var(--border));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 92%,var(--accent-3)) 0%,var(--surface-strong) 50%,color-mix(in srgb,var(--surface-strong) 93%,var(--accent)) 100%);box-shadow:var(--shadow),inset 0 1px #ffffff21}.lb-setup-card:before{content:"";position:absolute;width:270px;height:270px;top:-180px;left:-96px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-3) 24%,transparent),transparent 69%);pointer-events:none}.lb-setup-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-back{min-height:38px;padding:6px 11px;border-radius:10px;font-size:.88rem}.lb-top-tag,.lb-eyebrow{margin:0;color:var(--accent-3);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lb-top-tag{padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent-3) 36%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent-3) 9%,transparent)}.lb-hero{position:relative;z-index:1;display:grid;grid-template-columns:142px 1fr;align-items:center;gap:20px;margin:22px 0 26px;text-align:left}.lb-word-art{position:relative;height:118px;display:flex;align-items:flex-end;gap:5px;padding:17px 12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-3) 34%,var(--border));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-3) 15%,var(--surface)),color-mix(in srgb,var(--accent) 11%,var(--surface)))}.lb-word-art:before{content:"";position:absolute;top:18px;left:19px;width:66px;height:1px;background:color-mix(in srgb,var(--accent-3) 55%,transparent);box-shadow:22px 8px color-mix(in srgb,var(--accent) 38%,transparent),50px -9px color-mix(in srgb,var(--accent-3) 28%,transparent);transform:rotate(-28deg)}.lb-word-art span{position:relative;z-index:1;display:grid;width:29px;height:37px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-3) 43%,var(--border));border-radius:9px;background:var(--surface-strong);color:var(--accent-3);box-shadow:0 5px 11px color-mix(in srgb,var(--accent-3) 14%,transparent);font-size:1.2rem;font-weight:800}.lb-word-art span:nth-child(2){transform:translateY(-10px);color:var(--accent)}.lb-word-art span:nth-child(3){transform:translateY(-2px)}.lb-word-art i{position:absolute;z-index:1;right:9px;bottom:10px;color:var(--accent-3);font-size:1.25rem;font-style:normal;font-weight:800}.lb-title{margin:3px 0 6px;font-size:clamp(2rem,7vw,2.7rem);line-height:1}.lb-intro{margin:0;max-width:350px;text-align:left;font-size:1.05rem;line-height:1.45}.lb-setup-section{position:relative;z-index:1;display:grid;gap:10px;padding:17px 0;border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent);text-align:left}.lb-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lb-section-label>span{font-weight:800}.lb-section-label small{color:var(--muted);font-size:.78rem}.lb-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:13px;background:var(--surface-inset, rgba(127, 127, 127, .12))}.lb-segmented button{min-height:42px;padding:5px 7px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;font-size:.9rem;white-space:nowrap}.lb-segmented button:hover{transform:none;border-color:transparent;box-shadow:none}.lb-segmented button.active{border-color:color-mix(in srgb,var(--accent-3) 42%,var(--border));background:var(--surface-strong);color:var(--accent-3);box-shadow:0 3px 9px color-mix(in srgb,var(--ink) 12%,transparent)}.lb-setup-options{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lb-setup-options.is-single{grid-template-columns:1fr}.lb-setup-options .lb-setup-section{padding-bottom:0}.lb-round-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0;padding:11px 8px;border-radius:13px;background:color-mix(in srgb,var(--surface-inset) 83%,transparent)}.lb-round-facts span{display:grid;gap:2px;color:var(--muted);font-size:.72rem}.lb-round-facts strong{color:var(--ink);font-size:.88rem}.lb-qa-setting{margin-top:2px}.lb-qa-hint{padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,transparent);text-align:left}.lb-setup-bottom{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.4fr;gap:10px}.lb-ready-note{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface-inset) 75%,transparent);color:var(--muted);text-align:left}.lb-ready-note>span{font-size:1.2rem}.lb-ready-note small{font-size:.72rem;line-height:1.2}.lb-start.lb-setup-start{min-height:55px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--accent-3) 68%,var(--border));border-radius:13px;background:linear-gradient(135deg,var(--accent-3),color-mix(in srgb,var(--accent-3) 67%,var(--accent)));box-shadow:0 10px 20px color-mix(in srgb,var(--accent-3) 27%,transparent);font-weight:800}.lb-start.lb-setup-start:hover{border-color:var(--accent-3);box-shadow:0 13px 24px color-mix(in srgb,var(--accent-3) 35%,transparent)}.lb-setup-start span{margin-left:7px;font-size:1.2em}@media(max-width:520px){.lb-shell.lb-setup-shell{margin:14px auto;padding:0 10px}.lb-setup-card{padding:17px;border-radius:19px}.lb-hero{grid-template-columns:105px 1fr;gap:14px;margin:18px 0 22px}.lb-word-art{height:100px;padding:14px 8px}.lb-word-art span{width:25px;height:32px;font-size:1rem}.lb-section-label{align-items:flex-start;flex-direction:column;gap:3px}.lb-setup-options{grid-template-columns:1fr;gap:0}.lb-setup-bottom{grid-template-columns:.78fr 1.22fr}}.lb-header{width:100%;display:flex;align-items:center;gap:12px}.lb-progress{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.lb-score{font-weight:700;font-variant-numeric:tabular-nums}.lb-timer{width:100%;height:8px;border-radius:999px;background:var(--surface-inset, rgba(127, 127, 127, .15));overflow:hidden}.lb-timer.is-off{visibility:hidden}.lb-timer-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width .1s linear,background .2s}.lb-timer-fill.is-low{background:#f59e0b}.lb-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;height:84px;flex:0 0 84px;overflow:hidden;justify-content:center}.lb-replay{min-height:48px;padding:8px 22px;border-radius:999px;font-size:1.05rem;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink)}.lb-replay.is-playing{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.lb-romaji{font-size:2rem;font-weight:700;letter-spacing:.06em}.lb-placeholder-tag{font-size:.75rem;color:var(--muted)}.lb-next-listen{color:var(--muted);font-size:.95rem;font-weight:700;letter-spacing:.04em}.lb-answer-flash{display:grid;gap:3px;min-width:min(280px,90vw);padding:14px 18px;border:2px solid #22c55e;border-radius:14px;background:color-mix(in srgb,#22c55e 18%,var(--surface-strong));color:#15803d;font-size:2rem;font-weight:800;letter-spacing:.06em;animation:lb-answer-flash .18s ease-out}.lb-answer-flash span{color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.lb-answer-flash small{color:var(--ink);font-size:.76rem;font-weight:700;letter-spacing:0}@keyframes lb-answer-flash{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.lb-slots{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px;width:100%;min-height:60px;flex:0 0 auto}.lb-slot{width:52px;height:60px;border-radius:10px;border:2px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;background:var(--surface)}.lb-slot:not(:empty){border-style:solid}.lb-slot.is-next{border-color:var(--accent)}.lb-slot.is-correct{border-color:#22c55e;background:#22c55e1f}.lb-slot.is-wrong{border-color:var(--danger, #ef4444);background:#ef44441f}.lb-slot-picked{margin-top:2px;font-size:.8rem;color:var(--danger, #ef4444);text-decoration:line-through}.lb-undo{width:52px;height:60px;border-radius:10px;font-size:1.3rem;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink)}.lb-undo:disabled{opacity:.4}.lb-grid{margin-top:auto;width:100%;display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:10px;flex:0 0 auto}.lb-grid.is-small{gap:8px}@media(min-width:600px){.lb-grid:not(.is-small){grid-template-columns:repeat(4,minmax(72px,1fr))}.lb-shell.lb-playing{min-height:0}}.lb-tile{position:relative;min-height:72px;aspect-ratio:1 / 1;max-height:104px;border-radius:14px;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);font-size:2.2rem;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .08s,background .12s,border-color .12s}.lb-tile:disabled{opacity:1;cursor:default}.lb-tile.is-pressed{transform:scale(.93);background:var(--surface-accent);border-color:var(--accent)}.lb-tile.is-revealed{border-color:#22c55e;background:#22c55e29;animation:lb-pop .25s ease-out}.lb-badge{position:absolute;top:4px;right:6px;min-width:20px;padding:1px 5px;border-radius:999px;font-size:.75rem;font-weight:700;background:#22c55e;color:#fff}@keyframes lb-pop{0%{transform:scale(.9)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.lb-tile,.lb-tile.is-revealed,.lb-timer-fill,.lb-answer-flash{animation:none;transition:none}}.lb-reveal-footer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-reveal-answer{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.lb-reveal-word{font-size:1.6rem;font-weight:700}.lb-reveal-romaji{font-size:1.6rem;font-weight:700;color:#22c55e;letter-spacing:.04em}.lb-reveal-en{font-size:.9rem;color:var(--muted)}.lb-prompt-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.lb-broken{min-height:48px;padding:8px 16px;border-radius:999px;font-size:.95rem;border:1px solid var(--danger, #ef4444);background:transparent;color:var(--danger, #ef4444)}.lb-broken.is-armed{background:var(--danger, #ef4444);color:#fff}.lb-summary-score{font-size:1.1rem}.lb-summary-score strong{font-size:1.6rem}.lb-missed{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:8px}.lb-missed button{width:100%;min-height:48px;display:flex;align-items:baseline;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-strong);color:var(--ink);text-align:left}.lb-missed button:disabled{opacity:1;cursor:default}.lb-missed-kana{font-size:1.4rem;font-weight:700}.lb-missed-romaji{color:var(--muted)}.lb-missed-en{margin-left:auto;font-size:.9rem}.lb-summary-actions{display:flex;gap:10px}.kr-shell{width:min(640px,100%);max-width:none;margin:28px auto;padding:0 16px;gap:18px;text-align:center}.kr-setup-card{position:relative;width:100%;overflow:hidden;padding:clamp(20px,4vw,32px);border:1px solid color-mix(in srgb,var(--accent-2) 27%,var(--border));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 92%,var(--accent-2)) 0%,var(--surface-strong) 48%,color-mix(in srgb,var(--surface-strong) 93%,var(--accent-3)) 100%);box-shadow:var(--shadow),inset 0 1px #ffffff21}.kr-setup-card:before{content:"";position:absolute;width:270px;height:270px;top:-175px;right:-90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-2) 23%,transparent),transparent 69%);pointer-events:none}.kr-setup-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.kr-back{min-height:38px;padding:6px 11px;border-radius:10px;font-size:.88rem}.kr-top-tag,.kr-eyebrow{margin:0;color:var(--accent-2);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.kr-top-tag{padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent-2) 9%,transparent)}.kr-hero{position:relative;z-index:1;display:grid;grid-template-columns:132px 1fr;align-items:center;gap:20px;margin:22px 0 26px;text-align:left}.kr-rain-art{position:relative;height:120px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-2) 33%,var(--border));border-radius:18px;background:linear-gradient(155deg,color-mix(in srgb,#4fd0c6 22%,var(--surface)),color-mix(in srgb,#9a7dff 13%,var(--surface)))}.kr-art-cloud{position:absolute;top:5px;left:14px;color:color-mix(in srgb,var(--ink) 12%,var(--surface-strong));font-size:3.2rem;line-height:1}.kr-art-drop{position:absolute;display:grid;width:38px;height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--accent-2) 57%,var(--border));border-radius:14px 14px 18px 18px;background:var(--surface-strong);color:var(--accent-2);box-shadow:0 8px 14px color-mix(in srgb,var(--accent-2) 18%,transparent);font-size:1.35rem;font-weight:800}.kr-art-drop-one{top:50px;left:29px;transform:rotate(7deg)}.kr-art-drop-two{top:73px;right:17px;color:var(--accent-3);transform:rotate(-7deg) scale(.82)}.kr-art-spark{position:absolute;color:var(--accent);font-weight:800}.kr-art-spark-one{top:40px;right:18px}.kr-art-spark-two{bottom:12px;left:13px;font-size:1.7rem}.kr-title{margin:3px 0 6px;font-size:clamp(2rem,7vw,2.7rem);line-height:1}.kr-intro{margin:0;max-width:350px;color:var(--muted);font-size:1.05rem;line-height:1.45}.kr-setup-section{position:relative;z-index:1;display:grid;gap:10px;padding:17px 0;border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent);text-align:left}.kr-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.kr-section-label>span{font-weight:800}.kr-section-label small{color:var(--muted);font-size:.78rem}.kr-segmented{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:13px;background:var(--surface-inset, rgba(127, 127, 127, .12))}.kr-segmented button{min-height:42px;padding:5px 8px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;font-size:1.08rem}.kr-segmented button:hover{transform:none;border-color:transparent;box-shadow:none}.kr-segmented button.active{border-color:color-mix(in srgb,var(--accent-2) 42%,var(--border));background:var(--surface-strong);color:var(--accent-2);box-shadow:0 3px 9px color-mix(in srgb,var(--ink) 12%,transparent)}.kr-difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kr-difficulty-card{min-height:92px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:9px;padding:11px;border-radius:13px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:none;text-align:left}.kr-difficulty-card:hover{box-shadow:var(--shadow-soft)}.kr-difficulty-card.active{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 11%,var(--surface-strong));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-2) 17%,transparent)}.kr-difficulty-copy{display:grid;gap:1px}.kr-difficulty-copy strong{font-size:.93rem}.kr-difficulty-copy small{color:var(--muted);font-size:.72rem}.kr-mini-grid{display:grid;grid-template-columns:repeat(var(--kr-mini-columns),6px);gap:3px}.kr-mini-grid i{display:block;width:6px;height:6px;border-radius:2px;background:color-mix(in srgb,var(--muted) 43%,transparent)}.kr-difficulty-card.active .kr-mini-grid i{background:var(--accent-2)}.kr-run-info{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:3px 0 18px;padding:11px 8px;border-radius:13px;background:color-mix(in srgb,var(--surface-inset) 83%,transparent)}.kr-run-info span{display:grid;gap:2px;color:var(--muted);font-size:.72rem}.kr-run-info strong{color:var(--ink);font-size:.88rem}.kr-setup-bottom{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.kr-best{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 13px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface-inset) 75%,transparent);font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:left}.kr-best strong{color:var(--accent);font-size:1.25rem;line-height:1.05}.kr-start{min-height:55px;border-color:color-mix(in srgb,var(--accent-2) 70%,var(--border));border-radius:13px;background:linear-gradient(135deg,var(--accent-2),color-mix(in srgb,var(--accent-2) 70%,var(--accent-3)));color:#fff;box-shadow:0 10px 20px color-mix(in srgb,var(--accent-2) 26%,transparent);font-size:1.02rem;font-weight:800}.kr-start:hover{border-color:var(--accent-2);color:#fff;box-shadow:0 13px 24px color-mix(in srgb,var(--accent-2) 35%,transparent)}.kr-start span{margin-left:7px;font-size:1.2em}@media(max-width:460px){.kr-shell{margin:14px auto;padding:0 10px}.kr-setup-card{padding:17px;border-radius:19px}.kr-hero{grid-template-columns:100px 1fr;gap:14px;margin:18px 0 22px}.kr-rain-art{height:102px}.kr-art-drop-one{left:18px}.kr-art-drop-two{right:9px}.kr-section-label{align-items:flex-start;flex-direction:column;gap:3px}.kr-difficulty-card{min-height:86px;padding:8px}.kr-difficulty-copy small{font-size:.65rem}.kr-setup-bottom{grid-template-columns:.75fr 1.25fr}}.kr-gameover-shell{width:min(580px,100%)}.kr-gameover-card{position:relative;width:100%;overflow:hidden;padding:clamp(20px,4vw,30px);border:1px solid color-mix(in srgb,var(--accent-3) 27%,var(--border));border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-strong) 93%,var(--accent-3)) 0%,var(--surface-strong) 57%,color-mix(in srgb,var(--surface-strong) 95%,var(--accent-2)) 100%);box-shadow:var(--shadow)}.kr-gameover-card>.kr-eyebrow{margin-top:26px}.kr-final-score{position:relative;display:grid;justify-items:center;gap:3px;margin:14px 0 9px;color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 8px 18px color-mix(in srgb,var(--accent) 16%,transparent)}.kr-final-score>span{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;text-shadow:none}.kr-final-score>strong{font-size:clamp(2.5rem,10vw,4.3rem);font-weight:850;line-height:1}.kr-final-score>small{color:var(--muted);font-size:.82rem;font-weight:750;text-shadow:none}.kr-final-score>em{margin-top:5px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-strong));color:var(--accent);font-size:.74rem;font-style:normal;font-weight:850;text-shadow:none}.kr-gameover-card .kr-intro{max-width:none;text-align:center}.kr-missed-review{margin:24px 0 18px;padding:14px;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-inset) 72%,transparent);text-align:left}.kr-missed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.kr-missed-heading span{font-weight:800}.kr-missed-heading small{color:var(--muted);font-size:.72rem}.kr-missed-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.kr-missed-list li{min-width:72px;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:6px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--danger, #ef4444) 42%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--danger, #ef4444) 9%,transparent)}.kr-missed-list li.is-timeout{border-color:color-mix(in srgb,#f59e0b 48%,var(--border));background:color-mix(in srgb,#f59e0b 10%,transparent)}.kr-missed-kana{font-size:1.35rem;font-weight:800;line-height:1}.kr-missed-romaji{color:var(--muted);font-size:.78rem;font-weight:700}.kr-missed-list small{grid-column:1 / -1;margin-top:2px;color:var(--muted);font-size:.62rem}.kr-gameover-bottom{display:grid;grid-template-columns:.85fr 1.35fr;gap:10px}.kr-play{width:min(580px,100%);min-height:calc(100dvh - 120px);margin:0 auto;padding:12px 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.kr-header{display:flex;align-items:center;gap:10px;min-height:36px;font-variant-numeric:tabular-nums;font-size:.9rem}.kr-header .kana-back-btn{margin-right:auto}.kr-header strong{font-size:1rem}.kr-lives{display:flex;align-items:center;justify-content:flex-end;max-width:110px;color:#fb7185;line-height:1}.kr-lives i{display:inline-block;margin-left:-2px;font-size:.8rem;font-style:normal;transition:opacity .18s ease-out,transform .18s ease-out}.kr-lives i:first-child{margin-left:0}.kr-lives i.is-spent{opacity:0;transform:scale(.35) translateY(-5px)}.kr-lives.is-hit{animation:kr-hearts-shake .38s ease-out}.kr-lives i.is-breaking{position:relative;width:.82em;opacity:1;color:transparent;transform:none;animation:kr-heart-lost .52s ease-out forwards}.kr-lives i.is-breaking:before{content:"💔";position:absolute;left:50%;top:50%;color:#fb7185;font-size:1.2em;filter:drop-shadow(0 0 4px rgba(244,63,94,.72));transform:translate(-50%,-50%)}@keyframes kr-heart-lost{0%{opacity:1;transform:scale(1)}24%{opacity:1;transform:scale(1.5) translateY(-1px)}58%{opacity:1;transform:scale(1.08) rotate(-7deg)}to{opacity:0;transform:scale(.45) translateY(9px) rotate(10deg)}}@keyframes kr-hearts-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-1px)}}.kr-level-bar{height:6px;overflow:hidden;border-radius:999px;background:var(--surface-inset, rgba(127, 127, 127, .15))}.kr-level-bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .16s ease-out}.kr-timer{height:5px;overflow:hidden;border-radius:999px;background:var(--surface-inset, rgba(127, 127, 127, .15))}.kr-timer>span{display:block;height:100%;border-radius:inherit;background:#38a6d4;transition:width .08s linear}.kr-sky{--kr-sky-height: clamp(190px, 31dvh, 290px);position:relative;height:var(--kr-sky-height);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,#82c8ef 29%,var(--surface)),color-mix(in srgb,#d8eff9 18%,var(--surface)) 78%,color-mix(in srgb,var(--accent) 10%,var(--surface)))}.kr-cloud{position:absolute;color:#ffffffc7;line-height:1;font-size:3.2rem;filter:drop-shadow(0 2px 2px rgba(35,92,120,.1))}.kr-cloud-one{top:10%;left:13%}.kr-cloud-two{top:25%;right:12%;font-size:2.2rem;opacity:.8}.kr-drop{position:absolute;top:2%;left:50%;z-index:1;width:var(--kr-drop-width, 76px);min-width:76px;height:76px;padding-inline:13px;display:grid;place-items:center;border:2px solid color-mix(in srgb,var(--accent) 55%,#fff);border-radius:999px;background:var(--surface-strong);color:var(--ink);box-shadow:0 6px 16px #184d6e38;font-size:2.6rem;font-weight:800;line-height:1;white-space:nowrap;word-break:keep-all;transform:translate(-50%);animation:kr-fall var(--kr-fall-duration) linear forwards;will-change:transform}.kr-sky.is-correct .kr-drop{border-color:#22c55e;background:#22c55e2e}.kr-sky.is-wrong .kr-drop,.kr-sky.is-timeout .kr-drop{border-color:var(--danger, #ef4444);background:#ef44442b}.kr-landed{position:absolute;inset:auto 0 8px;z-index:2;text-align:center;color:var(--danger, #ef4444);font-size:.85rem;font-weight:700}@keyframes kr-fall{0%{transform:translate(-50%)}to{transform:translate(-50%,calc(var(--kr-sky-height) - 92px))}}.kr-prompt{margin:0;text-align:center;color:var(--muted);font-size:.86rem;font-weight:600}.kr-tiles{display:grid;grid-template-columns:repeat(var(--kr-columns),minmax(0,1fr));gap:7px}.kr-tile{min-height:52px;padding:5px 2px;border:1px solid var(--border);border-radius:10px;background:var(--surface-strong);color:var(--ink);font-size:clamp(.88rem,3.8vw,1.06rem);font-weight:750;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.kr-tiles[data-difficulty=easy] .kr-tile{min-height:76px;font-size:1.2rem}.kr-tiles[data-difficulty=hard]{gap:5px}.kr-tiles[data-difficulty=hard] .kr-tile{min-height:48px;font-size:clamp(.78rem,3.4vw,1rem)}.kr-tile:not(:disabled):active{transform:scale(.94);background:var(--surface-accent);border-color:var(--accent)}.kr-tile:disabled{opacity:1;cursor:default}.kr-tile.is-answer{border-color:#22c55e;background:#22c55e29}@media(prefers-reduced-motion:reduce){.kr-drop{animation:none;top:35%}.kr-level-bar>span{transition:none}.kr-lives.is-hit{animation:none}.kr-lives i.is-breaking{animation:kr-heart-fade .18s linear forwards}}@keyframes kr-heart-fade{0%{opacity:1}to{opacity:0}}@media(max-height:660px){.kr-play{min-height:0;gap:7px}.kr-sky{--kr-sky-height: 155px}.kr-tile{min-height:46px}.kr-tiles[data-difficulty=easy] .kr-tile{min-height:58px}.kr-tiles[data-difficulty=hard] .kr-tile{min-height:42px}}.scroll-rail{position:relative;min-width:0}.nav-tabs-rail{justify-self:stretch;width:100%}.scroll-rail-arrow{position:absolute;top:0;bottom:0;z-index:3;display:none;margin-block:auto;box-sizing:border-box;width:30px;height:30px;padding:0 0 2px;border:1px solid rgba(226,232,240,.28);border-radius:999px;background:#0f172aeb;color:#f1f5f9;font-size:1.35rem;font-weight:700;line-height:1;box-shadow:0 2px 8px #00000059;cursor:pointer;-webkit-tap-highlight-color:transparent}.scroll-rail-arrow.is-left{left:2px}.scroll-rail-arrow.is-right{right:2px}.scroll-rail.can-left .scroll-rail-arrow.is-left,.scroll-rail.can-right .scroll-rail-arrow.is-right{display:inline-flex;align-items:center;justify-content:center}.scroll-rail.can-left:before,.scroll-rail.can-right:after{content:"";position:absolute;top:1px;bottom:1px;width:44px;z-index:2;pointer-events:none}.scroll-rail.can-left:before{left:1px;border-radius:10px 0 0 10px;background:linear-gradient(to right,rgba(15,23,42,.95) 40%,transparent)}.scroll-rail.can-right:after{right:1px;border-radius:0 10px 10px 0;background:linear-gradient(to left,rgba(15,23,42,.95) 40%,transparent)}.nav-tabs-rail>.nav-tabs{scroll-padding-inline:40px}@media(max-width:900px){.nav-tabs-rail{grid-area:tabs}.nav-tabs-rail>.nav-tabs{-webkit-mask-image:none;mask-image:none}}.trainer-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.trainer-check input{width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer}.kana-mode-toggle.trainer-check.active{border-color:var(--accent)}.grammar-explain{--gx-teal: #3f9d8a;--gx-result: #22a35a;width:min(620px,100%);margin:12px auto 0;display:grid;gap:14px;padding:0 18px 16px;border:1px solid var(--border);border-top:0;border-radius:14px;background:var(--surface-strong, var(--surface));color:var(--ink);text-align:left;box-shadow:0 10px 28px #0f172a1f;overflow:hidden;animation:grammar-explain-in .22s ease-out}.grammar-explain.is-wrong{--gx-result: var(--danger, #e05252)}:root[data-theme=dark] .grammar-explain{--gx-teal: #8cc6d7;box-shadow:0 10px 28px #00000059}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .grammar-explain{--gx-teal: #8cc6d7}}.grammar-explain-result{margin:0 -18px;padding:9px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;color:#fff;background:var(--gx-result)}.grammar-explain-kicker{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.grammar-explain-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:6px}.grammar-explain-head h3{margin:0;font-size:1.9rem;line-height:1.1;color:var(--gx-teal);font-weight:900}.grammar-explain-structure-list{display:grid;justify-items:start;gap:6px;margin:-4px 0 0;padding:0;list-style:none}.grammar-explain-structure-list li,.grammar-explain-structure{margin:0;padding:3px 10px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid color-mix(in srgb,var(--gx-teal) 45%,transparent);background:color-mix(in srgb,var(--gx-teal) 12%,transparent)}.grammar-explain-summary{margin:0;font-weight:750;font-size:1.02rem}.grammar-explain-body{display:grid;gap:9px;margin:0;line-height:1.6}.grammar-explain-body p{margin:0}.grammar-explain-emphasis{font-weight:850;color:color-mix(in srgb,var(--ink) 88%,var(--gx-teal))}.grammar-explain-pitfall{margin:0;padding:8px 12px;border-radius:10px;font-size:.92rem;line-height:1.5;background:color-mix(in srgb,#f59e0b 12%,transparent);border-left:3px solid #f59e0b}.grammar-explain-soon{margin:0;font-size:.85rem;color:var(--muted);font-style:italic}.grammar-explain-example{margin:4px 0 0;padding:10px 14px;border-left:3px solid var(--gx-teal);border-radius:0 10px 10px 0;background:var(--surface-inset, color-mix(in srgb, var(--ink) 5%, transparent));display:grid;gap:3px}.grammar-explain-example.is-authored{border-left-color:color-mix(in srgb,var(--gx-teal) 55%,var(--muted))}.grammar-explain-example figcaption{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.grammar-explain-jp{margin:2px 0 0;font-size:1.25rem;line-height:1.5}.grammar-explain-target{padding:0 2px;border-radius:4px;color:var(--gx-teal);font-weight:800;background:color-mix(in srgb,var(--gx-teal) 16%,transparent)}.grammar-explain-romaji{margin:0;font-size:.92rem;color:var(--muted);letter-spacing:.01em}.grammar-explain-en{margin:0;font-size:.95rem;font-style:italic}.grammar-explain-actions{display:flex;justify-content:flex-end;margin-top:4px}.grammar-explain-next{min-width:140px}.grammar-explain-actions.is-top{width:min(620px,100%);margin:12px auto 0}.grammar-explain-actions.is-top+.grammar-explain{margin-top:8px}.skill-training-wrong-actions{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:12px}.grammar-explanation-offer{padding:7px 14px;border:1px solid color-mix(in srgb,var(--accent) 58%,var(--border));border-radius:8px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong, var(--surface)));font-size:.9rem;font-weight:750}.grammar-explanation-offer:hover,.grammar-explanation-offer:focus-visible{background:color-mix(in srgb,var(--accent) 16%,var(--surface-strong, var(--surface)))}@keyframes grammar-explain-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.grammar-explain{animation:none}}@media(max-width:640px){.grammar-explain{padding:0 14px 14px}.grammar-explain-result{margin:0 -14px;padding:8px 14px}.grammar-explain-head h3{font-size:1.6rem}.grammar-explain-jp{font-size:1.15rem}.grammar-explain-next{width:100%}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.media-row-track>.feed-card.review-card{flex:0 0 260px}.review-card .feed-card-body{gap:8px;padding:14px}.review-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:var(--muted);font-size:.74rem}.review-kind{padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.66rem}.review-kind.is-anime{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.review-kind.is-manga{border-color:#f59e0b8c;color:var(--text-gold)}.review-source{font-weight:600;color:var(--ink)}.review-type{display:inline-flex;align-items:center;min-height:18px;padding:1px 7px;border:1px solid currentColor;border-radius:999px;font-size:.64rem;font-weight:800;letter-spacing:.03em;line-height:1.3}.review-type.is-review{border-color:color-mix(in srgb,var(--accent-2) 62%,transparent);background:color-mix(in srgb,var(--accent-2) 18%,var(--surface-strong));color:color-mix(in srgb,var(--accent-2) 72%,var(--ink))}.review-type.is-discussion{border-color:color-mix(in srgb,var(--accent-3) 62%,transparent);background:color-mix(in srgb,var(--accent-3) 18%,var(--surface-strong));color:color-mix(in srgb,var(--accent-3) 72%,var(--ink))}.review-sample{padding:1px 7px;border-radius:999px;background:var(--panel-muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.review-card h3{margin:0}.review-card-title{all:unset;cursor:pointer;font-size:1.08rem;font-weight:700;line-height:1.3}.review-card-title:hover,.review-card-title:focus-visible{text-decoration:underline}.review-card-en{margin:-4px 0 0;color:var(--muted);font-size:.78rem}.review-card-headline{margin:0;font-size:.82rem;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-card-coverage{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-inset, var(--panel-muted))}.review-meter{display:grid;gap:4px;min-width:0}.review-meter-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.review-meter-value{font-size:1.6rem;line-height:1;font-variant-numeric:tabular-nums}.review-meter.is-xl .review-meter-value{font-size:2.6rem}.review-meter.is-empty .review-meter-value{color:var(--muted)}.review-meter-bar{display:block;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.review-meter.is-xl .review-meter-bar{height:10px}.review-meter-bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.review-card-away{margin:0;font-size:.82rem;font-weight:600}.reviews-page{width:min(1120px,100%);margin:0 auto;display:grid;gap:18px;box-sizing:border-box}.reviews-hero h1{margin:4px 0 8px}.reviews-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.reviews-filter-stack{display:grid;gap:5px}.reviews-kinds,.reviews-content-types{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.reviews-kinds button,.reviews-content-types button{border:0;border-radius:999px;padding:6px 14px;background:transparent;font-weight:600}.reviews-kinds button.is-on{background:var(--accent);color:var(--on-accent, #ffffff)}.reviews-content-types button.is-all.is-on{background:var(--ink);color:var(--surface-strong)}.reviews-content-types button.is-review.is-on{background:var(--accent-2);color:#fff}.reviews-content-types button.is-discussion.is-on{background:var(--accent-3);color:#fff}.reviews-search{flex:0 1 260px;width:min(260px,100%);min-width:0}.reviews-search input{width:100%;box-sizing:border-box;padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.95rem}.reviews-view{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.reviews-view button{border:0;border-radius:999px;padding:6px 11px;background:transparent;color:var(--ink);font-size:.82rem;font-weight:600}.reviews-view button.is-on{background:var(--accent);color:var(--on-accent, #ffffff)}.reviews-az{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.reviews-az-label{color:var(--muted);font-size:.82rem;font-weight:700}.reviews-az-links{display:flex;flex:1 1 420px;flex-wrap:wrap;gap:3px}.reviews-az button{min-width:29px;min-height:29px;padding:4px 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);font-size:.78rem;font-weight:700}.reviews-az button:hover{background:var(--surface-inset, var(--panel-muted))}.reviews-az button.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.reviews-list{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden}.review-list-item{display:grid;grid-template-columns:minmax(84px,.42fr) minmax(170px,.85fr) minmax(0,2fr);align-items:center;gap:12px 18px;padding:11px 14px;background:var(--panel)}.review-list-item+.review-list-item{border-top:1px solid var(--border)}.review-list-meta,.review-list-work,.review-list-headline{margin:0}.review-list-coverage,.review-list-work-info{display:grid;gap:4px}.review-list-coverage{align-content:center}.review-list-coverage-item{display:flex;align-items:baseline;justify-content:space-between;gap:5px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.review-list-coverage-item strong{color:var(--ink);font-size:.88rem;font-variant-numeric:tabular-nums;letter-spacing:0}.review-list-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:.74rem}.review-list-work{font-size:1rem;line-height:1.25}.review-list-work a{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35em;color:inherit}.review-list-work a:hover,.review-list-work a:focus-visible,.review-list-headline a:hover,.review-list-headline a:focus-visible{text-decoration:underline}.review-list-work-en{color:var(--muted);font-size:.78em;font-weight:500}.review-list-headline{min-width:0;color:var(--muted);font-size:.84rem;line-height:1.35}.reviews-note{margin:0;color:var(--muted);font-size:.78rem}.reviews-back{justify-self:start}.review-detail-head h1{margin:6px 0 2px}.review-prepare-work-title a{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.45em}.review-prepare-work-title-en{color:var(--muted);font-size:.62em;font-weight:600}.review-detail-headline{margin:8px 0 0;font-size:1rem}.review-ready,.review-words-panel{display:grid;gap:12px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.review-ready h2,.review-words-panel h2{margin:0;font-size:1.05rem}.review-ready-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.review-ready-away{margin:0;font-size:1.05rem;font-weight:700}.review-ready-projection{margin:0}.review-ready-actions{display:flex;flex-wrap:wrap;gap:10px}.review-ready-actions button{border-radius:999px;padding:10px 18px;font-weight:700}.review-ready-actions .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.review-words-title{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.review-words{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.review-word{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:5px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:.85rem}.review-word-base{font-weight:700;font-size:1rem}.review-word-reading{color:var(--muted);font-size:.75rem}.review-word-meaning{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14em}.review-word-count{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--muted)}.review-word.is-trainable{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.review-word.is-untaught{border-style:dashed;opacity:.8}.review-word.is-known{opacity:.6}.review-known-toggle{justify-self:start;border-radius:999px;padding:5px 12px;font-size:.82rem}.review-lessons{display:grid;gap:8px;margin:0;padding:0;list-style:none}.review-lessons li{display:grid;gap:2px}.review-lessons button{all:unset;cursor:pointer}.review-lessons button:hover strong{text-decoration:underline}.review-lessons small{color:var(--muted)}@media(max-width:640px){.reviews-page{padding:0 12px;gap:14px}.reviews-controls{gap:8px}.reviews-filter-stack,.reviews-kinds,.reviews-content-types,.reviews-search{width:100%}.reviews-search{flex-basis:100%}.reviews-kinds,.reviews-content-types{justify-content:space-between}.reviews-kinds button,.reviews-content-types button{flex:1 1 0;padding:7px 8px}.reviews-az{align-items:flex-start}.reviews-az-label{padding-top:6px}.reviews-az-links{flex-basis:calc(100% - 82px)}.review-list-item{grid-template-columns:1fr;gap:5px;padding:11px 12px}.review-list-coverage{display:flex;gap:14px}.review-list-coverage-item{gap:4px}.review-ready{padding:14px}.review-meter.is-xl .review-meter-value{font-size:2rem}.review-ready-actions button{flex:1 1 100%}.media-row-track>.feed-card.review-card{flex-basis:min(260px,82vw)}}.review-prepare-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-prepare-option{display:grid;align-content:start;gap:8px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.review-prepare-option h2{margin:0;font-size:1.1rem}.review-prepare-option p{margin:0}.review-prepare-option button{justify-self:start;margin-top:4px;border-radius:999px;padding:9px 18px;font-weight:700}.review-prepare-option .is-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #ffffff)}.prepare-reads{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0;padding:0;list-style:none}.prepare-read{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.prepare-read-head{display:flex;justify-content:space-between;gap:12px}.prepare-read-head h3{margin:0;font-size:1rem;line-height:1.3}.prepare-read-ja{margin:2px 0 4px;color:var(--muted);font-size:.85rem}.prepare-read-unlock{display:grid;justify-items:end;align-content:start;flex:0 0 auto}.prepare-read-unlock strong{font-size:1.35rem;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.prepare-read-unlock small{color:var(--muted);font-size:.72rem}.prepare-read .feed-card-actions{margin-top:0;padding-top:0}.review-word.is-more{color:var(--muted)}@media(max-width:640px){.review-prepare-options,.prepare-reads{grid-template-columns:1fr}.review-prepare-option button{justify-self:stretch}}.review-card-title,.review-card-title:visited,.review-detail-head h1 a,.prepare-read h3 a{color:inherit;text-decoration:none}.review-card-title:hover,.review-card-title:focus-visible,.review-detail-head h1 a:hover,.review-detail-head h1 a:focus-visible,.prepare-read h3 a:hover,.prepare-read h3 a:focus-visible{text-decoration:underline}.review-card-headline a,.review-detail-headline a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}.review-card-headline a:hover,.review-detail-headline a:hover{text-decoration-color:currentColor}.prepare-read-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px}.prepare-read-known{font-weight:600;color:var(--ink)}a.review-source{color:var(--ink);text-decoration:none}a.review-source:hover,a.review-source:focus-visible{text-decoration:underline}.lp-topbar-links{display:none;gap:4px}.lp-topbar-links button{padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.lp-topbar-links button:hover{background:var(--panel-muted);color:var(--ink)}@media(min-width:760px){.lp-topbar-links{display:inline-flex}}.lp-eyebrow{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lp-quiet{color:var(--muted);line-height:1.55}.lp-sample-tag{display:inline-block;padding:2px 8px;border:1px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:999px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lp-sample{display:grid;gap:6px;justify-items:start}.lp-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:100%;font-size:.8rem}.lp-bar-label{grid-column:1;grid-row:1;color:var(--muted);font-weight:700}.lp-bar-value{grid-column:2;grid-row:1;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}.lp-bar-track{grid-column:1 / -1;grid-row:2;display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}.lp-bar-track i{display:block;height:100%;border-radius:999px;background:var(--accent)}.lp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(20px,4vw,40px);align-items:center}.lp-hero-copy{display:grid;gap:12px}.lp-hero-copy h1{margin:0}.lp-doors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"left right" "path path" "caption caption";gap:12px;align-items:stretch}.lp-door{display:grid;grid-template-rows:1fr auto;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.lp-door:first-of-type{grid-area:left}.lp-door:last-of-type{grid-area:right}.lp-door .kana-game-preview{height:100%;min-height:150px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.lp-door figcaption{padding:9px 12px 10px;color:var(--ink);font-size:.85rem;font-weight:800}.lp-door figcaption span{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:600}.lp-door-stop em{font-style:normal;color:var(--ink)}.lp-fandom-what{margin-top:-6px;color:var(--muted);font-size:.76rem;font-weight:700}.lp-door-path{grid-area:path;display:grid;grid-template-columns:72px 1fr;gap:8px 10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--panel-muted)}.lp-door-path img{display:block;width:100%;height:54px;border-radius:8px;object-fit:cover}.lp-door-stop{color:var(--muted);font-size:.8rem;font-weight:700}.lp-door-path .lp-sentence{grid-column:1 / -1}.lp-doors-caption{grid-area:caption;margin:0;color:var(--muted);font-size:.85rem;text-align:center}.lp-fandom-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.lp-fandom-card.compact{gap:7px;padding:10px 12px;border:0;border-radius:0;box-shadow:none}.lp-fandom-card h3{margin:0;font-size:1.02rem;line-height:1.3}.lp-fandom-card.compact h3{font-size:.92rem}.lp-fandom-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.lp-fandom-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.lp-fandom-source{color:var(--muted);font-size:.76rem;font-weight:700}.lp-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent-2)}.lp-badge-review{background:var(--accent)}.lp-fandom-actions{display:flex;flex-wrap:wrap;gap:6px}.lp-chip-action{display:inline-block;padding:5px 10px;border-radius:8px;background:var(--accent);color:var(--on-accent, #fff);font-size:.78rem;font-weight:800}.lp-chip-action.secondary{background:var(--panel-muted);color:var(--ink);border:1px solid var(--border)}.lp-fandom-card.compact .lp-fandom-actions{display:none}.lp-far-end-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);gap:22px;align-items:start}.lp-far-end-copy{display:grid;gap:12px}.lp-far-end-copy p{margin:0;line-height:1.6}.lp-far-end-copy p:first-child{font-size:1.05rem}.lp-fandom-grid{display:grid;gap:12px}.lp-ladder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:22px;align-items:start}.lp-ladder-copy{display:grid;gap:12px}.lp-ladder-copy p{margin:0;line-height:1.6}.lp-ladder{display:grid;gap:0;margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.lp-rung{display:grid;grid-template-columns:26px 1fr;gap:0 8px;padding:10px 12px;border-bottom:1px solid var(--border)}.lp-rung:last-child{border-bottom:0}.lp-rung-mark{grid-row:1 / 3;align-self:center;color:var(--accent);font-weight:900}.lp-rung strong{font-size:.92rem;line-height:1.3}.lp-rung strong em{font-style:normal;font-weight:600;color:var(--ink)}.lp-rung>span:last-child{color:var(--muted);font-size:.8rem}.lp-rung-top{background:color-mix(in srgb,var(--accent-2) 10%,transparent)}.lp-rung-placement{background:color-mix(in srgb,var(--accent) 8%,transparent)}.landing-kana-screenshot figcaption span{display:block;margin-top:2px;color:var(--muted);font-weight:500}.lp-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lp-frame{position:relative;display:grid;align-content:start;gap:10px;padding:16px;border:1px solid var(--border);border-left:2px solid var(--landing-edge-side);border-right:2px solid var(--landing-edge-side);border-radius:14px;background:var(--panel)}.lp-frame h3{margin:0;font-size:1.02rem}.lp-frame-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-accent, #fff);font-size:.85rem;font-weight:800}.lp-frame-title{margin:0;font-weight:750;line-height:1.35}.lp-frame-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.lp-cards{display:grid;gap:8px;margin:0;padding:0;list-style:none}.lp-cards li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-muted)}.lp-cards strong{font-size:1.3rem;line-height:1.1}.lp-cards li>span{align-self:end;color:var(--muted);font-size:.8rem}.lp-cards em{grid-column:1 / -1;font-style:normal;font-weight:750}.lp-cards small{grid-column:1 / -1;color:var(--muted);font-size:.78rem;line-height:1.4}.lp-attribution{margin:0;font-size:.85rem}.lp-sentence{margin:0;font-size:clamp(1.3rem,3.6vw,1.7rem);font-weight:700;line-height:1.9}.lp-sentence.small{font-size:clamp(1.1rem,2.6vw,1.35rem);line-height:1.7}.lp-nowrap{white-space:nowrap}.lp-seg{display:inline;padding:1px 2px;margin:0 1px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit;vertical-align:baseline}button.lp-seg{cursor:pointer}.lp-seg.grammar{box-shadow:inset 0 -2px #2f6fed47}.lp-seg.fogged{color:#6b7280;font-weight:950}.lp-seg.selected{outline:2px solid rgba(249,115,22,.7);outline-offset:2px}.lp-hearts-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:22px;align-items:start}.lp-hearts-copy{display:grid;gap:12px}.lp-hearts-copy p{margin:0;line-height:1.6}.lp-demo{display:grid;gap:12px;margin:0;padding:clamp(14px,3vw,22px);border:1px solid var(--border);border-left:2px solid var(--landing-edge-side);border-right:2px solid var(--landing-edge-side);border-radius:14px;background:var(--panel)}.lp-demo-state{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:.78rem;font-weight:700}.lp-demo-hint{margin:0;min-height:1.4em;color:var(--muted);font-size:.85rem}.lp-lookup{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-muted);font-size:.92rem}.lp-lookup strong{font-size:1.3rem}.lp-lookup-kind{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lp-lookup-hearts{margin-left:auto;font-weight:800}.lp-controls{display:grid;gap:8px}.lp-control{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:4px 8px}.lp-control-hint{grid-column:2;color:var(--muted);font-size:.78rem;line-height:1.4}.lp-control-label{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-segmented{display:inline-flex;flex-wrap:wrap;gap:4px}.lp-segmented button{min-height:30px;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.lp-segmented button.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent, #fff)}.lp-stage-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px;padding-top:10px;border-top:1px solid var(--border)}.lp-stage{display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:baseline;font-size:.76rem}.lp-stage i{color:var(--stage-color);font-style:normal}.lp-stage strong{color:var(--stage-color)}.lp-stage>span{grid-column:1 / -1;color:var(--muted);line-height:1.3}.lp-demo figcaption{color:var(--muted);font-size:.8rem;font-style:italic}.lp-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"ramen ramen bento bento" "ramen ramen detective detective" "watermelon bayes detective detective";gap:12px}.lp-tile{position:relative;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel-muted);box-shadow:inset 0 1px 0 var(--landing-edge-highlight),inset 0 -1px 0 var(--landing-edge-shadow)}.lp-tile img{display:block;width:100%;height:100%;object-fit:cover}.lp-tile figcaption{position:absolute;inset:auto 0 0;display:grid;gap:1px;padding:22px 12px 10px;background:linear-gradient(to top,#0a0c12d1,#0a0c1200);color:#fff}.lp-tile figcaption strong{font-size:.95rem;line-height:1.25}.lp-tile figcaption span{font-size:.74rem;font-weight:700;opacity:.85}.lp-tile-ramen{grid-area:ramen;aspect-ratio:3 / 4}.lp-tile-bento{grid-area:bento;aspect-ratio:16 / 9}.lp-tile-detective{grid-area:detective}.lp-tile-watermelon{grid-area:watermelon;aspect-ratio:9 / 16}.lp-tile-bayes{grid-area:bayes;aspect-ratio:9 / 16}.lp-tile-ramen img,.lp-tile-watermelon img,.lp-tile-bayes img{object-position:top}.lp-connect{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"lesson arrows media" "toggle toggle toggle";gap:14px;align-items:center}.lp-connect-card{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.lp-connect-card.lesson{grid-area:lesson}.lp-connect-card.media{grid-area:media}.lp-connect-card h3{margin:0;font-size:1.05rem}.lp-connect-card img{display:block;width:calc(100% + 28px);margin:-14px -14px 6px;aspect-ratio:16 / 10;object-fit:cover;object-position:center 30%}.lp-connect-words{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}.lp-shared{display:inline-flex;gap:6px;align-items:baseline;padding:3px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.82rem;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.lp-shared b{color:var(--ink);font-size:.95rem}.lp-connect.lit .lp-shared{background:color-mix(in srgb,#f59e0b 22%,transparent);border-color:#f59e0b;color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 25%,transparent)}.lp-connect-arrows{grid-area:arrows;display:grid;gap:10px;color:var(--muted);font-size:.78rem;font-weight:800;text-align:center}.lp-connect-toggle{grid-area:toggle;justify-self:center}.lp-vote{--landing-band: var(--landing-band-4);background:radial-gradient(circle at 12% 18%,color-mix(in srgb,#f59e0b 16%,transparent),transparent 42%),radial-gradient(circle at 88% 82%,color-mix(in srgb,var(--accent-2) 16%,transparent),transparent 46%),var(--panel)}.lp-vote-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:24px;align-items:start}.lp-vote-copy{display:grid;gap:12px}.lp-vote-copy p{margin:0;line-height:1.6}.lp-vote-copy p:first-child{font-size:1.05rem}.lp-points-ledger{display:grid;gap:8px;margin:6px 0 0;padding:0;list-style:none}.lp-points-ledger li{display:grid;grid-template-columns:64px 1fr;align-items:baseline;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 85%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lp-points-ledger strong{font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:900;letter-spacing:-.02em;color:#f59e0b}.lp-points-ledger li:last-child strong{color:var(--accent)}.lp-points-ledger span{color:var(--muted);font-size:.9rem}.lp-polls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"featured featured" "second third";gap:14px}.lp-poll{display:grid;overflow:hidden;border:1px solid var(--border);border-top:4px solid var(--poll-color, var(--accent));border-radius:16px;background:var(--panel);box-shadow:0 14px 30px -22px #0a0c128c,inset 0 1px 0 var(--landing-edge-highlight);transition:transform .16s ease,box-shadow .16s ease}.lp-poll:hover{transform:translateY(-2px);box-shadow:0 22px 36px -22px #0a0c1299,inset 0 1px 0 var(--landing-edge-highlight)}.lp-poll.featured{grid-area:featured;grid-template-columns:minmax(200px,.9fr) minmax(0,1.1fr)}.lp-poll-lessons{grid-area:second}.lp-poll-infographic{grid-area:third}.lp-poll-anime{--poll-color: #7c735f}.lp-poll-lessons{--poll-color: var(--accent)}.lp-poll-infographic{--poll-color: #637d77}.lp-poll-art{display:block;width:100%;height:100%;min-height:200px;object-fit:cover;object-position:40% center}.lp-poll-body{display:grid;align-content:start;gap:10px;padding:14px 16px 16px}.lp-poll-top{display:flex;justify-content:space-between;gap:8px}.lp-poll-category{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--poll-color, var(--accent));color:#fff;font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.lp-poll-kind{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-poll h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.12rem;line-height:1.3}.lp-poll-options{display:grid;gap:8px;margin:0;padding:0;list-style:none}.lp-poll-options li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label share" "bowl bowl" "add add";gap:3px 8px;align-items:baseline}.lp-poll-label{grid-area:label;font-size:.92rem;font-weight:700}.lp-poll-share{grid-area:share;color:var(--muted);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}.lp-poll-bowl{grid-area:bowl;display:block;height:10px;border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}.lp-poll-bowl i{display:block;height:100%;border-radius:999px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.35) 6px 7px),var(--poll-color, var(--accent))}.lp-poll-add{grid-area:add;justify-self:start;padding:2px 8px;border:1px dashed color-mix(in srgb,var(--poll-color, var(--accent)) 55%,transparent);border-radius:999px;color:var(--poll-color, var(--accent));font-size:.72rem;font-weight:800}.lp-poll-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:2px 0 0;color:var(--muted);font-size:.8rem}@media(max-width:860px){.lp-hero,.lp-far-end-layout,.lp-ladder-layout,.lp-hearts-layout,.lp-vote-layout,.lp-poll.featured{grid-template-columns:1fr}.lp-poll.featured .lp-poll-art{min-height:0;aspect-ratio:16 / 7}.lp-frames{grid-template-columns:1fr}.lp-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ramen bento" "ramen detective" "watermelon bayes"}.lp-tile-bento,.lp-tile-detective{aspect-ratio:4 / 3}}@media(max-width:560px){.lp-doors{grid-template-columns:1fr;grid-template-areas:"left" "path" "right" "caption"}.lp-door-path{grid-template-columns:56px 1fr}.lp-door-path .lp-sentence{grid-column:1 / -1}.lp-control{grid-template-columns:1fr;gap:4px}.lp-control-hint{grid-column:1}.lp-connect{grid-template-columns:1fr;grid-template-areas:"lesson" "arrows" "media" "toggle"}.lp-tile-watermelon,.lp-tile-bayes{aspect-ratio:3 / 4}.lp-polls{grid-template-columns:1fr;grid-template-areas:"featured" "second" "third"}}.kd-shell{--kd-vermilion: #c2381f}.kd-setup{display:flex;flex-direction:column;gap:12px}.kd-setup-top,.kd-setup-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.kd-tag{padding:3px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.75rem;font-weight:700}.kd-eyebrow{margin:6px 0 0;color:#c2381f;font-size:.8rem;font-weight:800;letter-spacing:.06em}.kd-title{margin:0;font-size:1.8rem}.kd-rules{margin:0;padding-left:18px;color:var(--muted);line-height:1.6}.kd-best{display:flex;flex-direction:column}.kd-best span{color:var(--muted);font-size:.75rem}.kd-best strong{font-size:1.5rem}.kd-new-best{margin:0;color:#c2381f;font-weight:800}.kd-misses-title{margin:8px 0 0;font-size:1.25rem}.kd-misses{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.kd-miss{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-left:5px solid #c2381f;border-radius:14px;background:var(--surface-strong)}.kd-miss.is-farther{border-left-color:#d08a1e}.kd-miss.is-crossed{border-left-color:var(--muted)}.kd-miss-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.kd-miss-num{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.kd-miss-label{padding:3px 10px;border-radius:999px;background:color-mix(in srgb,#c2381f 12%,transparent);color:#c2381f;font-size:.85rem;font-weight:800}.kd-miss.is-farther .kd-miss-label{background:color-mix(in srgb,#d08a1e 14%,transparent);color:#a8650a}.kd-miss.is-crossed .kd-miss-label{background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}.kd-miss-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kd-miss-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.kd-miss-caption{color:var(--muted);font-size:.8rem;font-weight:700}.kd-miss-none{color:var(--muted);font-size:1.2rem;font-style:italic}.kd-miss-fits{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.85rem}.kd-miss-why{margin:0;font-size:1rem;line-height:1.55}.kd-miss-answers ul{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none}.kd-miss-answers li{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:8px 10px;border:1px solid color-mix(in srgb,#2f8a4c 35%,var(--border));border-radius:10px;background:color-mix(in srgb,#2f8a4c 7%,var(--surface))}.kd-miss-relation{color:var(--muted);font-size:.72rem}.kd-face{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.kd-face-jp{font-size:1.6rem;font-weight:800}.kd-face-jp rt{font-size:.45em;font-weight:600;color:var(--muted)}.kd-face-gloss{color:var(--muted);font-size:.85rem}.kd-face.is-prompt .kd-face-jp,.kd-face.is-tapped .kd-face-jp{font-size:2.6rem}.kd-face.is-prompt .kd-face-jp{color:#c2381f}.kd-face.is-prompt .kd-face-gloss,.kd-face.is-tapped .kd-face-gloss{font-size:1rem}.kd-face.is-inline{flex-direction:row;gap:4px}.kd-face.is-inline .kd-face-jp{font-size:1.1rem}@media(max-width:480px){.kd-face.is-prompt .kd-face-jp,.kd-face.is-tapped .kd-face-jp{font-size:2.1rem}}.kd-play{--kd-vermilion: #c2381f;--kd-ivory: #f6f1e4;--kd-navy: #173a6b;--kd-word: 112px;width:min(520px,100%);min-height:calc(100dvh - 120px);margin:0 auto;padding:12px 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.kd-header{display:flex;align-items:center;gap:12px}.kd-streak{color:var(--muted);font-size:.8rem;font-weight:800;letter-spacing:.12em}.kd-streak strong{margin-left:4px;color:var(--ink);font-size:1.2rem;letter-spacing:0}.kd-focus{display:flex;gap:6px;margin-left:auto}.kd-focus i{width:11px;height:11px;border-radius:50%;background:var(--kd-vermilion)}.kd-focus i.is-spent{background:transparent;border:1.5px solid var(--border)}.kd-pause{padding:4px 10px;font-size:.8rem}.kd-sky{position:relative;flex:1;min-height:340px;overflow:hidden;border-radius:14px}.kd-sky.is-wrong{animation:kd-shake .26s ease}@keyframes kd-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.kd-lane{position:absolute;top:0;bottom:14px;width:0;border-left:1px dashed color-mix(in srgb,var(--muted) 55%,transparent)}.kd-lane-0{left:30%}.kd-lane-1{left:70%}.kd-word{position:absolute;top:calc(var(--kd-progress) * (100% - var(--kd-word) - 18px));display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:var(--kd-word);height:var(--kd-word);padding:0 10px;transform:translate(-50%);border:1px solid color-mix(in srgb,var(--kd-navy) 15%,transparent);border-radius:12px;background:var(--kd-ivory);color:color-mix(in srgb,var(--kd-vermilion) 75%,#000);box-shadow:0 6px 14px #0000001f}.kd-word-lane-0{left:30%}.kd-word-lane-1{left:70%}.kd-word span{font-size:2.1rem;font-weight:800;line-height:1.1;white-space:nowrap}.kd-word small{color:#5b5346;font-size:.8rem}.kd-aids{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:3px;line-height:1.05}.kd-aid{white-space:nowrap}.kd-aid-romaji{font-style:italic}.kd-aid-kana{letter-spacing:.03em}.kd-word.is-nearest{border-color:var(--kd-vermilion);background:var(--kd-vermilion);color:var(--kd-ivory);box-shadow:0 0 22px color-mix(in srgb,var(--kd-vermilion) 45%,transparent)}.kd-word.is-nearest small{color:color-mix(in srgb,var(--kd-ivory) 85%,transparent)}.kd-danger{position:absolute;left:0;right:0;bottom:8px;height:3px;border-radius:2px;background:var(--kd-vermilion);box-shadow:0 0 12px color-mix(in srgb,var(--kd-vermilion) 60%,transparent)}.kd-paused{position:absolute;inset:0;border:0;border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink);font-size:1.1rem;font-weight:800}.kd-hand{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kd-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:6px 4px;border:1px solid color-mix(in srgb,var(--kd-navy) 30%,transparent);border-radius:12px;background:var(--kd-ivory);color:var(--kd-navy);transition:transform .12s ease,opacity .12s ease}.kd-card span{font-size:clamp(1.15rem,5.4vw,1.9rem);font-weight:800;line-height:1.15;word-break:keep-all}.kd-card small{color:#5b5346;font-size:.75rem}.kd-card:not(:disabled):active{transform:scale(.96)}.kd-card:disabled{opacity:.55}.kd-card.is-correct{opacity:1;border-color:#2f8a4c;background:#e3f3e7}.kd-card.is-protected{opacity:1;border-color:#b57a16;background:#fff2cf}.kd-card.is-wrong{opacity:1;border-color:var(--kd-vermilion);background:#f9e0da}@media(max-width:480px){.kd-hand{grid-template-columns:repeat(2,1fr)}.kd-play{--kd-word: 102px}.kd-word span{font-size:1.8rem}}.kana-preview-kotodama{background:color-mix(in srgb,#c2381f 6%,var(--surface))}.kana-preview-kotodama strong{position:absolute;display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:#f6f1e4;color:#c2381f;font-size:1.1rem;box-shadow:0 3px 8px #0000001f}.kana-preview-kd-far{top:14px;right:30%}.kana-preview-kotodama .kana-preview-kd-near{top:58px;left:28%;background:#c2381f;color:#f6f1e4}.kana-preview-kd-line{position:absolute;left:10px;right:10px;bottom:44px;height:2px;background:#c2381f}.kana-preview-kd-cards{position:absolute;bottom:10px;left:11px;right:11px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.kana-preview-kd-cards span{display:grid;min-height:26px;place-items:center;border:1px solid color-mix(in srgb,#173a6b 30%,var(--border));border-radius:6px;background:#f6f1e4;color:#173a6b;font-size:.8rem;font-weight:800}.kd-card.is-empty{border-style:dashed;background:transparent;box-shadow:none}.trainer-mode-picker{display:flex;justify-content:center;gap:6px;width:min(520px,calc(100% - 24px));margin:10px auto 0;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.trainer-mode-picker button{flex:1;min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:800}.trainer-mode-picker button.is-on{background:var(--accent);color:var(--on-accent, #fff)}.trainer-intense-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:18px 20px;border:1px solid color-mix(in srgb,#c2381f 42%,var(--border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,#c2381f 12%,transparent),transparent 65%),var(--surface-strong)}.trainer-intense-entry>div{display:grid;gap:3px}.trainer-intense-entry strong{font-size:1.25rem}.trainer-intense-entry p{margin:0;color:var(--muted);line-height:1.45}.trainer-intense-kicker{color:#c2381f;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.trainer-intense-entry button{flex:0 0 auto;min-height:44px;padding:10px 18px;border:1px solid #c2381f;border-radius:999px;background:#c2381f;color:#fff;font-weight:850}.trainer-intense-entry button:disabled{opacity:.45}.trainer-inline-intense-entry{width:min(1100px,calc(100% - 24px));margin:12px auto}.trainer-shared-intense-state{display:grid;gap:16px;justify-items:start;width:min(1100px,calc(100% - 24px));margin:20px auto}.trainer-shared-intense-state p{margin:0}.kdt-play{min-height:min(760px,calc(100dvh - 100px))}.kdt-proof{color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.04em;white-space:nowrap}.kdt-save-error{margin:0;font-size:.82rem}.kdt-sky{min-height:330px}.kdt-lane{left:50%}.kdt-word{left:50%;max-width:min(320px,calc(100% - 20px));min-width:148px;width:max-content}.kdt-word[data-heart-stage="0"]{--kdt-heart-color: var(--heart-0, #666)}.kdt-word[data-heart-stage="1"]{--kdt-heart-color: var(--heart-1, #888)}.kdt-word[data-heart-stage="2"]{--kdt-heart-color: var(--heart-2, #22c55e)}.kdt-word[data-heart-stage="3"]{--kdt-heart-color: var(--heart-3, #3b82f6)}.kdt-word[data-heart-stage="4"]{--kdt-heart-color: var(--heart-4, #f97316)}.kdt-word[data-heart-stage="5"]{--kdt-heart-color: var(--heart-5, #ef4444)}.kdt-word[data-heart-stage="6"]{--kdt-heart-color: var(--heart-6, #f59e0b)}.kdt-word.is-nearest{border:2px solid var(--kdt-heart-color);background:color-mix(in srgb,var(--kdt-heart-color) 12%,var(--surface));color:var(--kdt-heart-color);box-shadow:inset 0 5px 0 var(--kdt-heart-color),0 7px 20px color-mix(in srgb,var(--kdt-heart-color) 28%,transparent)}.kdt-word.is-nearest small{color:var(--ink);opacity:.72}.kdt-word .kdt-heart-badge{position:absolute;top:8px;right:9px;color:var(--kdt-heart-color);font-size:.62rem;font-weight:900;line-height:1}.kdt-item-xp{position:absolute;left:11px;right:11px;bottom:8px;height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--ink) 12%,transparent)}.kdt-item-xp>i{display:block;width:0;height:100%;border-radius:inherit;background:var(--kdt-heart-color);box-shadow:0 0 7px color-mix(in srgb,var(--kdt-heart-color) 48%,transparent);transition:width .32s ease-out}.kdt-word.is-nearest.is-gray-heart{background:var(--surface);color:var(--ink);box-shadow:inset 0 5px 0 var(--kdt-heart-color),0 7px 18px color-mix(in srgb,var(--kdt-heart-color) 18%,transparent)}.kdt-word>span{max-width:290px;overflow-wrap:anywhere;white-space:normal;text-align:center}.kdt-cold-label{margin-top:5px;text-transform:uppercase;letter-spacing:.08em}.kdt-hand{grid-template-columns:repeat(2,minmax(0,1fr))}.kdt-hand.is-5{grid-template-columns:repeat(3,minmax(0,1fr))}.kdt-card{min-height:82px;padding:10px 8px}.kdt-card span{font-size:clamp(.92rem,3.7vw,1.35rem);overflow-wrap:anywhere}.kdt-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.78rem;font-weight:700}.kdt-misses{display:grid;gap:8px;margin:0;padding:0;list-style:none}.kdt-misses li{display:grid;grid-template-columns:minmax(70px,auto) 1fr 1fr;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:10px}.kdt-misses li strong{font-size:1.15rem}.kdt-misses li span{color:var(--muted);font-size:.82rem}@media(max-width:520px){.trainer-intense-entry{align-items:stretch;flex-direction:column}.trainer-intense-entry button{width:100%}.kdt-play .kd-header{flex-wrap:wrap}.kdt-play .kd-focus{margin-left:0}.kdt-play .kd-pause{margin-left:auto}.kdt-hand.is-5{grid-template-columns:repeat(2,minmax(0,1fr))}.kdt-misses li{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.kdt-item-xp>i{transition:none}}:root[data-skin~=aizome] .navbar{border-radius:var(--r-md);border:1px solid var(--rule);background:var(--paper-raised);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-skin~=aizome] .nav-brand-mark{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font-family:var(--font-ui);font-size:1.125rem;font-weight:600;box-shadow:none}:root[data-skin~=aizome] .nav-brand-copy strong{font-family:var(--font-ui);font-weight:600}:root[data-skin~=aizome] .nav-brand-copy small{color:color-mix(in srgb,var(--ink) 70%,transparent);font-size:.75rem;font-weight:600;letter-spacing:normal;text-transform:none}:root[data-skin~=aizome] .nav-tabs{border:1px solid var(--rule);border-radius:var(--r-md);background:var(--paper-raised)}:root[data-skin~=aizome] .nav-tab{border-radius:var(--r-md);color:color-mix(in srgb,var(--ink) 74%,transparent);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .nav-tab:hover{border-color:var(--rule-strong);background:color-mix(in srgb,var(--paper-raised) 6%,transparent);color:var(--ink)}:root[data-skin~=aizome] .nav-status-badge{font-size:.75rem;font-weight:600;letter-spacing:normal;text-transform:none}:root[data-skin~=aizome] .nav-status-preview{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn)}:root[data-skin~=aizome] .nav-status-admin{background:var(--accent-soft);color:color-mix(in srgb,var(--ink) 86%,transparent);border:1px solid var(--rule-strong)}:root[data-skin~=aizome] .nav-mode-badge{font-size:.75rem;font-weight:600;letter-spacing:normal;border:1px solid var(--rule);color:color-mix(in srgb,var(--ink) 86%,transparent)}:root[data-skin~=aizome] .nav-view-toggle{border:1px solid var(--rule);border-radius:var(--r-md);background:color-mix(in srgb,var(--paper-raised) 6%,transparent);color:color-mix(in srgb,var(--ink) 86%,transparent);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .site-footer{font-size:.875rem}:root[data-skin~=aizome] .site-footer a{font-weight:600}:root[data-skin~=aizome] .legal-panel{border-radius:var(--r-md);box-shadow:none}:root[data-skin~=aizome] .theme-toggle{border:1px solid var(--rule);border-radius:var(--r-md);background:color-mix(in srgb,var(--paper-raised) 6%,transparent);color:color-mix(in srgb,var(--ink) 82%,transparent)}:root[data-skin~=aizome] .theme-toggle-icon{background:color-mix(in srgb,var(--paper-raised) 9%,transparent);color:var(--ink);font-size:.875rem}:root[data-skin~=aizome] .theme-toggle-label{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .player-hud{border-radius:var(--r-md);border:1px solid var(--rule);background:color-mix(in srgb,var(--paper-raised) 6%,transparent);color:var(--ink)}:root[data-skin~=aizome] .player-name{border-radius:var(--r-md);color:var(--ink);font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .player-name-static{font-size:.875rem;font-weight:600;color:var(--ink)}:root[data-skin~=aizome] .player-name:focus{border-color:var(--accent)}:root[data-skin~=aizome] .auth-account-actions button{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .auth-account-actions button.danger{border-color:var(--rule-strong);color:var(--danger);background:var(--danger)}:root[data-skin~=aizome] .account-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--accent-soft);box-shadow:none}:root[data-skin~=aizome] .account-panel span{font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .account-stat-grid span{border-radius:var(--r-md)}:root[data-skin~=aizome] .account-stat-grid strong{font-size:1.125rem}:root[data-skin~=aizome] .account-settings-form label{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .account-settings-form input{border-radius:var(--r-md)}:root[data-skin~=aizome] .account-settings-form button{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .account-checkbox-label{font-size:.875rem}:root[data-skin~=aizome] .account-action-row button{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .account-action-row button.danger{border-color:var(--rule-strong);color:var(--danger)}:root[data-skin~=aizome] .account-saved-list span{border-radius:var(--r-md)}:root[data-skin~=aizome] .account-saved-list strong{font-size:.875rem}:root[data-skin~=aizome] .account-saved-list small{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .account-section-heading span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .account-notification-list article{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .account-notification-list strong{font-size:.875rem}:root[data-skin~=aizome] .account-notification-list span,:root[data-skin~=aizome] .account-notification-list small{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .account-notification-list button{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .player-level{border-radius:var(--r-md);font-weight:600;font-size:.75rem;color:var(--accent);border:1px solid var(--rule-strong);background:var(--accent-soft)}:root[data-skin~=aizome] .player-points{border-radius:var(--r-md);font-weight:600;font-size:.75rem;color:var(--warn);border:1px solid var(--rule-strong);background:var(--warn-soft)}:root[data-skin~=aizome] .xp-text{font-size:.75rem;font-weight:600;color:color-mix(in srgb,var(--ink) 68%,transparent)}:root[data-skin~=aizome] .xp-bar{border-radius:var(--r-md);background:color-mix(in srgb,var(--paper-raised) 12%,transparent)}:root[data-skin~=aizome] .xp-fill{background:var(--accent);box-shadow:none}:root[data-skin~=aizome] .auth-card{border-radius:var(--r-md);border:1px solid var(--rule-strong);background:var(--paper-raised);box-shadow:none}:root[data-skin~=aizome] .auth-mode-tabs{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--ink) 4%,transparent)}:root[data-skin~=aizome] .auth-mode-tab{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .page-loading-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600;box-shadow:none}:root[data-skin~=aizome] .topic-button{background:var(--paper-raised);border-color:var(--rule-strong)}:root[data-skin~=aizome] .page{border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:none}:root[data-skin~=aizome] .topic-title-toggle,:root[data-skin~=aizome] .topic-level-selector{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-title-toggle button,:root[data-skin~=aizome] .topic-level-selector button{border-radius:var(--r-sm);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-progression-kicker{font-size:.75rem;font-weight:600;text-transform:none}:root[data-skin~=aizome] .topic-gate-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--paper-raised);box-shadow:none}:root[data-skin~=aizome] .topic-gate-copy span{font-weight:600}:root[data-skin~=aizome] .topic-gate-error{color:var(--danger);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-gate-stats div{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-gate-stats strong{font-size:1.375rem}:root[data-skin~=aizome] .topic-gate-stats span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-gate-unlocks span{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-gate-unlocks strong{font-size:.875rem}:root[data-skin~=aizome] .topic-gate-actions button{border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-root-nav button{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--paper-raised) 84%,transparent);box-shadow:none}:root[data-skin~=aizome] [data-theme=dark] .topic-root-nav button{background:var(--paper-raised)}:root[data-skin~=aizome] .topic-root-nav .topic-root-card-mark{border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-root-nav strong{font-size:1rem}:root[data-skin~=aizome] .topic-root-nav button>span:not(.topic-root-card-mark){font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-breadcrumbs button{border-color:var(--rule-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 7%,var(--surface-strong));font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-tree-node{border:1px solid var(--rule-strong);border-radius:var(--r-md);box-shadow:none}:root[data-skin~=aizome] .topic-tree-node:before{border-radius:var(--r-md);background:var(--accent-soft)}:root[data-skin~=aizome] .topic-tree-expand{border-color:var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-tree-title{border-radius:var(--r-md);border-color:var(--rule-strong)}:root[data-skin~=aizome] .topic-tree-title span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-article-row{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-article-main span,:root[data-skin~=aizome] .topic-article-meta span,:root[data-skin~=aizome] .topic-empty-note{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-level-badges span{font-size:.75rem;font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 18%,transparent)}:root[data-skin~=aizome] .topic-article-row button,:root[data-skin~=aizome] .topic-article-read-link{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-rail-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 5%,var(--surface-strong));box-shadow:none}:root[data-skin~=aizome] .topic-request-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--warn-soft);box-shadow:none}:root[data-skin~=aizome] .topic-request-panel h3{font-size:1.125rem}:root[data-skin~=aizome] .topic-request-panel span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-request-panel input{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .topic-request-panel input:focus{border-color:var(--warn);box-shadow:none}:root[data-skin~=aizome] .topic-request-panel button{border-color:var(--rule-strong);border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-review-panel{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--accent-soft);box-shadow:none}:root[data-skin~=aizome] .topic-review-panel-header button{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-review-item{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-review-item strong{font-size:.875rem}:root[data-skin~=aizome] .topic-review-item span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-review-flags span{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:.75rem}:root[data-skin~=aizome] .topic-review-item input{border-radius:var(--r-md);font-size:.75rem}:root[data-skin~=aizome] .topic-review-actions button{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-rail-panel h3{font-size:1rem}:root[data-skin~=aizome] .topic-rail-list button{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-rail-list strong{font-size:.875rem}:root[data-skin~=aizome] .topic-rail-list span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-rail-list .topic-level-badges span{font-size:.75rem}:root[data-skin~=aizome] .topic-browser-loading{border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-read-header span,:root[data-skin~=aizome] .topic-read-sidebar span{font-weight:600}:root[data-skin~=aizome] .topic-read-back,:root[data-skin~=aizome] .topic-read-header>button:last-child{border-radius:var(--r-md);font-weight:600}:root[data-skin~=aizome] .topic-read-dashboard>div{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-read-dashboard strong{font-size:1.375rem}:root[data-skin~=aizome] .topic-read-dashboard span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-read-live-debug{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-read-live-debug span{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-debug-toolbar{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-debug-toolbar label{font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .topic-hearts-dimension{border-radius:var(--r-sm);font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .topic-fog-legend span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-fog-swatch{color:var(--ink-2);font-weight:600}:root[data-skin~=aizome] .topic-debug-backend-error{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger)}:root[data-skin~=aizome] .topic-debug-backend-error strong{font-size:1rem}:root[data-skin~=aizome] .topic-debug-backend-error span{font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .topic-debug-threshold span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-debug-threshold button{font-weight:600}:root[data-skin~=aizome] .topic-read-article{border:1px solid var(--rule-strong);border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-read-article p{font-weight:600}:root[data-skin~=aizome] .topic-read-sentence-debug span{border:1px solid var(--rule-strong);border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-read-segment{border-radius:var(--r-sm)}:root[data-skin~=aizome] .topic-read-unowned-fog{border-radius:var(--r-sm);color:var(--ink);font-weight:600}:root[data-skin~=aizome] .topic-read-fog-block{color:var(--ink-2);font-weight:600}:root[data-skin~=aizome] .topic-read-sidebar{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-read-blocker-list small{font-weight:600}:root[data-skin~=aizome] .topic-debug-summary-grid span{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-debug-summary-grid strong{font-size:1.125rem}:root[data-skin~=aizome] .topic-debug-empty{font-size:.875rem;font-weight:600}:root[data-skin~=aizome] .topic-segment-inspector dt{font-size:.75rem;font-weight:600;text-transform:none}:root[data-skin~=aizome] .topic-segment-inspector dd{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-segment-findings{border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--warn-soft)}:root[data-skin~=aizome] .topic-segment-findings strong{color:var(--accent)}:root[data-skin~=aizome] .topic-segment-findings span{color:var(--accent);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-category-card{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-category-header span{border-radius:var(--r-md)}:root[data-skin~=aizome] .topic-progression-row-main span,:root[data-skin~=aizome] .topic-progression-row-meta span{font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .topic-progression-row button{border-radius:var(--r-md);font-size:.75rem;font-weight:600}:root[data-skin~=aizome] .skill-training-stats .skill-training-gold-flash{border-color:var(--warn);background:var(--warn-soft);font-weight:600}:root[data-skin~=aizome] .skill-training-prompt-label{font-weight:600;text-transform:none}:root[data-skin~=aizome] .skill-training-reading-kind{font-weight:600}:root[data-skin~=aizome] .skill-training-sentence-context strong{font-weight:600}:root[data-skin~=aizome] .skill-training-image-meaning-card{border:1px solid var(--rule-strong);background:var(--accent-soft);box-shadow:none}:root[data-skin~=aizome] .skill-training-image-mask{background:color-mix(in srgb,var(--paper-raised) 20%,transparent)}:root[data-skin~=aizome] .skill-training-image-mask-overlay{color:var(--ink);background:color-mix(in srgb,var(--paper-raised) 20%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-skin~=aizome] .skill-training-image-mask-overlay strong{font-weight:600;text-transform:none}:root[data-skin~=aizome] .skill-training-image-mask-overlay small{color:color-mix(in srgb,var(--ink) 82%,transparent);font-weight:600}:root[data-skin~=aizome] .skill-training-image-meaning-copy span{font-weight:600;text-transform:none}:root[data-skin~=aizome] .skill-training-image-meaning-copy button{font-weight:600}:root[data-skin~=aizome] .skill-training-image-batch-controls input{font-weight:600}:root[data-skin~=aizome] .skill-training-image-generation-status{border:1px solid var(--rule-strong)}:root[data-skin~=aizome] .skill-training-srs-error{border:1px solid var(--rule-strong);background:var(--danger-soft);color:var(--danger);font-weight:600}:root[data-skin~=aizome] .skill-training-override-panel{border:1px solid var(--rule-strong);background:var(--accent-soft)}:root[data-skin~=aizome] .skill-training-image-empty{font-weight:600}:root[data-skin~=aizome] .skill-training-image-empty button{font-weight:600}:root[data-skin~=aizome] .skill-training-distractor-debug{font-weight:600}:root[data-skin~=aizome] .skill-training-next3-title{font-weight:600;text-transform:none}:root[data-skin~=aizome] .kr-type-badge{font-weight:600}:root[data-skin~=aizome] .kr-meaning{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-source-note{border:1px solid var(--rule-strong);background:var(--accent-soft);font-weight:600}:root[data-skin~=aizome] .kr-opt-romaji{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-hint{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-star-pip{color:var(--border, var(--ink))}:root[data-skin~=aizome] .kr-star-count{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-star-banked{color:var(--warn);font-weight:600}:root[data-skin~=aizome] .kr-vocab-btn{background:var(--accent-soft);border:1px solid var(--rule-strong)}:root[data-skin~=aizome] .kr-vocab-btn:hover{background:var(--accent-soft)}:root[data-skin~=aizome] .kr-vocab-count{font-weight:600;color:var(--accent)}:root[data-skin~=aizome] .kr-vocab-label{color:var(--muted, var(--ink-2));text-transform:none}:root[data-skin~=aizome] .kr-level-label{font-weight:600;color:var(--warn)}:root[data-skin~=aizome] .kr-level-bar-track{background:color-mix(in srgb,var(--paper-raised) 10%,transparent)}:root[data-skin~=aizome] .kr-level-bar-fill{background:var(--warn)}:root[data-skin~=aizome] .kr-levelup-overlay{background:var(--paper-raised)}:root[data-skin~=aizome] .kr-levelup-text{font-weight:600;color:var(--warn);text-shadow:none}:root[data-skin~=aizome] .kr-levelup-num{font-weight:600;color:var(--ink);text-shadow:none}:root[data-skin~=aizome] .kr-level-xp{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-xp-flash{font-weight:600;color:var(--warn)}:root[data-skin~=aizome] .kr-empty{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-slam-text{font-weight:600;color:var(--warn);text-shadow:none}:root[data-skin~=aizome] .kr-slam-l3{background:var(--warn)}:root[data-skin~=aizome] .kr-flash-overlay{background:var(--warn-soft)}:root[data-skin~=aizome] .kr-debug-title{color:var(--muted, var(--ink-2));text-transform:none}:root[data-skin~=aizome] .kr-debug-due{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .kr-upcoming-char{color:var(--muted, var(--ink-2))}:root[data-skin~=aizome] .nav-issues-link{border:1px solid var(--rule);border-radius:var(--r-md);background:color-mix(in srgb,var(--paper-raised) 6%,transparent);color:color-mix(in srgb,var(--ink) 86%,transparent);font-size:.75rem;font-weight:600;letter-spacing:normal}:root[data-skin~=aizome] .nav-issues-link:hover{border-color:var(--rule);background:color-mix(in srgb,var(--paper-raised) 13%,transparent);color:var(--ink)}:root[data-skin~=aizome] .nav-issues-icon{font-size:.875rem}:root[data-skin~=aizome] .trainer-type-chip{font-weight:600}:root[data-skin~=aizome] .trainer-type-count{font-family:var(--font-mono)}:root[data-skin~=aizome] .skill-training-size button{font-weight:600}@media(max-width:640px){:root[data-skin~=aizome] .navbar{border-radius:var(--r-md)}:root[data-skin~=aizome] .nav-brand-mark{font-size:1rem;border-radius:var(--r-md)}:root[data-skin~=aizome] .nav-brand-copy strong{font-size:1rem}:root[data-skin~=aizome] .player-name,:root[data-skin~=aizome] .player-name-static{font-size:.75rem}:root[data-skin~=aizome] .player-hud .xp-bar,:root[data-skin~=aizome] .player-hud progress{border-radius:var(--r-md)}:root[data-skin~=aizome] .nav-tabs{border-radius:var(--r-md)}:root[data-skin~=aizome] .nav-tab{font-size:.75rem}}:root[data-skin~=aizome]{--paper: #fbfaf7;--paper-raised: #ffffff;--paper-sunken: #f3f1ec;--rule: #e4e0d8;--rule-strong: #cfc9be;--ink: #1c1b19;--ink-2: #55524c;--ink-3: #8a867e;--accent: #2f4f8f;--accent-hover: #253f74;--accent-soft: #e8edf7;--on-accent: #ffffff;--shu: #c4462b;--ok: #3f7a4a;--ok-soft: #e6f0e7;--warn: #96600f;--warn-soft: #f6ecd9;--danger: #b03a2e;--danger-soft: #f7e3e0;--heart-0: #6f6a62;--heart-1: #8a867e;--heart-2: #4f8a55;--heart-3: #2f5f9e;--heart-4: #c86a22;--heart-5: #9c2f5a;--heart-6: #a97a14;--dim-reading: #2a7f86;--dim-meaning: #8a4c8f;--dim-disambig: #9c7a1e;--dim-listening: #4f6b4f;--font-ui: "IBM Plex Sans", "IBM Plex Sans JP", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--font-read: "IBM Plex Sans JP", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r-sm: 4px;--r-md: 8px;--r-pill: 999px;--lift-1: 0 4px 16px color-mix(in srgb, var(--ink) 10%, transparent);--lift-2: 0 16px 40px color-mix(in srgb, var(--ink) 18%, transparent);--bg: var(--paper);--bg-accent: var(--paper-sunken);--muted: var(--ink-2);--accent-2: var(--accent);--accent-3: var(--accent);--stat-done: var(--ok);--panel: var(--paper-raised);--border: var(--rule);--panel-muted: var(--paper-sunken);--surface: var(--paper-raised);--surface-strong: var(--paper-raised);--surface-accent: var(--paper-raised);--surface-pop: var(--paper-sunken);--surface-inset: var(--paper-sunken);--button-bg: var(--paper-raised);--button-border-strong: var(--rule-strong);--nav-bg: var(--paper-raised);--drawer-bg: var(--paper-raised);--drawer-bg-warm: var(--paper-raised);--backdrop: color-mix(in srgb, var(--ink) 35%, transparent);--shadow: none;--shadow-soft: none;--shadow-strong: var(--lift-2);--bg-radial-1: transparent;--bg-radial-2: transparent;--text-warm: var(--ink);--text-gold: var(--warn);font-family:var(--font-ui);font-feature-settings:normal}:root[data-skin~=aizome][data-theme=dark]{--paper: #16171a;--paper-raised: #1d1f23;--paper-sunken: #111214;--rule: #2c2f35;--rule-strong: #3b3f46;--ink: #eceae6;--ink-2: #a9a59e;--ink-3: #76726c;--accent: #8fa8e0;--accent-hover: #a9bce8;--accent-soft: #1f2a40;--on-accent: #0f1420;--shu: #e87a61;--ok: #7dbb86;--ok-soft: #1c2a1f;--warn: #e0a94f;--warn-soft: #2d2415;--danger: #eb8577;--danger-soft: #33201d;--heart-0: #9a958d;--heart-1: #77726b;--heart-2: #5a9e66;--heart-3: #6b8fd4;--heart-4: #c9772f;--heart-5: #b35a9a;--heart-6: #b48e2e;--dim-reading: #6cc0c7;--dim-meaning: #c792cb;--dim-disambig: #d6b45a;--dim-listening: #93b393;color-scheme:dark}:root[data-skin~=aizome] .topic-read-back{border-color:color-mix(in srgb,var(--topic, var(--accent)) 68%,var(--rule-strong));background:color-mix(in srgb,var(--topic, var(--accent)) 10%,var(--paper-raised));color:var(--topic, var(--accent))}:root[data-skin~=aizome] .topic-read-train{border-color:color-mix(in srgb,var(--shu) 64%,var(--rule-strong));background:color-mix(in srgb,var(--shu) 9%,var(--paper-raised));color:var(--shu)}:root[data-skin~=aizome] .topic-read-back:hover,:root[data-skin~=aizome] .topic-read-back:focus-visible{background:color-mix(in srgb,var(--topic, var(--accent)) 18%,var(--paper-raised))}:root[data-skin~=aizome] .topic-read-train:hover,:root[data-skin~=aizome] .topic-read-train:focus-visible{background:color-mix(in srgb,var(--shu) 17%,var(--paper-raised))}:root[data-skin~=aizome] body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.55}:root[data-skin~=aizome] h1,:root[data-skin~=aizome] h2,:root[data-skin~=aizome] h3{font-family:var(--font-ui);font-weight:600;letter-spacing:-.01em;color:var(--ink)}:root[data-skin~=aizome] :lang(ja),:root[data-skin~=aizome] [lang=ja]{font-family:var(--font-read);line-break:strict}:root[data-skin~=aizome] a{color:var(--accent)}:root[data-skin~=aizome] a:hover{color:var(--accent-hover)}:root[data-skin~=aizome] .nav-brand,:root[data-skin~=aizome] .nav-brand:hover{color:#f8fafc}:root[data-skin~=aizome] .landing-brand-lockup,:root[data-skin~=aizome] .landing-brand-lockup:hover{color:var(--ink)}:root[data-skin~=aizome] button{border-radius:var(--r-md);border:1px solid var(--rule-strong);background:var(--paper-raised);color:var(--ink);font-family:var(--font-ui);font-weight:500;transition:background-color .12s ease,border-color .12s ease,color .12s ease}@media(hover:hover){:root[data-skin~=aizome] button:hover:not([aria-pressed=true]){border-color:var(--ink-3);background:var(--paper-sunken);box-shadow:none;transform:none}}:root[data-skin~=aizome] .auth-account-actions button.danger,:root[data-skin~=aizome] .auth-account-actions button.danger:hover,:root[data-skin~=aizome] .auth-account-actions button.danger:focus-visible{border-color:color-mix(in srgb,var(--danger) 48%,var(--rule-strong));background:var(--danger-soft);color:var(--danger)}:root[data-skin~=aizome] .word-lookup .word-lookup-dismiss,:root[data-skin~=aizome] .word-lookup .word-lookup-dismiss:hover,:root[data-skin~=aizome] .word-lookup .word-lookup-dismiss:focus-visible{border-color:color-mix(in srgb,var(--danger) 48%,var(--rule-strong));background:var(--danger-soft);color:var(--danger);font-weight:800}:root[data-skin~=aizome] .video-play-overlay,:root[data-skin~=aizome] .video-play-overlay:hover{border:0;border-radius:0;background:radial-gradient(circle,rgba(0,0,0,.22),transparent 36%);color:#fff;box-shadow:none;transform:none}:root[data-skin~=aizome] button:focus{outline:none}:root[data-skin~=aizome] button:focus-visible,:root[data-skin~=aizome] a:focus-visible,:root[data-skin~=aizome] input:focus-visible,:root[data-skin~=aizome] select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-skin~=aizome] button:disabled{opacity:.5}:root[data-skin~=aizome] input,:root[data-skin~=aizome] select,:root[data-skin~=aizome] textarea{font-family:var(--font-ui);border-color:var(--rule-strong);border-radius:var(--r-sm);background:var(--paper-raised);color:var(--ink)}@media(prefers-reduced-motion:reduce){:root[data-skin~=aizome] *{transition:none!important;animation-duration:.01ms!important}}:root[data-skin~=aizome] .navbar{border:0;border-inline:1px solid var(--rule);border-bottom:1px solid var(--rule);border-radius:0;background:var(--paper-raised);box-shadow:none;padding:10px 16px}:root[data-skin~=aizome] .nav-brand{color:var(--ink)}:root[data-skin~=aizome] .nav-brand-mark{width:32px;height:32px;border:0;border-radius:var(--r-sm);background:var(--shu);color:#fff;font-family:var(--font-read);font-size:.8rem;font-weight:600;letter-spacing:-.02em;box-shadow:none}:root[data-skin~=aizome] .nav-brand-copy strong{font-family:var(--font-ui);font-weight:600;color:var(--ink)}:root[data-skin~=aizome] .nav-brand-copy small{color:var(--ink-3);font-weight:400;text-transform:none;letter-spacing:normal}:root[data-skin~=aizome] .nav-tabs{border:0;background:transparent;box-shadow:none}:root[data-skin~=aizome] .nav-tab{border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-2);font-weight:500;padding:8px 10px}:root[data-skin~=aizome] .nav-tab:hover{background:transparent;color:var(--ink)}:root[data-skin~=aizome] .nav-tab.active{border-bottom-color:var(--accent);background:transparent;box-shadow:none;color:var(--ink)}:root[data-skin~=aizome] .player-hud{border:1px solid var(--rule);background:var(--paper-sunken);box-shadow:none}:root[data-skin~=aizome] .xp-bar{background:var(--rule)}:root[data-skin~=aizome] .xp-fill{background:var(--accent)}:root[data-skin~=aizome] .nav-status-badge,:root[data-skin~=aizome] .nav-mode-badge{font-weight:500;letter-spacing:normal;text-transform:none}:root[data-skin~=aizome] .nav-status-preview,:root[data-skin~=aizome] .nav-mode-badge.local{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}:root[data-skin~=aizome] .nav-status-admin{background:var(--paper-sunken);border-color:var(--rule-strong);color:var(--ink-2)}:root[data-skin~=aizome] .nav-mode-badge.live{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}:root[data-skin~=aizome] .page,:root[data-skin~=aizome] .topic-gate-panel,:root[data-skin~=aizome] .topic-read-article,:root[data-skin~=aizome] .topic-read-sidebar,:root[data-skin~=aizome] .auth-card{background:var(--paper-raised);border:1px solid var(--rule);box-shadow:none}:root[data-skin~=aizome] .topic-gate-actions button:nth-child(2){border-color:var(--accent);background:var(--accent);color:var(--on-accent)}:root[data-skin~=aizome] .topic-gate-actions button:nth-child(2):hover{background:var(--accent-hover)}:root[data-skin~=aizome] .topic-gate-actions button.saved,:root[data-skin~=aizome] .topic-gate-actions button.liked{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}:root[data-skin~=aizome] .topic-title-toggle button.active,:root[data-skin~=aizome] .topic-level-selector button.active,:root[data-skin~=aizome] .auth-mode-tab.active{background:var(--paper-raised);border-color:var(--rule-strong);color:var(--ink);box-shadow:var(--lift-1)}:root[data-skin~=aizome] .topic-read-article{font-family:var(--font-read)}:root[data-skin~=aizome] .topic-read-article p{line-height:1.95;letter-spacing:.02em}:root[data-skin~=aizome] .topic-read-segment.grammar{box-shadow:inset 0 -1.5px color-mix(in srgb,var(--accent) 40%,transparent)}:root[data-skin~=aizome] .topic-read-segment.fogged{color:var(--ink-3)}:root[data-skin~=aizome] .topic-read-segment.selected{outline:0;background:var(--accent-soft);border-radius:var(--r-sm)}:root[data-skin~=aizome] .topic-read-fog-block,:root[data-skin~=aizome] .topic-read-unowned-fog,:root[data-skin~=aizome] .topic-read-segment.unmapped .topic-read-fog-block{color:var(--ink-3);font-weight:500}:root[data-skin~=aizome] .topic-read-fog-block.deep{color:var(--ink-2)}:root[data-skin~=aizome] .account-admin-select-label select,.account-admin-select-label select{font-size:.75rem}:root[data-skin~=aizome] .topic-root-nav button{--topic-accent: var(--accent);border-color:var(--rule);background:var(--paper-raised)}:root[data-skin~=aizome] .topic-root-nav button:after{display:none}:root[data-skin~=aizome] .topic-root-nav button:hover{border-color:var(--rule-strong);transform:none}:root[data-skin~=aizome] .topic-root-nav button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);transform:none}:root[data-skin~=aizome] .topic-root-nav .topic-root-card-mark{border:1px solid var(--rule);background:var(--paper-sunken);color:var(--ink-2);font-family:var(--font-read);font-weight:500}:root[data-skin~=aizome] .topic-root-nav button.active .topic-root-card-mark{border-color:transparent;background:var(--accent-soft);color:var(--accent)}:root[data-skin~=aizome] .navbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 16px}:root[data-skin~=aizome] .nav-actions{flex-wrap:nowrap;justify-content:flex-end}:root[data-skin~=aizome] .nav-tabs{order:initial;width:auto;margin:0;overflow-x:auto}@media(max-width:640px){:root[data-skin~=aizome] .navbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand tabs hud";gap:6px;padding:7px 8px}}:root[data-skin~=aizome] .nav-tabs{gap:6px;padding:5px 6px;border:1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--paper-sunken);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 8%,transparent)}:root[data-skin~=aizome] .nav-tab{border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--paper-raised);color:var(--ink);font-weight:600;padding:6px 11px;box-shadow:0 1px color-mix(in srgb,var(--ink) 10%,transparent);transition:transform .12s ease,border-color .12s ease,background .12s ease}:root[data-skin~=aizome] .nav-tab:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);transform:translateY(-1px)}:root[data-skin~=aizome] .nav-tab.active{border-color:var(--accent);background:var(--accent);color:var(--paper-raised);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 35%,transparent)}:root[data-skin~=aizome] .nav-tab.active .nav-status-badge{background:color-mix(in srgb,var(--paper-raised) 22%,transparent);color:var(--paper-raised)}:root[data-skin~=kasane]{--paper: #f7f3ea;--paper-raised: #fffdf8;--paper-sunken: #efe9dc;--rule: #e2dacb;--rule-strong: #cbbfa9;--ink: #1f1c18;--ink-2: #57514a;--ink-3: #8b8479;--shu: #b8401f;--shu-soft: #f6e2da;--font-display: "Shippori Mincho", "Noto Serif JP", "Hiragino Mincho ProN", serif;--c-science: #1f6e78;--c-history: #8c3350;--c-culture: #8f5f10;--c-sports: #3b7445;--c-business: #7a5a3c;--c-movies: #654a8c;--c-anime: #a6436c;--c-technology: #4f5b63;--c-music: #5e57a0;--heart-2: #34983e;--heart-3: #1c6ad0;--heart-4: #d86208;--heart-5: #cd1c62;--heart-6: #b37a00;--topic: var(--accent);--topic-tint: color-mix(in srgb, var(--topic) 10%, #ffffff);--topic-wash: color-mix(in srgb, var(--topic) 5%, var(--paper));--topic-edge: color-mix(in srgb, var(--topic) 35%, var(--rule))}:root[data-skin~=kasane][data-theme=dark]{--paper: #15171d;--paper-raised: #1c1f27;--paper-sunken: #111318;--rule: #2b2f3a;--rule-strong: #3b404d;--ink: #ece7de;--ink-2: #aba498;--ink-3: #78726a;--shu: #f08a6a;--shu-soft: #3a211a;--c-science: #6fc1c9;--c-history: #e08ba4;--c-culture: #e3b45e;--c-sports: #8fc596;--c-business: #cfa67f;--c-movies: #b69bdc;--c-anime: #e68fb3;--c-technology: #a7b3bb;--c-music: #a9a2e6;--heart-2: #64b872;--heart-3: #7fa1e4;--heart-4: #df893c;--heart-5: #c968ad;--heart-6: #d9a82d;--topic-tint: color-mix(in srgb, var(--topic) 12%, var(--paper-raised));--topic-wash: color-mix(in srgb, var(--topic) 6%, var(--paper));--topic-edge: color-mix(in srgb, var(--topic) 40%, var(--rule))}:root[data-skin~=kasane][data-topic-root=science],:root[data-skin~=kasane] [data-topic-root=science]{--topic: var(--c-science)}:root[data-skin~=kasane][data-topic-root=history],:root[data-skin~=kasane] [data-topic-root=history]{--topic: var(--c-history)}:root[data-skin~=kasane][data-topic-root=culture],:root[data-skin~=kasane] [data-topic-root=culture]{--topic: var(--c-culture)}:root[data-skin~=kasane][data-topic-root=sports-tactics],:root[data-skin~=kasane] [data-topic-root=sports-tactics]{--topic: var(--c-sports)}:root[data-skin~=kasane][data-topic-root=business],:root[data-skin~=kasane] [data-topic-root=business]{--topic: var(--c-business)}:root[data-skin~=kasane][data-topic-root=movies],:root[data-skin~=kasane] [data-topic-root=movies]{--topic: var(--c-movies)}:root[data-skin~=kasane][data-topic-root=anime],:root[data-skin~=kasane] [data-topic-root=anime]{--topic: var(--c-anime)}:root[data-skin~=kasane][data-topic-root=technology],:root[data-skin~=kasane] [data-topic-root=technology]{--topic: var(--c-technology)}:root[data-skin~=kasane][data-topic-root=music],:root[data-skin~=kasane] [data-topic-root=music]{--topic: var(--c-music)}:root[data-skin~=kasane] body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.28 0 0 0 0 0.18 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-skin~=kasane][data-theme=dark] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.025 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-skin~=kasane] h1,:root[data-skin~=kasane] h2{font-family:var(--font-display);font-weight:700;letter-spacing:.01em}:root[data-skin~=kasane] .topic-progression-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-weight:500}:root[data-skin~=kasane] .topic-progression-kicker:before{content:"";width:14px;height:2px;background:var(--topic)}:root[data-skin~=kasane] .navbar{border-top:3px solid var(--accent);background:var(--paper-raised)}:root[data-skin~=kasane] .nav-brand-mark{background:var(--shu);font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:-.02em}:root[data-skin~=kasane] .nav-brand-copy strong{font-family:var(--font-display);font-size:1.1rem;font-weight:700}:root[data-skin~=kasane] .topic-root-nav button{border-color:var(--rule);border-left:4px solid var(--topic);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-root-nav button:hover{border-color:var(--topic-edge);border-left-color:var(--topic);background:var(--topic-tint)}:root[data-skin~=kasane] .topic-root-nav .topic-root-card-mark{border:0;background:var(--topic-tint);color:var(--topic);font-family:var(--font-display);font-size:1.25rem;font-weight:700}:root[data-skin~=kasane] .topic-root-nav strong{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.25;white-space:normal}:root[data-skin~=kasane] .topic-root-nav button.active{border-color:var(--topic);box-shadow:inset 0 0 0 1px var(--topic);background:var(--topic-tint)}:root[data-skin~=kasane] .topic-root-nav button.active .topic-root-card-mark{background:var(--topic);color:var(--paper-raised)}:root[data-skin~=kasane] .topic-root-nav button.active:before{content:"";position:absolute;top:0;right:14px;width:10px;height:14px;background:var(--shu);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}:root[data-skin~=kasane] .topic-gate-panel{border-color:var(--topic-edge);border-top:4px solid var(--topic);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-gate-panel h2{font-size:1.9rem;line-height:1.25}:root[data-skin~=kasane] .topic-gate-stats>div{border-color:var(--topic-edge);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-gate-stats strong{color:var(--topic);font-family:var(--font-mono);font-weight:500}:root[data-skin~=kasane] .topic-level-selector button.active{border-color:var(--topic-edge);color:var(--topic)}:root[data-skin~=kasane] .topic-read-header h1{color:color-mix(in srgb,var(--topic) 58%,var(--ink-2));font-family:var(--font-read);font-size:calc(1.8rem * var(--reader-font-scale, 1));font-weight:700;letter-spacing:0}:root[data-skin~=kasane] .topic-read-header{border-bottom:1px solid var(--topic-edge);padding-bottom:14px}:root[data-skin~=kasane] .topic-read-dashboard>div,:root[data-skin~=kasane] .topic-read-heart-panel{border-color:var(--topic-edge);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-read-dashboard strong{color:var(--topic);font-family:var(--font-mono);font-weight:500}:root[data-skin~=kasane] .topic-read-article{border-top:3px solid var(--topic);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-read-article h2{color:color-mix(in srgb,var(--topic) 58%,var(--ink-2));font-family:var(--font-read);font-size:calc(1.5rem * var(--reader-font-scale, 1));font-weight:700;letter-spacing:0}:root[data-skin~=kasane] .topic-read-segment.selected{background:var(--shu-soft);box-shadow:inset 0 -2px 0 var(--shu)}:root[data-skin~=kasane] .topic-read-sidebar{border-color:var(--topic-edge);border-top:3px solid var(--topic);background:var(--paper-raised)}:root[data-skin~=kasane] .topic-read-sidebar h3{font-family:var(--font-display);font-weight:700}:root[data-skin~=kasane] .topic-read-sidebar .word-lookup h3{font-family:var(--font-ui)}:root[data-skin~=kasane] .topic-request-panel{border-color:color-mix(in srgb,var(--shu) 30%,var(--rule));background:var(--paper-raised)}
