@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans JP,Noto Sans SC,sans-serif;color:#172f32;background:#f5f4ef;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #172f32;--muted: #78878a;--line: #e8e9e4;--teal: #128078;--teal-dark: #0c655f;--mint: #e7f2ef;--paper: #fffefa;--warm: #f5f4ef}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #78c5bb;outline-offset:2px}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;background:var(--warm)}.topbar{height:64px;display:flex;align-items:center;gap:15px;padding:0 24px;background:#fffefa;border-bottom:1px solid #e7e6df;position:relative;z-index:3}.icon-button{border:0;background:transparent;display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;cursor:pointer;color:#65777a;transition:background .18s,color .18s}.icon-button:hover{background:#eef4f1;color:var(--teal-dark)}.back-button{color:#304548}.lesson-heading{min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-heading strong{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-heading span{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.lesson-heading i,.dot{width:3px;height:3px;border-radius:50%;display:inline-block;background:#9ca8a7}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.session-progress{width:186px;height:42px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px;padding:6px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.session-progress span,.session-progress strong{font-size:10px;font-weight:600}.session-progress span{color:#758487}.session-progress strong{color:var(--teal-dark)}.progress-track{height:4px;background:#e3ebe8;border-radius:9px;overflow:hidden;grid-column:1 / -1}.progress-track span{display:block;height:100%;background:var(--teal);border-radius:inherit;transition:width .25s ease}.streak{display:flex;align-items:center;justify-content:center;gap:5px;height:36px;min-width:50px;border:1px solid #f0dfc7;background:#fff7ea;border-radius:999px;color:#c28131;font-size:12px;font-weight:700}.avatar{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;padding:0;border:0;border-radius:50%;background:#e6dcd2;color:#765c4b;font-size:13px;font-weight:700;cursor:pointer}.avatar img{width:100%;height:100%;object-fit:cover}.account-placeholder{display:inline-block;width:34px;height:34px}.account-menu{position:relative}.account-dropdown{position:absolute;z-index:20;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:3px;min-width:220px;padding:14px;border:1px solid #e3e6e0;border-radius:12px;background:#fffefa;box-shadow:0 14px 34px #102d2b26;animation:rise-in .16s ease both}.account-dropdown strong{color:#213b3e;font-size:13px}.account-dropdown span{margin-bottom:8px;overflow:hidden;color:#85928f;font-size:11px;text-overflow:ellipsis}.account-dropdown button{display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-top:1px solid #ecece6;border-radius:0 0 8px 8px;margin:0 -14px -14px;color:#9b4d41;background:transparent;font-size:12px;font-weight:600;text-align:left;cursor:pointer}.account-dropdown button:hover{background:#f9eeea}.signin-button{height:38px;padding:0 18px;border:0;border-radius:999px;color:#fff;background:var(--teal);font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 0 var(--teal-dark)}.signin-button:hover{background:var(--teal-dark)}.topbar .signin-button{height:34px;padding:0 14px;font-size:11px}.login-dialog .google-button-host{display:flex;justify-content:center;min-height:44px;margin:6px 0 4px}.login-dialog code{padding:1px 5px;border-radius:4px;background:#f3e4df;font-size:10px}.workspace{max-width:1680px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 412px;min-height:calc(100vh - 64px)}.lesson-column{min-width:0;padding:18px 22px 24px}.video-frame{width:100%;aspect-ratio:16 / 9;position:relative;isolation:isolate;overflow:hidden;background:#1d2927 center / cover no-repeat;border-radius:12px;box-shadow:0 7px 22px #273a371c}.player-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:transparent}.video-frame.audio-only .player-host{opacity:0;pointer-events:none}.video-frame:fullscreen{border-radius:0}.audio-cover{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#e3f0ed;font-size:14px;background:radial-gradient(ellipse at 50% 45%,#35756dcc,#152e31f0 68%)}.listen-toggle{position:absolute;z-index:5;top:13px;right:13px;display:flex;align-items:center;gap:7px;height:29px;padding:0 11px;color:#fff;background:#15211dcc;border:1px solid #ffffff29;border-radius:999px;font-size:10px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-gradient{position:absolute;z-index:2;pointer-events:none;inset:auto 0 0;height:31%;background:linear-gradient(transparent,#000b)}.video-caption{position:absolute;z-index:3;left:7%;right:7%;bottom:60px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;color:#fff;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:clamp(17px,2vw,25px);line-height:1.5;font-weight:700;text-shadow:0 2px 6px #000,1px 2px 2px #000;pointer-events:none}.video-caption small{font-family:DM Sans,sans-serif;font-size:.62em;font-weight:600;color:#e6f3ef}.player-controls{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:0 18px 10px;color:#f9fbf9;background:linear-gradient(transparent,#050807b8)}.player-progress{--progress: 0%;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:5px;margin:0 0 7px;border-radius:9px;background:linear-gradient(to right,#54d6bd var(--progress),#ffffff5d var(--progress));cursor:pointer}.player-progress::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0006}.player-progress::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:#fff}.player-progress:disabled{cursor:default;opacity:.6}.player-control-row{display:flex;align-items:center;gap:8px;height:31px}.player-control-row button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:0;color:#fff;background:transparent;border-radius:50%;cursor:pointer}.player-control-row button:hover{background:#ffffff24}.player-control-row button:disabled{opacity:.5;cursor:default}.player-control-row .loop-button.on{color:#54d6bd;background:#ffffff1e}.icon-button.on{color:var(--teal);background:#e3f1ed}.player-time{margin-left:2px;font-size:11px;font-weight:600;white-space:nowrap}.control-spacer{flex:1}.player-control-row .speed-button,.speed-button{width:36px;height:28px;border:0;border-radius:999px;color:#fff;background:#ffffff1e;font-size:10px;font-weight:700;cursor:pointer}.player-control-row .cc-button{width:33px;height:27px;font-size:10px;font-weight:700;background:#f7fbfa;color:#234447}.player-control-row .cc-button.muted{color:#dae0de;background:#fff2}.video-details{display:flex;align-items:center;gap:13px;padding:17px 3px 15px;border-bottom:1px solid #e6e5de}.creator-avatar{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;background:#d7e8e2;color:#27736b;border-radius:50%;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700}.video-title-block{min-width:0}.eyebrow{display:flex;align-items:center;gap:7px;color:#7d8d8a;font-size:9px;font-weight:700;letter-spacing:0}.video-title-block h1{margin:4px 0 2px;font-family:Noto Sans JP,Noto Sans SC,DM Sans,sans-serif;color:#1e383b;font-size:17px;line-height:1.35}.video-title-block p{margin:0;color:#84908f;font-size:11px}.detail-actions{display:flex;align-items:center;gap:7px;margin-left:auto;padding-left:10px}.soft-button{height:34px;display:flex;align-items:center;gap:7px;padding:0 11px;white-space:nowrap;border:1px solid #e1e4df;border-radius:9px;background:#fffefa;color:#536568;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 2px #e8e7e0}.soft-button:hover{color:var(--teal-dark);border-color:#b7d5ce}.share-button{display:none}.language-switcher{display:flex;align-items:center;gap:7px;padding:15px 3px}.language-switcher>span:first-child{margin-right:4px;color:#879392;font-size:9px;font-weight:700}.language-switcher button{height:31px;padding:0 12px;border:1px solid #e5e6e0;border-radius:999px;color:#74817f;background:#fffefa;font-size:11px;font-weight:600;cursor:pointer}.language-switcher button.selected{color:#0c6962;border-color:#b7d8d1;background:#e8f4f0;box-shadow:inset 0 0 0 1px #e8f4f0}.translation-label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#71817e;font-size:10px}.study-panel{display:flex;flex-direction:column;min-width:0;min-height:calc(100vh - 64px);height:calc(100vh - 64px);position:sticky;top:0;overflow:hidden;background:var(--paper);border-left:1px solid #e6e5df}.study-tabs{min-height:54px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 9px;border-bottom:1px solid var(--line)}.study-tabs button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 1px 6px;border:0;color:#79888a;background:transparent;font-size:9px;font-weight:600;cursor:pointer;white-space:nowrap}.study-tabs button:hover,.study-tabs button.active{color:var(--teal)}.study-tabs button.active:after{position:absolute;content:"";height:2px;left:12%;right:12%;bottom:-1px;border-radius:3px 3px 0 0;background:var(--teal)}.tab-content{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 18px 12px}.panel-heading>div:first-child{display:flex;align-items:center;gap:8px}.panel-heading h2{margin:0;color:#223b3e;font-size:15px;line-height:1.2}.count-pill{padding:3px 8px;border-radius:999px;color:#71817e;background:#f0f2ed;font-size:9px;font-weight:700}.heading-tools{display:flex;gap:3px}.icon-button.small{width:30px;height:30px}.hint{display:flex;align-items:center;gap:7px;margin:0 15px 7px;padding:9px 10px;border-radius:8px;color:#6d807d;background:#eff5f1;font-size:10px}.hint svg{color:#549a8d}.hint button{display:grid;place-items:center;margin-left:auto;padding:0;border:0;color:#80918d;background:transparent;cursor:pointer}.hint.warn{color:#9b4d41;background:#f9eeea}.hint.warn svg{color:#c07a6c}.hint.warn button{flex:0 0 auto;padding:3px 9px;border:1px solid currentColor;border-radius:6px;color:inherit;font-size:10px;font-weight:700}.transcript-status{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 15px 10px;padding:12px;border-radius:9px;color:#6d807d;background:#f1f4f0;font-size:11px;line-height:1.55}.transcript-status.error{color:#9b4d41;background:#f9eeea}.transcript-status button{padding:5px 11px;border:1px solid currentColor;border-radius:7px;color:inherit;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.transcript-list{flex:1;overflow:auto;padding:2px 12px 9px;scrollbar-color:#c5d0cb transparent;scrollbar-width:thin}.transcript-line{display:grid;grid-template-columns:39px minmax(0,1fr) 27px;gap:4px;align-items:start;padding:9px 6px;margin-bottom:3px;scroll-margin:10px 0;border:1px solid transparent;border-radius:10px;transition:background .16s,border-color .16s}.transcript-line.current{border-color:#b3d4ce;background:#e9f3f0;box-shadow:0 2px #dcebe6}.timestamp{padding:2px 0 0;border:0;color:#8d9997;background:transparent;font-size:9px;font-variant-numeric:tabular-nums;cursor:pointer}.line-copy{display:flex;flex-direction:column;gap:4px;min-width:0;padding:0;border:0;text-align:left;background:transparent;cursor:pointer}.line-copy span{color:#465e61;font-family:Noto Sans JP,Noto Sans SC,DM Sans,sans-serif;font-size:12px;line-height:1.75}.current .line-copy span{color:#1e3d40;font-weight:700}.line-copy small{color:#8b9694;font-size:9px;line-height:1.5}.save-line{display:grid;place-items:center;width:26px;height:26px;margin-top:-3px;padding:0;border:0;border-radius:7px;color:#a4afac;background:transparent;opacity:0;cursor:pointer}.transcript-line:hover .save-line,.save-line.saved{opacity:1}.save-line:hover,.save-line.saved{color:var(--teal);background:#d9eae5}.vocab-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 17px;border-top:1px solid var(--line);color:#7e8d8a;font-size:10px}.vocab-footer span,.vocab-footer button{display:flex;align-items:center;gap:6px}.vocab-footer button{padding:4px 0;border:0;color:var(--teal);background:transparent;font-size:10px;font-weight:700;cursor:pointer}.practice-content,.exercise-content,.chat-content{overflow-y:auto}.practice-instruction{margin:0 18px 14px;color:#83908d;font-size:11px;line-height:1.6}.shadow-card{margin:0 13px 15px;padding:15px 13px 13px;border:1px solid #e9e6de;border-radius:12px;background:linear-gradient(150deg,#fffdfa,#faf9f4);box-shadow:0 3px 12px #2034320a}.practice-label{display:flex;align-items:center;justify-content:space-between;color:#87918f;font-size:9px;font-weight:700}.practice-label button{display:flex;align-items:center;gap:2px;padding:3px 0;border:0;color:var(--teal);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.shadow-native{margin:18px 0 8px;color:#23474a;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:22px;line-height:1.55;font-weight:700}.shadow-reading{margin:0 0 6px;color:#559287;font-size:11px;line-height:1.6}.shadow-translation{margin:0;color:#899391;font-size:11px;line-height:1.6}.speed-button.light{color:#607270;background:#f0f2ed}.record-area{display:flex;min-height:107px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-top:1px solid #e9e8e1;color:#99a3a0;font-size:10px}.record-button{display:grid;place-items:center;width:54px;height:54px;border:5px solid #e3efeb;border-radius:50%;color:#fff;background:#1d4d50;cursor:pointer;box-shadow:0 3px 10px #1d4d5040;transition:background .18s,transform .18s}.record-button:hover{transform:scale(1.04);background:#163e41}.record-button.recording{background:#d46d5a;animation:pulse 1.4s ease-in-out infinite}.record-area audio{width:100%;height:32px}.recorded-count{color:#8b9895;font-size:9px;font-weight:600}.shadow-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px;scrollbar-color:#c5d0cb transparent;scrollbar-width:thin}.shadow-list .shadow-card{margin:6px 4px 10px;scroll-margin:12px 0;border-color:#ecd9c8;box-shadow:0 4px 16px #2034320f}.shadow-progress{height:4px;margin:-3px -1px 12px;border-radius:9px;background:#edf0ee;overflow:hidden}.shadow-progress span{display:block;height:100%;border-radius:inherit;background:#8cc7bd;transition:width .3s}.shadow-error{margin:8px 0 0;color:#b5533f;font-size:11px;line-height:1.5;text-align:center}.listen-rows{display:flex;flex-direction:column;margin-top:12px;border:1px solid #e6ebe8;border-radius:10px;overflow:hidden;background:#fff}.listen-row{--fill: 0%;position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px 6px 6px;background:linear-gradient(to right,#e5f0ed var(--fill),transparent var(--fill))}.listen-row+.listen-row{border-top:1px solid #e6ebe8}.listen-play{display:grid;place-items:center;width:34px;height:34px;flex:none;border:0;border-radius:50%;color:#24686a;background:#d8e9e5;cursor:pointer}.listen-play:hover{background:#c9e1dc}.listen-name{flex:1;color:#33494c;font-size:13px}.listen-time{min-width:30px;color:#3f5457;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.speed-chip{padding:4px 7px;border:0;border-radius:7px;color:#50676a;background:#eef2f0;font-size:11px;font-weight:700;cursor:pointer}.loop-chip{display:grid;place-items:center;width:40px;height:34px;border:0;border-radius:9px;color:#5c7174;background:#eef2f0;cursor:pointer}.loop-chip.on{color:#fff;background:var(--teal)}.recording-card{display:flex;flex-direction:column;align-items:center;padding-bottom:16px}.recording-card .shadow-progress{align-self:stretch}.recording-sentence{margin:8px 0 14px;color:#1d3c40;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:24px;font-weight:700;line-height:1.45;text-align:center}.recording-stage{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}.wave{display:flex;flex:1;align-items:center;justify-content:space-between;height:40px;min-width:0}.wave i{width:3px;min-height:4px;border-radius:3px;background:#ecd2c0;transition:height .08s linear}.stop-button{--ring: 214;--ring-offset: 214;position:relative;display:grid;place-items:center;width:78px;height:78px;flex:none;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.stop-button svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.stop-button circle{fill:none;stroke-width:4}.stop-button .track{stroke:#f3e4da}.stop-button .fill{stroke:#cf7b45;stroke-linecap:round;stroke-dasharray:var(--ring);stroke-dashoffset:var(--ring-offset)}.stop-button>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;background:#b44a3a;box-shadow:0 4px 12px #b44a3a40;transition:transform .16s}.stop-button:hover>span{transform:scale(1.04)}.stop-button:disabled{cursor:progress;opacity:.7}.recording-label{margin-top:8px;color:#4f6466;font-size:12px}.recording-timer{display:flex;align-items:center;gap:7px;margin-top:6px;color:#1d3c40;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.recording-timer i{width:8px;height:8px;border-radius:50%;background:#e0a477;animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.score-title{display:flex;align-items:center;gap:8px;margin:2px 0 12px;color:#1d3c40;font-size:14px}.score-title svg{color:var(--teal)}.score-list{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}.score-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,1.4fr) 40px;align-items:center;gap:10px;color:#33494c;font-size:13px}.score-track{height:6px;border-radius:9px;background:#e6ebe9;overflow:hidden}.score-track span{display:block;height:100%;border-radius:inherit;background:#237f78;transition:width .5s ease-out}.score-row strong{color:#1d3c40;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.heard-box{padding:12px 0 0 12px;border-left:3px solid #c8763f;border-radius:10px;background:#f6f8f7}.heard-box>p{margin:0 12px 6px 0;color:#1d3c40;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:14px;line-height:1.6}.heard-box .heard{display:flex;flex-wrap:wrap;align-items:center;gap:0;color:#74878a;font-size:13px;font-style:italic}.heard svg{margin-right:6px;flex:none}.heard .miss{color:#c2412f;text-decoration:line-through}.heard-note{font-family:DM Sans,sans-serif;font-size:11px}.heard-box .listen-rows{margin:10px 0 0 -3px;border-width:1px 0 0;border-radius:0 0 10px;background:transparent}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.retry-button,.next-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.retry-button{border:1px solid #a9b9bb;color:#1d3c40;background:#fff}.retry-button:hover{background:#f3f6f5}.next-button{border:0;color:#fff;background:#0f2f3a}.next-button:hover{background:#18404d}.next-button:disabled{opacity:.4;cursor:default}.dictation-content{padding-bottom:8px}.dictation-head{padding:14px 16px 10px}.dictation-head>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dictation-head strong{color:#1d3c40;font-size:13px}.dictation-head span{color:#5f7275;font-size:11px}.dictation-progress{height:4px;margin-top:8px;border-radius:9px;background:#e6ebe9;overflow:hidden}.dictation-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .3s}.dictation-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:4px 12px 12px;overflow-y:auto;scrollbar-color:#c5d0cb transparent;scrollbar-width:thin}.dictation-row{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:8px 12px 8px 16px;border:1px solid #e6e3da;border-radius:12px;text-align:left;background:#fffefa;cursor:pointer;transition:border-color .16s,background .16s}.dictation-row:hover{border-color:#b9d6cf;background:#fbfdfc}.dictation-index{width:18px;flex:none;color:#8a9799;font-size:11px}.dictation-pills{display:flex;flex:1;flex-wrap:nowrap;gap:5px;min-width:0;overflow:hidden}.dictation-pills i{width:20px;height:7px;flex:none;border-radius:9px;background:#dfe3e2}.dictation-solved{flex:1;min-width:0;overflow:hidden;color:#2b7a63;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.word-chip{flex:none;padding:3px 8px;border-radius:9px;color:#4d5f61;background:#ebe9e3;font-size:11px;font-weight:600}.dictation-row.passed .word-chip{color:#1f6f5c;background:#dcefe8}.dictation-card{padding:12px;border:1px solid #a9d3c8;border-radius:14px;background:#edf5f2;scroll-margin:10px 0;box-shadow:0 4px 14px #1d4d500f}.dictation-card form{display:flex;align-items:center;gap:10px}.dictation-play{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #dfe7e4;border-radius:50%;color:#1d3c40;background:#fff;box-shadow:0 2px 6px #1d4d501a;cursor:pointer}.dictation-play:hover{background:#f5faf8}.dictation-card input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid #e1e8e5;border-radius:12px;color:#1d3c40;background:#f7f9f8;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:15px}.dictation-card input:focus{outline:none;border-color:#7dbfb2;background:#fff}.dictation-diff{margin:12px 2px 4px;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:16px;font-weight:600;line-height:1.7;letter-spacing:.12em;word-break:break-all}.dictation-diff .ok,.dictation-legend .ok{color:#2f9a58}.dictation-diff .missing,.dictation-legend .missing{color:#d2453a}.dictation-diff .extra,.dictation-legend .extra{color:#e0a02a}.dictation-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.dictation-score{flex:1;color:#6c7d80;font-size:11px;font-weight:600}.dictation-score.fail{color:#d9901c}.dictation-score.pass{color:#2f9a58}.round-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid #e0e6e3;border-radius:50%;color:#33494c;background:#fff;box-shadow:0 2px 6px #1d4d5014;cursor:pointer}.round-icon:hover{background:#f3f7f5}.dictation-card .next-button{min-height:40px;padding:0 16px;border-radius:12px;background:#17766e;box-shadow:0 2px #0c5650;font-size:12px}.dictation-card .next-button:hover{background:#12665f}.dictation-legend{display:flex;justify-content:center;gap:14px;margin:0;padding:6px 0 2px;font-size:10px;font-weight:600}.shadow-row{display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:6px;align-items:start;width:100%;padding:8px;border:0;border-radius:9px;text-align:left;background:transparent;cursor:pointer}.shadow-row:hover{background:#f1f5f2}.shadow-row .timestamp{padding-top:3px}.shadow-row span[lang]{color:#4d6366;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:12px;line-height:1.75}.shadow-row svg{margin-top:5px;color:var(--teal)}.shadow-row.done span[lang]{color:#6d8582}.record-row{display:flex;align-items:center;justify-content:space-between;width:100%}.step-button{display:flex;align-items:center;gap:3px;min-width:64px;padding:6px 4px;border:0;color:#27494c;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.step-button:last-child{justify-content:flex-end}.step-button:disabled{opacity:.3;cursor:default}.practice-content{overflow:hidden}@keyframes pulse{50%{box-shadow:0 0 0 7px #d46d5a24}}.exercise-card{margin:0 14px 12px;padding:16px;border:1px solid #e8e7df;border-radius:11px;background:#fffefa}.exercise-kicker{color:#82908d;font-size:9px;font-weight:700}.exercise-card form{display:flex;flex-direction:column;gap:8px;margin-top:17px}.exercise-card label,.video-dialog label{color:#576b6d;font-size:10px;font-weight:700}.exercise-card textarea,.video-dialog input{width:100%;resize:vertical;padding:11px 12px;border:1px solid #e0e4de;border-radius:8px;color:var(--ink);background:#fff;font-size:12px;line-height:1.5}.exercise-card textarea::placeholder,.video-dialog input::placeholder{color:#aab3af}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:var(--teal);font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 2px #0c655f;transition:background .16s,transform .16s}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button.full{width:100%}.feedback{margin:0 15px 12px;padding:10px 12px;border-radius:8px;color:#277569;background:#e9f4ee;font-size:11px;line-height:1.5}.feedback.wrong{color:#a05245;background:#f9eeea}.fill-sentence{margin:17px 0 8px;color:#27494c;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:19px;line-height:1.8;font-weight:600}.exercise-translation{margin:0 0 15px;color:#87928f;font-size:10px;line-height:1.5}.answer-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.answer-options button{min-width:72px;min-height:35px;padding:5px 13px;border:1px solid #e2e6df;border-radius:8px;color:#60716f;background:#fff;font-family:Noto Sans JP,Noto Sans SC,sans-serif;font-size:12px;cursor:pointer}.answer-options button.chosen{color:var(--teal-dark);border-color:#83b9ad;background:#eaf5f1}.chat-topic{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:11px;border-radius:9px;color:#447a72;background:#edf5f1;font-size:10px;font-weight:600}.chat-messages{flex:1;display:flex;flex-direction:column;gap:10px;padding:5px 15px 15px;overflow:auto}.chat-bubble{max-width:88%;padding:10px 11px;border-radius:11px;font-size:11px;line-height:1.6}.chat-bubble small{display:block;margin-top:5px;color:#97a19d;font-size:9px}.chat-bubble.tutor{align-self:flex-start;color:#536967;background:#f0f2ed;border-bottom-left-radius:3px}.chat-bubble.learner{align-self:flex-end;color:#245c57;background:#e4f2ee;border-bottom-right-radius:3px}.chat-compose{display:flex;align-items:center;gap:7px;margin:0 14px 8px;padding:5px 6px 5px 12px;border:1px solid #e0e5df;border-radius:10px;background:#fff}.chat-compose input{flex:1;min-width:0;height:32px;border:0;outline:0;color:var(--ink);font-size:10px;background:transparent}.chat-compose input:focus-visible{outline:0}.chat-compose input::placeholder{color:#a0aaa6}.send-button{display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:8px;color:#fff;background:var(--teal);cursor:pointer}.quota-bar{display:flex;align-items:center;gap:8px;margin:0 14px 10px;padding:8px 10px 8px 12px;border-radius:10px;color:#5b5235;background:#fbf4e2;font-size:11px}.quota-bar span{flex:1}.quota-bar strong{color:#3f3820}.quota-bar button{flex:none;padding:5px 10px;border:1px solid #e3cf9b;border-radius:8px;color:#6b5718;background:#fffaf0;font-size:11px;font-weight:700;cursor:pointer}.quota-bar.paid{color:#1f6f5c;background:#e3f2ec}.shadow-gate{display:flex;flex-direction:column;align-items:center;gap:8px;margin:10px 14px;padding:26px 18px;border:1px dashed #d8d6cc;border-radius:14px;color:#5f7275;background:#fbfaf6;text-align:center}.shadow-gate svg{color:#b08a3c}.shadow-gate h3{margin:4px 0 0;color:#1d3c40;font-size:15px}.shadow-gate p{max-width:320px;margin:0 0 6px;font-size:12px;line-height:1.6}.shadow-gate .redeem-form{width:100%;max-width:340px;text-align:left}.redeem-form{display:flex;flex-direction:column;gap:6px}.redeem-form label{color:#576b6d;font-size:10px;font-weight:700}.redeem-form>div{display:flex;gap:8px}.redeem-form input{flex:1;min-width:0;padding:10px 12px;border:1px solid #e0e4de;border-radius:8px;color:var(--ink);background:#fff;font-family:ui-monospace,Cascadia Mono,monospace;font-size:13px;letter-spacing:.06em}.redeem-form .primary-button:disabled{opacity:.5;cursor:default}.redeem-form .form-error{margin:0}.redeem-success{margin:6px 0;padding:12px;border-radius:10px;color:#1f6f5c;background:#e3f2ec;font-size:13px;font-weight:600}.account-dropdown .plan-badge{margin:0 0 8px;padding:6px 8px;border-radius:8px;color:#6b5718;background:#fbf4e2;font-size:11px;font-style:normal;font-weight:600}.account-dropdown .plan-badge.paid{color:#1f6f5c;background:#e3f2ec}.account-dropdown button.menu-redeem{margin-bottom:0;border-radius:0;color:#27494c}.account-dropdown button.menu-redeem:hover{background:#eef5f2}.chat-content{display:flex;flex-direction:column;overflow:hidden}.chat-topic span{overflow:hidden;font-family:Noto Sans JP,Noto Sans SC,DM Sans,sans-serif;white-space:nowrap;text-overflow:ellipsis}.chat-messages{min-height:0}.chat-bubble{font-size:12.5px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble.tutor{color:#34494b}.chat-bubble.error{color:#a5432f;background:#fbeee9}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.chat-suggestions button{padding:6px 10px;border:1px solid #cfe3dd;border-radius:999px;color:#25685f;background:#f4faf8;font-size:11px;cursor:pointer}.chat-suggestions button:hover:not(:disabled){background:#e4f2ee}.chat-suggestions button:disabled{opacity:.5;cursor:default}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing i{width:6px;height:6px;border-radius:50%;background:#9db3ae;animation:blink 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.chat-compose input{font-size:12px}.send-button:disabled{opacity:.45;cursor:default}.send-button.stop{background:#b44a3a}.chat-login{display:flex;align-items:center;gap:8px;margin:0 14px 8px;padding:10px 12px;border-radius:10px;color:#4b6164;background:#f1f5f3;font-size:11px}.chat-login span{flex:1}.chat-login button{padding:6px 12px;border:0;border-radius:8px;color:#fff;background:var(--teal);font-size:11px;font-weight:700;cursor:pointer}.chat-disclaimer{display:flex;align-items:center;justify-content:center;gap:5px;margin:0 10px 10px;color:#a0aaa7;font-size:8px}.panel-help{display:flex;align-items:center;justify-content:space-between;margin:auto 0 0;padding:10px 16px;border:0;border-top:1px solid var(--line);color:#83918e;background:transparent;font-size:9px;cursor:pointer}.panel-help span{display:flex;align-items:center;gap:6px}.dialog-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#182b2c78;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .16s ease both}.video-dialog{width:min(100%,430px);padding:20px;border:1px solid #e6e8e1;border-radius:14px;background:#fffefa;box-shadow:0 20px 60px #102d2b40;animation:rise-in .2s ease both}.dialog-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:19px}.dialog-title>div{display:flex;align-items:flex-start;gap:11px}.dialog-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:var(--teal);background:#e8f3ef}.dialog-title h2{margin:1px 0 4px;color:#233d3f;font-size:15px}.dialog-title p{margin:0;color:#899592;font-size:10px}.video-dialog form{display:flex;flex-direction:column;gap:9px}.video-dialog input{height:42px}.dialog-footnote{margin:12px 0 0;color:#99a39f;font-size:9px;line-height:1.5}.form-error{margin:-2px 0 0;color:#b35648;font-size:10px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.home-shell{min-height:100vh;background:linear-gradient(180deg,#fbfbf7,#f3f6f1)}.home-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:12px 28px;background:#fffefaee;border-bottom:1px solid #e8e8e1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-search{flex:1;max-width:620px;display:flex;align-items:center;height:42px;border:1px solid #dfe3dd;border-radius:999px;background:#fff;overflow:hidden;transition:border-color .16s,box-shadow .16s}.home-search:focus-within{border-color:#8fc4ba;box-shadow:0 0 0 3px #d5ece6}.home-search input{flex:1;min-width:0;height:100%;padding:0 18px;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px}.home-search input:focus-visible{outline:0}.home-search input::placeholder{color:#9aa6a3}.search-clear{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;color:#8b9895;background:transparent;cursor:pointer}.search-submit{display:grid;place-items:center;width:58px;height:100%;border:0;border-left:1px solid #e3e6e0;color:#4f6466;background:#f5f6f2;cursor:pointer}.search-submit:hover{color:var(--teal);background:#edf4f1}.home-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.pair-switch{display:flex;align-items:center;gap:4px;height:38px;padding:0 12px 0 4px;border:1px solid #e0e4de;border-radius:999px;background:#fff;font-size:11px}.pair-switch button{height:28px;padding:0 10px;border:0;border-radius:999px;color:#7c8a88;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.pair-switch button.on{color:#fff;background:var(--teal)}.pair-switch span{margin:0 3px;color:#9aa6a3}.pair-switch strong{color:#3b5254}.import-button{display:flex;align-items:center;gap:6px;height:38px;padding:0 16px;border:1px solid #dfe3dd;border-radius:999px;color:#2f4749;background:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px #e7e7e0}.import-button:hover{color:var(--teal-dark);border-color:#b7d5ce}.home-content{max-width:1240px;margin:0 auto;padding:30px 28px 60px}.home-title{margin:0 0 6px;color:#183236;font-size:30px;letter-spacing:0}.home-title.small{margin-top:8px;font-size:20px}.home-subtitle{margin:0 0 26px;color:#7b8a87;font-size:13px}.home-error,.home-empty{padding:12px 14px;border-radius:10px;color:#9b4d41;background:#f9eeea;font-size:12px}.home-empty{color:#6d807d;background:#eef2ee}.back-link{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:0;color:var(--teal);background:transparent;font-size:12px;font-weight:700;cursor:pointer}.video-row{margin-bottom:30px}.video-row h2{display:flex;align-items:center;gap:8px;min-height:22px;margin:0 0 12px;color:#213b3e;font-size:16px}.video-row h2 svg{color:var(--teal)}.row-viewport{position:relative}.row-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 16px) / 4.3);gap:16px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}.row-track::-webkit-scrollbar{display:none}.row-arrow{position:absolute;z-index:2;top:calc(50% - 40px);display:grid;place-items:center;width:38px;height:38px;border:1px solid #e1e4de;border-radius:50%;color:#304548;background:#fff;box-shadow:0 4px 14px #1b33361f;cursor:pointer}.row-arrow.left{left:-14px}.row-arrow.right{right:-14px}.row-arrow:hover{color:var(--teal)}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px 16px;margin-top:16px}.video-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px 8px 12px;border:1px solid #e8e8e1;border-radius:14px;text-align:left;color:inherit;background:#fff;cursor:pointer;scroll-snap-align:start;box-shadow:0 2px #ecebe4;transition:transform .16s,box-shadow .16s,border-color .16s}.video-card:hover{transform:translateY(-2px);border-color:#c9dfd8;box-shadow:0 8px 20px #1b333614}.card-thumb{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;border-radius:9px;background:#e6ebe7}.card-thumb img{display:block;width:100%;height:100%;object-fit:cover}.card-duration{position:absolute;right:6px;bottom:6px;padding:2px 6px;border-radius:5px;color:#fff;background:#000000b3;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.card-title{display:-webkit-box;margin-top:4px;overflow:hidden;color:#1f3639;font-family:DM Sans,Noto Sans JP,Noto Sans SC,sans-serif;font-size:12.5px;font-weight:600;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-channel{overflow:hidden;color:#87948f;font-size:10.5px;white-space:nowrap;text-overflow:ellipsis}.video-card.skeleton{cursor:default}.video-card.skeleton:hover{transform:none;box-shadow:0 2px #ecebe4}.skeleton-text{display:block;width:80%;height:11px;border-radius:6px;background:#e8ece8}.skeleton-text.short{width:45%}.video-row h2 .skeleton-text{width:180px;height:16px}.skeleton .card-thumb,.skeleton-text{animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{50%{opacity:.55}}@media (max-width: 1050px){.row-track{grid-auto-columns:calc((100% - 2 * 16px) / 2.6)}}@media (max-width: 760px){.home-header{flex-wrap:wrap;gap:10px;padding:10px 12px}.home-search{order:2;flex-basis:100%;max-width:none;height:40px}.home-actions{margin-left:0;width:100%;justify-content:space-between}.home-content{padding:20px 12px 40px}.home-title{font-size:24px}.row-track{grid-auto-columns:72%;gap:12px}.row-arrow{display:none}.video-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px 10px}}@media (min-width: 1500px){.workspace{grid-template-columns:minmax(0,1fr) 440px}.lesson-column{padding-left:30px;padding-right:30px}.study-panel{border-right:1px solid #e6e5df}}@media (max-width: 1050px){.workspace{grid-template-columns:minmax(0,1fr) 365px}.lesson-column{padding:15px}.detail-actions .soft-button:first-child,.video-title-block p{display:none}}@media (max-width: 760px){.topbar{height:58px;gap:8px;padding:0 11px}.lesson-heading strong{max-width:43vw;font-size:11px}.lesson-heading span{font-size:9px}.session-progress{width:112px;height:37px;gap:0 6px;padding:5px 8px}.session-progress span,.session-progress strong{font-size:8px}.topbar-actions{gap:6px}.streak{height:31px;min-width:36px;font-size:10px}.avatar{width:30px;height:30px}.workspace{display:flex;flex-direction:column;min-height:calc(100vh - 58px)}.lesson-column{padding:9px 9px 0}.video-frame{border-radius:9px}.listen-toggle{top:8px;right:8px;height:26px;padding:0 8px;font-size:9px}.video-caption{bottom:41px;left:4%;right:4%;font-size:clamp(14px,4vw,21px)}.player-controls{padding:0 9px 6px}.player-control-row{gap:4px;height:27px}.player-control-row button{width:25px;height:25px}.player-control-row .speed-button,.player-control-row .cc-button{width:29px;height:23px;font-size:9px}.player-time{font-size:9px}.video-details{gap:9px;padding:12px 3px}.creator-avatar{width:33px;height:33px}.eyebrow{font-size:8px}.video-title-block h1{font-size:14px}.video-title-block p{display:none}.detail-actions{gap:5px;padding-left:2px}.detail-actions .soft-button{width:32px;height:32px;justify-content:center;padding:0;font-size:0}.detail-actions .soft-button:first-child{display:flex}.soft-button svg{width:16px;height:16px}.language-switcher{padding:10px 3px 13px}.translation-label{font-size:0}.translation-label svg{width:17px;height:17px}.study-panel{position:relative;top:auto;min-height:560px;height:min(680px,calc(100vh - 360px));border-top:1px solid #e4e3dc;border-left:0}.study-tabs{min-height:57px;padding:0 5px}.study-tabs button{font-size:8px}.panel-heading{padding-top:14px}}@media (max-width: 390px){.topbar{padding:0 7px}.back-button{width:30px}.session-progress{width:98px}.lesson-heading strong{max-width:35vw}.study-tabs{padding:0 2px}.study-tabs button{font-size:7px}.study-tabs button svg{width:14px;height:14px}.language-switcher>span:first-child{font-size:8px}.language-switcher button{padding:0 8px;font-size:10px}}:root[data-theme=dark]{color-scheme:dark;--d-bg: #1b1c26;--d-surface: #232533;--d-raised: #2c2e3e;--d-track: #36384b;--d-border: #33364a;--d-heading: #e5e4f2;--d-text: #cac9de;--d-muted: #9794b0;--d-accent: #a2a0ea;--d-accent-hover: #b4b2f2;--d-on-accent: #1c1b30;--d-accent-text: #bdbbf5;--d-accent-bg: #2c2c48;--d-accent-bg-hover: #35355a;--d-accent-border: #4a4a7c;--d-ok: #8fd1a6;--d-bad: #ec9a9e;--d-warn-text: #f0aab0;--d-warn-bg: #3a2632;--d-amber-text: #e6c98f;--d-amber-strong: #f1ddb0;--d-amber-bg: #342e26;--d-amber-border: #5c4e36;color:var(--d-text);background:var(--d-bg);--ink: var(--d-heading);--muted: var(--d-muted);--line: var(--d-border);--teal: var(--d-accent);--teal-dark: #8886d8;--mint: var(--d-accent-bg);--paper: var(--d-surface);--warm: var(--d-bg)}[data-theme=dark] :is(.topbar,.account-dropdown,.session-progress,.soft-button,.language-switcher button,.video-dialog,.exercise-card,.dictation-row,.answer-options button,.chat-compose,.home-search,.pair-switch,.import-button,.row-arrow,.video-card,.listen-rows,.round-icon,.dictation-play,.retry-button,.redeem-form input,.exercise-card textarea,.video-dialog input,.shadow-gate){background:var(--d-surface);border-color:var(--d-border);box-shadow:none}[data-theme=dark] .home-shell{background:linear-gradient(180deg,#20212e 0%,var(--d-bg) 100%)}[data-theme=dark] .home-header{background:#21222fee;border-color:var(--d-border)}[data-theme=dark] .shadow-card{background:var(--d-surface);border-color:var(--d-border);box-shadow:none}[data-theme=dark] .shadow-list .shadow-card{border-color:#4a4672}[data-theme=dark] .dictation-card{background:#262842;border-color:var(--d-accent-border);box-shadow:none}[data-theme=dark] .dictation-row:hover,[data-theme=dark] .video-card:hover{border-color:var(--d-accent-border);background:#272a3a}[data-theme=dark] :is(.count-pill,.speed-button.light,.speed-chip,.loop-chip,.transcript-status,.heard-box,.chat-login,.chat-bubble.tutor,.dictation-card input,.word-chip,.search-submit,.home-empty,.shadow-row:hover,.dictation-play:hover,.round-icon:hover,.retry-button:hover){background:var(--d-raised)}[data-theme=dark] :is(.score-track,.shadow-progress,.progress-track,.dictation-progress,.dictation-pills i,.skeleton-text,.card-thumb){background:var(--d-track)}[data-theme=dark] .dictation-card input:focus{background:var(--d-surface);border-color:var(--d-accent-border)}[data-theme=dark] .wave i{background:#55528a}[data-theme=dark] .stop-button .track{stroke:#36355c}[data-theme=dark] :is(.transcript-line.current,.language-switcher button.selected,.listen-play,.icon-button.on,.hint,.chat-topic,.chat-bubble.learner,.feedback,.answer-options button.chosen,.dialog-icon,.quota-bar.paid,.redeem-success,.account-dropdown .plan-badge.paid,.dictation-row.passed .word-chip,.save-line:hover,.save-line.saved,.icon-button:hover,.search-submit:hover,.chat-suggestions button,.account-dropdown button.menu-redeem:hover,.creator-avatar){background:var(--d-accent-bg);border-color:var(--d-accent-border);box-shadow:none}[data-theme=dark] .listen-play:hover,[data-theme=dark] .chat-suggestions button:hover:not(:disabled){background:var(--d-accent-bg-hover)}[data-theme=dark] .listen-row{background:linear-gradient(to right,var(--d-accent-bg-hover) var(--fill),transparent var(--fill))}[data-theme=dark] .language-switcher button.selected{box-shadow:none}[data-theme=dark] :is(.hint.warn,.transcript-status.error,.home-error,.feedback.wrong,.chat-bubble.error,.login-dialog code,.account-dropdown button:hover){color:var(--d-warn-text);background:var(--d-warn-bg)}[data-theme=dark] :is(.quota-bar,.account-dropdown .plan-badge,.streak){color:var(--d-amber-text);background:var(--d-amber-bg);border-color:var(--d-amber-border)}[data-theme=dark] .quota-bar strong{color:var(--d-amber-strong)}[data-theme=dark] .quota-bar button{color:var(--d-amber-strong);background:#3d3629;border-color:var(--d-amber-border)}[data-theme=dark] :is(.lesson-heading strong,.back-button,.panel-heading h2,.video-title-block h1,.dialog-title h2,.home-title,.video-row h2,.card-title,.account-dropdown strong,.score-title,.shadow-gate h3,.dictation-head strong,.recording-sentence,.recording-timer,.heard-box>p,.score-row strong,.shadow-native,.current .line-copy span,.fill-sentence,.pair-switch strong,.retry-button,.dictation-card input,.dictation-play,.row-arrow){color:var(--d-heading)}[data-theme=dark] :is(.line-copy span,.shadow-row span[lang],.listen-name,.listen-time,.score-row,.chat-bubble.tutor,.soft-button,.import-button,.step-button,.round-icon,.recording-label,.account-dropdown button.menu-redeem,.speed-chip,.loop-chip,.chat-login,.speed-button.light,.search-submit,.word-chip,.dictation-head span){color:var(--d-text)}[data-theme=dark] :is(.language-switcher button,.pair-switch button,.count-pill,.study-tabs button,.timestamp,.line-copy small,.card-channel,.home-subtitle,.eyebrow,.video-title-block p,.shadow-translation,.practice-instruction,.dialog-title p,.dialog-footnote,.chat-disclaimer,.panel-help,.vocab-footer,.recorded-count,.transcript-status,.hint){color:var(--d-muted)}[data-theme=dark] :is(.study-tabs button.active,.study-tabs button:hover,.language-switcher button.selected,.chat-suggestions button,.listen-play,.shadow-reading,.chat-topic,.chat-bubble.learner,.feedback,.dialog-icon,.quota-bar.paid,.redeem-success,.account-dropdown .plan-badge.paid,.dictation-row.passed .word-chip,.dictation-solved,.creator-avatar,.icon-button.on,.answer-options button.chosen){color:var(--d-accent-text)}[data-theme=dark] .icon-button{color:var(--d-muted)}[data-theme=dark] .icon-button:hover{color:var(--d-accent-text)}[data-theme=dark] :is(.pair-switch button.on,.loop-chip.on,.next-button,.dictation-card .next-button,.primary-button,.signin-button,.send-button,.chat-login button){color:var(--d-on-accent);background:var(--d-accent);box-shadow:none}[data-theme=dark] :is(.next-button,.primary-button,.signin-button,.send-button):hover{background:var(--d-accent-hover)}[data-theme=dark] .send-button.stop{color:#fff;background:#b0627a}[data-theme=dark] .record-button{border-color:#2f3146;background:#6866b8}[data-theme=dark] .stop-button>span{background:#b0627a;box-shadow:none}[data-theme=dark] :is(.dictation-diff .ok,.dictation-legend .ok,.dictation-score.pass){color:var(--d-ok)}[data-theme=dark] :is(.dictation-diff .missing,.dictation-legend .missing,.heard .miss){color:var(--d-bad)}[data-theme=dark] :is(.dictation-diff .extra,.dictation-legend .extra,.dictation-score.fail){color:var(--d-amber-text)}[data-theme=dark] .form-error,[data-theme=dark] .shadow-error{color:var(--d-warn-text)}[data-theme=dark] .score-track span{background:var(--d-accent)}[data-theme=dark] :is(.topbar,.video-details,.study-panel,.study-tabs,.vocab-footer,.panel-help,.record-area,.listen-row+.listen-row,.account-dropdown button,.home-header,.search-submit){border-color:var(--d-border)}[data-theme=dark] .study-panel{background:var(--d-surface)}[data-theme=dark] .dialog-backdrop{background:#0b0b14a6}[data-theme=dark] .video-dialog,[data-theme=dark] .account-dropdown{box-shadow:0 20px 60px #0009}[data-theme=dark] .home-search:focus-within{border-color:var(--d-accent-border);box-shadow:0 0 0 3px var(--d-accent-bg)}[data-theme=dark] :is(.transcript-list,.shadow-list,.dictation-list){scrollbar-color:#46485f transparent}@media (max-width: 760px){[data-theme=dark] .study-panel{border-color:var(--d-border)}}.theme-toggle{width:36px;height:36px;border:1px solid #e0e4de;color:#5b6f72;background:#fff}.theme-toggle:hover{border-color:#b7d5ce}[data-theme=dark] .theme-toggle{color:var(--d-amber-text);border-color:var(--d-border);background:var(--d-surface)}@media (max-width: 760px){.theme-toggle{width:32px;height:32px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.header-clock{display:inline-flex;align-items:center;height:36px;padding:0 12px;border:1px solid #e0e4de;border-radius:999px;color:#33494c;background:#fff;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;cursor:default}[data-theme=dark] .header-clock{color:var(--d-heading);border-color:var(--d-border);background:var(--d-surface)}@media (max-width: 760px){.header-clock{height:32px;padding:0 9px;font-size:12px}}@media (max-width: 390px){.header-clock{display:none}}.site-footer{padding:18px 16px 22px;color:#8d9997;font-size:11px;text-align:center;letter-spacing:.02em}.site-footer.in-lesson{padding:8px 3px 4px;text-align:left}[data-theme=dark] .site-footer{color:var(--d-muted)}.admin-title{color:#183236;font-size:16px}.admin-content{max-width:1320px}.admin-updated{margin:0 0 14px;color:#7b8a87;font-size:11px}.soft-button:disabled{opacity:.6;cursor:progress}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}.stat-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #e6e7e0;border-radius:12px;background:#fff}.stat-tile span{color:#6c7d7a;font-size:11px;font-weight:600}.stat-tile strong{color:#183236;font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums}.stat-tile small{color:#8d9997;font-size:11px}.admin-card{margin-bottom:16px;padding:16px 18px;border:1px solid #e6e7e0;border-radius:12px;background:#fff}.admin-card h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#183236;font-size:15px}.admin-card h2 small{color:#8d9997;font-size:11px;font-weight:500}.admin-card h3{display:flex;align-items:center;gap:8px;margin:18px 0 8px;color:#33494c;font-size:13px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.chart-head h2{margin:0}.segmented{display:inline-flex;padding:3px;border:1px solid #e0e4de;border-radius:999px;background:#f5f6f2}.segmented button{padding:5px 12px;border:0;border-radius:999px;color:#5f7275;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.segmented button.on{color:#fff;background:var(--teal)}.chart-box{position:relative;margin-top:10px}.chart-box svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#e8e9e4;stroke-width:1}.chart-axis{fill:#8d9997;font-size:10px;font-variant-numeric:tabular-nums}.chart-bar{fill:#0a8f7f;transition:opacity .12s}.chart-bar.active{opacity:.75}.chart-hit{fill:transparent;cursor:crosshair}.chart-tooltip{position:absolute;top:-6px;transform:translate(-50%,-100%);display:flex;flex-direction:column;gap:1px;padding:6px 9px;border:1px solid #e0e4de;border-radius:8px;color:#33494c;background:#fff;box-shadow:0 6px 18px #1b333620;font-size:11px;white-space:nowrap;pointer-events:none}.chart-tooltip strong{color:#183236;font-size:12px}.chart-table{margin-top:8px}.chart-table summary{color:var(--teal);font-size:11px;font-weight:700;cursor:pointer}.chart-table table{max-width:360px;margin-top:8px}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{padding:8px 10px;border-bottom:1px solid #e6e7e0;color:#6c7d7a;font-size:11px;font-weight:700;text-align:left;white-space:nowrap}.admin-table td{padding:9px 10px;border-bottom:1px solid #f0f0ea;color:#33494c;vertical-align:top}.admin-table.compact td,.admin-table.compact th{padding:6px 10px}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}.admin-table code{font-size:11px}.cell-note{display:block;color:#8d9997;font-size:11px;white-space:nowrap}.user-cell{display:flex;align-items:center;gap:10px;min-width:220px}.user-cell img,.user-cell>span{width:30px;height:30px;flex:none;border-radius:50%;object-fit:cover}.user-cell>span{display:grid;place-items:center;color:#765c4b;background:#e6dcd2;font-weight:700}.user-cell strong{display:flex;align-items:center;gap:6px;color:#183236;font-size:12.5px}.user-cell small{color:#8d9997;font-size:11px}.plan-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.plan-tag.free{color:#6b5718;background:#fbf4e2}.plan-tag.paid{color:#1f6f5c;background:#e3f2ec}.plan-tag.fail{color:#9b4d41;background:#f9eeea}.usage-block{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.usage-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#6c7d7a;font-size:11px;font-weight:600}.usage-head strong{color:#183236;font-size:15px;font-variant-numeric:tabular-nums}.usage-meter{height:8px;overflow:hidden;border-radius:999px;background:#eef1ec}.usage-meter>span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .3s}.usage-meter.warn>span{background:#c9824a}.admin-card .cell-note[title]{white-space:normal}.codes-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.code-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.code-form label{display:flex;flex-direction:column;gap:4px;color:#576b6d;font-size:11px;font-weight:700}.code-form input,.code-form select{height:38px;padding:0 10px;border:1px solid #e0e4de;border-radius:8px;color:var(--ink);background:#fff;font-size:12px}.code-form input{width:90px}.code-form .form-error{flex-basis:100%}.created-codes{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid #b7d8d1;border-radius:10px;background:#eef7f4}.created-codes>div{display:flex;flex-direction:column;gap:2px}.created-codes strong{color:#1f6f5c;font-size:13px}.created-codes small{color:#5f7275;font-size:11px}.created-codes pre{grid-column:1 / -1;margin:0;padding:10px 12px;border-radius:8px;color:#183236;background:#fff;font-size:13px;line-height:1.7;letter-spacing:.04em;overflow-x:auto;-webkit-user-select:all;user-select:all}@media (max-width: 760px){.codes-layout{grid-template-columns:1fr}.stat-tile strong{font-size:22px}.admin-title{font-size:14px}}[data-theme=dark] :is(.stat-tile,.admin-card,.chart-tooltip,.code-form input,.code-form select){border-color:var(--d-border);background:var(--d-surface);box-shadow:none}[data-theme=dark] :is(.admin-title,.stat-tile strong,.admin-card h2,.chart-tooltip strong,.user-cell strong){color:var(--d-heading)}[data-theme=dark] :is(.admin-card h3,.admin-table td,.chart-tooltip,.code-form input,.code-form select){color:var(--d-text)}[data-theme=dark] :is(.stat-tile span,.stat-tile small,.admin-card h2 small,.admin-updated,.admin-table th,.cell-note,.user-cell small,.code-form label,.created-codes small){color:var(--d-muted)}[data-theme=dark] .admin-table th{border-color:var(--d-border)}[data-theme=dark] .admin-table td{border-color:#2a2c3c}[data-theme=dark] .segmented{border-color:var(--d-border);background:var(--d-raised)}[data-theme=dark] .segmented button{color:var(--d-muted)}[data-theme=dark] .segmented button.on{color:var(--d-on-accent);background:var(--d-accent)}[data-theme=dark] .chart-grid{stroke:var(--d-border)}[data-theme=dark] .chart-axis{fill:var(--d-muted)}[data-theme=dark] .chart-bar{fill:#8886dc}[data-theme=dark] .plan-tag.free{color:var(--d-amber-text);background:var(--d-amber-bg)}[data-theme=dark] .plan-tag.paid{color:var(--d-ok);background:#233a33}[data-theme=dark] .plan-tag.fail{color:var(--d-warn-text);background:var(--d-warn-bg)}[data-theme=dark] .usage-head{color:var(--d-muted)}[data-theme=dark] .usage-head strong{color:var(--d-heading)}[data-theme=dark] .usage-meter{background:var(--d-track)}[data-theme=dark] .usage-meter.warn>span{background:var(--d-amber-text)}[data-theme=dark] .created-codes{border-color:var(--d-accent-border);background:var(--d-accent-bg)}[data-theme=dark] .created-codes strong{color:var(--d-accent-text)}[data-theme=dark] .created-codes pre{color:var(--d-heading);background:var(--d-surface)}.account-dropdown .plan-badge.ceo,.plan-tag.ceo,.quota-bar.ceo{color:#4b3f99;background:#eceafb;font-weight:700;letter-spacing:.04em}[data-theme=dark] :is(.account-dropdown .plan-badge.ceo,.plan-tag.ceo,.quota-bar.ceo){color:var(--d-accent-text);background:var(--d-accent-bg);border-color:var(--d-accent-border)}.fill-card{display:flex;flex-direction:column}.fill-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.fill-top .dictation-play{width:36px;height:36px}.fill-sentence.muted{color:#9aa6a3;font-size:14px;font-weight:500}.fill-blank{display:inline-block;min-width:3em;margin:0 3px;padding:0 6px;border-bottom:2px solid #8fc4ba;border-radius:4px 4px 0 0;color:transparent;background:#eef6f3;text-align:center}.fill-blank.correct{color:#1f7a52;border-color:#2f9a58;background:#e4f4ea}.fill-blank.wrong{color:#b5533f;border-color:#d2453a;background:#fbecea}.answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.answer-options button{font-size:14px;transition:border-color .15s,background .15s}.answer-options button:hover:not(:disabled){border-color:#83b9ad;background:#f3faf7}.answer-options button:disabled{cursor:default}.answer-options button.correct{color:#1f7a52;border-color:#2f9a58;background:#e4f4ea;font-weight:700}.answer-options button.wrong{color:#b5533f;border-color:#d2453a;background:#fbecea;text-decoration:line-through}.answer-options button.dim{opacity:.5}.fill-card .feedback{margin:0 0 12px}.fill-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.fill-actions .next-button{min-height:38px;padding:0 16px;font-size:12px}[data-theme=dark] .fill-sentence.muted{color:var(--d-muted)}[data-theme=dark] .fill-blank{border-color:var(--d-accent-border);background:var(--d-accent-bg)}[data-theme=dark] :is(.fill-blank.correct,.answer-options button.correct){color:var(--d-ok);border-color:#4f8a64;background:#213a2c}[data-theme=dark] :is(.fill-blank.wrong,.answer-options button.wrong){color:var(--d-bad);border-color:#8a4b55;background:var(--d-warn-bg)}[data-theme=dark] .answer-options button:hover:not(:disabled){border-color:var(--d-accent-border);background:var(--d-raised)}[data-theme=dark] :is(.exercise-kicker,.exercise-translation){color:var(--d-muted)}.dictation-content>.quota-bar,.exercise-content>.quota-bar{margin-top:12px}.fill-quota-error{margin:0 0 10px;text-align:left}.brand{display:inline-flex;align-items:center;gap:9px;flex:none;color:inherit;text-decoration:none}.brand img{display:block;width:34px;height:34px;border-radius:9px;box-shadow:0 2px 8px #1d2a4a33}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{color:#183236;font-size:16px;font-weight:800;letter-spacing:.01em}.brand-text small{color:#7b8a87;font-size:10.5px;font-weight:600}.brand.compact .brand-text strong{font-size:14px}.brand:hover strong{color:var(--teal-dark)}.brand:focus-visible{outline:3px solid #78c5bb;outline-offset:3px;border-radius:10px}.topbar .brand img{width:30px;height:30px;border-radius:8px}[data-theme=dark] .brand-text strong{color:var(--d-heading)}[data-theme=dark] .brand-text small{color:var(--d-muted)}[data-theme=dark] .brand img{box-shadow:0 0 0 1px var(--d-border)}@media (max-width: 1050px){.topbar .brand-text{display:none}}@media (max-width: 760px){.home-header .brand-text small{display:none}.brand img,.topbar .brand img{width:28px;height:28px}}@media (max-width: 760px){.home-actions{flex-wrap:wrap;row-gap:8px}}@media (max-width: 480px){.header-clock{display:none}.pair-switch{padding-right:8px}.import-button{padding:0 12px}}.payment-dialog{width:min(100%,580px);max-height:calc(100dvh - 36px);overflow-y:auto}.payment-dialog .dialog-title{margin-bottom:14px}.price-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:8px}.price-option{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 11px 10px;border:1px solid #e0e4de;border-radius:11px;color:inherit;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.price-option:hover{border-color:#b7d5ce}.price-option.on{border-color:var(--teal);background:#eef6f3;box-shadow:inset 0 0 0 1px var(--teal)}.price-option:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.price-label{color:#6c7d7a;font-size:11px;font-weight:700}.price-option strong{color:#183236;font-size:17px;font-variant-numeric:tabular-nums}.price-coffee{display:inline-flex;align-items:center;gap:3px;color:#8a6a4a;font-size:11px;font-weight:600}.price-option small{color:#8d9997;font-size:10px}.price-badge{position:absolute;top:-9px;right:8px;padding:2px 7px;border-radius:999px;color:#fff;background:#c9824a;font-size:9px;font-weight:700;white-space:nowrap}.payment-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;margin:16px 0 14px}.qr-box{display:flex;flex-direction:column;align-items:center;gap:6px}.qr-box img{display:block;width:220px;height:220px;padding:6px;border:1px solid #e6e8e1;border-radius:10px;background:#fff}.qr-box small{color:#8d9997;font-size:10px;text-align:center}.qr-placeholder{display:grid;place-items:center;width:220px;height:220px;padding:16px;border-radius:10px;color:#7b8a87;background:#f3f4f0;font-size:11px;text-align:center}.bank-details{display:flex;flex-direction:column;gap:9px;margin:0}.bank-details div{display:flex;flex-direction:column;gap:2px}.bank-details dt{color:#7b8a87;font-size:10px;font-weight:700}.bank-details dd{display:flex;align-items:center;gap:6px;margin:0;color:#183236;font-size:13px}.bank-details strong{font-variant-numeric:tabular-nums}.bank-details code{padding:2px 6px;border-radius:5px;background:#f3f4f0;font-family:ui-monospace,Cascadia Mono,monospace;font-size:12px;overflow-wrap:anywhere}.copy-chip{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:1px solid #e0e4de;border-radius:6px;color:#6c7d7a;background:transparent;cursor:pointer}.copy-chip:hover{color:var(--teal-dark);border-color:#b7d5ce}.payment-steps{margin:0 0 14px;padding-left:18px;color:#4d6265;font-size:11.5px;line-height:1.55}.payment-steps li+li{margin-top:4px}.payment-steps a{color:var(--teal);font-weight:700;overflow-wrap:anywhere}.payment-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.payment-actions .soft-button{height:38px;font-size:11px;text-decoration:none}.redeem-buy{margin:12px 0 0;color:#6c7d7a;font-size:11px}.redeem-buy button{padding:0;border:0;color:var(--teal);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.account-dropdown button.menu-buy{color:var(--teal-dark)}@media (max-width: 560px){.payment-dialog{padding:16px}.price-options{gap:6px}.price-option{padding:11px 8px 9px}.price-option strong{font-size:14px}.price-badge{right:4px;font-size:8px}.payment-body{grid-template-columns:1fr;justify-items:center;gap:14px}.bank-details{width:100%}}[data-theme=dark] :is(.price-option,.copy-chip){border-color:var(--d-border);background:var(--d-raised)}[data-theme=dark] .price-option.on{border-color:var(--d-accent);background:var(--d-accent-bg);box-shadow:inset 0 0 0 1px var(--d-accent)}[data-theme=dark] :is(.price-option strong,.bank-details dd){color:var(--d-heading)}[data-theme=dark] :is(.price-label,.price-option small,.qr-box small,.bank-details dt,.copy-chip,.redeem-buy){color:var(--d-muted)}[data-theme=dark] .price-coffee{color:var(--d-amber-text)}[data-theme=dark] .price-badge{color:var(--d-bg);background:var(--d-amber-text)}[data-theme=dark] .payment-steps{color:var(--d-text)}[data-theme=dark] :is(.bank-details code,.qr-placeholder){color:var(--d-text);background:var(--d-raised)}[data-theme=dark] .qr-box img{border-color:var(--d-border)}[data-theme=dark] .account-dropdown button.menu-buy{color:var(--d-accent-text)}.chat-login.chat-upgrade{color:#5b5235;background:#fbf4e2}.chat-login.chat-upgrade svg{color:#b08a3c}[data-theme=dark] .chat-login.chat-upgrade{color:var(--d-amber-text);background:var(--d-amber-bg)}.line-display{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line)}.line-display-label{margin-right:2px;color:#83918e;font-size:10px;font-weight:700;letter-spacing:.02em}.display-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid #e0e4de;border-radius:999px;color:#7b8a87;background:#fff;font-size:10.5px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.display-chip:hover{border-color:#b7d5ce}.display-chip.on{color:var(--teal-dark);background:#e8f3ef;border-color:#b7d5ce}.display-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.line-display-note{flex-basis:100%;color:#99a39f;font-size:9.5px}.study-panel.hide-native .line-native,.study-panel.hide-reading .line-reading,.study-panel.hide-translation .line-translation{filter:blur(5px);opacity:.75;-webkit-user-select:none;user-select:none;transition:filter .15s,opacity .15s}.study-panel.hide-native .line-native:hover,.study-panel.hide-native :focus-visible>.line-native,.study-panel.hide-native .line-native:active,.study-panel.hide-reading .line-reading:hover,.study-panel.hide-reading :focus-visible>.line-reading,.study-panel.hide-reading .line-reading:active,.study-panel.hide-translation .line-translation:hover,.study-panel.hide-translation :focus-visible>.line-translation,.study-panel.hide-translation .line-translation:active{filter:none;opacity:1}.dictation-hint{margin:8px 2px 0;color:#6f8582;font-size:11px;line-height:1.5}@media (prefers-reduced-motion: reduce){.study-panel :is(.line-native,.line-reading,.line-translation){transition:none}}.panel-help svg:last-child{transition:transform .15s}.panel-help.open svg:last-child{transform:rotate(180deg)}.panel-help-body{flex:none;max-height:42vh;overflow-y:auto;padding:2px 16px 14px;color:#4d6265;font-size:11px;line-height:1.55}.panel-help-body ol,.panel-help-body ul{margin:0;padding-left:18px}.panel-help-body li+li{margin-top:4px}.panel-help-body h4{margin:12px 0 4px;color:#33494c;font-size:11px}.panel-help-body p{margin:10px 0 0;color:#7b8a87}.panel-help-body a{color:var(--teal);font-weight:700}[data-theme=dark] .line-display-label,[data-theme=dark] .line-display-note{color:var(--d-muted)}[data-theme=dark] .display-chip{color:var(--d-muted);border-color:var(--d-border);background:var(--d-raised)}[data-theme=dark] .display-chip.on{color:var(--d-accent-text);border-color:var(--d-accent-border);background:var(--d-accent-bg)}[data-theme=dark] .dictation-hint{color:var(--d-muted)}[data-theme=dark] .panel-help-body{color:var(--d-text)}[data-theme=dark] .panel-help-body h4{color:var(--d-heading)}[data-theme=dark] .panel-help-body p{color:var(--d-muted)}.study-timer{position:relative;display:inline-flex}.timer-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:96px;height:36px;padding:0 10px;border:1px solid #e0e4de;border-radius:999px;color:#536568;background:#fff;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap;cursor:pointer}.timer-time{display:inline-block;min-width:5ch;text-align:center}.timer-label{font-size:12px}.timer-chip:hover{color:var(--teal-dark);border-color:#b7d5ce}.timer-chip.running{color:var(--teal-dark);border-color:#b7d5ce;background:#eef6f3}.timer-chip.paused{color:#8a6a2a;border-color:#ead9b0;background:#fbf4e2}.timer-ring{width:18px;height:18px;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke:currentColor;stroke-width:2.4;opacity:.25}.timer-ring .timer-ring-fill{opacity:1;stroke-linecap:round;transition:stroke-dashoffset .9s linear}.timer-popover{position:absolute;z-index:20;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:6px;width:236px;padding:14px;border:1px solid #e3e6e0;border-radius:12px;color:#6c7d7a;background:#fffefa;box-shadow:0 14px 34px #102d2b26;font-size:11px;animation:rise-in .16s ease both}.timer-popover strong{color:#213b3e;font-size:13px}.timer-blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}.timer-blocks button{display:flex;flex-direction:column;align-items:center;padding:8px 0 6px;border:1px solid #e0e4de;border-radius:9px;color:#183236;background:#fff;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}.timer-blocks button small{color:#8d9997;font-size:9px;font-weight:600}.timer-blocks button:hover{border-color:var(--teal);color:var(--teal-dark)}.timer-big{color:#183236;font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.timer-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.timer-actions button{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid #e0e4de;border-radius:8px;color:#33494c;background:#fff;font-size:11px;font-weight:700;cursor:pointer}.timer-actions button:hover{border-color:#b7d5ce;color:var(--teal-dark)}.timer-actions button.danger{color:#9b4d41}.timer-actions button.danger:hover{border-color:#e7c3bb;background:#f9eeea}.timer-toast{position:fixed;z-index:40;right:18px;bottom:18px;display:flex;align-items:flex-start;gap:12px;width:min(340px,calc(100vw - 32px));padding:14px 14px 14px 16px;border:1px solid #e3e6e0;border-radius:14px;background:#fffefa;box-shadow:0 18px 44px #102d2b33;animation:rise-in .22s ease both}.timer-toast-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;color:#b07a2c;background:#fbf1df}.timer-toast>div{display:flex;flex-direction:column;gap:3px;min-width:0}.timer-toast strong{color:#183236;font-size:13px}.timer-toast span{color:#6c7d7a;font-size:11.5px;line-height:1.5}.timer-toast-actions{display:flex;gap:8px;margin-top:8px}.timer-toast-actions button{padding:6px 11px;border:0;border-radius:8px;color:#fff;background:var(--teal);font-size:11px;font-weight:700;cursor:pointer}.timer-toast-actions button.plain{color:#5f7275;background:transparent}.timer-toast-close{flex:none;display:grid;place-items:center;width:26px;height:26px;margin:-4px -4px 0 auto;padding:0;border:0;border-radius:7px;color:#8d9997;background:transparent;cursor:pointer}.timer-toast-close:hover{background:#f0f2ed}@media (max-width: 760px){.timer-chip{width:84px;height:32px;padding:0 8px;gap:5px;font-size:12px}}@media (max-width: 480px){.timer-chip{width:76px;padding:0 7px}.timer-label{display:none}.timer-popover{position:fixed;top:64px;right:12px;left:12px;width:auto}.timer-toast{right:16px;left:16px;bottom:16px;width:auto}}@media (prefers-reduced-motion: reduce){.timer-ring .timer-ring-fill{transition:none}}[data-theme=dark] .timer-chip{color:var(--d-text);border-color:var(--d-border);background:var(--d-surface)}[data-theme=dark] .timer-chip.running{color:var(--d-accent-text);border-color:var(--d-accent-border);background:var(--d-accent-bg)}[data-theme=dark] .timer-chip.paused{color:var(--d-amber-text);border-color:var(--d-amber-border);background:var(--d-amber-bg)}[data-theme=dark] :is(.timer-popover,.timer-toast){color:var(--d-muted);border-color:var(--d-border);background:var(--d-surface);box-shadow:0 20px 60px #0009}[data-theme=dark] :is(.timer-popover strong,.timer-big,.timer-toast strong,.timer-blocks button){color:var(--d-heading)}[data-theme=dark] :is(.timer-blocks button,.timer-actions button){border-color:var(--d-border);background:var(--d-raised)}[data-theme=dark] .timer-actions button{color:var(--d-text)}[data-theme=dark] .timer-actions button.danger{color:var(--d-bad)}[data-theme=dark] :is(.timer-blocks button small,.timer-toast span){color:var(--d-muted)}[data-theme=dark] .timer-toast-icon{color:var(--d-amber-text);background:var(--d-amber-bg)}[data-theme=dark] .timer-toast-actions button{color:var(--d-on-accent);background:var(--d-accent)}[data-theme=dark] .timer-toast-actions button.plain{color:var(--d-muted);background:transparent}[data-theme=dark] .timer-toast-close:hover{background:var(--d-raised)}
