:root{--bg: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #292e36;--border: #30363d;--text: #e6edf3;--text-secondary: #9da5ae;--accent: #2f81f7;--accent-hover: #388bfd;--success: #3fb950;--error: #f85149;--radius: 12px;--radius-sm: 4px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.auth-container{width:100%;max-width:400px;padding:16px}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo h1{font-size:24px;font-weight:700;color:var(--text)}.auth-logo p{font-size:13px;color:var(--text-secondary);margin-top:4px}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.auth-card h2{font-size:18px;font-weight:600;margin-bottom:16px}.form-group{margin-bottom:14px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.form-label-optional{color:var(--text-secondary);font-weight:400}.form-input{width:100%;padding:8px 12px;font-size:14px;font-family:var(--font-sans);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f81f726}.form-input::placeholder{color:var(--text-secondary)}.password-wrapper{position:relative}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px}.password-toggle:hover{color:var(--text)}.checkbox-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary);line-height:1.4}.checkbox-label input[type=checkbox]{margin-top:2px;accent-color:var(--accent)}.username-wrapper{position:relative}.username-status{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;pointer-events:none}.username-checking{color:var(--text-secondary);font-weight:400;font-size:12px}.username-available{color:var(--success)}.username-taken{color:var(--error)}.form-input-error{border-color:var(--error)!important}.form-input-error:focus{box-shadow:0 0 0 3px #f8514926!important}.form-input-success{border-color:var(--success)!important}.form-input-success:focus{box-shadow:0 0 0 3px #3fb95026!important}.form-hint{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.4}.form-hint-error{color:var(--error)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;text-decoration:none}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-full{width:100%}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;font-family:var(--font-sans);padding:0}.link-btn:hover{text-decoration:underline}.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:14px}.alert-error{background:#f851491a;border:1px solid rgba(248,81,73,.3);color:#f85149}.alert-success{background:#3fb9501a;border:1px solid rgba(63,185,80,.3);color:#3fb950}.alert-info{background:#2f81f71a;border:1px solid rgba(47,129,247,.3);color:#58a6ff}.auth-footer{margin-top:16px;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-footer a,.auth-footer .link-btn{font-size:13px}.success-icon{font-size:48px;margin-bottom:16px}.centered{text-align:center}.centered p{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.redirect-notice{margin-top:16px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.redirect-notice p{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.redirect-countdown{font-size:12px;color:var(--text-secondary);margin-top:8px}.account-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.account-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.account-row:last-child{border-bottom:none}.account-label{font-size:13px;color:var(--text-secondary)}.account-value{font-size:14px;color:var(--text);display:flex;align-items:center;gap:8px}.account-actions{margin-top:16px}.account-hint{font-size:13px;color:var(--text-secondary);text-align:center;margin:12px 0;line-height:1.4}.badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:10px;line-height:1.4}.badge-success{background:#3fb95026;color:#3fb950}.badge-warning{background:#d2992226;color:#d29922}.badge-accent{background:#2f81f726;color:#58a6ff}.badge-default{background:var(--bg-tertiary);color:var(--text-secondary)}body{background:radial-gradient(ellipse at 50% 0%,rgba(47,129,247,.04) 0%,transparent 50%),var(--bg)}.auth-card{animation:card-enter .3s ease-out;border-top-color:#3a414a}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn{transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{box-shadow:0 1px 3px #2f81f733}.btn-primary:hover{box-shadow:0 2px 8px #2f81f74d}.form-input{transition:border-color .15s,box-shadow .2s}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.alert{animation:alert-slide .2s ease-out}@keyframes alert-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--border);border-radius:3px;background:var(--bg);cursor:pointer;transition:background .15s,border-color .15s;position:relative;flex-shrink:0;margin-top:2px}.checkbox-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #2f81f726}.state-fade-in{animation:state-enter .35s ease-out}@keyframes state-enter{0%{opacity:0}to{opacity:1}}.email-icon{width:64px;height:64px;margin:0 auto 20px}.email-icon svg{width:100%;height:100%}.email-icon rect{stroke-dasharray:200;stroke-dashoffset:200;animation:envelope-rect .6s ease-out .1s forwards}.email-icon path{stroke-dasharray:80;stroke-dashoffset:80;animation:envelope-flap .4s ease-out .5s forwards}@keyframes envelope-rect{to{stroke-dashoffset:0}}@keyframes envelope-flap{to{stroke-dashoffset:0}}.verify-icon{width:56px;height:56px;margin:0 auto 20px}.verify-icon svg{width:100%;height:100%}.verify-icon-success circle{stroke:var(--success);stroke-dasharray:157;stroke-dashoffset:157;animation:circle-draw .6s ease-out forwards;fill:none;stroke-width:2}.verify-icon-success path{stroke:var(--success);stroke-dasharray:34;stroke-dashoffset:34;animation:check-draw .3s ease-out .4s forwards;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.verify-icon-error{width:48px;height:48px;margin:0 auto 16px}@keyframes circle-draw{to{stroke-dashoffset:0}}@keyframes check-draw{to{stroke-dashoffset:0}}.waiting-indicator{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-top:16px}.waiting-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:waiting-pulse 2s ease-in-out infinite;will-change:opacity,transform}@keyframes waiting-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.email-providers{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.email-provider-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s;font-family:var(--font-sans)}.email-provider-btn:hover{border-color:var(--accent);color:var(--text);text-decoration:none}.disclosure-toggle{display:flex;align-items:center;gap:8px;width:100%;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary);cursor:pointer;background:none;border-left:none;border-right:none;border-bottom:none;font-family:var(--font-sans)}.disclosure-toggle:before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);transform:rotate(-45deg);transition:transform .2s ease;flex-shrink:0}.disclosure-toggle[aria-expanded=true]:before{transform:rotate(45deg)}.resend-section{margin-top:20px}.resend-section .btn{font-variant-numeric:tabular-nums}.account-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--accent);margin:0 auto 16px}.set-password-section{margin-top:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.set-password-section h3{font-size:14px;font-weight:600;margin-bottom:12px}.password-strength{height:3px;border-radius:2px;background:var(--bg-tertiary);margin-top:6px;overflow:hidden}.password-strength-bar{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.strength-weak{width:25%;background:var(--error)}.strength-fair{width:50%;background:#d29922}.strength-good{width:75%;background:var(--accent)}.strength-strong{width:100%;background:var(--success)}.verify-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:btn-spin .8s linear infinite;margin:0 auto 20px}.form-hint-intro{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.email-highlight{color:var(--text)}.go-back-btn{font-size:12px;margin-bottom:16px}.spam-hint{font-size:12px;color:var(--text-secondary);margin-top:12px}.waiting-centered{justify-content:center;margin-top:20px}.redirect-account-link{margin-top:16px}.password-disclosure-form{margin-top:12px}.password-disclosure-footer{text-align:center;margin-top:8px}.password-disclosure-footer .link-btn{font-size:12px}.verify-hint{font-size:12px;color:var(--text-secondary);margin-top:12px;text-align:center}.verify-action-btn{margin-top:8px}.account-title{text-align:center}.account-action-btn{margin-top:8px}.btn-danger{background:#f851491a;border-color:#f851494d;color:var(--error)}.btn-danger:hover{background:#f8514933}.delete-confirm{margin-top:12px;padding:16px;background:var(--bg);border:1px solid rgba(248,81,73,.3);border-radius:var(--radius-sm)}.delete-warning{font-size:13px;color:var(--error);margin-bottom:12px}.password-strength-bar:after{content:attr(data-label);position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.password-strength{position:relative}.otp-input-group{display:flex;gap:8px;justify-content:center;margin:16px 0}.otp-digit{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s;caret-color:var(--accent)}.otp-digit:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f81f74d}.otp-digit:disabled{opacity:.5;cursor:not-allowed}.otp-error .otp-digit{border-color:var(--error);animation:otp-shake .4s ease-in-out}@keyframes otp-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.password-separator{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:var(--text-secondary);font-size:13px}.password-separator:before,.password-separator:after{content:"";flex:1;height:1px;background:var(--border)}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 2px #00000038}.auth-tab-thumb{position:absolute;top:4px;left:4px;width:calc(50% - 6px);height:calc(100% - 8px);background:var(--bg-tertiary);border:1px solid var(--border);border-top-color:#3a414a;border-radius:8px;box-shadow:0 1px 2px #0000004d;transition:transform .25s cubic-bezier(.4,0,.2,1);will-change:transform}.auth-tabs[data-active=register] .auth-tab-thumb{transform:translate(calc(100% + 4px))}.auth-tab{position:relative;z-index:1;appearance:none;-webkit-appearance:none;background:none;border:none;border-radius:8px;padding:8px;font:500 14px/1.15 var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.auth-tab[aria-selected=true]{color:var(--text);font-weight:600}.auth-tab:hover:not([aria-selected=true]){color:var(--text)}.auth-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #2f81f726}.password-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}.password-reveal[data-open=true]{grid-template-rows:1fr}.password-reveal-inner{overflow:hidden;min-height:0;opacity:0;transition:opacity .18s ease}.password-reveal[data-open=true] .password-reveal-inner{opacity:1;transition:opacity .25s ease .08s}.password-reveal-inner>.form-group:first-child{margin-top:14px}.legal-microcopy{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:14px}.auth-logo h1:after{content:"";display:block;width:44px;height:2px;margin:10px auto 8px;border-radius:1px;background:linear-gradient(90deg,transparent,#e10600 20%,#ff1801 50%,#e10600 80%,transparent);box-shadow:0 0 6px #e1060059;transform-origin:center;animation:brand-rule-sweep .5s cubic-bezier(.4,0,.2,1) .1s both}@keyframes brand-rule-sweep{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:.95}}@media(prefers-reduced-motion:reduce){.auth-tab-thumb,.password-reveal,.password-reveal-inner{transition:none}.auth-logo h1:after{animation:none}.auth-card,.state-fade-in,.alert,.email-icon rect,.email-icon path,.verify-icon-success circle,.verify-icon-success path{animation:none!important}.waiting-dot{animation:none!important;opacity:.7}.otp-error .otp-digit{animation:none!important}.btn:active:not(:disabled){transform:none}}@media(max-width:480px){.auth-container{max-width:100%;padding:16px}.auth-card{border-radius:0;border-left:none;border-right:none}.auth-logo h1{font-size:22px}.btn-primary,.btn-full{height:48px;font-size:16px}.form-input{height:44px;font-size:16px}.email-providers{flex-direction:column}.otp-digit{width:42px;height:50px;font-size:22px}.otp-input-group{gap:6px}.auth-tabs{margin-bottom:16px}.auth-tab{padding:11px 8px;font-size:15px;white-space:nowrap}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.film-review{--film-bg: var(--bg-secondary, #161b22);--film-surface: var(--bg-tertiary, #21262d);--film-hover: var(--bg-hover, #292e36);--film-border: var(--border, #30363d);--film-text: var(--text, #e6edf3);--film-text-secondary: var(--text-secondary, #8b949e);--film-accent: var(--accent, #2f81f7);--film-accent-hover: var(--accent-hover, #388bfd);--film-success: var(--success, #3fb950);--film-danger: var(--danger, var(--error, #f85149));--film-warning: var(--warning, #d29922);--film-radius: var(--radius-sm, 4px);--film-mono: var(--font-mono, "SF Mono", "Cascadia Code", Consolas, monospace);color:var(--film-text)}.film-player{display:block}.film-player:focus{outline:none}.film-player:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-video{display:block;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--film-radius)}.film-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:8px}.film-seek-group{display:flex;gap:4px;flex:0 0 auto}.film-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:500;color:var(--film-text);background:var(--film-surface);border:1px solid var(--film-border);border-radius:var(--film-radius);cursor:pointer}.film-btn:hover:not(:disabled){background:var(--film-hover)}.film-btn:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-btn:disabled{opacity:.5;cursor:not-allowed}.film-btn-sm{padding:4px 10px;font-size:12px}.film-btn-primary{background:var(--film-accent);border-color:var(--film-accent);color:#fff;font-weight:600}.film-btn-primary:hover:not(:disabled){background:var(--film-accent-hover)}.film-go{display:grid;grid-template-columns:auto 8ch auto;align-items:center;gap:6px;flex:0 0 auto}.film-go .film-alert{grid-column:1 / -1}.film-go-label{font-size:12px;color:var(--film-text-secondary);white-space:nowrap}.film-input{width:100%;min-width:0;padding:8px 10px;font-size:16px;font-family:inherit;color:var(--film-text);background:var(--bg, #0d1117);border:1px solid var(--film-border);border-radius:var(--film-radius);min-height:44px}.film-input:focus-visible{outline:2px solid var(--film-accent);outline-offset:1px}.film-input[aria-invalid=true]{border-color:var(--film-danger)}.film-input-time{font-family:var(--film-mono);text-align:center}.film-textarea{min-height:96px;resize:vertical;line-height:1.5}.film-alert{border-radius:0;border-left:3px solid var(--film-danger);background:var(--film-surface);color:var(--film-text);padding:8px 12px;font-size:14px;margin:6px 0 0}.film-note{font-size:12px;color:var(--film-text-secondary);margin:6px 0 0}.film-note-strong{font-size:14px;color:var(--film-text);margin:0}.film-file{font-family:var(--film-mono);font-size:13px;word-break:break-all}.film-missing{border-radius:0;border-left:3px solid var(--film-warning);background:var(--film-surface);padding:16px}.film-missing-title{font-size:16px;margin:0 0 6px}.film-missing-body{font-size:14px;color:var(--film-text);margin:0 0 12px}.film-shortcuts{margin-top:8px;padding:12px;background:var(--film-surface);border:1px solid var(--film-border);border-radius:var(--film-radius)}.film-shortcuts-title{font-size:13px;margin:0 0 8px}.film-shortcut-list{margin:0;display:grid;gap:4px}.film-shortcut-row{display:grid;grid-template-columns:10ch 1fr;gap:8px;font-size:13px}.film-shortcut-row dd{margin:0;color:var(--film-text-secondary)}.film-shortcut-row kbd{font-family:var(--film-mono);font-size:12px;background:var(--film-bg);border:1px solid var(--film-border);border-radius:var(--film-radius);padding:1px 5px}.film-timeline-wrap{margin-top:8px}.film-timeline{position:relative;height:44px;width:100%}.film-timeline:before{content:"";position:absolute;left:0;right:0;top:19px;height:6px;background:var(--film-surface);border-radius:3px}.film-timeline[data-interactive=true]{cursor:pointer}.film-playhead{position:absolute;top:12px;width:2px;height:20px;margin-left:-1px;background:var(--film-text)}.film-marker{position:absolute;top:0;height:44px;width:24px;margin-left:-12px;padding:0;border:0;background:none;cursor:pointer}.film-marker:after{content:"";position:absolute;left:50%;top:15px;width:14px;height:14px;transform:translate(-50%);border-radius:50%;background:var(--film-accent);box-shadow:0 0 0 2px var(--film-bg)}.film-marker-beyond:after{border-radius:0;width:12px;height:18px;top:13px;background:var(--film-warning);box-shadow:none;clip-path:polygon(0 0,100% 50%,0 100%)}.film-marker-resolved:after{background:var(--film-surface);box-shadow:0 0 0 2px var(--film-text-secondary)}.film-marker-active:after{outline:2px solid var(--film-text);outline-offset:2px}.film-comment-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px}.film-comment-empty{padding:16px}.film-thread{display:grid;gap:4px}.film-entry-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px}.film-reply-list{list-style:none;margin:0 0 0 14px;padding:0 0 0 10px;display:grid;gap:4px;border-left:2px solid var(--film-border)}.film-thread-toggle{justify-self:start;margin-left:14px}.film-entry{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"time who" "body body" "state state";gap:2px 8px;width:100%;min-height:44px;text-align:left;padding:8px 10px;font-family:inherit;font-size:14px;color:var(--film-text);background:var(--film-bg);border:1px solid var(--film-border);border-radius:0;border-left:3px solid transparent;cursor:pointer}.film-entry:hover{background:var(--film-hover)}.film-entry:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-entry-active{border-left-color:var(--film-accent);background:var(--film-hover);font-weight:600}.film-entry-beyond{border-left-color:var(--film-warning)}.film-entry-reply{background:var(--film-surface);min-height:36px}.film-entry-time{grid-area:time;font-family:var(--film-mono);font-size:13px}.film-entry-kicker{grid-area:time;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--film-text-secondary)}.film-entry-who{grid-area:who;color:var(--film-text-secondary);font-size:13px}.film-entry-body{grid-area:body}.film-entry-state{grid-area:state;font-size:12px;color:var(--film-text-secondary)}.film-entry-state-resolved{color:var(--film-success);font-weight:600}.film-entry-actions{display:flex;gap:4px;align-items:center}.film-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;border-radius:var(--film-radius);border:1px solid var(--film-border);background:var(--film-surface);color:var(--film-text)}.film-badge-you{border-color:var(--film-accent)}.film-badge-recipient{font-family:var(--film-mono);font-weight:400}.film-composer{display:grid;gap:6px;margin-top:12px;padding:12px;background:var(--film-bg);border:1px solid var(--film-border);border-radius:var(--film-radius)}.film-composer-stamp,.film-composer-name{display:grid;grid-template-columns:auto 10ch 1fr;align-items:center;gap:6px}.film-composer-name{grid-template-columns:auto minmax(0,20ch) 1fr}.film-composer-stamp .film-alert,.film-composer-name .film-alert{grid-column:1 / -1}.film-composer-actions{display:flex;gap:8px;flex-wrap:wrap}.film-composer-replying{margin:0}.film-animatic:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-animatic-stage{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--film-radius);overflow:hidden}.film-animatic-still{width:100%;height:100%;object-fit:contain;display:block}.film-animatic-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;padding:16px;text-align:center;background:var(--film-surface);border:1px dashed var(--film-border)}.film-animatic-placeholder-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--film-text-secondary)}.film-animatic-placeholder-title{font-size:18px;font-weight:600;color:var(--film-text)}.film-animatic-caption{margin:8px 0 0;font-size:16px}.film-scrub{flex:1 1 180px;min-width:120px;height:44px;cursor:pointer}.film-scrub:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}.film-clock{font-family:var(--film-mono);font-size:13px;color:var(--film-text-secondary)}@media(max-width:480px){.film-entry-row{grid-template-columns:1fr}.film-go{grid-template-columns:auto 1fr auto}.film-composer-stamp,.film-composer-name{grid-template-columns:auto 1fr}.film-composer-stamp .film-note,.film-composer-name .film-note{grid-column:1 / -1}.film-controls{gap:6px}}@media(prefers-reduced-motion:reduce){.film-review *,.film-review *:before,.film-review *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{align-items:stretch;justify-content:flex-start}.vp-shell{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.vp-main{width:100%;max-width:880px;margin:0 auto;padding:16px 16px 0;flex:1 1 auto}.vp-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:10px}.vp-title{font-size:20px;font-weight:700;line-height:1.25;margin:0}.vp-subtitle{font-size:13px;color:var(--text-secondary)}.vp-howto{border-radius:0;border-left:3px solid var(--accent);background:var(--bg-secondary);padding:10px 12px;font-size:15px;line-height:1.45;margin-bottom:12px}.vp-brief{font-size:14px;line-height:1.5;color:var(--text-secondary);margin-bottom:12px;white-space:pre-wrap}.vp-banner{border-radius:0;border-left:3px solid var(--text-secondary);background:var(--bg-secondary);padding:10px 12px;font-size:14px;margin-bottom:12px}.vp-banner-offline{border-left-color:#d29922}.vp-alert{border-radius:0;border-left:3px solid var(--error);background:var(--bg-secondary);padding:12px;margin-bottom:12px}.vp-alert-title{font-size:15px;font-weight:600;margin:0 0 6px}.vp-alert-body{font-size:14px;line-height:1.45;margin:0 0 10px}.vp-rescue-text{width:100%;min-height:120px;padding:10px;font-size:16px;font-family:inherit;line-height:1.5;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical}.vp-rescue-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.vp-comments{margin-top:20px}.vp-comments-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.vp-comments-title{font-size:16px;font-weight:600;margin:0}.vp-filter{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--text);cursor:pointer}.vp-filter input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.vp-pending{margin-top:12px;font-size:13px;color:var(--text-secondary)}.vp-partial{margin:12px 0;padding:10px 12px;border-radius:0;border-left:3px solid var(--accent);background:var(--bg-secondary)}.vp-partial-count{font-size:14px;font-weight:600;margin:0 0 4px}.vp-partial-note{font-size:13px;line-height:1.45;color:var(--text-secondary);margin:0 0 8px}.vp-dock{position:sticky;bottom:0;z-index:2;background:var(--bg);border-top:1px solid var(--border);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));margin-top:16px}.vp-dock-inner{width:100%;max-width:880px;margin:0 auto;padding:0 16px}.vp-state{width:100%;max-width:560px;margin:0 auto;padding:32px 16px;text-align:center}.vp-state p{font-size:15px;line-height:1.5;color:var(--text-secondary);margin-top:10px}.vp-state-actions{margin-top:16px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.vp-footer{max-width:880px;margin:0 auto;padding:16px;font-size:12px;color:var(--text-secondary)}@media(max-width:480px){.vp-main{padding:12px 12px 0}.vp-dock-inner{padding:0 12px}.vp-title{font-size:18px}.vp-howto{font-size:15px}.vp-howto,.vp-banner,.vp-alert{margin-left:-12px;margin-right:-12px}}
