:root{--bg:#0a0a12;--bg-soft:#111120;--card:#15152a;--card-hover:#1b1b34;--border:hsla(0,0%,100%,.08);--text:#f2f2f7;--text-dim:#9a9ab0;--text-dimmer:#6b6b85;--purple:#8b7cf6;--purple-2:#b39ddb;--grad:linear-gradient(90deg,#8b7cf6,#c9a7ff);--a1:#67e8f9;--a2:#93c5fd;--b1:#34d399;--b2:#60a5fa;--c1:#fbbf24;--c2:#f87171;--src-vocab:#8b7cf6;--src-idiom:#2dd4bf;--src-cultural:#fb923c;--danger:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeIn .3s ease}.panel.active{animation:fadeIn .25s ease}body{background:radial-gradient(ellipse at top,#14142a 0,#0a0a12 55%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}nav{justify-content:space-between;padding:calc(22px + env(safe-area-inset-top)) 48px 22px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(10,10,18,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo,nav{display:flex;align-items:center}.logo{gap:8px;font-size:22px;font-weight:800;cursor:pointer}.logo-mark{border-radius:6px;flex-shrink:0}.logo-text{display:inline-flex;align-items:center;line-height:1}.logo-accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.navlinks{display:flex;gap:32px}.navlinks a{color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;transition:.15s}.navlinks a.active,.navlinks a:hover{color:var(--text)}.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:34px;height:34px;padding:0;background:transparent;border:none;cursor:pointer}.nav-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform .2s ease,opacity .2s ease}.nav-toggle.open span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn-primary{background:var(--grad);color:#140f2b;font-weight:700;font-size:13px;padding:10px 20px;border-radius:999px;border:none;cursor:pointer;display:inline-block}.hero{text-align:center;padding:90px 24px 60px;max-width:900px;margin:0 auto}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(139,124,246,.4);color:var(--purple-2);padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(139,124,246,.08);margin-bottom:28px}.hero h1{font-size:52px;line-height:1.15;font-weight:800;margin:0 0 20px}.hero h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-dim);font-size:17px;max-width:640px;margin:0 auto 36px;line-height:1.6}.search-wrap{position:relative}.search-wrap,.searchbar{max-width:620px;margin:0 auto 20px}.searchbar{display:flex;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px}.searchbar input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);padding:12px 20px;font-size:14px}.searchbar button{background:var(--grad);border:none;color:#140f2b;font-weight:700;font-size:14px;padding:12px 24px;border-radius:999px;cursor:pointer;white-space:nowrap}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.45);overflow:hidden;z-index:60;max-height:360px;overflow-y:auto;text-align:left}.search-suggestion{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer}.search-suggestion.active,.search-suggestion:hover{background:var(--card-hover)}.search-suggestion .icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:18px;background:rgba(139,124,246,.15)}.search-suggestion .icon img{width:100%;height:100%;object-fit:cover}.search-suggestion .info{min-width:0}.search-suggestion .title{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-suggestion .meta{font-size:12px;color:var(--text-dim);margin-top:2px}.search-suggestion-empty{padding:14px;color:var(--text-dim);font-size:13px}.search-empty-link{color:var(--purple-2);font-weight:700;cursor:pointer}.search-empty-link:hover{color:var(--text)}.quickpicks{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chip{background:var(--card);border:1px solid var(--border);color:var(--text-dim);padding:8px 18px;border-radius:999px;font-size:13px;cursor:pointer;transition:.15s;white-space:nowrap}.chip:hover{border-color:var(--purple);color:var(--text)}.how{text-align:center;padding:70px 24px 100px}.how h2{font-size:30px;font-weight:800;margin-bottom:10px}.how>p{color:var(--text-dim);margin-bottom:48px}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;max-width:1100px;margin:0 auto}.step{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:26px;text-align:left}.step .num{width:32px;height:32px;border-radius:50%;background:var(--grad);color:#140f2b;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;margin-bottom:16px}.step h3{margin:0 0 8px;font-size:16px}.step p{margin:0;color:var(--text-dim);font-size:13.5px;line-height:1.5}.browse-wrap{padding:56px 48px 100px;max-width:1200px;margin:0 auto}.browse-head h1{font-size:34px;font-weight:800;margin:0 0 8px}.browse-head p{color:var(--text-dim);margin:0 0 28px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filters .chip.active{background:var(--grad);color:#140f2b;border-color:transparent;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.title-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:.2s;cursor:pointer;position:relative}.fav-heart{position:absolute;top:14px;right:14px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:none;border-radius:50%;background:transparent;color:var(--text-dim);line-height:1;cursor:pointer;transition:.15s}.fav-heart svg{width:19px;height:19px;display:block}.fav-heart:hover{background:rgba(139,124,246,.15);color:var(--text);transform:scale(1.1)}.fav-heart.active{color:#f0568a}.fav-heart.active:hover{color:#f0568a;background:rgba(240,86,138,.12)}@keyframes fav-pop{0%{transform:scale(.4)}60%{transform:scale(1.3)}to{transform:scale(1)}}.fav-heart.active svg{animation:fav-pop .25s ease}.title-card>.fav-heart+div h3{padding-right:26px}.browse-head .fav-heart,.detail-head .fav-heart{position:static;vertical-align:middle;margin-left:10px;width:40px;height:40px}.browse-head .fav-heart svg,.detail-head .fav-heart svg{width:24px;height:24px}.title-card.disabled{cursor:default;opacity:.5}.title-card:hover{background:var(--card-hover);border-color:rgba(139,124,246,.4);transform:translateY(-2px)}.title-card.disabled:hover{background:var(--card);border-color:var(--border);transform:none}.title-card .icon{width:56px;height:80px;border-radius:10px;background:rgba(139,124,246,.15);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden;flex-shrink:0}.title-card .icon img{width:100%;height:100%;object-fit:cover;display:block}.title-card h3{margin:0;font-size:18px}.title-card .meta{color:var(--text-dimmer);font-size:12.5px;margin-top:2px}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;flex-shrink:0}.badge.type{background:rgba(139,124,246,.18);color:var(--purple-2)}.badge.count{background:hsla(0,0%,100%,.06);color:var(--text-dim)}.badge.A1{background:rgba(103,232,249,.16);color:var(--a1)}.badge.A2{background:rgba(147,197,253,.16);color:var(--a2)}.badge.B1{background:rgba(52,211,153,.16);color:var(--b1)}.badge.B2{background:rgba(96,165,250,.16);color:var(--b2)}.badge.C1{background:rgba(251,191,36,.16);color:var(--c1)}.badge.C2{background:hsla(0,91%,71%,.16);color:var(--c2)}.source-tag{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;margin-bottom:8px;white-space:nowrap}.source-tag.vocab{background:rgba(139,124,246,.16);color:var(--src-vocab)}.source-tag.idioms{background:rgba(45,212,191,.16);color:var(--src-idiom)}.source-tag.cultural{background:rgba(251,146,60,.16);color:var(--src-cultural)}.all-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.utile{position:relative;background:var(--card);border-radius:14px;padding:18px 46px 18px 18px;border:1px solid var(--border);border-left:3px solid transparent;transition:.2s}.utile:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.utile.vocab{border-left-color:var(--src-vocab)}.utile.idioms{border-left-color:var(--src-idiom)}.utile.cultural{border-left-color:var(--src-cultural)}.utile .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.utile h4{margin:0;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utile .cat{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--purple-2);text-transform:uppercase;margin:2px 0 6px}.utile .def{color:var(--text-dim);font-size:13.5px;line-height:1.5;margin-bottom:10px;margin-top:4px}.utile .ex{border-left:2px solid var(--purple);padding-left:10px;color:#c9c2ea;font-size:13px;font-style:italic;margin-bottom:4px}.detail-wrap{padding:28px 48px 100px;max-width:1100px;margin:0 auto}.back-link{color:var(--text-dim);font-size:13.5px;cursor:pointer;display:inline-block;margin-bottom:18px}.back-link:hover{color:var(--text)}.detail-head{display:flex;gap:22px;margin-bottom:22px}.detail-head .icon{width:96px;height:138px;border-radius:14px;background:rgba(139,124,246,.15);display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0;overflow:hidden}.detail-head .icon img{width:100%;height:100%;object-fit:cover;display:block}.detail-head h1{margin:0 0 6px;font-size:28px}.detail-head .meta{color:var(--text-dimmer);font-size:13.5px;margin-bottom:12px}.detail-head .synopsis{color:var(--text-dim);font-size:14.5px;line-height:1.6;max-width:680px}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.tab{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 10px;text-align:center;cursor:pointer;transition:.2s;min-width:0}.tab:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.tab-count{font-size:24px;font-weight:800;line-height:1.2;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.tab-label{font-size:12.5px;font-weight:700;color:var(--text-dim);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab.active{background:var(--grad);border-color:transparent;box-shadow:0 2px 14px rgba(139,124,246,.35)}.tab.active:hover{transform:none}.tab.active .tab-count{background:none;-webkit-background-clip:unset;background-clip:unset;color:#140f2b}.tab.active .tab-label{color:rgba(20,15,43,.75)}.tab .tab-short{display:none}.tab.locked{cursor:not-allowed;opacity:.55}.tab.locked:hover{transform:none;border-color:var(--border);background:var(--card)}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#140f2b;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;padding:6px 12px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35);z-index:20;pointer-events:none}.tab[data-tooltip]:hover:after{top:0;right:0;bottom:0;left:0;transform:none;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.3;font-size:12px;padding:8px;border-radius:14px}.panel{display:none}.panel.active{display:block}.locked-panel{text-align:center;padding:48px 24px;color:var(--text-dim)}.locked-panel p{max-width:480px;margin:0 auto 18px}.level-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.lvl-chip{background:var(--card);border:1px solid var(--border);color:var(--text-dim);font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:999px;cursor:pointer}.lvl-chip.active{border-color:var(--purple);color:var(--text);background:rgba(139,124,246,.15)}.panel-toolbar{margin-bottom:14px}.search-input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-size:13.5px;outline:none}.search-input:focus{border-color:var(--purple)}.filter-row{display:flex;gap:10px;flex-wrap:wrap}.filter-row .search-input{width:auto;flex:1 1;min-width:180px}.title-select{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-size:13.5px;outline:none;cursor:pointer;max-width:220px}.title-select:focus{border-color:var(--purple)}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.vcard{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 46px 18px 18px;transition:.2s}.vcard:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.vcard .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.vcard h4{margin:0;font-size:17px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-row{display:flex;align-items:center;gap:2px;min-width:0}.pronounce-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-dimmer);font-size:13px;line-height:1;cursor:pointer;border-radius:50%;transition:.15s;flex-shrink:0}.pronounce-btn:hover{color:var(--purple-2);background:rgba(139,124,246,.12)}.pronounce-btn.playing{color:var(--purple-2);animation:pronounce-pulse .9s ease-in-out infinite}@keyframes pronounce-pulse{0%,to{opacity:1}50%{opacity:.45}}.vcard .ipa{color:var(--text-dimmer);font-size:12.5px;margin-bottom:10px}.vcard .def{color:var(--text-dim);font-size:13.5px;line-height:1.5;margin-bottom:10px}.vcard .ex{border-left:2px solid var(--purple);padding-left:10px;color:#c9c2ea;font-size:13px;font-style:italic;margin-bottom:12px}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.review-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;cursor:pointer;color:var(--text-dim);border:1px solid var(--border);padding:6px 12px;border-radius:999px;transition:.15s}.review-toggle:hover{border-color:var(--purple);color:var(--text)}.review-toggle.active{color:var(--purple-2);border-color:rgba(139,124,246,.45);background:rgba(139,124,246,.12)}.bookmark-btn{position:absolute;top:12px;right:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:14px;line-height:1;color:var(--text-dimmer);opacity:.7;transition:.15s;z-index:2}.bookmark-btn:hover{color:var(--text)}.bookmark-btn.active,.bookmark-btn:hover{opacity:1;border-color:rgba(251,191,36,.45)}.bookmark-btn.active{color:#fbbf24;background:rgba(251,191,36,.14)}.bookmark-btn.inline{position:static;flex-shrink:0}.card-corner{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;z-index:2}.utile.has-corner,.vcard.has-corner{padding-right:88px}.toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:18px}.toolbar span{font-size:13px;color:var(--text-dim)}.switch{position:relative;width:40px;height:22px;background:#2a2a45;border-radius:999px;cursor:pointer;transition:.2s}.switch.on{background:var(--grad);box-shadow:0 0 10px rgba(139,124,246,.5)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.switch.on:after{left:20px}.cultural-list,.idiom-list{display:flex;flex-direction:column;gap:14px}.icard{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 46px 18px 18px;transition:.2s}.icard:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.icard .phrase{color:var(--purple-2);font-weight:800;font-size:16px;margin-bottom:6px}.icard .meaning{color:var(--text-dim);font-size:13.5px;line-height:1.5;margin-bottom:8px}.icard .ex{color:#c9c2ea;font-size:13px;font-style:italic}.spoiler .spoiler-body{filter:blur(6px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:.2s}.spoiler.reveal .spoiler-body{filter:none}.spoiler-tag{display:inline-flex;align-items:center;gap:6px;color:#f87171;font-size:12px;font-weight:700;margin-bottom:8px}.ccard{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 46px 18px 18px;display:flex;gap:14px;transition:.2s}.ccard:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.ccard .cicon{width:40px;height:40px;border-radius:10px;background:rgba(139,124,246,.15);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}.ccard .cat{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--purple-2);text-transform:uppercase;margin-bottom:4px}.ccard h4{margin:0;font-size:15.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ccard .word-row{margin-bottom:6px}.ccard p{margin:0;color:var(--text-dim);font-size:13.5px;line-height:1.55}.review-progress{color:var(--text-dim);font-size:13px;margin-bottom:20px}.review-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:40px 32px;text-align:center;max-width:560px;margin:0 auto 24px;cursor:pointer;transition:.2s}.review-card:hover{border-color:rgba(139,124,246,.35)}.review-card .prompt{font-size:26px;font-weight:800}.review-card .answer{color:var(--text-dim);font-size:15px;line-height:1.6;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.review-card .ex{color:#c9c2ea;font-size:13.5px;font-style:italic;margin-top:10px}.review-hint{text-align:center;color:var(--text-dimmer);font-size:13px;margin-bottom:24px}.review-actions{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;max-width:560px;margin:0 auto}.review-btn{padding:12px 8px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-weight:700;font-size:13px;cursor:pointer;transition:.15s}.review-btn:hover{transform:translateY(-2px)}.review-btn.again{border-color:hsla(0,91%,71%,.4);color:var(--c2)}.review-btn.gotit{border-color:rgba(52,211,153,.4);color:var(--b1)}.review-known-row{text-align:center;margin-top:10px}.review-known-link{background:none;border:none;color:var(--text-dimmer);font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 10px}.review-known-link:hover{color:var(--text-dim)}.review-known-link:disabled{opacity:.5;cursor:default}.review-empty{text-align:center;color:var(--text-dim);padding:60px 20px}.quiz-card{cursor:default}.quiz-cloze,.quiz-def{font-size:17px;line-height:1.55;color:var(--text);margin:6px 0 2px}.quiz-cloze{font-style:italic}.quiz-listen{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-dim);font-size:14px;margin:10px 0 4px}.quiz-listen .pronounce-btn{width:48px;height:48px;border:1px solid var(--border);border-radius:50%}.quiz-listen .pronounce-btn svg{transform:scale(1.5)}.quiz-options{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin-top:18px}.quiz-opt{text-align:left;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;line-height:1.45;cursor:pointer;transition:.15s}.quiz-opt:hover:not(:disabled){border-color:var(--text-dimmer);transform:translateY(-1px)}.quiz-opt:disabled{cursor:default;opacity:.75}.quiz-opt.correct{border-color:rgba(52,211,153,.65);background:rgba(52,211,153,.1);color:var(--b1);opacity:1}.quiz-opt.wrong{border-color:hsla(0,91%,71%,.65);background:hsla(0,91%,71%,.1);color:var(--c2);opacity:1}.quiz-feedback{text-align:center;max-width:560px;margin:0 auto 8px}.qf-verdict{font-weight:800;font-size:14px;margin-bottom:6px}.qf-verdict.good{color:var(--b1)}.qf-verdict.bad{color:var(--c2)}.qf-answer{color:var(--text);font-size:14.5px}.qf-example{color:#c9c2ea;font-size:13px;font-style:italic;margin-top:6px}.known-section{margin-top:32px;text-align:left}.known-toggle{background:none;border:none;color:var(--text-dim);font-size:14px;font-weight:700;cursor:pointer;padding:6px 0}.known-toggle:hover{color:var(--text)}.known-caret{display:inline-block;width:14px;color:var(--text-dimmer)}.known-empty{color:var(--text-dimmer);font-size:13px;margin:6px 0 0;max-width:520px}.settings-body{margin-top:10px;max-width:460px;display:flex;flex-direction:column;gap:12px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--text);font-size:14px}.settings-row em{color:var(--text-dimmer);font-style:normal;font-size:12px}.settings-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--purple-2,#8b7cf6);cursor:pointer}.settings-note{color:var(--text-dimmer);font-size:12.5px;margin:0}.prefs-saved{color:var(--b1);font-weight:600;font-size:12.5px}.rs-reminder-offer{color:var(--text-dim);font-size:13.5px;margin:0 0 20px}.rs-link{border:none;padding:0;color:var(--purple-2,#8b7cf6);font-size:13.5px;text-decoration:underline;text-underline-offset:3px}.rq-relearn,.rs-link{background:none;cursor:pointer}.rq-relearn{border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;padding:3px 10px;margin-left:auto;transition:.15s}.rq-relearn:hover{color:var(--text);border-color:var(--text-dimmer)}.review-streak-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.review-streak-chip{background:rgba(251,146,60,.12);border:1px solid rgba(251,146,60,.35);color:#fdba74;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700}.review-streak-meta{color:var(--text-dim);font-size:13px}.review-summary{text-align:center;padding:40px 20px;max-width:560px;margin:0 auto}.review-summary .rs-emoji{font-size:44px;margin-bottom:8px}.review-summary h2{color:var(--text);font-size:24px;margin:0 0 24px}.rs-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:20px}.rs-stat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 8px}.rs-stat .num{font-size:22px;font-weight:800;color:var(--text)}.rs-stat .label{font-size:12px;color:var(--text-dim);margin-top:4px}.rs-streak-up{color:#fdba74;font-weight:700;font-size:14px;margin:0 0 12px}.rs-cumulative{color:var(--text-dim);font-size:13.5px;margin:0 0 28px}.rs-ctas{display:flex;flex-direction:column;align-items:center;gap:12px}.rs-share{background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:14px;font-weight:700;padding:10px 22px;cursor:pointer;transition:.15s}.rs-share:hover{transform:translateY(-1px);border-color:var(--text-dimmer)}.rs-back{background:none;border:none;color:var(--text-dimmer);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.rs-back:hover{color:var(--text-dim)}.review-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.review-stat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 20px;text-align:center;cursor:pointer;transition:.15s}.review-stat:hover{border-color:rgba(139,124,246,.35);background:var(--card-hover);transform:translateY(-2px)}.review-stat.active{border-color:var(--purple);background:rgba(139,124,246,.12)}.review-stat .num{font-size:26px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.review-stat .label{color:var(--text-dim);font-size:12.5px;margin-top:2px}.review-queue-list{margin-bottom:28px;max-height:360px;overflow-y:auto}.review-queue-item,.review-queue-list{display:flex;flex-direction:column;gap:10px}.review-queue-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.review-queue-item .rq-main{min-width:0}.review-queue-item .rq-prompt{font-weight:700;font-size:14px}.review-queue-item .rq-meta{color:var(--text-dimmer);font-size:12px;line-height:1.5;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-queue-item .rq-meta.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.review-queue-item .rq-meta-toggle{display:inline-block;color:var(--purple-2);font-size:11.5px;font-weight:700;cursor:pointer;margin-top:2px}.review-queue-item .rq-meta-toggle:hover{color:var(--text)}.review-queue-item .rq-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.review-queue-item .rq-type{margin-left:auto;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--purple-2);background:rgba(139,124,246,.12);border-radius:999px}.review-queue-item .rq-type,.rq-source{flex-shrink:0;font-size:11px;padding:4px 10px}.rq-source{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--text-dim);background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:999px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:.15s}.rq-source:hover{color:var(--text);border-color:rgba(139,124,246,.45);background:rgba(139,124,246,.12)}.review-card .rq-source{margin-bottom:20px}.review-start-row{display:flex;justify-content:center;margin-bottom:8px}.review-back-link{display:inline-block;color:var(--text-dim);font-size:13px;margin-bottom:16px;cursor:pointer}.review-back-link:hover{color:var(--text)}@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.hero h1{font-size:36px}nav{padding:calc(16px + env(safe-area-inset-top)) 20px 16px;flex-wrap:wrap}.nav-toggle{display:flex;order:2}.navlinks{order:3;flex-direction:column;align-items:flex-start;gap:0;width:100%;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease}.navlinks.open{max-height:320px;opacity:1;margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.navlinks a{padding:12px 0;width:100%;font-size:15px}.browse-wrap,.detail-wrap{padding-left:20px;padding-right:20px}}@media (max-width:640px){.tabs{grid-template-columns:repeat(2,1fr);gap:8px}.tabs.has-stream{display:flex;flex-wrap:wrap}.tabs.has-stream .tab{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 8px) / 2)}.tabs.has-stream .tab-stream{margin:0 auto}.tab{padding:10px 4px}.tab-count{font-size:19px}.tab-label{font-size:11px}.tab .tab-full{display:none}.tab .tab-short{display:inline}.tab[data-tooltip]:hover:after{font-size:10.5px}}@media (max-width:480px){.logo{font-size:19px}.btn-primary{padding:9px 14px;font-size:12px}.filter-row{flex-direction:column}.filter-row .search-input,.title-select{width:100%;max-width:none}.review-stats{grid-template-columns:repeat(2,1fr)}.searchbar{flex-direction:column;padding:10px;border-radius:20px}.search-input,.searchbar input,.title-select{font-size:16px}.searchbar input{padding:8px 10px;width:100%}.searchbar button{width:100%}.all-grid,.vocab-grid{grid-template-columns:minmax(0,1fr)}.utile,.vcard{min-width:0}.ccard{flex-direction:column}.stream-controls{gap:8px}.stream-settings-label{display:none}.stream-time{font-size:18px}.stream-total{font-size:11px}.stream-clock-adjust-toggle{width:20px;height:20px}.stream-clock-adjust-toggle svg{width:13px;height:13px}.stream-btn-skip{height:40px;padding:0 12px;font-size:12px;gap:4px}.stream-btn-stop{width:40px}.stream-btn-play{width:56px;height:56px}.stream-fullscreen-top{padding:calc(34px + env(safe-area-inset-top, 0px)) 14px 12px}.stream-fullscreen-feed{padding:12px 14px 24px}.stream-close{top:calc(30px + env(safe-area-inset-top, 0px));right:12px}.stream-close,.stream-settings-toggle{width:30px;height:30px}.stream-fullscreen-top .stream-settings{top:calc(30px + env(safe-area-inset-top, 0px));right:calc(12px + 30px + 8px)}}@media (min-width:641px){.tabs.has-stream{grid-template-columns:repeat(5,minmax(0,1fr))}}.stream-fullscreen{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.stream-fullscreen-top{position:relative;flex-shrink:0;padding:calc(20px + env(safe-area-inset-top, 0px)) 20px 16px;border-bottom:1px solid var(--border)}.stream-fullscreen-top .stream-head{padding-right:96px;padding-left:86px;justify-content:center}.stream-fullscreen-top .stream-settings{right:calc(16px + 34px + 8px)}.stream-close,.stream-fullscreen-top .stream-settings{position:absolute;top:calc(16px + env(safe-area-inset-top, 0px))}.stream-close{right:16px;width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.stream-close:hover{background:var(--card-hover);color:var(--text)}.stream-fullscreen-feed{flex:1 1;overflow-y:auto;padding:16px 20px 32px}.stream-fullscreen-feed .stream-feed{max-height:none;overflow:visible;padding-right:0}.stream-minimal-toggle,.stream-widget-enter{position:absolute;top:calc(16px + env(safe-area-inset-top, 0px));width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:.15s}.stream-minimal-toggle{left:16px}.stream-widget-enter{left:58px}.stream-minimal-toggle:hover,.stream-widget-enter:hover{background:var(--card-hover);color:var(--text)}.stream-minimal-toggle.stream-density-compact,.stream-minimal-toggle.stream-density-large{border-color:var(--purple);color:var(--purple-2);background:rgba(139,124,246,.15)}@media (max-width:767px){.stream-widget-enter{display:none}}.stream-widget{position:fixed;right:20px;bottom:20px;width:280px;max-height:min(42vh,360px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:1000;overflow:hidden}.stream-widget-drag{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--card);border-bottom:1px solid var(--border);cursor:-webkit-grab;cursor:grab;flex-shrink:0;touch-action:none}.stream-widget-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.stream-widget-drag-grip{color:var(--text-dimmer);font-size:13px;line-height:1}.stream-widget-drag-label{font-size:11px;font-weight:700;color:var(--text-dim);flex:1 1}.stream-widget-drag-actions{display:flex;gap:5px}.stream-widget-btn{width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.stream-widget-btn:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-widget-hint{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;font-size:10.5px;line-height:1.4;color:var(--text-dimmer);background:rgba(139,124,246,.08);border-bottom:1px solid var(--border);flex-shrink:0}.stream-widget-hint span{flex:1 1}.stream-widget-hint-close{flex-shrink:0;width:16px;height:16px;border:none;background:none;color:var(--text-dimmer);font-size:13px;line-height:1;cursor:pointer;padding:0}.stream-widget-hint-close:hover{color:var(--text)}.stream-widget-body{flex:1 1;min-height:0;overflow-y:auto;padding:8px 8px 10px}.stream-widget-body .stream-feed{max-height:none;overflow:visible;padding-right:0}.stream-compact .stream-sync-tip{display:none}.stream-compact .stream-feed{gap:6px}.stream-compact .stream-card{padding:8px 40px 8px 10px;border-radius:10px;min-height:72px}.stream-compact .stream-card-top{margin-bottom:2px}.stream-compact .stream-card-top h4{font-size:14px}.stream-compact .pronounce-btn{display:none}.stream-compact .stream-card .def{font-size:13px;line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stream-compact .bookmark-btn{width:22px;height:22px;font-size:11px}.stream-compact .stream-card-corner{top:10px;right:10px;gap:4px}.stream-compact .review-icon-btn{width:22px;height:22px}.stream-compact .review-icon-btn svg{width:13px;height:13px}.stream-large .stream-feed{gap:18px}.stream-large .stream-card{padding:14px 54px 14px 28px;border-radius:18px;border-left-width:5px}.stream-large .stream-card-top h4{font-size:28px}.stream-large .pronounce-btn{width:32px;height:32px}.stream-large .pronounce-btn svg{width:20px;height:20px}.stream-large .stream-card .def{font-size:20px;line-height:1.6}.stream-widget-body .stream-head{margin-bottom:6px}.stream-widget-body .stream-time{font-size:15px}.stream-widget-body .stream-total{font-size:11px}.stream-widget-body .stream-clock{gap:5px}.stream-widget-body .stream-clock-nudge{width:18px;height:18px;font-size:12px}.stream-widget-body .stream-clock-adjust-toggle{width:18px;height:18px}.stream-widget-body .stream-clock-adjust-toggle svg{width:12px;height:12px}.stream-widget-body .stream-clock-done{font-size:11px;padding:4px 10px}.stream-widget-body .stream-scrub{margin-bottom:10px}.stream-widget-body .stream-controls{gap:8px;margin-bottom:10px}.stream-widget-body .stream-btn-skip{height:30px;padding:0 10px;font-size:0}.stream-widget-body .stream-btn-skip svg{flex-shrink:0}.stream-widget-body .stream-btn-stop{width:30px}.stream-widget-body .stream-btn-play{width:46px;height:46px}@media (max-width:767px){.stream-widget:not(.stream-widget-pip){display:none}}.stream-widget-pip{position:static;right:auto;bottom:auto;width:100%;height:100%;max-height:none;border-radius:0;border:none;box-shadow:none}.stream-widget-drag-pip{cursor:default}.stream-sync-tip{background:rgba(139,124,246,.12);border:1px solid rgba(139,124,246,.35);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--text-dim);margin-bottom:14px;line-height:1.5}.stream-sync-tip strong{color:var(--text)}.stream-save-error{background:hsla(0,91%,71%,.12);border:1px solid hsla(0,91%,71%,.35);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--danger);margin-bottom:14px;line-height:1.5}.stream-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.stream-time{font-size:22px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.stream-total{color:var(--text-dimmer);font-size:13px;white-space:nowrap}.stream-clock{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:7px}.stream-clock-adjust{position:relative;display:inline-flex;flex-shrink:0}.stream-clock-adjust-toggle{width:22px;height:22px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.15s}.stream-clock-adjust-toggle:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-clock-adjust-toggle.active{border-color:var(--purple);color:var(--purple-2);background:rgba(139,124,246,.15)}.stream-coupled-toggle{width:22px;height:22px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.15s}.stream-coupled-toggle:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-coupled-toggle.on.connecting{border-color:#b8860b;color:#e0b64f;background:rgba(224,182,79,.12)}.stream-coupled-toggle.on.connected{border-color:#2e8b57;color:#5fd08a;background:rgba(95,208,138,.12)}.stream-coupled-toggle.on.error{border-color:#a33;color:#e07070;background:hsla(0,64%,66%,.12)}.stream-coupled-toggle.pulse{animation:coupled-pulse .7s ease-out}@keyframes coupled-pulse{0%{box-shadow:0 0 0 0 rgba(95,208,138,.7)}to{box-shadow:0 0 0 9px rgba(95,208,138,0)}}.stream-btn:disabled{opacity:.35;cursor:not-allowed}.stream-vlc-cardopts{display:flex;flex-direction:column;gap:6px;margin:4px 0 2px 24px;padding-left:8px;border-left:2px solid var(--border)}.stream-vlc-opt{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;font-size:13px;color:var(--text-dim)}.stream-vlc-opt>span:first-child{white-space:nowrap}.stream-vlc-opt input[type=range],.stream-vlc-opt select{width:100%;min-width:0;box-sizing:border-box}.stream-vlc-opt select{text-overflow:ellipsis}.stream-vlc-optval{text-align:right;font-size:11px;opacity:.7;white-space:nowrap}.stream-vlc-opt select{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:3px 24px 3px 8px;font-size:13px}.stream-settings-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;color:var(--text);font-weight:600;font-size:13px;padding:7px 2px;cursor:pointer}.stream-settings-section+.stream-settings-section-head,.stream-settings-section-head+*+.stream-settings-section-head{border-top:1px solid var(--border);margin-top:2px}.stream-section-title{display:inline-flex;align-items:center;gap:10px}.stream-section-title svg{flex-shrink:0}.stream-section-check{flex-shrink:0;margin:0 8px 0 0;width:15px;height:15px;accent-color:var(--purple);cursor:pointer}.stream-section-expand{flex:1 1;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--text);font-weight:600;font-size:13px;padding:0;cursor:pointer}.stream-vlc-empty-hint{font-size:12px;color:var(--text-dim);opacity:.8;padding:2px 2px 4px}.stream-section-chevron{font-size:10px;opacity:.7;transition:transform .15s}.stream-section-chevron.open{transform:rotate(180deg)}.stream-settings-section{padding:0 0 6px 2px}.stream-clock-adjust-panel{position:absolute;top:30px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:5px 8px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.stream-clock-done{background:var(--grad);color:#140f2b;font-weight:700;font-size:12px;padding:5px 12px;border-radius:999px;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}.stream-clock-done:hover{opacity:.9}.stream-clock-nudge{width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--border);color:var(--text-dim);font-size:15px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.stream-clock-nudge:hover{background:var(--card-hover);color:var(--text)}.stream-clock-nudge:active{background:rgba(139,124,246,.25);border-color:var(--purple);color:var(--text)}.stream-settings{position:relative;flex-shrink:0;display:flex;align-items:center;gap:8px;align-self:center}.stream-settings-label{font-size:12px;font-weight:600;color:var(--text-dim);white-space:nowrap}.stream-settings-toggle{width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.stream-settings-toggle:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-settings-toggle.active{border-color:var(--purple);color:var(--purple-2);background:rgba(139,124,246,.15)}.stream-settings-panel{position:absolute;top:42px;right:0;z-index:5;width:232px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.stream-settings-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dimmer);margin-bottom:10px}.stream-settings-row{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--text);padding:4px 0;cursor:pointer}.stream-settings-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--purple);cursor:pointer;flex-shrink:0}.stream-settings-sublevels{margin-left:22px;border-left:1px solid var(--border);padding-left:10px;margin-bottom:2px}.stream-settings-sublevels .stream-settings-row{font-size:12.5px;color:var(--text-dim);padding:2px 0}.stream-scrub{width:100%;margin-bottom:18px;accent-color:var(--purple);cursor:pointer}.stream-controls{flex-wrap:wrap;gap:14px;margin-bottom:24px}.stream-btn,.stream-controls{display:flex;align-items:center;justify-content:center}.stream-btn{background:none;border:none;color:var(--text);cursor:pointer;transition:.15s}.stream-btn-skip{background:var(--card);border:1px solid var(--border);border-radius:999px;height:44px;padding:0 18px;gap:6px;font-size:13px;font-weight:700;color:var(--text-dim)}.stream-btn-skip:hover{border-color:rgba(139,124,246,.4);background:var(--card-hover);color:var(--text)}.stream-btn-skip:active{transform:scale(.96)}.stream-btn-stop{width:44px;padding:0}.stream-btn-play{width:68px;height:68px;border-radius:50%;background:var(--grad);color:#140f2b;box-shadow:0 6px 22px rgba(139,124,246,.4)}.stream-btn-play:hover{box-shadow:0 6px 26px rgba(139,124,246,.55);transform:translateY(-1px)}.stream-btn-play:active{transform:scale(.96);box-shadow:0 4px 14px rgba(139,124,246,.4)}.stream-feed{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding-right:4px}.stream-empty{color:var(--text-dim);font-size:14px;text-align:center;padding:30px 0}.stream-card{position:relative;background:var(--card);border-radius:14px;padding:14px 54px 14px 16px;border:1px solid var(--border);border-left:3px solid transparent}.stream-card.vocab{border-left-color:var(--src-vocab)}.stream-card.idioms{border-left-color:var(--src-idiom)}.stream-card.cultural{border-left-color:var(--src-cultural)}.stream-card.current{border-color:rgba(139,124,246,.45);background:var(--card-hover);box-shadow:0 2px 14px rgba(139,124,246,.25)}.stream-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}.stream-card-top h4{margin:0;font-size:17px;min-width:0}.stream-card-top h4 .pronounce-btn{margin-left:4px;vertical-align:middle}.stream-ms{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-dimmer);white-space:nowrap;flex-shrink:0}.stream-card .def{color:var(--text-dim);font-size:15px;line-height:1.5;margin-top:8px}.stream-card-corner{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.review-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--card);cursor:pointer;color:var(--text-dimmer);opacity:.7;transition:.15s}.review-icon-btn:hover{opacity:1;border-color:rgba(139,124,246,.45);color:var(--text)}.review-icon-btn.active{opacity:1;color:var(--purple-2);border-color:rgba(139,124,246,.45);background:rgba(139,124,246,.14)}.icard .trans,.utile .trans,.vcard .trans{color:#5eead4;font-size:13.5px;line-height:1.5;margin:2px 0 10px}.trans[dir=rtl]{text-align:right}.stream-card .def.trans{color:#5eead4}.toolbar .toolbar-gap{width:1px;height:18px;background:var(--border);margin:0 4px}.toolbar .trans-label{font-size:13px;color:var(--text-dim)}.stream-settings-row .trans-select,.toolbar .trans-select{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:13px}.stream-settings-row.disabled{opacity:.5}.stream-settings-row .trans-select{margin-left:auto}.stream-local-toggle{width:22px;height:22px;border-radius:50%;background:var(--card);border:1px solid var(--border);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.15s}.stream-local-toggle:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-local-toggle.on{border-color:var(--purple,#8b7cf6);color:var(--purple,#8b7cf6);background:rgba(139,124,246,.12)}.stream-local-video{flex-shrink:0;padding:0 14px}.stream-local-video video{display:block;width:100%;max-height:52vh;background:#000;border-radius:8px}.stream-local-bar{display:flex;align-items:center;gap:10px;padding:6px 2px;font-size:.8rem;color:var(--text-dim)}.stream-local-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.stream-local-close{margin-left:auto;flex-shrink:0;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:.75rem;padding:3px 9px;cursor:pointer;transition:.15s}.stream-local-close:hover{border-color:hsla(0,64%,66%,.5);color:#e07070}.stream-local-error{margin:4px 0 8px;font-size:.8rem;color:#e0b64f}.stream-local-stage{position:relative}.stream-local-stage video::-webkit-media-controls-fullscreen-button{display:none!important}.stream-local-stage:-webkit-full-screen{background:#000;display:flex;align-items:center;justify-content:center}.stream-local-stage:fullscreen{background:#000;display:flex;align-items:center;justify-content:center}.stream-local-stage:-webkit-full-screen video{width:100%;height:100%;max-height:none;border-radius:0}.stream-local-stage:fullscreen video{width:100%;height:100%;max-height:none;border-radius:0}.stream-local-stage.theater{position:fixed;inset:0;z-index:1200;background:#000;display:flex;align-items:center;justify-content:center}.stream-local-stage.theater video{width:100%;height:100%;max-height:none;border-radius:0}.stream-local-stage.theater .stream-local-fs-exit{top:calc(14px + env(safe-area-inset-top, 0px))}.stream-local-overlay{position:absolute;left:50%;transform:translateX(-50%);max-width:82%;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;pointer-events:none;z-index:2}.stream-local-overlay-card{padding:6px 16px;border-radius:10px;background:rgba(0,0,0,.65)}.stream-local-subsync{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.stream-local-subsync-val{font-size:.72rem;color:var(--text-dim);min-width:30px;text-align:center}.stream-local-overlay-word{display:block;font-size:1.5rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.stream-local-overlay-gloss{display:block;font-size:1.05rem;color:#e8e6f0;text-shadow:0 1px 3px rgba(0,0,0,.8)}.stream-local-fs{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.75rem;padding:3px 9px;cursor:pointer;transition:.15s}.stream-local-fs:hover{border-color:rgba(139,124,246,.4);color:var(--text)}.stream-local-fs-exit{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;opacity:.7;transition:.15s}.stream-local-fs-exit:hover{opacity:1}.stream-local-fs-exit{transition:opacity .3s}.stream-local-fs-exit.chrome-hidden{opacity:0;pointer-events:none}