.movie-hub{max-width:1240px}.movie-hub .hub-intro{padding-top:48px}.movie-hub .subtitle{max-width:none}.movie-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start;margin-bottom:48px}.movie-sidebar{display:grid;gap:20px;min-width:0}.movie-hub .card{padding:24px}.movie-hub h2{font-size:18px;letter-spacing:-.5px;line-height:1.5;color:var(--text)}.movie-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.movie-heading h3{font-size:16px;margin:0}.movie-hub input:not([type=checkbox]),.movie-hub textarea,.movie-hub select{font:inherit;color:var(--text);background:#0c1422;border:1px solid #34425b;border-radius:8px;padding:11px 12px;width:100%;min-width:0}.movie-hub textarea{resize:vertical;line-height:1.7}.movie-hub label{display:block;font-size:12px;color:#b7c7dd;margin:16px 0 8px}.movie-hub select{margin-top:8px}.movie-hub button,.movie-secondary{min-height:40px;border-radius:8px;font:inherit}.movie-primary{background:var(--mint);color:#10271e;border:1px solid var(--mint);padding:11px 16px;font-weight:700!important}.movie-primary:hover{background:#bafcde}.movie-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#1c293e;border:1px solid #40526d;color:var(--text);padding:10px 14px;font-size:12px;white-space:nowrap}.movie-text-button{border:0;background:none;color:var(--mint);font-size:12px!important;padding:0}.movie-help,.movie-hub [role=status]{font-size:12px;color:#9cacc3;line-height:1.8;overflow-wrap:anywhere}.movie-hub [role=status][data-error=true]{color:#ffb5ba}.movie-upload summary{font-weight:700;cursor:pointer;display:flex;justify-content:space-between}.movie-upload form{margin-top:22px}.movie-upload .movie-primary{width:100%}.movie-hub input[type=file]{font-size:11px}.movie-hub input::file-selector-button{background:#23334a;color:var(--text);border:0;border-radius:4px;padding:7px;margin-right:8px;cursor:pointer}.script-option{width:100%;text-align:left;background:#121d2e;border:1px solid var(--border);padding:14px;margin-top:9px;color:var(--text);overflow-wrap:anywhere}.script-option[aria-pressed=true]{background:#1d3634;border-color:var(--mint)}.script-option strong,.script-option small{display:block}.script-option small{color:#9cacc3;margin-top:7px;font-size:11px}.movie-study{min-height:540px;min-width:0}.movie-empty{text-align:center;padding:80px 0}.movie-reel{display:grid;place-items:center;width:80px;height:80px;border-radius:24px;background:#9bf6cf12;border:1px solid #9bf6cf33;color:var(--mint);font-size:26px;margin:0 auto 30px;transform:rotate(-6deg)}.movie-empty h2{font-size:25px}.movie-empty>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#9cacc3;margin:20px 0 28px}.movie-title-wrap{min-width:0}.movie-title-wrap h2{font-size:24px;overflow-wrap:anywhere}.movie-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--border);margin-top:14px}.movie-playbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.movie-hub .movie-checkbox{margin:0;display:flex;align-items:center;gap:7px}.movie-dialogue-heading{border-top:1px solid var(--border);padding-top:24px;margin-top:26px}.dialogue-line{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:12px;border:1px solid var(--border);border-radius:12px;padding:18px 14px;margin-top:12px;scroll-margin:30px}.dialogue-line.is-speaking{border-color:var(--mint);background:#9bf6cf0a}.line-number{font-size:11px;color:#788ba4;padding-top:4px;font-variant-numeric:tabular-nums}.line-speaker{color:var(--mint);font-size:11px;font-weight:700;letter-spacing:.5px}.line-text{font-size:16px;line-height:1.8;margin:6px 0 0;overflow-wrap:anywhere}.lines-hidden .line-text{visibility:hidden}.movie-original{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.movie-original summary{cursor:pointer;color:#b7c7dd}.movie-original pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.9;color:#b7c7dd;max-height:420px;overflow:auto;margin-top:20px}#more-lines{width:100%;margin-top:18px}.movie-hub [hidden]{display:none!important}.sr-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}#script-search{margin-top:18px}
@media(max-width:960px){.movie-layout{grid-template-columns:260px minmax(0,1fr);gap:16px}.movie-hub .card{padding:18px}.movie-heading{flex-wrap:wrap}.movie-playbar{align-items:flex-start}.dialogue-line{grid-template-columns:24px minmax(0,1fr);gap:8px}.dialogue-line button{grid-column:2;justify-self:start}.movie-controls{gap:8px}.movie-hub select{font-size:11px}}
@media(max-width:700px){.movie-layout{grid-template-columns:1fr}.movie-hub .hub-intro{padding-top:32px}.movie-hub .hub-intro h1{font-size:27px}.movie-empty{padding:35px 0}.movie-study{min-height:380px}.movie-controls{gap:6px}.movie-hub select{padding:10px 4px}.movie-title-wrap h2{font-size:22px}.movie-heading{gap:10px}.movie-library #script-list{max-height:260px;overflow:auto}.movie-hub .subtitle{font-size:13px}.line-text{font-size:15px}}
.movie-source-tabs,.movie-view-tabs{display:flex;flex-wrap:wrap;gap:10px}.movie-source-tabs button,.movie-view-tabs button{border:1px solid var(--border);background:#152236;color:#b7c7dd;padding:12px 16px}.movie-source-tabs [aria-pressed=true],.movie-view-tabs [aria-pressed=true]{background:#1d3634;border-color:var(--mint);color:var(--mint)}.movie-view-tabs{margin:24px 0}.movie-source-tabs+#source-help{margin-bottom:24px}.practice-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.practice-context{font-size:13px;color:var(--mint);line-height:1.8;margin-top:26px}.practice-words{display:flex;gap:10px;flex-wrap:wrap;align-items:center;align-content:flex-start;min-height:90px;border:1px solid var(--border);border-radius:12px;padding:16px;background:#0c1525}.practice-answer{border:1px dashed #5c8d7b;background:#9bf6cf06;min-height:100px}.movie-hub .practice-word{padding:10px 14px;background:#22364c;border:1px solid #49617a;color:#e3efff;line-height:1.5;max-width:100%;overflow-wrap:anywhere;cursor:grab}.movie-hub .practice-word:disabled{opacity:1;cursor:default;background:#1d3634;border-color:#578672;color:#c9ffe8}.movie-hub .word-incorrect{border-color:#ef9ba4;color:#ffd4da;background:#472730}.practice-solution{padding:16px;border-radius:10px;background:#9bf6cf0d;border:1px solid #9bf6cf44;color:var(--mint);font-size:17px;line-height:1.8;overflow-wrap:anywhere}.practice-result,.practice-notice{padding:20px;border:1px solid #5c8d7b;background:#9bf6cf08;border-radius:12px;margin:20px 0}.practice-result p,.practice-notice p{line-height:1.8;overflow-wrap:anywhere}#practice-progress{width:100%;height:8px;accent-color:var(--mint);margin:6px 0 10px}#practice-feedback{min-height:24px}#sentence-practice{border-top:1px solid var(--border);padding-top:24px}#source-help{max-width:100%}.movie-hub textarea:focus-visible,.movie-hub select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media(max-width:700px){.movie-source-tabs button,.movie-view-tabs button{font-size:12px;padding:10px 12px}.practice-words{gap:8px;padding:12px}.movie-hub .practice-word{padding:9px 11px;font-size:14px}.practice-actions{gap:8px}.practice-actions .movie-secondary,.practice-actions .movie-primary{font-size:12px}.practice-result,.practice-notice{padding:14px}}
.movie-modal{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #40526d;border-radius:16px;padding:28px;background:#121a29;color:#eef2fc;font-family:inherit}.movie-modal::backdrop{background:#020711c9;backdrop-filter:blur(3px)}.movie-modal h2{font-size:22px;margin:0 0 16px}.movie-modal label{display:block;font-size:13px;color:#b7c7dd;margin:18px 0 8px}.movie-modal input,.movie-modal textarea{display:block;width:100%;min-width:0;background:#0c1422;color:#eef2fc;border:1px solid #40526d;border-radius:8px;padding:12px;font:inherit;line-height:1.7}.movie-modal textarea{resize:vertical}.movie-modal [role=status]{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.movie-modal [data-error=true]{color:#ffb5ba}.movie-modal .practice-actions{margin-bottom:0}.movie-danger{color:#ffc0c5;border-color:#8b505a;background:#3a202b}.movie-danger:hover{background:#542936}.movie-modal input:focus-visible,.movie-modal textarea:focus-visible{outline:2px solid #9bf6cf;outline-offset:3px}.movie-modal [hidden]{display:none!important}@media(max-width:640px){.movie-modal{padding:20px}.movie-modal h2{font-size:20px}.movie-modal textarea{max-height:42vh}}
.movie-controls{grid-template-columns:repeat(4,minmax(0,1fr))}#speech-voice{overflow:hidden;text-overflow:ellipsis}#voice-status{margin-top:12px}@media(max-width:960px){.movie-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
.line-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.line-translation{color:#c5d7f0;background:#95ceff0b;border-left:3px solid #95ceff77;padding:12px 14px;font-size:14px;line-height:1.9;overflow-wrap:anywhere;margin:14px 0 0}.movie-translation-panel{padding:20px;border:1px solid #95ceff3b;background:#95ceff08;border-radius:12px;margin:18px 0}.movie-translation-panel h3{font-size:17px;margin:0}.movie-translation-panel pre,.bilingual-format pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:2;color:#c5d7f0}.movie-translation-panel pre{max-height:480px;overflow:auto}.movie-translation-panel p{line-height:1.9;overflow-wrap:anywhere}.bilingual-format summary{cursor:pointer;font-size:13px;color:#b7c7dd}.bilingual-format pre{font-size:12px}.movie-translation-panel+#voice-status{margin-top:14px}@media(max-width:960px){.line-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}}@media(max-width:700px){.movie-translation-panel{padding:14px}.line-translation{font-size:13px;padding:10px 12px}}
.playback-notice{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1000;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:min(460px,calc(100vw - 32px));padding:20px 22px;border:1px solid #f08d9a;border-radius:14px;background:#4a202af7;box-shadow:0 12px 45px #0009;color:#fff0f2}.playback-notice[hidden]{display:none}.playback-notice strong{font-size:15px;line-height:1.7;color:#ffd2d9}.playback-notice p{font-size:13px;line-height:1.9;margin:8px 0 0}.playback-notice kbd{font-size:12px;min-width:48px;color:#fff0f2;background:#713141;border-color:#cf6e7f}.playback-notice button{flex-shrink:0;border:0;background:transparent;color:#ffd2d9;font-size:25px;min-width:36px;min-height:36px;border-radius:8px}.playback-notice button:hover{background:#ffb6c126}.playback-notice button:focus-visible{outline-color:#ffd2d9}@media(max-width:460px){.playback-notice{padding:16px;gap:8px}.playback-notice strong{font-size:14px}.playback-notice p{font-size:12px}}
.playback-notice{top:50%;bottom:auto;transform:translate(-50%,-50%)}
.movie-admin-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.movie-admin-bar p{flex:1 1 280px;margin:0}.movie-admin-edit{width:100%;margin-top:20px;border-color:#70c9ad;color:var(--mint)}.movie-discover-poster{position:relative;display:grid;place-items:center;aspect-ratio:2/3;max-width:240px;width:100%;margin:0 auto 22px;background:#090f1c;border:1px solid #365269;border-radius:10px;overflow:hidden}.movie-discover-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.movie-poster-placeholder{font-size:12px;color:#8fa5bf;padding:24px;text-align:center}.movie-intro-editor{width:min(840px,calc(100vw - 32px))}.movie-poster-editor{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:start}.movie-poster-preview{width:150px;max-height:230px;object-fit:contain;border-radius:8px;border:1px solid #40526d;margin-top:20px}.movie-poster-editor .movie-secondary{margin-top:14px}.movie-modal select{width:100%;font:inherit;background:#0c1422;color:#eef2fc;border:1px solid #40526d;border-radius:8px;padding:12px}.movie-modal .movie-help{color:#9cacc3;font-size:12px;line-height:1.8}.movie-modal input[type=file]{font-size:12px;padding:10px}.movie-intro-editor [role=status],#movie-admin-message{color:#b9e8d8}.movie-modal button:focus-visible,.movie-modal select:focus-visible{outline:2px solid #9bf6cf;outline-offset:3px}@media(max-width:500px){.movie-poster-editor{grid-template-columns:minmax(0,1fr)}.movie-poster-preview{justify-self:center}.movie-admin-bar .movie-secondary{font-size:12px}.movie-admin-bar p{flex-basis:100%}}
.movie-discover-entry{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 24px}.movie-discover-entry .movie-secondary{gap:22px;border-color:#70c9ad;color:var(--mint);font-size:14px;font-weight:700}.movie-discover-entry p{margin:0}.movie-discover{margin-bottom:28px;scroll-margin:20px}.movie-discover-filters{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px}.movie-discover-filters select{margin-top:0}.movie-discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.movie-discover-card{background:linear-gradient(135deg,#172a38,#131c2c);border:1px solid #365269;border-radius:14px;padding:24px;min-width:0;overflow-wrap:anywhere}.movie-discover-card h3{font-size:21px;color:#eef2fc;margin:8px 0}.movie-discover-card p{line-height:1.9;font-size:14px;color:#bdcce0;margin:12px 0}.movie-discover-card .movie-discover-tag{color:var(--mint);font-size:12px;margin:0}.movie-discover-card .movie-discover-original{font-size:12px;color:#92a7c3;margin-top:0}.movie-discover-card details{border-top:1px solid #365269;margin-top:20px;padding-top:16px}.movie-discover-card summary{color:var(--mint);font-size:13px;cursor:pointer;line-height:1.8}.movie-discover-card h4{font-size:13px;color:#e0e9f8;margin:22px 0 0}.movie-discover-card h4+p{margin-top:8px}.movie-discover-card a{display:inline-block;line-height:1.8;margin-top:12px}.movie-discover button:focus-visible,.movie-discover summary:focus-visible,.movie-discover a:focus-visible,.movie-discover-entry button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.movie-discover input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media(max-width:700px){.movie-discover-grid{grid-template-columns:1fr}.movie-discover-filters{grid-template-columns:minmax(0,1fr)}.movie-discover-card{padding:18px}.movie-discover-entry{gap:8px}}
