:root{--brand-primary:#2563eb;--brand-primary-hover:#1d4ed8;--brand-secondary:#db2777;--brand-accent:#f59e0b;--brand-success:#10b981;--brand-danger:#ef4444;--bg-app:#f3f4f6;--bg-sidebar:#fff;--bg-paper:#fff;--bg-bubble-ai:#f3f4f6;--bg-selection-list:#eff6ff;--bg-overlay:rgba(0,0,0,.5);--text-primary:#1f2937;--text-secondary:#6b7280;--text-inverse:#fff;--border-color:#e5e7eb;--highlight-active:#bfdbfe;--highlight-dict:#fef3c7;--highlight-shadow:rgba(219,39,119,.15);--highlight-selection:#fff000;--bg-success-light:#ecfdf5;--text-success-dark:#065f46;--bg-success-pill:#d1fae5;--bg-danger-light:#fef2f2;--text-danger-dark:#991b1b;--bg-info-light:#eff6ff;--border-info-light:#dbeafe;--bg-pill-light:#e0e7ff;--border-pill-light:#c7d2fe;--bg-card:#fff;--bg-hover:#f9fafb;--bg-surface:#f9fafb;--font-main:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--radius:12px;--shadow-panel:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);--transcript-size:1.2rem;--bg-accent-light:rgba(245,158,11,.08);--border-accent-light:rgba(245,158,11,.25);--bg-secondary-light:rgba(219,39,119,.1)}[data-theme=dark]{--bg-app:#0f172a;--bg-sidebar:#1e293b;--bg-paper:#1e293b;--bg-bubble-ai:#334155;--bg-selection-list:#334155;--bg-card:#1e293b;--bg-hover:#334155;--bg-surface:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--border-color:#334155;--brand-primary:#60a5fa;--brand-primary-hover:#3b82f6;--brand-secondary:#f472b6;--highlight-active:#8c7b28;--highlight-dict:rgba(253,224,71,.2);--highlight-selection:#0d9488;--text-inverse:#fff;--bg-success-light:rgba(16,185,129,.15);--text-success-dark:#6ee7b7;--bg-success-pill:rgba(16,185,129,.2);--bg-danger-light:rgba(239,68,68,.1);--text-danger-dark:#fca5a5;--bg-info-light:rgba(37,99,235,.1);--border-info-light:rgba(37,99,235,.3);--bg-pill-light:rgba(37,99,235,.2);--border-pill-light:rgba(37,99,235,.4);--brand-accent:#fbbf24;--brand-success:#34d399;--brand-danger:#f87171;--bg-overlay:rgba(0,0,0,.6);--bg-accent-light:rgba(251,191,36,.15);--border-accent-light:rgba(251,191,36,.3);--bg-secondary-light:rgba(244,114,182,.15)}*{box-sizing:border-box}::-moz-selection{background-color:var(--highlight-selection);color:#000;text-shadow:none}::selection{background-color:var(--highlight-selection);color:#000;text-shadow:none}[data-theme=dark] ::-moz-selection{color:#fff}[data-theme=dark] ::selection{color:#fff}.mode-shadow ::-moz-selection{background-color:var(--highlight-shadow);color:inherit}.mode-shadow ::selection{background-color:var(--highlight-shadow);color:inherit}[data-theme=dark] .mode-shadow ::-moz-selection{color:inherit}[data-theme=dark] .mode-shadow ::selection{color:inherit}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-primary);margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden;display:flex}.top-bar{grid-column:1/-1;background:var(--bg-sidebar);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:280px 1fr 340px;align-items:center;transition:grid-template-columns .4s cubic-bezier(.25,1,.5,1);position:relative;height:70px;padding:0 24px;z-index:20;grid-template-columns:var(--col-left) 1fr var(--col-right)}.logo-area{grid-column:1;justify-self:start;white-space:nowrap}.logo-area,.logo-link{display:flex;align-items:center;gap:10px}.logo-link{text-decoration:none;color:inherit}.logo-area .btn-icon{width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease}.logo-area .btn-icon:hover{background-color:rgba(0,0,0,.1)}[data-theme=dark] .logo-area .btn-icon:hover{background-color:hsla(0,0%,100%,.1)}.logo-img{height:28px;width:auto}.logo-text{font-weight:800;font-size:1.5rem;color:var(--text-primary)}.brand-wordmark,.logo-text,.menu-logo-text,.mobile-logo-text{font-family:var(--font-logo),ui-rounded,"Segoe UI",system-ui,sans-serif}.nav-tabs{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:32px;height:100%;align-items:center;margin:0;padding:0;list-style:none}.top-bar>div:last-child{grid-column:3;display:flex;align-items:center;gap:15px;justify-self:end}.nav-tab{background:none;font-family:Inter,sans-serif;font-size:1rem;font-weight:700;color:var(--text-secondary);cursor:pointer;position:relative;height:auto;padding:0 4px 6px;border:none;border-bottom:3px solid transparent;transition:all .2s ease}.nav-tab.active,.nav-tab:hover{color:var(--brand-primary)}.nav-tab.active{border-bottom-color:var(--brand-primary)}.mode-toggles{display:flex;gap:6px;background:var(--bg-app);padding:4px;border-radius:10px}.mode-btn{padding:8px 14px;border:1px solid transparent;background:transparent;cursor:pointer;border-radius:8px;font-weight:700;font-size:.8rem;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.mode-btn:hover{color:var(--text-primary);background:rgba(0,0,0,.04)}.mode-btn.active{background-color:var(--brand-primary);color:var(--text-inverse);box-shadow:0 2px 5px rgba(37,99,235,.25);transform:translateY(-1px)}[data-theme=dark] .mode-btn.active{box-shadow:none}.sidebar{background:var(--bg-sidebar);display:flex;flex-direction:column;overflow:hidden;width:100%;transition:all .3s}.sidebar,.sidebar-left{border-right:1px solid var(--border-color);height:100%}.sidebar-left{grid-row:2;box-shadow:2px 0 10px rgba(0,0,0,.03);z-index:10;position:relative}.sidebar-right{grid-row:2;grid-column:3;border-left:1px solid var(--border-color);border-right:none;height:calc(100% - 90px)}.app-shell{--col-left:280px;--col-right:340px;display:grid;grid-template-columns:var(--col-left) 1fr var(--col-right);grid-template-rows:70px minmax(0,1fr);width:100%;height:100%;transition:grid-template-columns .4s cubic-bezier(.25,1,.5,1)}.app-shell.hide-left{--col-left:0px}.app-shell.hide-right{--col-right:0px}.app-shell.hide-both{--col-left:0px;--col-right:0px}.app-shell.zen-mode .sidebar-right{display:none}.app-shell.zen-mode .main-content{grid-column:2/-1}.app-shell.zen-mode .view-container{padding-right:calc(30px + var(--col-left))}.main-content{grid-row:2;flex:1;display:flex;flex-direction:column;position:relative;background:var(--bg-app);overflow:hidden;min-height:0;margin-bottom:90px}.app-shell[data-hide-audio] .main-content{margin-bottom:0}.app-shell[data-hide-audio] .chat-input-area{bottom:0}.app-shell[data-hide-audio] .sidebar-right{height:100%}.view-container{flex:1;overflow-y:auto;display:none;min-height:0;justify-content:center;scroll-behavior:smooth;padding:30px}.view-container.active{display:flex}.paper-sheet{background:var(--bg-paper);max-width:800px;width:100%;padding:50px;box-shadow:var(--shadow-panel);border-radius:var(--radius);height:-moz-fit-content;height:fit-content;margin:0 auto}.paper-sheet.wide{max-width:1100px}.sheet-header-sticky{position:sticky;top:0;margin:-50px -50px 28px;padding:20px 50px 15px;border-bottom:1px solid var(--border-color);border-radius:var(--radius) var(--radius) 0 0;z-index:10}.sheet-header-sticky,[data-theme=dark] .sheet-header-sticky{background:var(--bg-paper)}.speaker-label{font-size:.85rem;text-transform:uppercase;font-weight:800;margin-right:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.speaker-andrew{color:var(--brand-primary)}.speaker-alina,.speaker-anna,.speaker-guest,.speaker-indiana,.speaker-kassy,.speaker-suzanne{color:#0d9488}[data-theme=dark] .speaker-alina,[data-theme=dark] .speaker-anna,[data-theme=dark] .speaker-guest,[data-theme=dark] .speaker-indiana,[data-theme=dark] .speaker-kassy,[data-theme=dark] .speaker-suzanne{color:#2dd4bf}article p{font-size:var(--transcript-size);line-height:1.8;margin-bottom:1.5rem;color:var(--text-primary);position:relative;scroll-margin-top:185px}.guided-transcript article p{scroll-margin-top:205px}span[data-m]{cursor:pointer;padding:2px 0;border-radius:2px;transition:background-color .15s ease-out,border-color .15s ease-out;border-bottom:2px solid transparent}.mode-play span[data-m]:hover{background:var(--border-color)}.mode-dict span[data-m]{cursor:zoom-in}.mode-dict span[data-m]:hover{background:var(--highlight-dict)}.dict-selection{background-color:var(--highlight-selection)!important;border-bottom:2px solid var(--brand-primary)}.mode-shadow span[data-m]{cursor:crosshair}.mode-shadow span[data-m]:hover{background:var(--highlight-shadow)}.shadow-highlight{border-bottom:none}.mode-shadow span[data-m].active-word,.shadow-highlight{background-color:rgba(219,39,119,.15)!important;border-radius:0!important}.mode-shadow span[data-m].active-word{border-bottom:2px solid #2563eb!important}span[data-m].active-word{background-color:var(--highlight-active);border-radius:6px}.sentence-highlight-mode span[data-m]{border-radius:0;padding:5px 2px;margin:-3px -1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sentence-highlight-mode span[data-m].active-word{background-color:var(--highlight-active);transition:none}#transcriptArticle.is-blurred{filter:blur(5px)}@media (hover:hover) and (pointer:fine){#transcriptArticle.is-blurred:hover{filter:blur(0)}}#transcriptArticle.is-focused p{opacity:.1}#transcriptArticle.is-focused p.focus-visible{opacity:1;transform:scale(1.01)}.cultural-ref{color:var(--brand-secondary);border-bottom:2px dotted var(--brand-secondary);cursor:help;font-weight:700}.panel-section{display:none;flex-direction:column;height:100%;width:100%}.panel-section.active-panel{display:flex}.panel-header-strip{padding:15px;font-size:.9rem;font-weight:800;color:var(--text-inverse);display:flex;align-items:center;gap:10px;background:var(--brand-primary)}.panel-body{overflow-y:auto;flex:1;padding:15px 15px 100px}.dict-card{background:var(--bg-paper);border-bottom:1px solid var(--border-color);flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%}.dict-result-card{padding:10px 0;font-family:var(--font-main)}.dict-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:15px}.dict-card .btn{background-color:var(--brand-primary)!important;color:var(--text-inverse)!important;border:none!important}.dict-card .btn:hover{background-color:var(--brand-primary-hover)!important}.dict-term{font-size:1.75rem;font-weight:800;color:var(--brand-primary);line-height:1.2;margin-bottom:6px;word-break:break-word}.dict-cefr-pill{background:var(--bg-pill-light);color:var(--brand-primary);border:1px solid var(--border-pill-light);font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em;display:inline-block}.dict-definition{margin-bottom:10px;font-style:italic;line-height:1.4}.dict-definition,.dict-translation{font-size:.95rem;color:var(--text-primary);font-weight:500}.dict-translation{margin-bottom:16px;background:var(--bg-surface);border-radius:8px;padding:10px 12px}.dict-section-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);font-weight:800;margin-bottom:8px;letter-spacing:.05em}.dict-context-quote{position:relative;padding-left:14px;margin-bottom:25px;border-left:4px solid var(--border-color);font-size:1rem;line-height:1.6;color:var(--text-secondary);font-style:italic}.dict-example-box{background:var(--bg-app);border:1px solid var(--border-color);border-radius:8px;padding:15px}.dict-example-text{color:var(--text-primary);font-weight:500;font-size:1rem;line-height:1.5}#lookupTooltip{position:absolute;background:var(--brand-primary);color:var(--text-inverse);padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:1000;transform:translateX(-50%);display:none;animation:popIn .1s ease-out}#lookupTooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:var(--brand-primary) transparent transparent transparent}#lookupTooltip.tooltip-below:after{top:auto;bottom:100%;border-color:transparent transparent var(--brand-primary) transparent}#lookupTooltip.tooltip-docked{position:fixed;bottom:calc(160px + env(safe-area-inset-bottom));left:50%!important;top:auto!important;transform:translateX(-50%);padding:14px 28px;font-size:1rem;border-radius:50px;box-shadow:0 4px 20px rgba(0,0,0,.25);animation:dockSlideUp .25s ease-out}#lookupTooltip.tooltip-docked:after{display:none}@keyframes dockSlideUp{0%{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}@keyframes popIn{0%{transform:translateX(-50%) scale(.8);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.empty-state-graphic{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 10px;color:var(--text-secondary)}.empty-state-graphic svg{width:100%;max-width:180px;height:auto;margin-bottom:12px;color:var(--text-secondary)}.empty-state-graphic.shadow-empty svg{max-width:200px}.empty-state-text{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-align:center;margin:0;opacity:.8}.empty-state-instructions{text-align:left;width:100%;max-width:280px}.empty-state-step{font-size:.85rem;color:var(--text-secondary);margin:0 0 6px;line-height:1.4}.empty-state-step strong{color:var(--text-primary)}.empty-state-tip{font-size:.8rem;color:var(--text-secondary);opacity:.7;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--border-color);font-style:italic}.shadow-status-bar{background:var(--bg-app);color:var(--text-secondary);font-weight:800;text-align:center;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid var(--border-color)}.shadow-status-bar:not(:has(.empty-state-graphic)){padding:12px}.shadow-controls-grid .btn-primary,.shadow-controls-grid button:first-child{background-color:var(--brand-primary)!important;border-color:transparent!important;color:var(--text-inverse)!important}.shadow-controls-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:25px}.shadow-controls-grid button:first-child{background-color:var(--brand-primary)!important;border:1px solid transparent!important;color:#fff!important}.shadow-controls-grid button:first-child:hover{background-color:var(--brand-primary-hover)!important}.shadow-controls-grid button:last-child{background-color:var(--bg-app)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.shadow-controls-grid button:last-child:hover{background-color:var(--border-color)!important}.shadow-settings-card{background:var(--bg-app);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:10px}.shadow-set-header{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px}.shadow-slider{width:100%;accent-color:var(--brand-primary);cursor:pointer}.shadow-helper-text{font-size:.85rem;color:var(--text-secondary);font-style:italic;text-align:center;line-height:1.4;padding:0 10px}.chat-container{display:flex;flex-direction:column;height:100%;padding-bottom:90px}.chat-header{padding:15px 15px 15px 24px;background:var(--brand-primary);color:var(--text-inverse);font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:10px}.chat-history{flex:1;overflow-y:auto;gap:10px;padding:15px 15px 160px}.chat-history,.chat-input-area{background:var(--bg-sidebar);display:flex;flex-direction:column}.chat-input-area{padding:15px;border-top:1px solid var(--border-color);gap:12px;position:absolute;bottom:90px;left:0;right:0}.chat-input-area button,.chat-input-area input{margin-top:0!important}.chat-bubble{padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.4;max-width:90%;animation:slideUp .2s ease-out}.ai-bubble{align-self:flex-start;background:var(--bg-bubble-ai);border:none;color:var(--text-primary);border-bottom-left-radius:2px}.user-bubble{align-self:flex-end;background:var(--brand-primary);color:var(--text-inverse);border-bottom-right-radius:2px}.typing-indicator:after{content:"...";animation:typing 1.5s steps(4) infinite}@keyframes typing{0%,to{content:""}50%{content:"..."}}.fixed-audio-player{position:fixed;bottom:0;left:0;width:100%;height:calc(90px + env(safe-area-inset-bottom));padding:0 24px env(safe-area-inset-bottom);background-color:hsla(0,0%,100%,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.05);display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,.08);z-index:9999;box-sizing:border-box;overflow:visible}[data-theme=dark] .fixed-audio-player{background-color:rgba(30,41,59,.95);border-top:1px solid hsla(0,0%,100%,.05)}.player-progress-container{position:absolute;top:-8px;left:0;width:100%;height:16px;cursor:pointer;z-index:10000}.player-progress-container:before{content:"";position:absolute;top:6px;left:0;width:100%;height:4px;background:var(--border-color)}.progress-fill{height:4px;background-color:var(--brand-primary);width:0;position:relative;top:6px}.player-progress-container:hover .progress-fill,.player-progress-container:hover:before{height:12px;border-radius:4px;top:2px}.player-left{flex:1;gap:15px}.player-center,.player-left{display:flex;align-items:center}.player-center{position:absolute;left:50%;transform:translateX(-50%);justify-content:center;gap:24px;z-index:20}.player-right{flex:1;justify-content:flex-end;gap:20px}.control-btn,.player-right{display:flex;align-items:center}.control-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);justify-content:center;transition:transform .1s,color .2s}.control-btn:hover{color:var(--brand-primary);transform:scale(1.1)}.control-btn.play-pause{background:var(--brand-primary);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;text-indent:0;box-shadow:0 4px 10px rgba(37,99,235,.3);transition:transform .1s}.control-btn.play-pause svg{display:none}.control-btn.play-pause .icon-play{display:block}.control-btn.play-pause.state-playing .icon-play{display:none}.control-btn.play-pause.state-playing .icon-pause{display:block}.control-btn.play-pause.state-looping .icon-pause,.control-btn.play-pause.state-looping .icon-play,.control-btn.play-pause.state-playing .icon-stop{display:none}.control-btn.play-pause.state-looping .icon-stop{display:block}.episode-thumb{height:50px;width:50px;border-radius:6px;background:var(--border-color);-o-object-fit:cover;object-fit:cover}.track-info{display:flex;flex-direction:column}.track-title{font-weight:700;font-size:.9rem;color:var(--text-primary)}.track-subtitle{font-size:.8rem;color:var(--text-secondary)}.speed-wrapper{position:relative}.speed-trigger{background:none;border:1px solid transparent;color:var(--text-primary);font-weight:700;font-size:.9rem;cursor:pointer;padding:4px 8px;border-radius:6px;width:50px;text-align:center}.speed-trigger:hover{background:var(--bg-app)}.speed-popup{display:none;position:absolute;bottom:140%;left:50%;transform:translateX(-50%);background:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;padding:6px;flex-direction:column;gap:2px;box-shadow:0 4px 15px rgba(0,0,0,.15);z-index:10005;min-width:80px}.speed-popup.show{display:flex}.speed-opt{padding:6px 12px;cursor:pointer;font-size:.85rem;font-weight:600;text-align:center;border-radius:4px;color:var(--text-secondary)}.speed-opt:hover{background:var(--bg-app);color:var(--text-primary)}.speed-opt.active{background:var(--brand-primary);color:#fff}.tool-group{display:flex;align-items:center;gap:10px;padding-left:15px;border-left:1px solid var(--border-color)}.vol-slider{width:80px;height:4px;border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--brand-primary) 100%,var(--border-color) 100%);cursor:pointer}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--brand-primary);cursor:pointer;-webkit-transition:transform .1s;transition:transform .1s}.vol-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.vol-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--brand-primary);border:none;cursor:pointer}.vol-slider::-moz-range-progress{background:var(--brand-primary);height:4px;border-radius:2px}.speed-control{display:flex;align-items:center;background:var(--bg-app);border:1px solid var(--border-color);border-radius:8px;padding:3px;height:34px}.spd-btn{border:none;background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:5px;cursor:pointer;transition:all .2s}.spd-btn:hover{color:var(--text-primary)}.spd-btn.active{background:var(--bg-paper);color:var(--brand-primary);box-shadow:0 1px 2px rgba(0,0,0,.1)}[data-theme=dark] .speed-control{background:hsla(0,0%,100%,.05)}[data-theme=dark] .spd-btn.active{background:var(--bg-sidebar);box-shadow:none}@media (max-width:850px){.player-right,.track-subtitle{display:none}}#seekTooltip{position:absolute;bottom:20px;background:var(--bg-paper);color:var(--text-primary);padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;pointer-events:none;opacity:0;transform:translateX(-50%);box-shadow:0 2px 5px rgba(0,0,0,.2);transition:opacity .1s;z-index:10001}.player-progress-container:hover #seekTooltip{opacity:1}.exp-accordion{display:flex;flex-direction:column;gap:12px}.exp-accordion-item{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow .2s;scroll-margin-top:100px}.exp-accordion-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.exp-accordion-item.open{border-color:var(--brand-primary);box-shadow:0 4px 12px rgba(37,99,235,.15)}.exp-accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:none;border:none;cursor:pointer;text-align:left;gap:16px}.exp-accordion-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.exp-term-name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.exp-term-type{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.exp-accordion-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .3s ease}.exp-accordion-item.open .exp-accordion-chevron{transform:rotate(180deg);color:var(--brand-primary)}.exp-accordion-content{display:none;padding:0 20px 20px;border-top:1px solid var(--border-color)}.exp-accordion-item.open .exp-accordion-content{display:block}.exp-definition{padding-top:16px}.exp-definition p{font-size:1.1rem;line-height:1.7;color:var(--text-primary);margin-bottom:12px}.exp-definition strong{color:var(--brand-secondary);font-weight:700}.exp-conversations{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.exp-conversations-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);font-weight:800;letter-spacing:.05em;margin-bottom:16px}.exp-scenario{background:var(--bg-app);border-radius:10px;padding:16px;margin-bottom:12px}.exp-scenario:last-child{margin-bottom:0}.exp-scenario-title{font-size:.75rem;font-weight:700;color:var(--brand-primary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.03em}.exp-dialogue-line{margin-bottom:10px;line-height:1.6}.exp-dialogue-line:last-child{margin-bottom:0}.exp-dialogue-speaker{font-weight:700;color:var(--text-secondary);margin-right:8px}.exp-dialogue-text{color:var(--text-primary);font-size:1.1rem;line-height:1.7}.exp-highlight{color:var(--brand-secondary);font-weight:700}.exp-save-btn{margin-top:20px;width:100%}.exp-badge{background:var(--border-info-light);color:var(--brand-primary);font-size:.75rem;font-weight:800;text-transform:uppercase;padding:4px 10px;border-radius:6px;letter-spacing:.05em}.btn{width:100%;padding:12px;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.btn-primary{background:var(--brand-primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--brand-primary-hover)}.btn-secondary{background:var(--bg-app);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-danger{background:var(--brand-danger);color:var(--text-inverse)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}input[type=password],input[type=text],select{width:100%;padding:10px;border:1px solid var(--border-color);background:var(--bg-app);color:var(--text-primary);border-radius:8px;margin-top:5px;outline:none}.quiz-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-paper);border:2px solid var(--border-color);border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .2s ease;font-weight:500;color:var(--text-primary);font-size:1.1rem}.quiz-option:hover{transform:translateY(-2px);border-color:var(--brand-primary);background-color:var(--bg-selection-list)}.quiz-opt-label{background:var(--bg-app);color:var(--text-secondary);font-weight:700;font-size:.8rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.quiz-option.correct{background-color:var(--bg-success-light);border-color:var(--brand-success);color:var(--text-success-dark)}.quiz-option.correct .quiz-opt-label{background-color:var(--bg-success-pill);color:var(--text-success-dark)}.quiz-option.wrong{background-color:var(--bg-danger-light);border-color:var(--brand-danger);color:var(--text-danger-dark);opacity:.7}.quiz-explanation-box{margin-top:15px;background:var(--bg-info-light);border:1px solid var(--border-info-light);border-radius:12px;padding:16px;display:none;animation:fadeIn .3s ease-out;font-size:1rem}.quiz-explanation-box.visible{display:block!important}#practiceContent{font-size:1.1rem;line-height:1.7}.quiz-why-label{font-size:.75rem;font-weight:800;color:var(--brand-primary);text-transform:uppercase;margin-bottom:4px;display:flex;align-items:center;gap:6px}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.timeline-marker{position:absolute;top:0;height:100%;width:3px;background-color:var(--brand-accent);z-index:15;pointer-events:none;box-shadow:0 0 4px rgba(245,158,11,.5)}.chapter-list{display:flex;flex-direction:column}.chapter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;width:100%;transition:background .15s,border-color .15s;color:var(--text-primary)}.chapter-row-active,.chapter-row:hover{background:var(--bg-surface)}.chapter-row-active{border-left-color:var(--brand-primary)}.chapter-row-active .chapter-row-title{font-weight:700;color:var(--brand-primary)}.chapter-row-title{font-size:.9rem;line-height:1.3;min-width:0;flex:1}.chapter-row-time{font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.inline-pin{position:absolute;left:-30px;top:0;width:24px;height:24px;color:var(--brand-accent);cursor:pointer;opacity:.6;transition:all .2s}.inline-pin:hover{opacity:1;transform:scale(1.2)}.pinned-paragraph{background:transparent;border-left:4px solid var(--brand-accent);padding-left:15px}.notebook-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;height:100%}.notebook-col{display:flex;flex-direction:column}.notebook-header{font-size:1.1rem;font-weight:800;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.word-bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.notebook-layout .word-bank-grid{grid-template-columns:1fr}.word-card{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:8px;padding:15px;transition:transform .2s;position:relative}.word-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-panel);border-color:var(--brand-primary)}.word-card-term{font-weight:800;font-size:1.1rem;color:var(--brand-primary);margin-bottom:5px}.word-card-def{font-size:.9rem;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.word-card-ctx{font-size:.8rem;color:var(--text-secondary);font-style:italic;border-left:2px solid var(--border-color);padding-left:8px}.word-card-del{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.word-card-del:hover{color:var(--brand-danger)}.bookmark-item{background:var(--bg-paper);border:1px solid var(--border-color);padding:15px;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:5px}.bookmark-item:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-panel)}.bm-time{font-weight:800;color:var(--brand-accent);font-size:.9rem}.bm-preview{font-size:.95rem;color:var(--text-primary);line-height:1.4;font-style:italic}.bm-note{font-size:.85rem;color:var(--text-secondary);margin-top:5px;padding-top:5px;border-top:1px dashed var(--border-color)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-overlay);z-index:100;display:none;align-items:center;justify-content:center}.modal-box{background:var(--bg-paper);width:500px;max-width:90%;padding:30px;border-radius:16px;position:relative;max-height:90vh;overflow-y:auto}.kb-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.kb-section-label{font-weight:700;font-size:.8rem;text-transform:uppercase;color:var(--text-secondary);display:block}.kb-group,.kb-section-label{margin-bottom:15px}.kb-group-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:6px;font-weight:800;text-transform:uppercase}.kb-row{display:flex;gap:8px}.kb-key{flex:1;background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;padding:8px;text-align:center;font-size:.8rem}.kb-key-wide{flex:2;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem}.kb-hotkey{display:block;margin-bottom:2px}.kb-hotkey,.kb-hotkey-inline{font-weight:700;color:var(--brand-primary)}.kb-hotkey-inline{font-family:monospace;font-size:1rem}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);border-radius:34px}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%}input:checked+.slider{background-color:var(--brand-primary)}input:checked+.slider:before{transform:translateX(20px)}.media-lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-overlay);z-index:200;display:none;align-items:center;justify-content:center}.media-card{background:var(--bg-paper);width:90%;max-width:500px;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.media-content img{width:100%;height:auto;display:block;border-bottom:1px solid var(--border-color)}.media-info{padding:24px}.media-info .media-title{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin-bottom:8px}.media-info .media-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:20px}.media-info .btn{width:100%}@media (max-width:800px){.notebook-layout{grid-template-columns:1fr}}#toastContainer{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:10050;display:flex;flex-direction:column;gap:10px;width:90%;max-width:400px;pointer-events:none}.toast svg{width:20px;height:20px;margin-right:10px;flex-shrink:0}.toast{background:var(--text-primary);color:var(--bg-paper);padding:12px 16px;border-radius:50px;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:600;pointer-events:auto;animation:toastSlideIn .4s cubic-bezier(.175,.885,.32,1.275)}.toast-btn{background:none;border:none;color:var(--brand-accent);font-weight:800;cursor:pointer;margin-left:15px;font-size:.85rem;text-transform:uppercase}@keyframes toastSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastFadeOut{to{opacity:0;transform:translateY(-20px)}}.timeline-empty-state{text-align:center;padding:60px 30px;color:var(--text-secondary)}.timeline-empty-state svg{margin-bottom:20px;opacity:.4}.timeline-empty-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.timeline-empty-hint{font-size:.9rem;color:var(--text-secondary)}.timeline-review-header{margin-bottom:20px}.timeline-review-btn{width:100%;padding:14px 20px!important;font-size:.95rem!important}.timeline-card{display:flex;flex-direction:row;align-items:stretch;background:var(--bg-paper);border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:12px;cursor:pointer;transition:all .2s ease;overflow:hidden}.timeline-card:hover{border-color:var(--brand-primary);box-shadow:0 4px 12px rgba(37,99,235,.1)}.timeline-zone-locator{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg-app);border-right:1px solid var(--border-color);min-width:80px}.timeline-time-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-info-light);color:var(--brand-primary);font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:20px;white-space:nowrap}.timeline-time-badge svg{flex-shrink:0}.timeline-zone-content{flex:1;padding:16px 20px;min-width:0}.timeline-headword{font-size:1.2rem;font-weight:800;color:var(--text-primary);margin-bottom:6px}.timeline-context{font-size:.9rem;font-style:italic;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.timeline-word-highlight{color:var(--brand-primary);font-weight:700;font-style:normal}.timeline-definitions{padding-top:10px;border-top:1px dashed var(--border-color)}.timeline-def-en{font-size:.9rem;color:var(--text-primary);font-style:italic;margin-bottom:6px}.timeline-def-native{font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:filter .2s,opacity .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.timeline-def-native.blurred{filter:blur(4px);opacity:.6}.timeline-def-native:hover{opacity:1}.timeline-def-native:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");background-size:contain;vertical-align:middle}.timeline-zone-action{flex-direction:column;padding:12px 16px;gap:8px;border-left:1px solid var(--border-color)}.timeline-play-btn,.timeline-zone-action{display:flex;align-items:center;justify-content:center}.timeline-play-btn{width:44px;height:44px;border-radius:50%;background:transparent;border:2px solid var(--brand-accent);color:var(--brand-accent);cursor:pointer;transition:all .2s ease}.timeline-play-btn:hover{background:var(--brand-accent);color:#fff;transform:scale(1.05)}.timeline-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;opacity:.5;transition:all .2s ease}.timeline-delete-btn:hover{color:var(--brand-danger);opacity:1}.review-card{text-align:center;padding:20px 0}.review-card-back,.review-card-front{display:flex;flex-direction:column;align-items:center}.review-word{font-size:2rem;font-weight:800;color:var(--brand-primary);margin-bottom:10px}.review-hint{font-size:.85rem;color:var(--text-secondary);font-style:italic}.review-context{font-size:1rem;font-style:italic;color:var(--text-primary);line-height:1.6;margin-bottom:15px;padding:15px;background:var(--bg-app);border-radius:8px;text-align:left;width:100%;text-wrap:pretty}.review-definitions{padding-top:15px;border-top:1px dashed var(--border-color);width:100%;text-align:center}.review-def-en{font-size:1.1rem;font-weight:600;color:var(--text-primary);font-style:italic;margin-bottom:10px;text-wrap:pretty}.review-def-native{font-size:1rem;color:var(--text-primary);cursor:pointer;transition:filter .2s,opacity .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:8px 16px;background:var(--bg-app);border-radius:8px;display:inline-block}.review-def-native.blurred{filter:blur(5px);opacity:.6}.review-def-native:hover{opacity:1}.review-audio-btn{display:inline-flex!important;width:auto!important;padding:10px 20px!important}.explanations-empty,.notebook-empty{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:.95rem;background:var(--bg-app);border:1px dashed var(--border-color);border-radius:8px;margin:10px 0}.mobile-only{display:none!important}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000;display:flex;justify-content:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.mobile-menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-overlay.open .mobile-menu-content{transform:translateX(0)}.mobile-menu-content{width:80%;max-width:300px;height:100%;background:var(--bg-paper);padding:0;box-shadow:4px 0 25px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow-y:auto;transform:translateX(-100%);transition:transform .25s cubic-bezier(.2,0,0,1)}.mobile-menu-header{display:flex;justify-content:flex-start;align-items:center;gap:10px;height:70px;padding:0 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-menu-header .btn-icon{width:40px;height:40px;padding:0;border-radius:50%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);flex-shrink:0;transition:background-color .15s ease}.mobile-menu-header .btn-icon:hover{background-color:rgba(0,0,0,.1)}[data-theme=dark] .mobile-menu-header .btn-icon:hover{background-color:hsla(0,0%,100%,.1)}.menu-logo-link{display:flex;align-items:center;gap:10px;text-decoration:none}.menu-logo-img{height:28px;width:auto;flex-shrink:0}.menu-logo-text{font-weight:800;font-size:1.5rem;color:var(--text-primary);white-space:nowrap}.mobile-nav-list{display:flex;flex-direction:column;gap:4px;padding:16px 20px 24px;overflow-y:auto}.mobile-nav-item{padding:16px 15px;font-size:1.1rem;font-weight:600;border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s;text-decoration:none;display:flex;align-items:center}.mobile-nav-item:hover{background:var(--bg-app)}.mobile-nav-item.active{background:var(--bg-selection-list);color:var(--brand-primary)}.nav-icon{margin-right:12px;vertical-align:middle;display:inline-flex}.mobile-menu-divider{height:1px;background:var(--border-color);margin:8px 0}.menu-mobile-section{display:none}.menu-desktop-section{display:contents}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.menu-mobile-section{display:contents}.menu-desktop-section{display:none}.app-shell,.app-shell.hide-both,.app-shell.hide-left,.app-shell.hide-right{grid-template-columns:1fr!important;grid-template-rows:calc(36px + max(env(safe-area-inset-top), 8px)) 1fr!important}.top-bar{position:fixed!important;top:0;left:0;right:0;padding:max(env(safe-area-inset-top),8px) 16px 8px;height:calc(36px + max(env(safe-area-inset-top), 8px));display:flex!important;grid-template-columns:unset!important;justify-content:space-between;gap:12px;z-index:9999;background:var(--bg-sidebar);border-bottom:1px solid var(--border-color)}.btn-icon{background:none;border:none;padding:8px;color:var(--text-primary);cursor:pointer;justify-content:center}.btn-icon,.mobile-header-left{display:flex;align-items:center}.mobile-header-left{gap:10px}.mobile-logo-img{height:28px;width:auto}.mobile-logo-text{font-weight:800;font-size:1.5rem;color:var(--text-primary)}.mobile-menu-header{height:calc(36px + max(env(safe-area-inset-top), 8px));padding:max(env(safe-area-inset-top),8px) 16px 8px}.mobile-menu-header .btn-icon{width:44px;height:44px}.mobile-menu-header .btn-icon svg{width:28px;height:28px}.menu-logo-link{gap:8px}.menu-logo-img{height:28px}.menu-logo-text{font-size:1.5rem}.mobile-nav-list{padding:12px 16px 24px}.mobile-tab-strip{position:fixed;top:calc(36px + max(env(safe-area-inset-top), 8px));left:0;right:0;height:44px;background:var(--bg-sidebar);border-bottom:1px solid var(--border-color);z-index:9998;display:flex;align-items:stretch;gap:22px;padding:0 24px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}.mobile-tab-strip::-webkit-scrollbar{display:none}.mobile-tab-strip-item{flex-shrink:0;background:none;border:none;border-bottom:3px solid transparent;padding:0;height:100%;font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;touch-action:manipulation;transition:color .15s ease,border-color .15s ease}.mobile-tab-strip-item.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.main-content{padding-top:calc(36px + 44px + max(env(safe-area-inset-top), 8px))!important;padding-bottom:0!important;margin-bottom:0!important;overflow-y:auto;grid-row:1/-1!important;scroll-padding-top:calc(36px + 44px + max(env(safe-area-inset-top), 8px) + 16px)!important}.view-container{scroll-padding-top:16px!important}.sidebar{height:100%!important}.app-shell.zen-mode .main-content{grid-column:1!important}.app-shell.zen-mode .view-container{padding-right:16px!important}.view-container{padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important;-webkit-overflow-scrolling:touch}.view-container.active{display:block!important}#transcriptArticle{-webkit-tap-highlight-color:transparent}#transcriptArticle span[data-m]{-webkit-tap-highlight-color:rgba(59,130,246,.3);touch-action:manipulation;min-height:44px;display:inline;line-height:2.2}.mobile-dict-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-dict-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.3);z-index:10001;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);max-height:70vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.mobile-dict-sheet.open{transform:translateY(0)}.mobile-dict-sheet-header{display:flex;align-items:center;justify-content:center;position:relative;padding:12px 16px 0}.mobile-dict-sheet-handle{width:36px;height:4px;background:var(--border-color);border-radius:2px}.mobile-dict-close-btn{position:absolute;right:16px;top:8px;width:36px;height:36px;border:none;background:var(--bg-app);border-radius:50%;font-size:18px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-dict-close-btn:active{background:var(--border-color)}.mobile-dict-sheet .panel-section{display:flex!important;flex-direction:column;background:transparent;height:auto;margin:0}.mobile-dict-sheet .panel-header-strip{border-radius:0;background:transparent;color:var(--text-primary);padding:8px 16px;font-size:.8rem}.mobile-dict-sheet .dict-card{padding:0 16px 16px}.mobile-dict-sheet .panel-body{padding:0}.mobile-dict-sheet .dict-result-card{background:transparent}.mobile-dict-sheet .empty-state-graphic{padding:20px 0}#view-cloze,#view-explanations,#view-expressions,#view-glossary,#view-notebook,#view-practice,#view-quiz,#view-speaking,#view-transcript,#view-writing{padding-bottom:calc(140px + env(safe-area-inset-bottom))!important}.paper-sheet{padding:12px!important;border-radius:8px;margin:0!important}.sheet-header-sticky{display:none!important}.explanations-empty,.notebook-empty{padding:30px 16px;font-size:.9rem;margin:8px 0}.mode-toggles{gap:4px;padding:3px;margin-right:0!important}.mode-btn{padding:8px 12px;font-size:.75rem}.fixed-audio-player{position:fixed;bottom:0;left:0;right:0;height:auto;padding:15px 20px calc(15px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;z-index:9000}.player-left,.player-right{display:none!important}.player-center{position:relative!important;left:auto!important;transform:none!important;width:100%;display:flex;justify-content:center;align-items:center;gap:20px}#timeDisplay{font-size:.8rem!important;margin-right:0!important}.speed-wrapper{display:block}.speed-trigger{padding:6px 10px;font-size:.85rem}.control-btn{padding:8px}.control-btn.play-pause{width:52px;height:52px}.player-progress-container{top:-6px;height:12px}.player-progress-container:before,.progress-fill{height:3px;top:4px}.mobile-mode-btn{position:relative;transition:background .2s,color .2s}.mobile-mode-btn.mode-active{background:var(--brand-accent)!important;color:#000!important;border-radius:50%}.mobile-mode-btn.mode-active svg{stroke:#000}#genericModal .modal-box{max-height:90vh;overflow-y:auto}#genericModal .dict-result-card{text-align:left;padding:0}#genericModal .dict-term{font-size:1.4rem;margin-bottom:8px}#genericModal .dict-definition{font-size:.95rem;margin-bottom:6px}#genericModal .dict-translation{font-size:1.1rem;margin-bottom:12px}#genericModal .dict-section-label{font-size:.7rem;margin-bottom:4px}#genericModal .dict-context-quote{font-size:.85rem;padding:8px 10px;margin-bottom:10px}#genericModal .dict-example-box{padding:8px 10px}#genericModal .dict-example-text{font-size:.9rem}.dict-save-status{text-align:center;padding:10px;margin-top:12px;border-radius:8px;font-weight:600;font-size:.9rem}.dict-save-status.saved{background:var(--brand-success);color:#fff}article p{font-size:var(--transcript-size)!important;line-height:1.7;margin-bottom:1.2rem;scroll-margin-top:calc(44px + env(safe-area-inset-top))}.inline-pin{display:none!important}.pinned-paragraph{padding-left:10px;border-left-width:4px}.exp-accordion-item{border-radius:10px}.exp-accordion-header{padding:12px 14px}.exp-term-name{font-size:1rem}.exp-accordion-content{padding:0 14px 14px}.exp-definition p{font-size:.95rem}.exp-scenario{padding:14px}.exp-dialogue-line{display:block}.exp-dialogue-speaker{margin-right:6px}.exp-dialogue-speaker,.exp-dialogue-text{display:inline;font-size:1rem}.exp-save-btn{padding:14px!important}#appShell[data-view=quiz] .mobile-audio-player{display:none!important}#appShell[data-view=quiz] #view-quiz{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}.quiz-option{padding:10px 12px;font-size:.95rem;margin-bottom:8px;gap:10px}.quiz-opt-label{width:24px;height:24px;font-size:.75rem}#view-quiz .paper-sheet>h1{font-size:1.05rem;margin-bottom:4px}#view-quiz .paper-sheet>p.mb-6{font-size:.85rem;margin-bottom:12px}#view-quiz .mb-6{margin-bottom:12px!important}#view-quiz .mt-6{margin-top:12px!important}.shadow-section{min-height:calc(100dvh - 200px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}#view-speaking .paper-sheet,#view-writing .paper-sheet{padding-left:0!important;padding-right:0!important}#appShell[data-view=speaking] .mobile-audio-player,#appShell[data-view=writing] .mobile-audio-player{display:none!important}.notebook-layout{grid-template-columns:1fr!important;gap:30px}.notebook-header .btn{min-height:44px!important;min-width:60px!important;padding:10px 14px!important;font-size:.85rem!important}.notebook-header{flex-wrap:wrap;gap:10px}#notebookBookmarkList>div:only-child{background:var(--bg-app);border:1px dashed var(--border-color);border-radius:8px;padding:24px 16px;text-align:center;color:var(--text-secondary);margin:8px 4px!important;box-sizing:border-box}.notebook-layout #wordBankGrid.word-bank-grid{display:block!important;padding:0 4px}.notebook-layout #wordBankGrid .timeline-card{box-sizing:border-box;margin:0!important}#wordBankGrid>div:only-child{background:var(--bg-app);border:1px dashed var(--border-color);border-radius:8px;padding:24px 16px;text-align:center;color:var(--text-secondary);margin:8px 0!important;box-sizing:border-box}.modal-box{width:95%!important;max-width:none!important;max-height:85vh;margin:auto}#toastContainer{top:auto;bottom:calc(170px + env(safe-area-inset-bottom));width:85%}.toast{padding:10px 14px;font-size:.85rem}.mobile-audio-player{position:fixed;bottom:0;left:0;right:0;background:var(--bg-paper);border-top:none;padding-top:0;padding-bottom:env(safe-area-inset-bottom);z-index:9000;box-shadow:0 -4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column}.mobile-player-progress{position:relative;height:28px;cursor:pointer;touch-action:none;display:flex;align-items:center}.mobile-player-progress:before{content:"";transform:translateY(-50%);background:var(--border-color)}.mobile-player-progress:before,.mobile-progress-fill{position:absolute;top:50%;left:16px;right:16px;width:auto;height:6px;border-radius:3px}.mobile-progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);transform:translateY(-50%) scaleX(0);transform-origin:left center;pointer-events:none}.mobile-title-row{display:flex;justify-content:center;align-items:center;gap:12px;padding:4px 16px}.mobile-track-title{font-weight:700;font-size:.85rem;color:var(--text-primary);max-width:60%}.mobile-player-controls{gap:20px;padding:8px 16px 12px;box-sizing:border-box}.mobile-control-btn,.mobile-player-controls{display:flex;align-items:center;justify-content:center}.mobile-control-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;flex-shrink:0}.mobile-play-btn{background:var(--brand-primary);color:#fff;width:48px;height:48px;border-radius:50%;box-shadow:0 2px 8px rgba(37,99,235,.3);flex-shrink:0}.mobile-play-btn .icon-play{display:block}.mobile-play-btn .icon-pause,.mobile-play-btn.playing .icon-play{display:none}.mobile-play-btn.playing .icon-pause{display:block}.mobile-time-display{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.mobile-speed-btn{background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;padding:6px 0;width:45px;font-size:.75rem;font-weight:700;color:var(--text-primary);cursor:pointer;text-align:center;flex-shrink:0;display:flex;justify-content:center}.mobile-bookmark-btn{color:var(--text-secondary);transition:color .2s}.mobile-bookmark-btn:active{color:var(--brand-accent)}.btn-icon,.mobile-control-btn,.text-size-btn{touch-action:manipulation}.text-size-btn{transition:background-color .1s,color .1s,transform .1s}#settingsModal .btn-icon{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.text-size-btn:active{background-color:var(--brand-primary)!important;color:#fff!important;transform:scale(.95)}#settingsModal .modal-box{max-height:70vh;margin-bottom:160px}.media-lightbox-overlay{align-items:center;padding:20px}.media-card{max-width:90%}.media-content img{max-height:25vh;-o-object-fit:contain;object-fit:contain}.media-info{padding:16px}.media-info .media-desc{font-size:.85rem;margin-bottom:16px}.fixed-audio-player,.mobile-audio-player.hidden{display:none!important}.timeline-card{flex-direction:column}.timeline-zone-locator{flex-direction:row;justify-content:flex-start;padding:12px 16px;border-right:none;border-bottom:1px solid var(--border-color);min-width:auto}.timeline-zone-content{padding:14px 16px}.timeline-headword{font-size:1.1rem}.timeline-context{font-size:.85rem}.timeline-zone-action{flex-direction:row;justify-content:flex-end;padding:10px 16px;border-left:none;border-top:1px solid var(--border-color)}.timeline-play-btn{width:40px;height:40px}.timeline-review-btn{padding:12px 16px!important;font-size:.9rem!important}}