:root{color:#1c1a17;background:#f4f1eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #1c1a17;--muted: #746f66;--paper: #fffdf8;--paper-2: #f9f6ef;--line: rgba(36, 31, 24, .1);--line-strong: rgba(36, 31, 24, .18);--sidebar: #191815;--shadow: 0 18px 42px rgba(43, 35, 24, .14), 0 4px 14px rgba(43, 35, 24, .08);--shadow-tight: 0 10px 24px rgba(43, 35, 24, .12);--accent: #2f7f68;--accent-soft: #ecf8f3;--accent-ink: #113d32;--accent-stripe: #7ac7b3}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden;background:linear-gradient(90deg,rgba(28,26,23,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(28,26,23,.035) 1px,transparent 1px),linear-gradient(135deg,#f7f4ee,#e9e5dc);background-size:42px 42px,42px 42px,auto}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{display:grid;grid-template-columns:342px minmax(0,1fr) 304px;min-height:100vh}.app-shell-reference{grid-template-columns:342px minmax(0,1fr)}.library-sidebar{display:flex;flex-direction:column;gap:16px;height:100vh;min-height:100vh;padding:18px;overflow-x:hidden;overflow-y:auto;color:#f8f0e4;background:linear-gradient(180deg,#191815fa,#191815f0),linear-gradient(145deg,rgba(47,127,104,.24),transparent 44%),#191815;border-right:1px solid rgba(255,255,255,.08)}.brand-block{position:relative;display:grid;flex:0 0 auto;justify-items:center;gap:8px;padding:39px 42px 5px;text-align:center}.language-switcher{position:absolute;top:0;left:0;display:inline-grid;grid-template-columns:repeat(2,auto);gap:3px;padding:3px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#fff1;box-shadow:0 8px 22px #00000024;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-switcher button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:48px;height:29px;padding:0 7px;border:1px solid transparent;border-radius:7px;color:#f8f0e494;background:transparent;font-size:.67rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.language-switcher button span{font-size:.9rem;line-height:1}.language-switcher button b{font-weight:820;white-space:nowrap}.language-switcher button:hover,.language-switcher button:focus-visible{outline:0;color:#fff8eb;border-color:#ffffff29;background:#ffffff14}.language-switcher button.active{color:#fff;border-color:color-mix(in srgb,var(--accent) 54%,white);background:color-mix(in srgb,var(--accent) 46%,rgba(255,255,255,.1));box-shadow:0 5px 13px color-mix(in srgb,var(--accent) 23%,transparent)}.brand-mark{display:block;width:86px;height:86px;border-radius:22px;object-fit:cover;filter:drop-shadow(0 12px 18px rgba(0,0,0,.32))}.brand-copy{display:grid;justify-items:center;gap:7px}.brand-block h1{display:grid;margin:0;color:#fff8eb;font-family:Georgia,Times New Roman,serif;font-size:1.66rem;line-height:.94;letter-spacing:0}.brand-divider{display:flex;align-items:center;justify-content:center;gap:8px;height:8px}.brand-divider i{width:25px;height:1px;background:#315e59}.brand-divider b{width:7px;height:7px;border-radius:50%;background:#d45f4d}.brand-mission{display:grid;gap:1px;margin:0;color:#f8f0e491;font-size:.73rem;font-weight:620;line-height:1.34;letter-spacing:0}.icon-button{display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:inherit;background:#ffffff13;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.icon-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,white);background:#ffffff24}.mobile-mode-launcher,.mobile-library-toggle{display:none}.sidebar-library{display:contents}.mobile-word-list-title{display:none}.search-box{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.11);border-radius:8px;color:#f8f0e494;background:#ffffff13}.search-box input{min-width:0;border:0;outline:0;color:#fff8eb;background:transparent;font-size:.88rem}.search-box input::placeholder{color:#f8f0e46b}.filter-section{flex:0 0 clamp(360px,calc(100dvh - 390px),var(--category-panel-height, 520px));display:grid;gap:7px;height:clamp(360px,calc(100dvh - 390px),var(--category-panel-height, 520px));min-height:360px;max-height:760px;padding-right:4px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.section-title{display:flex;align-items:center;gap:7px;color:#f8f0e494;font-size:.75rem;font-weight:800;text-transform:uppercase}.category-chip,.library-word{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f8f0e4c7;background:#fff1;text-align:left;cursor:pointer}.category-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;padding:7px 10px;font-size:.78rem}.category-chip span,.library-word-copy strong,.library-word-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-chip strong{color:#f8f0e47a;font-size:.72rem}.category-chip-copy{display:flex;align-items:center;gap:7px;min-width:0}.category-chip-copy svg{flex:0 0 auto}.category-chip-copy>span{min-width:0}.category-chip.active,.library-word.active{color:#fff8eb;border-color:color-mix(in srgb,var(--accent) 52%,white);background:color-mix(in srgb,var(--accent) 30%,transparent)}.category-resizer{display:grid;flex:0 0 auto;place-items:center;height:18px;margin:-3px 0;padding:0;border:0;color:#f8f0e46b;background:transparent;cursor:ns-resize;touch-action:none}.category-resizer span{display:block;width:56px;height:4px;border-radius:999px;background:currentColor;transition:width .14s ease,color .14s ease,background .14s ease,box-shadow .14s ease}.category-resizer:hover,.category-resizer:focus-visible{outline:0;color:color-mix(in srgb,var(--accent) 58%,#f8f0e4)}.category-resizer:hover span,.category-resizer:focus-visible span{width:86px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.word-list{flex:1 1 auto;display:grid;gap:8px;min-height:0;padding-right:4px;overflow:auto;overscroll-behavior:contain}.library-word{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:10px}.word-index{color:#f8f0e475;font-size:.72rem;font-weight:900}.library-word-copy{display:grid;gap:4px;min-width:0}.library-word-copy strong{color:inherit;font-size:.98rem}.library-word-copy small{color:#f8f0e48f;font-size:.78rem}.workspace{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px;min-width:0;padding:24px}.workspace-reference{grid-template-rows:auto minmax(0,1fr)}.top-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px}.breadcrumb{display:grid;gap:4px;min-width:0}.breadcrumb span{color:var(--accent);font-size:.76rem;font-weight:900;text-transform:uppercase}.breadcrumb strong{overflow:hidden;color:#2a251f;font-size:1.12rem;text-overflow:ellipsis;white-space:nowrap}.mode-strip{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fffdf8d1;box-shadow:var(--shadow-tight);overflow:visible}.mode-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:0;border-radius:6px;color:#6e675c;background:transparent;font-size:.78rem;font-weight:850;cursor:pointer}.mode-button.active{color:var(--accent-ink);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.workspace-actions{display:flex;gap:8px}.icon-button{width:38px;height:38px;color:#2c2823;border-color:var(--line);background:#fffdf8db}.icon-button.active{color:#7b3b1b;border-color:#e9bb68;background:#fff4d9}.progress-rail{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px;color:var(--muted);font-size:.82rem;font-weight:760}.progress-rail div{height:8px;overflow:hidden;border-radius:8px;background:#1c1a1714}.progress-rail i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-stripe))}.mode-stage{position:relative;display:grid;align-items:start;min-height:480px}.cards-audio-layout{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:12px;min-width:0}.flashcard-audio-player{position:sticky;z-index:12;top:18px;align-self:start;display:grid;gap:14px;width:58px}.flashcard-audio-player audio{display:none}.mobile-player-command-row{display:contents}.mobile-player-nav,.mobile-player-favorite{display:none}.audio-player-rail{display:flex;flex-direction:column;align-items:center;gap:7px;width:58px;padding:8px 6px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:30px;background:#fffdf8f0;box-shadow:0 14px 34px #2b231824,0 4px 12px #2b231814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.practice-mode-rail{display:flex;flex-direction:column;align-items:center;gap:7px;width:58px;padding:8px 6px;border:1px solid color-mix(in srgb,#3f7f8b 22%,var(--line));border-radius:29px;background:#fffdf8f0;box-shadow:0 12px 28px #2b23181f,0 3px 10px #2b231812;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.audio-player-rail button,.practice-mode-rail button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line-strong);border-radius:50%;color:#514b43;background:#fffdf8;cursor:pointer;box-shadow:0 4px 10px #2b231814;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.audio-player-rail button:hover,.audio-player-rail button:focus-visible,.practice-mode-rail button:hover,.practice-mode-rail button:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,white);outline:0;color:var(--accent-ink);background:var(--accent-soft);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 14%,rgba(43,35,24,.1));transform:translateY(-1px)}.audio-player-rail button.primary{color:#fffdf8;border-color:var(--accent);background:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 34%,transparent)}.audio-player-rail button.active:not(.primary){color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 40%,white);background:var(--accent-soft)}.practice-mode-rail button.active{color:#18525c;border-color:#2984916b;background:#e7f7f6;box-shadow:0 7px 17px #217f8b2e}.practice-mode-rail button.speaking.active{color:#fff;border-color:#238a94;background:#238a94;box-shadow:0 8px 20px #1b7e8947}.audio-player-rail button:disabled,.practice-mode-rail button:disabled{color:#aaa39a;background:#f2eee7;cursor:default;box-shadow:none;opacity:.62;transform:none}.audio-player-state{width:7px;height:7px;margin-top:1px;border-radius:50%;background:#b9b2a8}.audio-player-state.loading,.audio-player-state.waiting,.audio-player-state.requesting-microphone{background:#e3a43c;box-shadow:0 0 0 4px #e3a43c24}.audio-player-state.playing,.audio-player-state.replaying{background:#3aa675;box-shadow:0 0 0 4px #3aa67524;animation:audioPulse 1.35s ease-in-out infinite}.audio-player-state.recording{background:#e65f57;box-shadow:0 0 0 4px #e65f5724;animation:recordingPulse 1.05s ease-in-out infinite}.audio-player-state.paused{background:#5d82c2}.audio-player-state.error{background:#c94c42}.flashcard-audio-player.phase-recording .audio-player-rail button.primary,.flashcard-audio-player.phase-requesting-microphone .audio-player-rail button.primary{border-color:#d85650;background:#d85650;box-shadow:0 8px 20px #d8565047}.flashcard-audio-player.phase-recording .practice-mode-rail button.speaking.active{border-color:#dc5b54;background:#dc5b54;box-shadow:0 0 0 5px #dc5b541f,0 8px 22px #cd484145;animation:recordingModePulse 1.05s ease-in-out infinite}.speech-cycle-status{position:absolute;z-index:20;right:auto;bottom:8px;left:70px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:220px;min-height:52px;padding:8px 10px;border:1px solid rgba(42,130,140,.28);border-radius:8px;color:#164d55;background:#f1fdfcf5;box-shadow:0 16px 36px #235b6229,0 4px 12px #2b231814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.speech-cycle-status.recording{border-color:#d34b444d;color:#7a2925;background:#fff5f2f7;box-shadow:0 16px 36px #b7433c29,0 4px 12px #2b231814}.speech-cycle-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#238a94;box-shadow:0 5px 13px #238a943d}.speech-cycle-status.recording .speech-cycle-icon{background:#dc5b54;box-shadow:0 5px 13px #dc5b543d}.speech-cycle-copy{display:grid;gap:1px;min-width:0}.speech-cycle-copy strong,.speech-cycle-copy small{overflow:hidden;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.speech-cycle-copy strong{font-size:.79rem;font-weight:890}.speech-cycle-copy small{color:color-mix(in srgb,currentColor 72%,#fff);font-size:.67rem;font-weight:760}.speech-level{display:flex;align-items:center;gap:2px;width:23px;height:20px}.speech-level i{width:3px;height:8px;border-radius:2px;background:#dc5b54;transform-origin:center;animation:speechLevel .76s ease-in-out infinite}.speech-level i:nth-child(2){animation-delay:.12s}.speech-level i:nth-child(3){animation-delay:.24s}.speech-level i:nth-child(4){animation-delay:.36s}.audio-settings-panel{position:absolute;z-index:30;top:0;left:70px;display:grid;gap:16px;width:310px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:8px;color:#2d2923;background:#fffdf8fa;box-shadow:0 24px 58px #2b231833,0 8px 20px #2b23181a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.audio-settings-heading{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px}.audio-settings-heading>div{display:grid;gap:3px;min-width:0}.audio-settings-heading span,.audio-setting-group>span,.audio-number-grid label>span{color:var(--muted);font-size:.7rem;font-weight:880;text-transform:uppercase}.audio-settings-heading strong{overflow:hidden;color:#211d18;font-family:Georgia,Times New Roman,serif;font-size:1.22rem;text-overflow:ellipsis;white-space:nowrap}.audio-settings-heading button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;color:#4b453d;background:#fffaf2;cursor:pointer}.audio-setting-group{display:grid;gap:7px}.audio-segmented{display:grid;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f3efe7}.audio-segmented-two{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-segmented-three{grid-template-columns:repeat(3,minmax(0,1fr))}.audio-segmented button{min-width:0;min-height:34px;padding:0 7px;border:0;border-radius:6px;color:#6a6359;background:transparent;font-size:.73rem;font-weight:840;cursor:pointer}.audio-segmented button.active{color:var(--accent-ink);background:#fffdf8;box-shadow:0 2px 8px #2b231817,inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.audio-toggle-list{display:grid;gap:8px}.audio-toggle{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:12px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:#433d35;background:#fffaf2;font-size:.78rem;font-weight:790;cursor:pointer}.audio-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.audio-toggle i{position:relative;width:38px;height:22px;border-radius:999px;background:#d8d2c9;transition:background .15s ease}.audio-toggle i:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fffdf8;box-shadow:0 2px 5px #2b231838;content:"";transition:transform .15s ease}.audio-toggle input:checked+i{background:var(--accent)}.audio-toggle input:checked+i:after{transform:translate(16px)}.audio-toggle:focus-within{border-color:color-mix(in srgb,var(--accent) 44%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}.audio-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audio-number-grid label{display:grid;gap:6px}.audio-number-grid input{width:100%;height:40px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;outline:0;color:#27231e;background:#fffdf8;font-weight:830}.audio-number-grid input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}.audio-number-grid input:disabled{color:#aaa39a;background:#f0ece5}.speech-recording-settings{padding-top:2px}.speech-recording-settings .audio-number-grid{padding:9px;border:1px solid rgba(42,130,140,.18);border-radius:8px;background:#f1f9f7}.audio-status-line{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:7px 9px;border-radius:8px;color:#4d473f;background:var(--accent-soft)}.audio-status-line>span{width:8px;height:8px;border-radius:50%;background:#aaa39a}.audio-status-line>span.playing,.audio-status-line>span.replaying{background:#3aa675}.audio-status-line>span.loading,.audio-status-line>span.waiting,.audio-status-line>span.requesting-microphone{background:#e3a43c}.audio-status-line>span.recording{background:#dc5b54}.audio-status-line>span.paused{background:#5d82c2}.audio-status-line.error{color:#7f2d27;background:#ffe9e5}.audio-status-line.error>span{background:#c94c42}.audio-status-line strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}@keyframes audioPulse{0%,to{box-shadow:0 0 0 4px #3aa67524}50%{box-shadow:0 0 0 7px #3aa6750f}}@keyframes recordingPulse{0%,to{box-shadow:0 0 0 4px #e65f5724}50%{box-shadow:0 0 0 7px #e65f570f}}@keyframes recordingModePulse{0%,to{box-shadow:0 0 0 5px #dc5b541f,0 8px 22px #cd484145}50%{box-shadow:0 0 0 8px #dc5b540d,0 8px 22px #cd484133}}@keyframes speechLevel{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.7)}}.hint-panel{position:absolute;z-index:6;top:18px;right:18px;display:grid;gap:12px;width:min(430px,calc(100% - 36px));padding:16px;border:1px solid #f0cb74;border-radius:8px;color:#3b2b11;background:linear-gradient(135deg,#fffae1fa,#fff4d2f5),#fff7dd;box-shadow:0 22px 54px #3e2d1033,0 8px 20px #3e2d101a}.hint-heading{display:grid;grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:10px}.hint-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#5a3710;background:linear-gradient(135deg,#ffe28d,#f6b84d);box-shadow:inset 0 0 0 1px #ffffff85}.hint-heading strong,.hint-heading small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hint-heading strong{color:#3b2b11;font-size:.94rem;text-transform:uppercase}.hint-heading small{margin-top:3px;color:#7a633e;font-weight:800}.hint-heading button{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(95,69,20,.18);border-radius:8px;color:#5a3710;background:#ffffff94;cursor:pointer}.hint-panel p{margin:0;color:#4d3a1a;font-size:.94rem;font-weight:620;line-height:1.55}.study-hint-trigger{position:relative;isolation:isolate;flex:0 0 58px;display:grid;place-items:center;width:58px;height:58px;margin-left:10px;padding:0;overflow:visible;border:1px solid rgba(139,79,8,.24);border-radius:8px;color:#63370a;background:linear-gradient(145deg,#fff4a8,#ffd05e 46%,#ff8d5c);box-shadow:inset 0 1px #ffffffc7,0 0 0 3px #ffc7481f,0 10px 23px #cd6f1c3d;cursor:pointer;transform-origin:center bottom;animation:hintInvite 3.8s ease-in-out infinite;transition:border-color .14s ease,box-shadow .14s ease,filter .14s ease,transform .14s ease}.mobile-card-learning-row,.study-hint-trigger-mobile,.mobile-card-practice-controls{display:none}.study-hint-trigger>svg:first-child{filter:drop-shadow(0 2px 4px rgba(255,255,255,.52))}.study-hint-trigger:hover,.study-hint-trigger:focus-visible,.study-hint-trigger.active{z-index:8;border-color:#93460461;outline:0;box-shadow:inset 0 1px #ffffffd1,0 0 0 4px #ffbe382e,0 16px 31px #de6a2054,0 0 30px #ffbe3c47;filter:saturate(1.08);transform:translateY(-4px) scale(1.05)}.study-hint-trigger.active{animation:none}.study-hint-spark{position:absolute;top:6px;right:6px;color:#fffdf2;filter:drop-shadow(0 1px 3px rgba(116,55,7,.38));animation:hintSpark 2.2s ease-in-out infinite}.study-inline-hint{position:static;width:min(620px,100%);margin:-2px 0 2px;text-align:left;animation:inlineHintIn .18s cubic-bezier(.2,.82,.26,1) both}@keyframes hintInvite{0%,68%,to{box-shadow:inset 0 1px #ffffffc7,0 0 0 3px #ffc7481f,0 10px 23px #cd6f1c3d;transform:translateY(0) rotate(0)}76%{box-shadow:inset 0 1px #ffffffc7,0 0 0 6px #ffc74829,0 14px 29px #cd6f1c4d;transform:translateY(-3px) rotate(-3deg)}84%{transform:translateY(-3px) rotate(3deg)}92%{transform:translateY(0) rotate(0)}}@keyframes hintSpark{0%,to{opacity:.52;transform:scale(.82) rotate(0)}50%{opacity:1;transform:scale(1.08) rotate(12deg)}}@keyframes inlineHintIn{0%{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.tool-frame,.study-card,.detail-panel section{border:1px solid var(--line);border-radius:8px;background:#fffdf8e6;box-shadow:var(--shadow)}.study-card{position:relative;min-height:478px;overflow:hidden}.typing-capture-input{position:fixed;z-index:1;bottom:0;left:50%;width:1px;height:1px;padding:0;border:0;outline:0;opacity:.01;font-size:16px;pointer-events:none;transform:translate(-50%)}.study-card:before{position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--accent),var(--accent-stripe),#f0b84d);content:""}.study-card-face{display:grid;align-content:center;justify-items:center;gap:18px;min-height:478px;padding:44px;text-align:center}.study-card.flipped .study-front,.study-card:not(.flipped) .study-back{display:none}.study-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.study-meta span,.mode-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;color:var(--accent-ink);background:var(--accent-soft);font-size:.74rem;font-weight:900;text-transform:uppercase}.study-card h2,.typing-mode h2,.context-mode h2,.synonym-mode h2,.speak-mode h2{max-width:840px;margin:0;color:#191713;font-family:Georgia,Times New Roman,serif;font-size:4.2rem;line-height:1.04;letter-spacing:0;overflow-wrap:anywhere}.translation{max-width:760px;margin:0;color:#3d372e;font-size:1.34rem;font-weight:760}.example-line{max-width:760px;color:var(--muted);font-size:1.02rem;line-height:1.55}.example-translation-stack{display:grid;justify-items:center;gap:8px;width:min(760px,100%)}.example-translation-row{display:flex;align-items:center;justify-content:center;gap:7px;width:100%}.sentence-translation-trigger{min-width:0;padding:4px 7px;border-radius:7px;cursor:pointer;transition:color .16s ease,background-color .18s ease,box-shadow .18s ease}.sentence-translation-trigger:hover,.translation-open .sentence-translation-trigger{color:color-mix(in srgb,var(--accent-ink) 78%,var(--muted));background:color-mix(in srgb,var(--accent-soft) 48%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.sentence-translation-toggle{display:inline-grid;flex:0 0 auto;place-items:center;width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:50%;color:color-mix(in srgb,var(--accent-ink) 78%,var(--muted));background:#fffdf8eb;cursor:pointer;touch-action:manipulation;transition:color .16s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.sentence-translation-toggle:hover,.sentence-translation-toggle:focus-visible,.sentence-translation-toggle[aria-expanded=true]{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:color-mix(in srgb,var(--accent-soft) 72%,white);box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 14%,transparent);outline:none;transform:translateY(-1px)}.sentence-translation{display:grid;gap:3px;width:min(680px,100%);padding:10px 14px 11px;border-left:3px solid color-mix(in srgb,var(--accent) 62%,var(--accent-stripe));border-radius:0 6px 6px 0;color:#302a23;background:color-mix(in srgb,var(--accent-soft) 48%,rgba(255,253,248,.96));text-align:left;animation:sentenceTranslationReveal .24s cubic-bezier(.22,.78,.2,1) both}.sentence-translation span{color:color-mix(in srgb,var(--accent-ink) 72%,var(--muted));font-size:.66rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.sentence-translation p{margin:0;font-size:.94rem;font-weight:680;line-height:1.45}.typing-example-target{position:relative;appearance:none;width:fit-content;padding:7px 9px;border:0;border-radius:8px;outline:0;color:var(--muted);background:transparent;font:inherit;letter-spacing:0;text-align:center;cursor:text;transition:background-color .16s ease,box-shadow .16s ease}.typing-example-target:hover,.typing-example-target:focus-visible,.typing-example-target.typing-active{background:color-mix(in srgb,var(--accent-soft) 54%,rgba(255,253,248,.78));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 27%,transparent)}.typing-example-target.typing-complete{box-shadow:inset 0 0 0 1px #339a6857,0 5px 18px #339a681a}.typing-example-characters{white-space:pre-wrap}.typing-character{position:relative;color:#aaa49c;transition:color 90ms ease,text-shadow .12s ease}.typing-character.typing-correct{color:#191713}.typing-character.typing-error{color:#d23f38;text-shadow:0 0 12px rgba(210,63,56,.16)}.timed-example{isolation:isolate}.example-token-group,.example-word{display:inline}.example-word{position:relative;z-index:0;margin:0 -.05em;padding:.1em .05em;border:0;border-radius:.34em;color:inherit;background:transparent;font:inherit;line-height:inherit;letter-spacing:0;cursor:help;touch-action:manipulation;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:color .18s ease,background-color .22s ease,box-shadow .26s ease,text-shadow .22s ease}.example-word.active{z-index:1;color:color-mix(in srgb,var(--accent-ink) 88%,#17130f);background:color-mix(in srgb,var(--accent) 13%,rgba(255,253,248,.82));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 19%,transparent),0 2px 10px color-mix(in srgb,var(--accent) 25%,transparent),0 0 24px color-mix(in srgb,var(--accent-stripe) 30%,transparent),0 0 46px color-mix(in srgb,var(--accent) 15%,transparent);text-shadow:0 0 12px color-mix(in srgb,var(--accent-stripe) 24%,transparent);animation:contextWordBloom .52s cubic-bezier(.22,.78,.2,1) both}.study-actions,.import-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.command-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:8px;color:#fffaf1;background:var(--accent);font-weight:860;cursor:pointer}.command-button{min-width:112px;padding:0 14px}.command-button.ghost{color:#3d372e;border-color:var(--line-strong);background:#fffaf1}.command-button.positive{color:#143226;background:#8bd6b1}.word-visual{display:grid;gap:14px;width:min(980px,100%)}.word-visual.compact{gap:10px}.word-visual.compact .word-panorama{width:min(100%,270px);justify-self:center}.word-panorama{display:block;width:min(760px,100%);margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;aspect-ratio:16 / 9;background:#191713;box-shadow:0 22px 48px #251f162e,0 6px 16px #251f161a}.word-panorama-button{padding:0;font:inherit;cursor:zoom-in;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease}.word-panorama-button:hover,.word-panorama-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 46%,white);outline:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,white),0 24px 70px color-mix(in srgb,var(--accent) 22%,rgba(37,31,22,.24)),0 10px 24px #251f1624;filter:saturate(1.05) contrast(1.02);transform:translateY(-2px)}.word-panorama-button:active{transform:translateY(0) scale(.995)}.word-panorama img{display:block;width:100%;height:100%;object-fit:cover}.study-front .word-panorama{width:min(560px,100%)}.pao-explorer{position:relative;display:grid;justify-items:center;gap:14px;width:min(900px,100%);overflow:visible}.pao-explorer.compact{gap:9px}.pao-explorer.no-active-preview{gap:8px}.study-front .pao-explorer.no-active-preview{margin-top:-2px}.pao-wordline-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:100%}.pao-explorer.typing-enabled .pao-wordline{border-radius:8px;outline:0;cursor:text;transition:background-color .16s ease,box-shadow .16s ease}.pao-explorer.typing-enabled .pao-wordline:hover,.pao-explorer.typing-enabled .pao-wordline:focus-visible,.pao-explorer.typing-enabled .pao-wordline:focus-within,.pao-explorer.typing-active .pao-wordline{background:color-mix(in srgb,var(--accent-soft) 52%,rgba(255,253,248,.72));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 27%,transparent)}.pao-explorer.typing-complete .pao-wordline{box-shadow:inset 0 0 0 1px #339a6857,0 5px 18px #339a6817}.pao-explorer.no-letter-popups .pao-letter-button{cursor:default}.pao-typing-target-button{position:absolute;z-index:6;inset:0;padding:0;border:0;border-radius:8px;outline:0;background:transparent;cursor:text}.pao-explorer.typing-enabled .pao-letter-button{pointer-events:none;cursor:text}.pao-explorer.no-letter-popups .pao-letter-button:hover,.pao-explorer.no-letter-popups .pao-letter-button:focus-visible{z-index:1;border-color:#241f1824;outline:0;box-shadow:0 8px 18px #241f1814;transform:none}.pao-active-preview{position:relative;display:grid;place-items:center;width:184px;aspect-ratio:1;overflow:hidden;border:1px solid rgba(36,31,24,.13);border-radius:8px;background:#fffaf2;box-shadow:0 18px 38px #251f1629,0 4px 12px #251f1614}.pao-explorer.compact .pao-active-preview{width:116px}.pao-active-preview img,.pao-letter-pop img,.pao-letter-pop video,.pao-hero-card img{display:block;width:100%;height:100%;object-fit:cover}.pao-video-preloads{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.pao-video-preloads video{width:1px;height:1px}.pao-preview-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--accent-ink);background:var(--accent-soft);font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:900}.pao-wordline{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:100%;min-height:82px;padding:10px 10px 18px;overflow:visible}.pao-explorer.compact .pao-wordline{min-height:48px;padding:4px 2px 8px}.pao-letter-button{position:relative;isolation:isolate;flex:0 0 auto;display:grid;place-items:center;width:62px;height:68px;margin:0 -1px;border:1px solid rgba(36,31,24,.14);border-radius:8px;color:#201b16;background:linear-gradient(180deg,#fffdf8f5,#f6f0e4eb),#fffaf2;box-shadow:0 8px 18px #241f1814;cursor:pointer;transition:transform 90ms ease,border-color 90ms ease,box-shadow 90ms ease}.pao-letter-button span:first-child{font-family:Georgia,Times New Roman,serif;font-size:3.05rem;font-weight:900;line-height:1}.pao-explorer.typing-enabled .pao-letter-button span:first-child{color:#aaa49c;transition:color 90ms ease,text-shadow .12s ease}.pao-explorer.typing-enabled .pao-letter-button.typing-correct span:first-child{color:#191713}.pao-explorer.typing-enabled .pao-letter-button.typing-error span:first-child{color:#d23f38;text-shadow:0 0 13px rgba(210,63,56,.18)}.pao-explorer.typing-enabled .pao-letter-button.typing-error{border-color:#d23f3854;background:#fff6f4}.pao-letter-button:hover,.pao-letter-button:focus-visible,.pao-letter-button.active{z-index:5;border-color:color-mix(in srgb,var(--accent) 48%,white);box-shadow:0 14px 26px #241f1824;transform:translateY(-3px);outline:0}.pao-letter-button.missing{color:#201b1652;border-style:dashed;cursor:default;transform:none}.pao-explorer.compact .pao-letter-button{width:36px;height:42px;border-radius:7px}.pao-explorer.compact .pao-letter-button span:first-child{font-size:1.5rem}.pao-letter-pop{position:absolute;z-index:10;bottom:calc(100% + 8px);left:50%;width:164px;aspect-ratio:1;overflow:hidden;border:3px solid #fffaf2;border-radius:8px;background:#fffaf2;box-shadow:0 22px 46px #1c181338,0 8px 16px #1c181324;opacity:0;pointer-events:none;transform:translate(-50%,8px) scale(.01);transform-origin:center bottom;transition:opacity 80ms ease,transform 80ms ease}.pao-letter-button:hover .pao-letter-pop,.pao-letter-button:focus-visible .pao-letter-pop{opacity:1;transform:translate(-50%) scale(1)}.pao-separator{position:relative;flex:0 0 auto;display:grid;place-items:center;width:34px;color:#201b1670;font-size:2.4rem;font-weight:900}.pao-word-space{position:relative;flex:0 0 62px;height:68px}.pao-explorer.typing-enabled .pao-separator{color:#aaa49c}.pao-explorer.typing-enabled .pao-separator.typing-correct{color:#191713}.pao-explorer.typing-enabled .pao-separator.typing-error{color:#d23f38}.pao-wordline .typing-cursor:after,.typing-character.typing-cursor:after{position:absolute;right:17%;bottom:7px;left:17%;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 36%,transparent);content:"";animation:typingCursor .9s ease-in-out infinite}.typing-character.typing-cursor:after{right:0;bottom:-.2em;left:0}.pao-word-space.typing-cursor:after{right:24%;left:24%}.pao-explorer.compact .pao-word-space{flex-basis:36px;height:42px}.pao-card-stage{display:grid;justify-items:center;gap:14px;width:min(1000px,100%)}.visual-scale-control{display:grid;grid-template-columns:18px minmax(120px,220px) 18px 48px;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--accent-ink);background:color-mix(in srgb,var(--accent-soft) 62%,#fffaf2);box-shadow:0 8px 18px #241f1814}.visual-scale-control input{width:100%;min-width:0;accent-color:var(--accent);cursor:ew-resize}.visual-scale-control output{color:#3f382f;font-size:.78rem;font-weight:860;text-align:right;font-variant-numeric:tabular-nums}.pao-card-word{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:13px 10px;width:100%;max-width:100%;min-height:170px;padding:14px 6px 24px;overflow:visible}.pao-card-word.compact{min-height:76px;gap:5px;padding:4px 0 8px}.pao-card-space{flex:0 0 var(--pao-card-size, 132px);aspect-ratio:16 / 9}.pao-card-word.compact .pao-card-space{flex-basis:76px}.pao-hero-card{position:relative;isolation:isolate;flex:0 1 var(--pao-card-size, 132px);aspect-ratio:16 / 9;margin:0;overflow:visible;border:1px solid rgba(36,31,24,.14);border-radius:8px;outline:0;background:#fffaf2;cursor:zoom-in;box-shadow:0 12px 24px #241f1824;transform-origin:center bottom;will-change:transform,box-shadow,filter;animation:cardPlace .18s cubic-bezier(.18,.86,.26,1.08) backwards;animation-delay:calc(var(--card-index) * 8ms);transition:flex-basis .16s cubic-bezier(.2,.9,.26,1),transform .12s cubic-bezier(.2,.9,.26,1.18),box-shadow .12s ease,border-color .12s ease,filter .12s ease}.pao-hero-card:after{position:absolute;z-index:-1;right:11%;bottom:-16px;left:11%;height:34px;border-radius:999px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--letter-glow) 72%,white) 0%,color-mix(in srgb,var(--letter-glow) 34%,transparent) 48%,transparent 76%);filter:blur(12px);opacity:0;transform:scaleX(.7) translateY(5px);transition:opacity .12s ease,transform .12s cubic-bezier(.2,.9,.26,1.18);content:""}.pao-hero-card img{position:relative;z-index:1;border-radius:inherit}@media(hover:hover)and (pointer:fine){.pao-hero-card:hover,.pao-hero-card:focus-visible{z-index:12;border-color:color-mix(in srgb,var(--letter-glow) 62%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--letter-glow) 24%,white),0 24px 52px color-mix(in srgb,var(--letter-glow) 26%,rgba(28,24,19,.18)),0 10px 22px #1c18132e;filter:saturate(1.08) contrast(1.03);transform:translateY(-9px) scale(1.26)}.pao-hero-card:hover:after,.pao-hero-card:focus-visible:after{opacity:.95;transform:scaleX(1.12) translateY(0)}}.pao-card-word.compact .pao-hero-card{flex-basis:76px;border-radius:7px}.pao-card-word.compact .pao-hero-card:after{bottom:-10px;height:22px;filter:blur(9px)}.pao-card-separator,.pao-card-missing{flex:0 0 auto;display:grid;place-items:center;min-width:34px;height:76px;color:#201b1670;font-family:Georgia,Times New Roman,serif;font-size:2.4rem;font-weight:900}.pao-card-missing{width:70px;border:1px dashed rgba(36,31,24,.2);border-radius:8px;background:#fffaf2b8}.visual-canvas{position:relative;display:grid;grid-template-columns:repeat(5,minmax(34px,1fr));gap:10px;min-height:230px;padding:28px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 82%,white),#fffdf8),linear-gradient(90deg,rgba(28,26,23,.04) 1px,transparent 1px);background-size:auto,22px 22px}.word-visual.compact .visual-canvas{min-height:150px;padding:18px}.visual-path{position:absolute;width:72%;height:2px;border-radius:8px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.44;transform-origin:left center}.path-one{top:34%;left:12%;transform:rotate(-9deg);animation:pathPulse 4s ease-in-out infinite}.path-two{top:62%;left:18%;transform:rotate(13deg);animation:pathPulse 4.8s ease-in-out infinite reverse}.letter-tile{position:relative;z-index:1;display:grid;place-items:center;min-height:54px;border:1px solid color-mix(in srgb,var(--accent) 24%,white);border-radius:8px;color:var(--accent-ink);background:#fffdf8e0;box-shadow:0 8px 16px #1e1a1414;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:900;animation:tileFloat 4.6s ease-in-out infinite;animation-delay:calc(var(--tile-index) * .11s)}.word-visual.compact .letter-tile{min-height:38px;font-size:1.1rem}.visual-caption{display:grid;gap:4px;text-align:center}.visual-caption-title{display:flex;align-items:center;justify-content:center;gap:12px}.visual-caption strong{color:#191713;font-family:Georgia,Times New Roman,serif;font-size:2rem;letter-spacing:0}.word-visual.compact .visual-caption strong{font-size:1.35rem}.visual-caption span{color:var(--muted);font-weight:760}.immersive-story-control{display:inline-flex}.immersive-story-control>audio{display:none}.immersive-story-button{position:relative;display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;padding:0;overflow:visible;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line-strong));border-radius:50%;color:var(--accent-ink);background:color-mix(in srgb,var(--accent-soft) 72%,#fffaf1);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 14%,rgba(36,31,24,.12));cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.immersive-story-button:hover,.immersive-story-button:focus-visible{outline:0;border-color:color-mix(in srgb,var(--accent) 66%,white);color:#fffaf1;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent),0 10px 24px color-mix(in srgb,var(--accent) 28%,rgba(36,31,24,.16));transform:translateY(-1px)}.immersive-story-button:active{transform:translateY(0) scale(.96)}.immersive-story-button.loading,.immersive-story-button.playing{color:#fffaf1;border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 14%,transparent),0 0 24px color-mix(in srgb,var(--accent) 34%,transparent)}.immersive-story-button.error{color:#9b302c;border-color:#b0342e6b;background:#fff0ed}.immersive-story-soundwave{position:absolute;right:-7px;bottom:-2px;display:flex;align-items:end;gap:2px;height:16px;padding:3px 4px;border:2px solid #fffaf1;border-radius:8px;background:var(--accent);opacity:0;transform:scale(.8);transition:opacity .16s ease,transform .16s ease}.immersive-story-button.loading .immersive-story-soundwave,.immersive-story-button.playing .immersive-story-soundwave{opacity:1;transform:scale(1)}.immersive-story-soundwave i{display:block;width:2px;height:8px;border-radius:2px;background:#fffaf1;animation:immersiveStoryWave .62s ease-in-out infinite alternate}.immersive-story-soundwave i:nth-child(2){height:5px;animation-delay:-.24s}.immersive-story-soundwave i:nth-child(3){height:10px;animation-delay:-.42s}@keyframes immersiveStoryWave{0%{transform:scaleY(.42)}to{transform:scaleY(1)}}.visual-synonyms{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.translated-word-shell{position:relative;display:inline-flex}.synonym-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid transparent;border-radius:8px;color:var(--accent-ink);background:var(--accent-soft);font-size:.82rem;font-weight:780;letter-spacing:0;cursor:pointer;touch-action:manipulation;transition:color .16s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.synonym-chip>svg{flex:0 0 auto;opacity:.58;transition:opacity .16s ease,transform .18s ease}.synonym-chip:hover,.synonym-chip:focus-visible,.synonym-chip.playing{border-color:color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent-soft) 78%,white);box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 16%,transparent);outline:none;transform:translateY(-1px)}.synonym-chip:hover>svg,.synonym-chip:focus-visible>svg,.synonym-chip.playing>svg{opacity:.92}.synonym-chip.playing>svg{animation:synonymSpeakerPulse .76s ease-in-out infinite alternate}.synonym-chip.audio-error{color:#8b302b;border-color:#b0413942;background:#fff2ef}.visual-synonyms audio{display:none}.word-translation-tooltip{position:absolute;z-index:60;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(230px,calc(100vw - 32px));padding:7px 9px;border:1px solid rgba(58,51,42,.13);border-radius:7px;color:#29241e;background:#fffdf8fa;box-shadow:0 9px 24px #2b251d24;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.76rem;font-weight:760;line-height:1.25;text-align:center;letter-spacing:0;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,5px);transition:opacity .15s ease,visibility .15s ease,transform .18s cubic-bezier(.22,.78,.2,1)}.synonym-chip:hover .word-translation-tooltip,.synonym-chip:focus .word-translation-tooltip,.context-word-button:hover .word-translation-tooltip,.context-word-button:focus .word-translation-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.study-front .visual-synonyms{max-width:760px;margin-top:-4px}.study-front .synonym-chip{min-height:36px;padding:0 14px;font-size:.96rem;font-weight:860}.typing-mode,.context-mode,.synonym-mode,.speak-mode,.import-mode{display:grid;align-content:center;justify-items:center;gap:22px;min-height:478px;padding:42px;text-align:center}.intro-mode{display:grid;min-width:0;overflow:hidden;background:#fffdf8f5}.intro-hero{position:relative;min-height:520px;overflow:hidden;color:#fffaf1;background:#171512}.intro-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.intro-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#120f0ceb,#120f0c94 52%,#120f0c14),linear-gradient(0deg,rgba(18,15,12,.68) 0%,transparent 52%)}.intro-hero-copy{position:relative;z-index:1;display:grid;align-content:end;gap:16px;width:min(700px,66%);min-height:520px;padding:56px}.intro-eyebrow{color:#f3c56b;font-size:.76rem;font-weight:900;text-transform:uppercase}.intro-hero h2,.intro-section-heading h3,.intro-example-copy h3,.intro-why h3,.intro-footer h3{margin:0;color:#1b1814;font-family:Georgia,Times New Roman,serif;letter-spacing:0}.intro-hero h2{max-width:660px;color:#fffaf1;font-size:3.15rem;line-height:1.02}.intro-hero p{max-width:640px;margin:0;color:#fffaf1d6;font-size:1.05rem;line-height:1.68}.intro-section{display:grid;gap:28px;padding:58px 56px;border-top:1px solid var(--line)}.intro-section-heading{display:grid;gap:12px;max-width:820px}.intro-section-heading-centered{justify-self:center;justify-items:center;text-align:center}.intro-section-heading h3,.intro-example-copy h3,.intro-why h3,.intro-footer h3{font-size:2.15rem;line-height:1.08}.intro-section-heading>p,.intro-example-copy>p,.intro-why-copy>p{margin:0;color:#5f594f;font-size:1rem;line-height:1.72}.intro-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.intro-history-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;min-width:0;padding:24px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.intro-history-index{color:color-mix(in srgb,var(--accent) 78%,#1c1a17);font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:900}.intro-history-item div{display:grid;align-content:start;gap:8px}.intro-history-item small,.intro-pao-step>small{color:var(--accent);font-size:.7rem;font-weight:900;text-transform:uppercase}.intro-history-item h4,.intro-pao-step h4,.intro-letter-card h4{margin:0;color:#24201b;letter-spacing:0}.intro-history-item h4{font-size:1.04rem}.intro-history-item p,.intro-pao-step p,.intro-memory-note p{margin:0;color:#6b655b;font-size:.9rem;line-height:1.62}.intro-pao{background:#f7f3eb}.intro-pao-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.intro-pao-step{display:grid;align-content:start;gap:10px;min-width:0;padding:24px;border:1px solid var(--line-strong);border-radius:8px;background:#fffdf8db}.intro-pao-icon{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;color:var(--accent)}.intro-pao-icon span{display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;color:var(--accent-ink);background:var(--accent-soft);font-size:.72rem;font-weight:900}.intro-pao-step h4{font-size:1.12rem}.intro-alphabet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.intro-letter-card{display:grid;grid-template-columns:54px 36px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:74px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fbf8f1}.intro-letter-card>img{display:block;width:54px;height:54px;border-radius:6px;object-fit:cover}.intro-letter-card>strong{color:var(--accent-ink);font-family:Georgia,Times New Roman,serif;font-size:1.75rem;text-align:center}.intro-letter-card>div{min-width:0}.intro-letter-card h4{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.intro-letter-card p{margin:4px 0 0;overflow:hidden;color:#756f65;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.intro-letter-card p span{color:#514a40;font-weight:820}.intro-example{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:36px;background:#201e1a}.intro-example-visual{display:grid;gap:10px;min-width:0;margin:0}.viewport-loop-video{position:relative;width:100%;height:100%;min-width:0}.viewport-loop-video>video{display:block;width:100%;height:100%;object-fit:cover}.intro-example-visual>img,.intro-example-visual>.viewport-loop-video{display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:0 24px 44px #00000047}.video-sound-toggle{position:absolute;z-index:4;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fffaf1;background:#181512ad;box-shadow:0 10px 24px #00000047;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.video-sound-toggle:hover,.video-sound-toggle:focus-visible{transform:translateY(-1px) scale(1.04);border-color:#f3c56bdb;outline:0;color:#f3c56b;background:#181512d6}.video-sound-toggle.is-audible{border-color:#f3c56bc7;color:#2a2112;background:#f3c56b}.intro-example-visual figcaption{color:#fffaf194;font-size:.74rem;text-align:center}.intro-example-copy{display:grid;gap:16px;min-width:0}.intro-example-copy h3,.intro-example-copy>p{color:#fffaf1}.intro-example-copy>p{color:#fffaf1b8}.intro-enigma-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.intro-enigma-token{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 8px;min-width:0;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d}.intro-enigma-token strong{grid-row:1 / 3;align-self:center;color:#f3c56b;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.intro-enigma-token span,.intro-enigma-token small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intro-enigma-token span{color:#fffaf1;font-size:.72rem;font-weight:850}.intro-enigma-token small{color:#fffaf18f;font-size:.64rem}.intro-why{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:42px}.intro-why-copy{display:grid;gap:16px}.intro-memory-note{display:grid;gap:14px;padding:26px;border-left:4px solid var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.intro-memory-note strong{color:#252119;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;line-height:1.25}.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 56px;border-top:1px solid var(--line);background:#f7f3eb}.intro-footer>div:first-child{display:grid;gap:10px}.intro-footer h3{font-size:1.55rem}.intro-footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.legend-mode{display:grid;align-content:start;justify-items:stretch;gap:22px;min-height:478px;padding:30px}.legend-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}.legend-heading h2{margin:0;color:#191713;font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1.05}.legend-list{display:grid;gap:12px}.legend-row{display:grid;grid-template-columns:minmax(360px,1fr) repeat(2,minmax(150px,224px));align-items:center;justify-content:stretch;gap:14px;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--letter-accent) 24%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--letter-accent) 9%,#fffdf8),#fffaf2eb),#fffaf2}.legend-character{display:grid;justify-items:center;gap:10px;min-width:0}.legend-transition-details{display:grid;justify-items:center;gap:10px;width:100%;min-width:0}.legend-pao-description{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px;width:100%;min-height:30px;margin:0;color:#7b7368;font-size:.78rem;line-height:1.35;text-align:center}.legend-pao-description strong{color:color-mix(in srgb,var(--letter-accent) 72%,#27221d);font-weight:900}.legend-character-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:30px;padding:0 10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--letter-accent) 26%,transparent);border-radius:8px;color:color-mix(in srgb,var(--letter-accent) 78%,#1c1a17);background:color-mix(in srgb,var(--letter-accent) 8%,#fffdf8);font-size:.84rem;font-weight:920;text-decoration:none;text-overflow:ellipsis;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease;white-space:nowrap}.legend-character-link:hover,.legend-character-link:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--letter-accent) 52%,#ffffff);outline:0;color:color-mix(in srgb,var(--letter-accent) 92%,#171411);background:color-mix(in srgb,var(--letter-accent) 14%,#fffdf8);box-shadow:0 0 0 3px color-mix(in srgb,var(--letter-accent) 16%,#fffdf8),0 10px 22px #241f1824}.legend-media{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;min-width:0;overflow:hidden;border:1px solid rgba(36,31,24,.12);border-radius:8px;background:#fffdf8;box-shadow:0 12px 26px #241f181f}.legend-media:after{position:absolute;right:12%;bottom:-16px;left:12%;height:26px;border-radius:999px;background:color-mix(in srgb,var(--letter-accent) 44%,transparent);filter:blur(14px);opacity:.42;content:""}.legend-media img,.legend-media video{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:6px;object-fit:cover}.legend-media{max-width:224px}.legend-scene{aspect-ratio:16 / 9;max-width:none;justify-self:stretch}.legend-media figcaption{position:absolute;z-index:2;left:8px;bottom:8px;display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(255,253,248,.44);border-radius:6px;color:#fffdf8;background:#1915118a;font-size:.68rem;font-weight:860}.panel-heading span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.answer-row{display:grid;grid-template-columns:minmax(0,440px) auto;gap:10px;width:min(620px,100%)}.answer-row input{min-height:48px;min-width:0;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;outline:0;color:#191713;background:#fffaf2;font-size:1.08rem;font-weight:760}.answer-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.feedback-line{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:8px;font-weight:860}.feedback-line.idle{color:var(--muted);background:#f3eee4}.feedback-line.correct{color:#123526;background:#c8f0dc}.feedback-line.miss{color:#632017;background:#ffe1db}.synonym-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;width:min(620px,100%)}.synonym-grid button{min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:#2d2822;background:#fffaf2;font-weight:860;cursor:pointer}.synonym-grid button.selected.correct{color:#123526;border-color:#8bd6b1;background:#d9f4e7}.synonym-grid button.selected.miss{color:#632017;border-color:#f3a093;background:#ffe1db}.waveform{display:flex;align-items:center;justify-content:center;gap:5px;width:min(560px,100%);min-height:130px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:8px;background:var(--accent-soft)}.waveform span{width:7px;height:24px;border-radius:8px;background:var(--accent);opacity:.78;transform:scaleY(calc(.48 + (var(--bar-index) % 7) * .12))}.waveform.speaking span,.waveform.recording span{animation:wave .8s ease-in-out infinite;animation-delay:calc(var(--bar-index) * 38ms)}.waveform.recording span{background:#e6614e}.voice-score{display:grid;gap:4px;color:var(--muted)}.voice-score strong{color:var(--accent-ink);font-size:1.4rem}.notes-mode{display:grid;align-content:start;gap:14px;min-width:0;min-height:478px;padding:20px;text-align:left}.notes-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.notes-header>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.notes-header h2{margin:0;color:#211c17;font-family:Georgia,Times New Roman,serif;font-size:1.42rem;letter-spacing:0}.notes-actions{display:flex;align-items:center;gap:6px}.notes-actions button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:7px;color:#544d43;background:#fffdf8;box-shadow:0 5px 12px #261f160f;cursor:pointer;transition:color .12s ease,border-color .12s ease,background-color .12s ease,transform .12s ease}.notes-actions button:hover:not(:disabled),.notes-actions button:focus-visible{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft);outline:0;transform:translateY(-1px)}.notes-actions button.primary{color:#fff;border-color:var(--accent);background:var(--accent)}.notes-actions button:disabled{opacity:.34;cursor:default}.notes-editor-wrap{position:relative;min-width:0}.notes-editor-wrap textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:16px 18px 30px;border:1px solid var(--line);border-radius:8px;outline:0;color:#2a251f;background:#fffdf8d1;box-shadow:inset 0 1px 3px #261f160a;font:inherit;font-size:1rem;line-height:1.55;transition:border-color .14s ease,box-shadow .14s ease}.notes-editor-wrap textarea:focus{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:inset 0 1px 3px #261f160a,0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}.notes-editor-wrap>span{position:absolute;right:12px;bottom:9px;color:var(--muted);font-size:.7rem;font-weight:760;pointer-events:none}.notes-viewbar{display:grid;grid-template-columns:minmax(0,auto) minmax(150px,230px) auto;align-items:center;gap:12px}.notes-view-switch{display:inline-flex;align-items:stretch;gap:3px;min-width:0;padding:3px;border:1px solid var(--line);border-radius:8px;background:#f4f0e8}.notes-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 11px;border:0;border-radius:6px;color:#6e675c;background:transparent;font-size:.76rem;font-weight:850;cursor:pointer}.notes-view-switch button.active{color:var(--accent-ink);background:#fffdf8;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),0 3px 9px #261f1614}.notes-scale{display:grid;grid-template-columns:16px minmax(80px,1fr) 16px;align-items:center;gap:7px;color:var(--accent-ink)}.notes-scale input{width:100%;accent-color:var(--accent)}.notes-viewbar>output{color:var(--muted);font-size:.72rem;font-weight:780;text-align:right;white-space:nowrap}.notes-canvas-shell{min-width:0;overflow:visible}.notes-render-canvas{position:relative;isolation:isolate;display:grid;align-content:start;gap:calc(var(--notes-gap) * 1.2);width:100%;min-height:310px;padding:28px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--line));border-radius:8px;background-color:#fbf8f2;background-image:linear-gradient(rgba(62,52,41,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(62,52,41,.035) 1px,transparent 1px);background-size:24px 24px}.notes-visual-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--notes-gap);min-width:0;min-height:calc(var(--notes-tile-size) * 1.12)}.notes-letter-tile{position:relative;z-index:1;flex:0 0 var(--notes-tile-size);display:grid;place-items:center;width:var(--notes-tile-size);height:calc(var(--notes-tile-size) * 1.12);padding:0;border:1px solid rgba(49,40,30,.16);border-radius:8px;color:#211c17;background:linear-gradient(180deg,#fffefb,#f4eee3);box-shadow:inset 0 1px #fffc,0 9px 18px #2a22191f;cursor:default;transform-origin:center bottom;animation:cardPlace .18s cubic-bezier(.18,.86,.26,1.08) backwards;animation-delay:calc(var(--notes-item-index) * 7ms);transition:border-color .12s ease,box-shadow .12s ease,transform .12s cubic-bezier(.2,.9,.26,1.18)}.notes-letter-tile>span:first-child{font-family:Georgia,Times New Roman,serif;font-size:calc(var(--notes-tile-size) * .59);font-weight:700;line-height:1}.notes-letter-tile.has-preview{cursor:pointer}@media(hover:hover)and (pointer:fine){.notes-letter-tile.has-preview:hover,.notes-letter-tile.has-preview:focus-visible{z-index:20;border-color:color-mix(in srgb,var(--notes-letter-accent) 58%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--notes-letter-accent) 20%,transparent),0 17px 34px color-mix(in srgb,var(--notes-letter-accent) 22%,rgba(42,34,25,.16));outline:0;transform:translateY(-6px) scale(1.06)}}.notes-letter-preview{position:absolute;z-index:30;bottom:calc(100% + 10px);left:50%;width:174px;aspect-ratio:1;overflow:hidden;border:3px solid #fffaf2;border-radius:8px;background:#fffaf2;box-shadow:0 24px 48px #1c18133d,0 8px 18px #1c181324;pointer-events:none;transform:translate(-50%);animation:notesPreviewIn .13s cubic-bezier(.2,.85,.28,1.08) both}.notes-letter-preview img,.notes-letter-preview video,.notes-image-tile img{display:block;width:100%;height:100%;object-fit:cover}.notes-image-tile{position:relative;flex:0 0 var(--notes-hero-width);width:var(--notes-hero-width);aspect-ratio:16 / 9;margin:0;overflow:hidden;border:1px solid rgba(49,40,30,.15);border-radius:8px;background:#fffaf2;box-shadow:0 10px 22px #2a221924;animation:cardPlace .18s cubic-bezier(.18,.86,.26,1.08) backwards;animation-delay:calc(var(--notes-item-index) * 7ms);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.notes-image-tile.images{flex-basis:var(--notes-image-size);width:var(--notes-image-size);aspect-ratio:1}@media(hover:hover)and (pointer:fine){.notes-image-tile:hover{z-index:4;border-color:color-mix(in srgb,var(--notes-letter-accent) 48%,white);box-shadow:0 16px 34px color-mix(in srgb,var(--notes-letter-accent) 18%,rgba(42,34,25,.17));transform:translateY(-4px)}}.notes-space{flex:0 0 calc(var(--notes-tile-size) * .42);width:calc(var(--notes-tile-size) * .42);height:1px}.mode-letter-images .notes-space{flex-basis:calc(var(--notes-hero-width) * .3);width:calc(var(--notes-hero-width) * .3)}.mode-images .notes-space{flex-basis:calc(var(--notes-image-size) * .38);width:calc(var(--notes-image-size) * .38)}.notes-empty{display:grid;place-items:center;min-height:252px;color:#39302629;font-family:Georgia,Times New Roman,serif;font-size:5rem;font-weight:700}.notes-status{min-height:18px;margin:-4px 0 0;color:var(--muted);font-size:.72rem;font-weight:760;text-align:right}@keyframes notesPreviewIn{0%{opacity:0;transform:translate(-50%,8px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.drop-zone{display:grid;justify-items:center;gap:10px;width:min(680px,100%);min-height:220px;padding:36px;border:1px dashed color-mix(in srgb,var(--accent) 52%,transparent);border-radius:8px;color:var(--accent-ink);background:var(--accent-soft);cursor:pointer}.drop-zone strong{font-size:1.35rem}.drop-zone span{color:var(--muted);font-size:.9rem}.import-summary,.import-error{display:grid;grid-template-columns:22px minmax(0,auto);align-items:center;gap:8px;max-width:680px;padding:12px 14px;border-radius:8px;text-align:left}.import-summary{color:#123526;background:#d9f4e7}.import-summary span{grid-column:2;color:#34594a}.import-error{color:#632017;background:#ffe1db}.panorama-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,3vw,40px);background:#120f0cbd;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:lightboxIn .15s ease both}.panorama-lightbox-backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:zoom-out}.panorama-lightbox-figure{position:relative;z-index:2;display:grid;justify-items:center;gap:10px;width:min(94vw,1440px);max-height:90vh;margin:0}.panorama-lightbox-stage{position:relative;display:grid;place-items:center;width:100%;max-height:calc(100vh - 128px);overflow:hidden;border-radius:8px;background:#11100e;touch-action:none;user-select:none;-webkit-user-select:none}.panorama-lightbox-stage img{display:block;width:100%;max-height:calc(100vh - 128px);border:1px solid rgba(255,250,242,.24);border-radius:8px;object-fit:contain;background:#11100e;box-shadow:0 32px 90px #00000070,0 8px 24px #0000004d;transform-origin:center;transition:transform 80ms linear;will-change:transform;-webkit-user-drag:none}.panorama-lightbox-stage.zoomed img{transition:none}.panorama-lightbox-figure figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;color:#fffaf2;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.6)}.panorama-lightbox-figure figcaption strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.8vw,2.3rem);letter-spacing:0}.panorama-lightbox-figure figcaption span{align-self:center;color:#fffaf2c7;font-weight:760}.panorama-lightbox-close,.panorama-lightbox-nav{position:fixed;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,250,242,.22);color:#fffaf2;background:#1c18138a;box-shadow:0 16px 34px #0000004d;cursor:pointer;transition:transform .13s ease,border-color .13s ease,background .13s ease,box-shadow .13s ease}.panorama-lightbox-close:hover,.panorama-lightbox-close:focus-visible,.panorama-lightbox-nav:hover,.panorama-lightbox-nav:focus-visible{border-color:#fffaf285;outline:0;background:#3a3026b8;box-shadow:0 20px 46px #00000061,0 0 0 3px #fffaf21a;transform:scale(1.04)}.panorama-lightbox-close{top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,28px);width:46px;height:46px;border-radius:999px}.panorama-lightbox-nav{top:50%;width:clamp(46px,4.8vw,64px);height:clamp(58px,7vw,84px);border-radius:999px;transform:translateY(-50%)}.panorama-lightbox-nav:hover,.panorama-lightbox-nav:focus-visible{transform:translateY(-50%) scale(1.04)}.panorama-lightbox-nav.previous{left:clamp(10px,2vw,28px)}.panorama-lightbox-nav.next{right:clamp(10px,2vw,28px)}.detail-panel{display:grid;align-content:start;gap:14px;min-height:100vh;padding:18px;border-left:1px solid var(--line);background:#f4f0e8}.detail-panel section{padding:16px;color:#211d18;background:#fffdf8}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-heading-copy{display:grid;gap:2px;min-width:0}.panel-heading-copy>span{color:#302a23;font-size:.84rem;font-weight:900}.panel-heading-copy>small{overflow:hidden;color:var(--muted);font-size:.7rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-stat{display:grid;gap:4px;min-height:64px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fffaf2}.mini-stat strong{color:var(--accent-ink);font-size:1.2rem}.mini-stat small{color:var(--muted);font-size:.74rem;font-weight:820}.practice-rankings{display:grid;gap:12px}.ranking-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ranking-sort-button{display:inline-grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent-ink);background:#fffaf2;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ranking-sort-button:hover,.ranking-sort-button:focus-visible{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-1px)}.ranking-activity-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid var(--line);border-radius:8px;background:#f4f0e8}.ranking-activity-tabs button{display:inline-flex;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:2px;padding:0 2px;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.ranking-activity-tabs button span{overflow:hidden;font-size:.62rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.ranking-activity-tabs button svg{width:13px;height:13px;flex:0 0 auto}.ranking-activity-tabs button.active{color:var(--accent-ink);background:#fffdf8;box-shadow:0 1px 5px #342b201a}.ranking-activity-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ranking-group{display:grid;gap:5px;min-width:0}.ranking-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}.ranking-group-heading strong{color:#302a23;font-size:.78rem}.ranking-group-heading span{color:var(--muted);font-size:.64rem;font-weight:760}.practice-ranking-list{display:grid}.practice-ranking-list>button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:7px 2px;border:0;border-bottom:1px solid #ece5da;color:#302a23;background:transparent;text-align:left;cursor:pointer;transition:color .15s ease,background .15s ease}.practice-ranking-list>button:first-child{border-top:1px solid #ece5da}.practice-ranking-list>button:hover,.practice-ranking-list>button:focus-visible{outline:0;color:var(--accent-ink);background:color-mix(in srgb,var(--accent-soft) 72%,white)}.ranking-position{color:var(--muted);font-size:.68rem;font-weight:900;text-align:center}.ranking-copy{display:grid;gap:2px;min-width:0}.ranking-copy strong,.ranking-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-copy strong{font-size:.78rem}.ranking-copy small{color:var(--muted);font-size:.65rem}.ranking-value{display:grid;justify-items:end;color:var(--accent-ink);font-size:.82rem;font-weight:900}.ranking-value small{color:var(--muted);font-size:.55rem;font-weight:760}@keyframes tileFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes typingCursor{0%,to{opacity:.36}50%{opacity:1}}@keyframes contextWordBloom{0%{background:transparent;box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent),0 0 color-mix(in srgb,var(--accent-stripe) 0%,transparent);text-shadow:0 0 0 transparent}58%{background:color-mix(in srgb,var(--accent) 17%,rgba(255,253,248,.88));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent),0 3px 14px color-mix(in srgb,var(--accent) 31%,transparent),0 0 32px color-mix(in srgb,var(--accent-stripe) 38%,transparent),0 0 54px color-mix(in srgb,var(--accent) 18%,transparent);text-shadow:0 0 14px color-mix(in srgb,var(--accent-stripe) 30%,transparent)}to{background:color-mix(in srgb,var(--accent) 13%,rgba(255,253,248,.82))}}@keyframes synonymSpeakerPulse{0%{transform:scale(.92)}to{transform:scale(1.12)}}@keyframes sentenceTranslationReveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.example-word{transition:none}.example-word.active{animation:none}.study-hint-trigger,.study-hint-spark,.study-inline-hint,.sentence-translation,.synonym-chip.playing>svg,.immersive-story-soundwave i,.audio-player-state,.practice-mode-rail button.speaking.active,.speech-level i,.typing-cursor:after{animation:none}}@keyframes pathPulse{0%,to{opacity:.28}50%{opacity:.62}}@keyframes wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1.9)}}@keyframes cardPlace{0%{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}@media(max-width:1320px){.app-shell{grid-template-columns:300px minmax(0,1fr)}.detail-panel{grid-column:1 / -1;min-height:auto;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);border-left:0;border-top:1px solid var(--line)}.top-bar{grid-template-columns:minmax(0,1fr)}.mode-strip{justify-content:flex-start;overflow-x:auto}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.library-sidebar{gap:8px;height:auto;min-height:auto;max-height:none;padding:10px 12px 12px;overflow:hidden;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.brand-block{grid-template-columns:56px minmax(0,1fr);align-items:center;justify-items:start;gap:10px;padding:0 123px 3px 3px;text-align:left}.language-switcher{top:8px;right:3px;left:auto}.brand-mark{width:56px;height:56px;border-radius:14px}.brand-copy{justify-items:start;gap:3px}.brand-block h1{display:block;font-size:1.3rem;line-height:1}.brand-block h1 span{display:inline}.brand-block h1 span+span:before{content:" "}.brand-divider{justify-content:flex-start;height:6px}.brand-mission{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:.69rem;line-height:1.2}.mobile-mode-launcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mobile-mode-launcher button{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;min-height:48px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f8f0e4b8;background:#fff1;font-size:.82rem;font-weight:820;text-align:left;cursor:pointer}.mobile-mode-launcher button svg{width:19px;height:19px;color:color-mix(in srgb,var(--accent) 72%,#fff8eb)}.mobile-mode-launcher button.active{color:#fff8eb;border-color:color-mix(in srgb,var(--accent) 62%,white);background:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.08));box-shadow:0 8px 20px #0000002e}.mobile-library-toggle{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:50px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff8eb;background:#ffffff13;text-align:left;cursor:pointer}.mobile-library-toggle>span{display:grid;gap:2px;min-width:0}.mobile-library-toggle strong,.mobile-library-toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-library-toggle strong{font-size:.82rem}.mobile-library-toggle small{color:#f8f0e485;font-size:.7rem}.mobile-library-toggle>svg:last-child{transition:transform .18s ease}.mobile-library-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.sidebar-library{display:none}.sidebar-library.open{display:flex;flex-direction:column;gap:9px;padding-top:2px;overflow:hidden}.filter-section{flex:0 0 clamp(158px,22dvh,188px);height:clamp(158px,22dvh,188px);min-height:158px;max-height:188px;padding:0 5px 2px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch}.word-list{flex:0 0 clamp(158px,24dvh,210px);height:clamp(158px,24dvh,210px);min-height:158px;max-height:210px;padding:0 5px 2px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch}.mobile-word-list-title{display:flex;align-items:center;justify-content:space-between;min-height:22px;padding:0 5px 0 1px;color:#f8f0e494;font-size:.72rem;font-weight:800;text-transform:uppercase}.mobile-word-list-title strong{color:#f8f0e46b;font-size:.7rem}.category-resizer{display:none}.workspace{gap:9px;padding:10px 12px 14px}.workspace>.top-bar{display:none}.mode-stage{min-height:0}.progress-rail{grid-template-columns:58px minmax(0,1fr);gap:8px;font-size:.72rem}.progress-rail div{height:5px}.intro-hero,.intro-hero-copy{min-height:470px}.intro-hero-copy{width:min(760px,82%);padding:40px}.intro-hero h2{font-size:2.65rem}.intro-section{padding:44px 36px}.intro-alphabet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-example,.intro-why{grid-template-columns:1fr}.intro-example-copy{order:-1}.intro-footer{align-items:flex-start;padding:30px 36px}.cards-audio-layout{position:relative;grid-template-columns:1fr;gap:8px;padding-bottom:0}.flashcard-audio-player{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}.mobile-player-command-row{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px;width:100%}.mobile-player-nav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line-strong);border-radius:8px;color:#39342e;background:#fffdf8f0;box-shadow:0 5px 14px #2b231817;cursor:pointer}.audio-player-rail{position:static;flex-direction:row;justify-content:space-between;gap:3px;min-width:0;width:100%;padding:4px 5px;border-radius:24px}.audio-player-rail button{width:36px;height:36px;flex-basis:36px}.audio-player-rail .audio-stop-control{display:none}.audio-player-rail .mobile-player-favorite{display:grid}.flashcard-audio-player:not(.phase-idle):not(.phase-error) .audio-player-rail .audio-stop-control{display:grid}.flashcard-audio-player:not(.phase-idle):not(.phase-error) .audio-player-rail .mobile-player-favorite{display:none}.practice-mode-rail{display:none}.audio-player-state{margin:0 0 0 2px}.speech-cycle-status{position:static;width:min(320px,100%);justify-self:center}.audio-settings-panel{position:static;width:100%;margin-top:0}.detail-panel{grid-template-columns:1fr}.notes-viewbar{grid-template-columns:minmax(0,1fr);justify-items:stretch}.notes-scale{max-width:320px}.notes-viewbar>output{text-align:left}.study-card h2,.typing-mode h2,.context-mode h2,.synonym-mode h2,.speak-mode h2{font-size:2.8rem}.study-card-face,.legend-mode,.typing-mode,.context-mode,.synonym-mode,.speak-mode,.import-mode{padding:24px}.study-card{min-height:0}.study-card:before{height:5px}.study-card-face{align-content:start;gap:9px;min-height:0;padding:11px 9px 14px}.study-meta{display:none}.study-front .word-panorama{order:1;width:100%}.study-front .pao-explorer{order:2;gap:3px;min-width:0;max-width:100%}.study-front .study-inline-hint{order:5}.study-front .translation{order:3}.study-front .mobile-card-learning-row{order:4}.study-front .example-translation-stack{order:6}.study-front .visual-synonyms{order:7}.study-front .study-actions{order:8}.study-front .pao-wordline-row{gap:5px;min-width:0;max-width:100%}.study-front .pao-wordline{flex:1 1 100%;flex-wrap:wrap;min-width:0;max-width:100%;width:100%;min-height:42px;padding:2px 0 5px}.study-front .pao-word-space{flex:0 0 100%;width:100%;height:4px}.study-front .pao-letter-button{width:min(52px,calc((100% - 4px) / var(--pao-token-count)));height:clamp(36px,calc((100vw - 64px) / var(--pao-token-count) * 1.08),52px);border-radius:6px}.study-front .pao-letter-button span:first-child{font-size:clamp(1.05rem,calc((100vw - 64px) / var(--pao-token-count) * .72),2.25rem)}.study-front .study-hint-trigger-desktop{display:none}.study-front .study-hint-trigger-mobile{position:absolute;right:1px;display:grid;flex:0 0 42px;width:42px;height:42px;margin:0;border-radius:10px}.study-front .mobile-card-learning-row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;min-height:44px}.study-front .mobile-card-practice-controls{grid-column:2;display:flex;align-items:center;gap:4px;padding:3px;border:1px solid color-mix(in srgb,#3f7f8b 18%,var(--line));border-radius:25px;background:#fffdf8f0;box-shadow:0 8px 20px #2b23181f,0 2px 6px #2b23180f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.study-front .mobile-card-practice-controls button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid var(--line-strong);border-radius:50%;color:#514b43;background:#fffdf8;box-shadow:0 4px 10px #2b231814;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.study-front .mobile-card-practice-controls button:hover,.study-front .mobile-card-practice-controls button:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,white);outline:0;color:var(--accent-ink);background:var(--accent-soft);transform:translateY(-1px)}.study-front .mobile-card-practice-controls button.active{color:#18525c;border-color:#2984916b;background:#e7f7f6;box-shadow:0 7px 17px #217f8b2e}.study-front .mobile-card-practice-controls button.speaking.active{color:#fff;border-color:#238a94;background:#238a94;box-shadow:0 8px 20px #1b7e8947}.study-front .mobile-card-practice-controls button:disabled{color:#aaa39a;background:#f2eee7;cursor:default;box-shadow:none;opacity:.62;transform:none}.study-front .translation{margin-top:-3px;font-size:1.02rem;line-height:1.18}.study-front .example-translation-stack{gap:4px}.study-front .example-line{padding:3px 4px;font-size:.86rem;line-height:1.38}.study-front .sentence-translation-toggle{width:28px;height:28px}.study-front .visual-synonyms{gap:5px;margin-top:0}.study-front .synonym-chip{min-height:30px;padding:0 9px;font-size:.78rem}.word-panorama{width:min(100%,640px)}.panorama-lightbox{padding:8px 0}.panorama-lightbox-figure{grid-template-rows:minmax(0,1fr) auto;width:100%;height:min(78dvh,calc(100dvh - 74px));max-height:none}.panorama-lightbox-stage{width:100vw;height:100%;max-height:none;border-radius:0}.panorama-lightbox-stage img{width:100%;max-height:100%;border-right:0;border-left:0;border-radius:0}.panorama-lightbox-nav{width:42px;height:58px}.workspace{touch-action:pan-y}.synonym-grid{grid-template-columns:1fr}.pao-active-preview{width:148px}.pao-wordline{min-height:76px}.pao-letter-button{width:54px;height:58px}.study-hint-trigger{flex-basis:54px;width:54px;height:58px;margin-left:8px}.pao-word-space{flex-basis:54px;height:58px}.pao-letter-button span:first-child{font-size:2.55rem}.pao-letter-pop{width:164px}.pao-hero-card{flex-basis:clamp(96px,var(--pao-card-size, 132px),48vw)}.visual-scale-control{grid-template-columns:18px minmax(0,1fr) 18px 46px;width:min(100%,360px)}.hint-panel{position:static;width:100%;margin-bottom:12px}.answer-row{grid-template-columns:1fr}.legend-row{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;padding:10px}.legend-media{max-width:none}.legend-scene{grid-column:1 / -1}}@media(max-width:560px){.mode-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.mode-button{justify-content:center;width:100%}.intro-hero,.intro-hero-copy{min-height:540px}.intro-hero>img{object-position:62% center}.intro-hero-shade{background:linear-gradient(0deg,#120f0cf5,#120f0c9e 66%,#120f0c1f)}.intro-hero-copy{width:100%;padding:28px 22px}.intro-hero h2{font-size:2.1rem}.intro-hero p{font-size:.94rem}.intro-section{gap:22px;padding:34px 20px}.intro-section-heading h3,.intro-example-copy h3,.intro-why h3{font-size:1.72rem}.intro-history-grid,.intro-pao-grid,.intro-alphabet-grid{grid-template-columns:1fr}.intro-history-item{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:18px 14px}.intro-pao-step{padding:20px}.intro-example{gap:24px}.video-sound-toggle{top:9px;right:9px;width:36px;height:36px}.intro-enigma-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-memory-note{padding:22px}.intro-footer{display:grid;padding:28px 20px}.intro-footer-actions{display:grid;justify-content:stretch}.intro-footer-actions .command-button{width:100%}.notes-mode{padding:14px}.notes-header{align-items:flex-start}.notes-header>div:first-child{display:grid;gap:6px}.notes-header h2{font-size:1.2rem}.notes-actions{flex-wrap:wrap;justify-content:flex-end}.notes-actions button{width:36px;height:36px}.notes-view-switch{width:100%}.notes-view-switch button{flex:1 1 0;min-width:0;padding:4px 6px;font-size:.7rem;line-height:1.15}.notes-render-canvas{min-height:280px;padding:16px}.audio-player-rail button{width:36px;height:36px;flex-basis:36px}.practice-mode-rail button{width:40px;height:40px;flex-basis:40px}.audio-settings-panel{padding:14px}.audio-segmented-three,.audio-number-grid{grid-template-columns:1fr}.panorama-lightbox-figure{gap:8px}.panorama-lightbox-figure figcaption{display:grid;gap:3px}.panorama-lightbox-close{width:40px;height:40px}.legend-heading{align-items:start}.legend-heading h2{width:100%;font-size:1.62rem}.legend-row{grid-template-columns:1fr;align-items:start}.legend-scene{grid-column:auto}}@media(hover:none),(pointer:coarse){.notes-letter-preview{display:none}.pao-card-word{gap:10px 8px;padding-right:0;padding-left:0}.pao-hero-card{cursor:default;transition:transform 90ms ease,box-shadow 90ms ease,border-color 90ms ease}.pao-hero-card:active{z-index:8;border-color:color-mix(in srgb,var(--letter-glow) 48%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--letter-glow) 18%,white),0 12px 26px color-mix(in srgb,var(--letter-glow) 20%,rgba(28,24,19,.16));transform:translateY(-2px) scale(1.04)}.pao-hero-card:active:after{opacity:.72;transform:scaleX(.92) translateY(0)}}
