:root{--bg:#14161a;--panel:#1d2025;--line:#2c313a;--fg:#e8eaed;--dim:#9aa2af;--accent:#6ea8fe;--en:#ffe066}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{max-width:860px;margin:0 auto;padding:2rem 1.5rem 6rem}#app-nav{margin-bottom:2rem}.nav-main-row{align-items:center;gap:.75rem;display:flex}.nav-links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.nav-links a,.nav-extras a,.nav-extras .nav-action{color:var(--dim);border-radius:6px;padding:.2rem .5rem;text-decoration:none}.nav-links a:hover,.nav-extras a:hover,.nav-extras .nav-action:hover{color:var(--fg);background:var(--panel)}.nav-links a.active{color:var(--accent);background:var(--panel);font-weight:600}.nav-burger{background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;border-radius:6px;width:2.1rem;height:2.1rem;font-size:1.1rem;line-height:1;display:none}.nav-burger:hover{border-color:var(--accent)}.nav-extras{border:1px dashed var(--line);background:color-mix(in srgb, var(--panel) 60%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.6rem;padding:.4rem .6rem;display:flex}.nav-extras a{padding:.15rem .4rem;font-size:.88rem}.nav-action{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none}.nav-backdrop{z-index:300;opacity:0;pointer-events:none;background:#00000073;transition:opacity .18s;position:fixed;inset:0}.nav-drawer{background:var(--panel);border-left:1px solid var(--line);z-index:301;box-sizing:border-box;flex-direction:column;gap:.8rem;width:min(78vw,300px);padding:1rem;transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}body.nav-drawer-open .nav-backdrop{opacity:1;pointer-events:auto}body.nav-drawer-open .nav-drawer{transform:translate(0)}.nav-drawer-head{justify-content:space-between;align-items:center;display:flex}.nav-drawer-head strong{font-size:1.05rem}.nav-drawer-close{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1rem}.nav-drawer-close:hover{color:var(--fg)}.nav-drawer-base,.nav-drawer-extras{flex-direction:column;gap:.15rem;display:flex}.nav-drawer-base a,.nav-drawer-extras a,.nav-drawer-extras .nav-action{color:var(--fg);border-radius:8px;padding:.55rem .6rem;text-decoration:none}.nav-drawer-base a:hover,.nav-drawer-extras a:hover,.nav-drawer-extras .nav-action:hover{background:var(--bg)}.nav-drawer-base a.active{color:var(--accent);background:var(--bg);font-weight:600}.nav-drawer-extras{border:1px dashed var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);border-radius:8px;margin-top:.2rem;padding:.6rem}.nav-drawer-extras-title{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:.2rem;font-size:.78rem}@media (width<=720px){.nav-links{display:none}.nav-burger{justify-content:center;align-items:center;display:inline-flex}.nav-extras{display:none}}@media (width>=721px){.nav-backdrop,.nav-drawer{display:none}}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.4rem}.card h1{margin:0 0 .8rem;font-size:1.35rem}.card h2{color:var(--accent);margin:1.4rem 0 .5rem;font-size:1rem}code,pre{font-family:SF Mono,Menlo,monospace;font-size:.85em}code{color:var(--en);background:#0d0f12;border-radius:4px;padding:.1rem .35rem}pre{border:1px solid var(--line);background:#0d0f12;border-radius:8px;padding:.8rem;overflow-x:auto}button{color:var(--fg);border:1px solid var(--line);cursor:pointer;font:inherit;background:#262b33;border-radius:8px;padding:.4rem .85rem}button:hover{border-color:var(--accent)}input[type=text],input[type=number]{color:var(--fg);border:1px solid var(--line);font:inherit;background:#0d0f12;border-radius:8px;padding:.4rem .6rem}input[type=range]{accent-color:var(--accent);width:100%}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dim{color:var(--dim)}.stat{font-variant-numeric:tabular-nums;color:var(--en);font-weight:600}ol{padding-left:1.2rem}ol li{margin-bottom:.45rem}#route-status{border-top:1px solid var(--line);color:var(--dim);background:#0d0f12;padding:.4rem 1rem;font-family:SF Mono,Menlo,monospace;font-size:12px;display:none;position:fixed;bottom:0;left:0;right:0}#app.fill{max-width:none;padding:0}#app.fill #app-nav{display:none}#app.fill #page-content{height:100dvh}#app.fill .card{padding:0}#app.fill .media-col{max-width:none}#app.fill #page-content>.card{min-height:100%}#app.fill #page-content>.player-card{flex-direction:column;display:flex}#app.fill #page-content>.player-card>#player-wrapper,#app.fill #page-content>.player-card>.player-accordion{flex:none}#app.fill #player-wrapper{max-width:min(100%,177.778dvh - 7.11111rem)}#app.fill #transcript-panel{flex-direction:column;flex:1 1 0;min-height:338px;display:flex}#app.fill .transcript-panel{flex-direction:column;flex:1 1 0;min-height:0;margin-bottom:0;display:flex}#app.fill .transcript-rows{flex:1 1 0;min-height:0;max-height:none}#app.fill .reader{max-width:calc(760px + 2rem);padding:0 1rem}#app.fill .practice-card{height:100dvh;min-height:0}#app.fill .practice-sidebar,#app.fill .practice-sidebartoggle{display:none}#app.fill .practice-card .practice-main .practice-header{padding-left:0}#app.fill .practice-inputbar{padding-right:3rem}.fill-btn{z-index:150;width:2.25rem;height:2.25rem;color:var(--dim);background:color-mix(in srgb, var(--panel) 85%, transparent);border:1px solid var(--line);cursor:pointer;opacity:.6;-webkit-tap-highlight-color:transparent;border-radius:8px;place-items:center;padding:0;font-size:1.15rem;line-height:1;transition:opacity .15s,color .15s,border-color .15s;display:grid;position:fixed;bottom:.75rem;right:.75rem}.fill-btn:hover,.fill-btn:focus-visible{opacity:1;color:var(--fg);border-color:var(--accent)}.fill-btn.on{opacity:1;color:var(--accent);border-color:var(--accent)}.fill-btn[hidden]{display:none}.stage{border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#1a1d22,#1a1d22 12px,#16181d 12px 24px);border-radius:10px;height:240px;margin:.8rem 0;position:relative}.stage .anchor{border:1.5px dashed var(--accent);color:var(--dim);text-align:center;background:#6ea8fe14;border-radius:8px;place-content:center;display:grid;position:absolute;inset:40px 120px}.subtitle-overlay{z-index:10;-webkit-user-select:none;user-select:none;background:#000000c7;border:1.5px solid #ffffff40;border-radius:8px;flex-direction:column;width:100%;max-height:80px;transition:opacity .25s;display:flex;position:absolute;bottom:0;left:0;overflow:hidden;box-shadow:0 4px 16px #0000004d}.subtitle-overlay.held{opacity:.55}.subtitle-handle{color:#fff;cursor:grab;touch-action:none;background:#ffffff2e;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:24px;height:100%;font-size:14px;display:flex;position:absolute;top:0;right:0}.subtitle-handle:active{cursor:grabbing}.subtitle-text{box-sizing:border-box;white-space:pre-wrap;color:#fff;flex:0 auto;min-height:0;padding:6px 32px 6px 12px;line-height:1.4;overflow-y:auto}.subtitle-text.en{color:var(--en)}.media-col{max-width:640px;margin-left:auto;margin-right:auto}#player-wrapper{aspect-ratio:16/9;width:100%;position:relative}#player-wrapper iframe{border:0;width:100%;height:100%;display:block}.player-title-row{justify-content:space-between;margin-top:.4rem}.player-controls-col,.transcript-panel{margin-top:1rem}.transcript-rows{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.transcript-row{border-radius:6px;grid-template-columns:4.5ch 1fr;align-items:baseline;gap:.15rem .8rem;padding:.35rem .5rem;display:grid}.transcript-row .t-text{grid-column:2}.transcript-row .t-time{grid-row:1/span 2}.transcript-row.active{background:#ffe0661f}.transcript-row.held{opacity:.55;background:#ffffff0a}.t-time{font-variant-numeric:tabular-nums;color:var(--en);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.t-time:hover{text-decoration:underline}.t-text{white-space:pre-wrap;line-height:1.4}.t-text.en{color:var(--en)}.transcript-row.playing{background:#7ee78724}.transcript-row .t-play{color:var(--en);cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:6px;grid-area:1/3/span 2;place-self:end;padding:.2rem .3rem;font-size:.9rem}.transcript-row .t-play:hover{opacity:1;transform:scale(1.2)}.transcript-panel.lang-ru .transcript-row .t-text.en,.transcript-panel.lang-en .transcript-row .t-text:not(.en),.transcript-panel.lang-both .transcript-row.no-en .t-text.en{display:none}.transcript-panel.lang-en .transcript-row.no-en .t-text.en{color:inherit}@media (width>=721px){.transcript-panel.lang-ru .transcript-row .t-text:not(.en),.transcript-panel.lang-en .transcript-row .t-text.en{grid-row:1/span 2;align-self:center}}@media (width<=720px){.transcript-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem .5rem;padding:.45rem .5rem}.transcript-row .t-time{grid-area:1/1}.transcript-row .t-play{grid-area:1/3;place-self:center end}.transcript-panel .transcript-row .t-text{grid-column:1/-1;align-self:start}.transcript-panel .transcript-row .t-text:not(.en){grid-row:2}.transcript-panel .transcript-row .t-text.en{grid-row:3}.transcript-row .t-time{align-items:center;min-height:40px;padding:0 .35rem;display:inline-flex}.transcript-row .t-play{width:40px;height:40px;font-size:.95rem}}.video-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.video-card{color:inherit;border:1px solid var(--border,#333);background:var(--card-bg,#1a1a1a);border-radius:8px;text-decoration:none;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.video-card:hover{border-color:var(--en,#ffe066);transform:translateY(-2px)}.video-card img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.video-card-body{padding:.5rem .7rem .7rem}.video-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.3;display:-webkit-box;overflow:hidden}.video-card-meta{margin-top:.3rem;font-size:.75rem}.reader{max-width:760px;margin:0 auto}.reader-topbar{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:.45rem;padding:.8rem 0 .6rem;display:flex;position:sticky;top:0}.reader-titles{flex:1;min-width:0}.reader-title{margin:0;font-size:1.15rem}.reader-sub{font-size:.85rem}.reader-actions{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.reader-player-link{color:var(--accent);white-space:nowrap;font-size:.85rem}.reader-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reader-mini{z-index:100;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:200px;position:fixed;overflow:hidden;box-shadow:0 6px 24px #00000073}.reader-mini-handle{cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;color:var(--dim);background:var(--panel);border-bottom:1px solid var(--line);touch-action:none;padding:.05rem 0;font-size:.75rem}.reader-mini-handle:active{cursor:grabbing}#reader-player iframe{display:block}@media (pointer:coarse){.reader-mini{border-radius:8px;padding-right:1.4rem;overflow:visible}.reader-mini-handle{writing-mode:vertical-rl;border-bottom:none;border-left:1px solid var(--line);background:var(--panel);border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:1.4rem;padding:0;font-size:1.1rem;display:flex;position:absolute;top:0;bottom:0;right:0}}.reader-body{flex-direction:column;gap:.9rem;margin-top:1.2rem;display:flex}.reader-line{cursor:pointer;border-radius:8px;grid-template-columns:auto 4.5ch 1fr auto 30px;align-items:baseline;gap:.15rem .8rem;padding:.15rem .5rem;display:grid}.reader-line .r-text{grid-column:3;min-width:0}.reader-line .r-time{font-variant-numeric:tabular-nums;color:var(--en);cursor:pointer;text-align:left;background:0 0;border:none;grid-area:1/2/span 2;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.reader-line .r-time:hover{text-decoration:underline}.reader-line .r-play{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--fg);cursor:pointer;border-radius:50%;grid-area:1/5/span 2;justify-content:center;place-self:center end;align-items:center;padding:0 0 0 2px;font-size:.8rem;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.reader-line .r-play:hover{background:var(--accent);border-color:var(--accent);color:#111;transform:scale(1.1)}.reader-line .r-ru{font-size:1.25rem;line-height:1.55;display:block}.reader-line .r-fold{width:28px;height:28px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-area:1/4;justify-content:center;align-self:start;align-items:center;margin-top:.28rem;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.reader-line .r-fold:hover{color:var(--accent);border-color:var(--line);background:#ffffff0d}.reader-line .r-fold.open{color:var(--accent)}.reader-line .r-fold:disabled{opacity:.3;cursor:default}.reader-line .r-fold:disabled:hover{color:var(--dim);background:0 0;border-color:#0000}.reader-line .r-en{color:var(--en);opacity:.85;font-size:.95rem;display:block}.reader-line:hover{background:#ffffff0d}.reader-line.active{background:#ffe0661f}.video-card-actions{gap:.8rem;margin-top:.3rem;display:flex}.video-card-actions a{color:var(--accent);font-size:.85rem;text-decoration:none}.video-card-actions a:hover{text-decoration:underline}.video-card{cursor:pointer}.reader-select{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:6px;max-width:24ch;padding:.15rem .3rem;font-size:.8rem}.word-dialog-backdrop{z-index:199;background:#0000008c;position:fixed;inset:0}.word-dialog{background:var(--panel);border:1px solid var(--line);z-index:200;border-radius:14px;flex-direction:column;width:min(90vw,1600px);height:90vh;max-height:90vh;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 64px #0009}.word-dialog-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1.1rem;display:flex}.word-dialog-word{color:var(--accent);font-size:1.6rem;font-weight:600}.word-dialog-close{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.2rem .6rem;font-size:1.3rem}.word-dialog-close:hover{color:var(--fg);background:#ffffff14}.word-dialog-body{color:var(--fg);flex:1;padding:.9rem 1.1rem 1.2rem;font-size:1rem;line-height:1.55;overflow-y:auto}.word-dialog-def{border-top:1px solid var(--line);margin-top:1rem;padding-top:.9rem}.word-dialog-loading{color:var(--dim);font-size:.85rem;font-style:italic}.word-dialog-translation{color:var(--en);font-weight:600}.word-dialog-gloss{color:var(--fg);margin-top:.3rem;font-size:.9rem;line-height:1.45}.word-dialog-error{color:#f88;font-size:.85rem}.video-read-link{color:var(--accent);font-size:.85rem;text-decoration:none}.video-read-link:hover{text-decoration:underline}.player-accordion-summary{cursor:pointer;color:var(--dim);-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:center;gap:.4rem;padding:.35rem 0;font-size:.85rem;list-style:none;display:flex}.player-accordion-summary::-webkit-details-marker{display:none}.player-accordion-summary:hover{color:var(--accent)}.player-accordion-caret{font-size:.75rem;transition:transform .15s;display:inline-block}.player-accordion[open] .player-accordion-caret{transform:rotate(90deg)}.provider-switch{border:1px solid var(--line);border-radius:6px;flex-shrink:0;margin-top:.3rem;display:inline-flex;overflow:hidden}.provider-opt{background:var(--panel);color:var(--dim);cursor:pointer;border:none;padding:.2rem .55rem;font-size:.75rem}.provider-opt+.provider-opt{border-left:1px solid var(--line)}.provider-opt.active{background:var(--accent);color:#111;font-weight:600}.word-dialog-lemma{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-left:.4rem;font-size:.85rem;overflow:hidden}.word-dialog-label{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-top:.9rem;font-size:.75rem}.word-dialog-translation{font-size:1.1rem}.word-dialog-gloss{font-size:1rem}.word-dialog-morph-parts{flex-wrap:wrap;gap:.3rem;margin-top:.2rem;display:flex}.morph-part{border:1px solid var(--line);color:var(--fg);background:#ffffff0f;border-radius:5px;padding:.1rem .35rem;font-size:.9rem}.morph-key{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem;font-size:.68rem}.word-dialog-morph-notes{color:var(--dim);margin-top:.25rem;font-size:.82rem;font-style:italic}.word-dialog-examples-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.4rem 1.5rem;margin:.4rem 0 0;padding-left:1.3rem;font-size:1rem;display:grid}.word-dialog-examples-list li{margin-bottom:.3rem}.ex-ru{color:var(--fg)}.ex-en{color:var(--en);margin-left:.35rem;font-size:.82rem}.word-dialog-provider{text-align:right;color:var(--dim);margin-top:.5rem;font-size:.7rem}[hidden]{display:none!important}.reader-options-btn{background:var(--panel);border:1px solid var(--line);color:var(--dim);white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;margin-top:.3rem;padding:.25rem .6rem;font-size:.78rem}.reader-options-btn:hover{color:var(--fg);border-color:var(--accent)}.options-dialog-backdrop,.bookmarks-dialog-backdrop{z-index:199;background:#0000008c;position:fixed;inset:0}.options-dialog,.bookmarks-dialog{background:var(--panel);border:1px solid var(--line);z-index:200;border-radius:12px;width:min(92vw,480px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #0009}.options-dialog-head,.bookmarks-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex}.options-dialog-title,.bookmarks-dialog-title{font-size:.95rem;font-weight:600}.options-dialog-close,.bookmarks-dialog-close{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.1rem .5rem;font-size:1.2rem}.options-dialog-close:hover,.bookmarks-dialog-close:hover{color:var(--fg);background:#ffffff14}.options-dialog-body,.bookmarks-dialog-body{padding:.1rem 1rem .6rem}.option-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.option-row:last-child{border-bottom:none}.option-label{color:var(--fg);font-size:.85rem}.option-ctrl{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.options-dialog .provider-switch{margin-top:0}.option-pos{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.option-reset{border:1px solid var(--line);color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.22rem .55rem;font-size:.72rem}.option-reset:hover{color:var(--fg);border-color:var(--accent)}.provider-opt:disabled{opacity:.4;cursor:not-allowed}.reader-line .r-star{width:28px;height:28px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-area:1/1;justify-content:center;align-self:start;align-items:center;margin-top:.28rem;padding:0;font-size:1.05rem;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.reader-line .r-star:hover{color:var(--accent);border-color:var(--line);background:#ffffff0d}.reader-line .r-star.on{color:var(--accent)}.reader-line.flash{animation:1.4s ease-out reader-flash}@keyframes reader-flash{0%{background:#ffe06680}to{background:0 0}}@media (width<=720px){.reader-line{grid-template-columns:auto auto 1fr auto auto;grid-auto-rows:auto;align-items:center;gap:.5rem}.reader-line .r-star{grid-area:1/1;margin-top:0}.reader-line .r-time{grid-area:1/2}.reader-line .r-fold{grid-area:1/4;margin-top:0}.reader-line .r-play{grid-area:1/5}.reader-line .r-text{grid-area:2/1/auto/-1;min-width:0}.reader-line .r-fold,.reader-line .r-star,.reader-line .r-play{width:40px;height:40px}.reader-line .r-fold svg{width:20px;height:20px}.reader-line .r-star{font-size:1.15rem}.reader-line .r-play{font-size:.95rem}.reader-line .r-time{justify-content:center;align-items:center;min-height:40px;padding:0 .5rem;display:inline-flex}}.bm-empty{color:var(--dim);margin:0;padding:.5rem 0;font-size:.9rem}.bm-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);justify-content:space-between;margin-top:.8rem;font-size:.72rem;display:flex}.bm-group-title:first-child{margin-top:0}.bm-row{align-items:center;gap:.3rem;display:flex}.bm-item{text-align:left;min-width:0;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;align-items:baseline;gap:.6rem;padding:.4rem .3rem;display:flex}.bm-item:hover{background:#ffffff0f}.bm-time{font-variant-numeric:tabular-nums;color:var(--accent);flex-shrink:0;font-size:.8rem}.bm-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--dim);border:1px solid var(--line);border-radius:4px;flex-shrink:0;padding:0 .25rem;font-size:.62rem}.bm-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.bm-x{color:var(--dim);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.15rem .4rem;font-size:.8rem}.bm-x:hover{color:#f88;opacity:1}.word-dialog-speak,.ex-tts{color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0 .15rem;padding:.05rem .2rem;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.word-dialog-speak{vertical-align:baseline;margin-left:.1rem}.word-dialog-speak:hover,.ex-tts:hover{color:var(--accent);border-color:var(--line);background:#ffffff0f}.ex-tts{vertical-align:baseline}.practice-card{flex-direction:column;height:calc(100vh - 10rem);min-height:420px;padding:1rem;display:flex}.practice-header{flex-wrap:wrap;align-items:baseline;gap:.8rem;display:flex}.practice-header h1{margin:0;font-size:1.35rem}.practice-new{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:.2rem .6rem}.practice-new:hover{color:var(--fg)}.practice-thread{flex:1;padding:1rem 0;overflow-y:auto}.practice-scenarios{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;padding:1.5rem 0;display:grid}.practice-scenario-card{background:var(--panel);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--fg);border-radius:10px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem;display:flex}.practice-scenario-card:hover{border-color:var(--accent)}.practice-scenario-emoji{font-size:1.5rem}.practice-scenario-title{font-weight:600}.practice-scenario-sub{font-size:.85rem}.practice-msg{margin:.35rem 0;display:flex}.practice-msg.user{justify-content:flex-end}.practice-bubble{background:var(--panel);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:78%;padding:.5rem .8rem;line-height:1.45}.practice-msg.user .practice-bubble{background:#6ea8fe1f;border-color:#6ea8fe59}.practice-speak{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:50%;flex:none;align-self:flex-start;width:1.7rem;height:1.7rem;margin-left:.4rem}.practice-speak:hover{color:var(--accent);border-color:var(--accent)}.practice-suggestions{flex-wrap:wrap;gap:.4rem;padding:.3rem 0;display:flex}.practice-chip{border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .8rem;font-size:.9rem}.practice-chip:hover{color:var(--fg);border-color:var(--accent)}.practice-error{color:#ff8a8a;padding:.2rem 0}.practice-inputbar{border-top:1px solid var(--line);align-items:flex-end;gap:.5rem;padding-top:.7rem;display:flex}.practice-input{resize:none;background:var(--panel);border:1px solid var(--line);max-height:120px;color:var(--fg);font:inherit;border-radius:10px;flex:1;padding:.55rem .8rem}.practice-input:focus{border-color:var(--accent);outline:none}.practice-send,.practice-mic{background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;border-radius:10px;flex:none;width:2.6rem;height:2.6rem;font-size:1.1rem}.practice-send:hover,.practice-mic:hover{border-color:var(--accent)}.practice-send:disabled{opacity:.4;cursor:default}.practice-mic.recording{color:#ff6b6b;border-color:#ff6b6b;animation:1.2s infinite practice-pulse}@keyframes practice-pulse{0%,to{box-shadow:0 0 #ff6b6b4d}50%{box-shadow:0 0 0 8px #ff6b6b00}}.practice-card{flex-direction:row;padding:0;overflow:hidden}.practice-sidebar{border-right:1px solid var(--line);flex-direction:column;flex:none;gap:.6rem;width:220px;padding:.8rem;display:flex}.practice-newchat{background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;border-radius:8px;padding:.45rem}.practice-newchat:hover{border-color:var(--accent)}.practice-sessionlist{flex-direction:column;flex:1;gap:.15rem;display:flex;overflow-y:auto}.practice-session{border-radius:6px;align-items:center;gap:.1rem;padding:.1rem .15rem .1rem .35rem;display:flex}.practice-session:hover,.practice-session.active{background:var(--panel)}.practice-session.active .practice-session-title{color:var(--accent);font-weight:600}.practice-session-title{text-align:left;color:var(--fg);cursor:pointer;font:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:.3rem 0;overflow:hidden}.practice-session-rename,.practice-session-del{cursor:pointer;color:var(--dim);opacity:0;background:0 0;border:0;padding:.15rem;font-size:.8rem}.practice-session:hover .practice-session-rename,.practice-session:hover .practice-session-del{opacity:1}.practice-session-rename:hover,.practice-session-del:hover{color:var(--accent)}.practice-main{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex}.practice-main .practice-header h1{font-size:1.15rem}@media (width<=720px){.practice-sidebar{width:170px}}.practice-session-rename-input{min-width:0;font:inherit;background:var(--bg);border:1px solid var(--accent);color:var(--fg);border-radius:4px;flex:1;padding:.2rem .35rem;font-size:.92rem}.practice-session-rename-input:focus{outline:none}.practice-sidebartoggle{z-index:2;background:var(--panel);border:1px solid var(--line);color:var(--dim);cursor:pointer;border-radius:6px;width:1.7rem;height:1.7rem;font-size:.95rem;line-height:1;position:absolute;top:.55rem;left:.55rem}.practice-sidebartoggle:hover{color:var(--fg);border-color:var(--accent)}.practice-card{position:relative}.practice-card.sidebar-closed .practice-sidebar{display:none}.practice-card .practice-main .practice-header{padding-left:2.2rem}.practice-settings{z-index:2;background:var(--panel);border:1px solid var(--line);color:var(--dim);cursor:pointer;border-radius:6px;width:1.7rem;height:1.7rem;font-size:1rem;line-height:1;position:absolute;top:.55rem;right:.55rem}.practice-settings:hover{color:var(--fg);border-color:var(--accent)}.practice-settings-dialog{z-index:5;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.practice-settings-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.8rem;width:min(340px,90%);padding:1rem 1.2rem;display:flex}.practice-settings-title{font-weight:600}.practice-settings-row{flex-direction:column;gap:.4rem;display:flex}.practice-settings-row>label{color:var(--dim);font-size:.85rem}.practice-provider-list{flex-direction:column;gap:.35rem;display:flex}.practice-provider-option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.practice-provider-option:hover{border-color:var(--accent)}.practice-provider-option:has(input:checked){border-color:var(--accent)}.practice-provider-text{flex-direction:column;gap:.1rem;display:flex}.practice-provider-label{font-weight:600}.practice-provider-note{font-size:.8rem}.practice-settings-close{background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;border-radius:6px;align-self:flex-end;padding:.35rem .9rem}.practice-settings-close:hover{border-color:var(--accent)}.practice-settings-x{float:right;color:var(--dim);cursor:pointer;background:0 0;border:0;margin-left:.5rem;padding:.1rem .2rem;font-size:1rem;line-height:1}.practice-settings-x:hover{color:var(--fg)}.word{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:3px;margin:0;padding:0}.word:hover{background:var(--accent);color:var(--panel)}.word:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.practice-w{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:3px;margin:0;padding:0}.practice-w:hover{background:var(--accent);color:var(--panel)}.practice-w:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#pwa-install-popup{z-index:10000;animation:.25s ease-out pwa-popup-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes pwa-popup-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pwa-popup-card{color:#1c1230;background:#fff;border-radius:14px;align-items:center;gap:12px;max-width:min(92vw,480px);padding:12px 14px;display:flex;box-shadow:0 6px 24px #00000059}.pwa-popup-icon{border-radius:10px;flex:none;width:40px;height:40px}.pwa-popup-text{flex-direction:column;gap:2px;font-size:14px;display:flex}.pwa-popup-text span{opacity:.75;font-size:12.5px}.pwa-popup-install{color:#fff;cursor:pointer;background:#863bff;border:none;border-radius:999px;flex:none;padding:8px 16px;font-weight:600}.pwa-popup-install:hover{background:#7330e0}.pwa-popup-close{color:#888;cursor:pointer;background:0 0;border:none;flex:none;padding:4px;font-size:14px}.pwa-popup-close:hover{color:#333}#sw-update-toast{z-index:10001;color:#1c1230;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;animation:.25s ease-out sw-toast-in;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}@keyframes sw-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sw-update-btn{color:#fff;cursor:pointer;font-weight:600;font:inherit;background:#863bff;border:none;border-radius:999px;padding:6px 14px;font-size:13px}.sw-update-btn:hover{background:#7330e0}.sw-update-close{color:#888;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.sw-update-close:hover{color:#333}
