@import url("./theme.css");*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input,select,textarea{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.75rem .85rem;min-height:46px}input::placeholder,.muted,.help,.film-meta{color:var(--muted)}textarea{resize:vertical}label,legend{font-weight:600}fieldset{margin:0;padding:0;border:0;min-width:0}h1,h2,p{margin:0}h1{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.15;letter-spacing:-.04em;font-weight:650}h1,h2{overflow-wrap:anywhere}.film-copy{min-width:0}h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.015em;font-weight:600}.help{font-size:.875rem;font-weight:400;max-width:68ch}.masthead{display:flex;align-items:center;gap:3rem;border-bottom:1px solid var(--border);padding:1.25rem max(1.5rem,calc((100vw - 1200px)/2));min-height:84px}.wordmark{font-size:1.65rem;font-weight:650;letter-spacing:-.05em;display:flex;gap:.7rem;align-items:center}.mediahub-mark{width:24px;height:21px;border:2px solid var(--accent);border-top-width:5px}.masthead nav{color:var(--muted);font-size:.95rem}.signout{margin-left:auto}.page{max-width:1200px;margin:auto;padding:2.7rem 1.5rem 5rem;min-height:calc(100vh - 170px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.page-heading p{margin-top:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:5px;padding:.6rem 1rem;font-weight:600;font-size:.925rem;white-space:nowrap}.primary{color:var(--on-primary);background:var(--primary)}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--panel);border-color:var(--border);color:var(--text)}.secondary:hover{border-color:var(--muted)}.quiet{color:var(--muted);background:transparent}.quiet:hover{color:var(--text);background:var(--panel)}.full{width:100%}.text-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.back-link{display:inline-block;margin-bottom:1.5rem;font-size:.9rem}.stack,.field,.media-tools{display:flex;flex-direction:column}.stack{gap:1.25rem}.field{gap:.45rem}.media-tools{gap:1.5rem}.panel{padding:1.6rem;background:var(--panel);border:1px solid var(--border);border-radius:8px}.panel h2{margin-bottom:1.25rem}.editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2rem;align-items:start}.editor-form{max-width:720px}.form-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem}.library-filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:2rem}.search-field{flex:1}.library-filters select{min-width:170px}.library-filters>.text-link{padding-bottom:.65rem}.film-list{border-top:1px solid var(--border)}.film-row{display:grid;grid-template-columns:180px minmax(0,1fr) 110px 70px;align-items:center;gap:1.4rem;padding:1.25rem 0;border-bottom:1px solid var(--border)}.film-art{aspect-ratio:16/9;overflow:hidden;border-radius:5px;background:var(--panel);display:flex;align-items:center;justify-content:center}.film-art img{width:100%;height:100%;object-fit:cover}.art-placeholder{color:var(--muted);font-size:.85rem}.film-copy h2 a:hover{color:var(--accent)}.film-copy p{color:var(--muted);margin:.35rem 0;font-size:.95rem}.film-meta{font-size:.8rem}.badge{display:inline-flex;padding:.25rem .7rem;border-radius:20px;border:1px solid var(--border);font-size:.8rem;width:fit-content;color:var(--muted);background:var(--panel)}.badge.published,.badge.ready{color:var(--success);border-color:#46665f}.badge.processing,.badge.uploading{color:var(--accent);border-color:var(--accent)}.badge.failed{color:var(--error);border-color:#815957}.empty-state{padding:4.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.empty-state p{max-width:48ch}.empty-frame{width:130px;aspect-ratio:16/9;border:2px solid var(--border);border-top:8px solid var(--border);margin-bottom:.8rem}.notice{margin-bottom:1.5rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:5px}.notice p{margin-top:.5rem}.notice ul{padding-left:1.2rem;margin-bottom:0}.notice.success{border-color:#46665f;color:var(--success)}.notice.error,.upload-status.error{color:var(--error)}.notice.error{border-color:#815957}.status-strip{padding:1.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:2.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;background:var(--panel)}.status-strip>div:first-child{flex:1}.status-strip .help{margin-top:.65rem}.status-strip .form-actions{margin-top:0}.processing-meter{display:flex;gap:.75rem;align-items:center}.processing-meter progress{width:120px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:2rem;align-items:start}.preview-section h2{margin-bottom:1rem}.player-shell{position:relative;background:#000;border-radius:7px;overflow:hidden}.player-shell video{width:100%;display:block;aspect-ratio:16/9}.preview-start{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-message:not(:empty){padding:1rem;color:var(--error)}.preview-empty{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--panel);overflow:hidden}.preview-empty img{width:100%;max-height:240px;object-fit:cover}.preview-empty p{padding:1rem;color:var(--muted);text-align:center}.preview-section>.help{margin-top:.8rem}.description{margin-top:2rem;max-width:68ch;white-space:pre-line}.film-facts dl{margin-top:0}.film-facts dt{color:var(--muted);font-size:.875rem;margin-top:1rem}.film-facts dd{margin:.2rem 0}.identifier{font-size:.85rem;overflow-wrap:anywhere}.storage-options legend{margin-bottom:.65rem}.storage-option{display:flex;align-items:flex-start;gap:.65rem;margin-top:.75rem;padding:1rem;border:1px solid var(--border);border-radius:5px;cursor:pointer}.storage-option input,.check input{width:18px;min-height:18px;height:18px;accent-color:var(--accent);margin-top:.25rem;flex:none}.storage-option .help{display:block;margin-top:.3rem}.check{display:flex;gap:.6rem;align-items:center;font-weight:400}.thumbnail-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px;margin-bottom:1.3rem}.separated{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.input-unit{display:flex;align-items:center;gap:.8rem}.input-unit input{max-width:150px}.input-unit span{color:var(--muted);font-size:.875rem}.subtitle-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.subtitle-list li{display:flex;gap:1rem;justify-content:space-between;font-size:.9rem}.upload-progress{width:100%;height:8px;accent-color:var(--accent);margin-top:1.2rem}.upload-status{margin-top:1rem;color:var(--muted);font-size:.9rem}[hidden]{display:none!important}.login-page{display:flex;align-items:center;justify-content:center}.login-panel{max-width:460px;width:100%;padding:1.5rem 0}.login-panel h1{font-size:2.6rem}.login-panel>p{margin:1rem 0 2rem}.footer{border-top:1px solid var(--border);padding:1.5rem;max-width:1200px;margin:auto;color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between}.pagination-links{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;font-size:.9rem}.pagination-links a{color:var(--accent);padding:.5rem}.skip-link{position:absolute;left:1rem;top:-100px;background:var(--accent);color:var(--bg);padding:.6rem;z-index:5}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:850px){.editor-grid,.detail-grid{grid-template-columns:1fr}.film-row{grid-template-columns:140px minmax(0,1fr) 90px;gap:1rem}.film-row>.quiet{grid-column:3;padding:0;min-height:30px}.film-row .badge{grid-column:3;grid-row:1}.film-art,.film-copy{grid-row:1/3}.masthead{gap:1.5rem}.status-strip{padding:1rem}.processing-meter{flex-wrap:wrap}}@media(max-width:560px){.masthead{padding:1rem;gap:1rem;flex-wrap:wrap}.masthead nav{order:3;width:100%}.page{padding:2rem 1rem 3rem}.page-heading{align-items:flex-start;flex-direction:column;gap:1rem}.library-filters{flex-wrap:wrap}.library-filters .search-field{flex-basis:100%}.library-filters>.field:not(.search-field){flex:1}.film-row{grid-template-columns:110px minmax(0,1fr);gap:.9rem}.film-row .badge{grid-column:2;grid-row:2}.film-row>.quiet{grid-column:2;grid-row:3;justify-self:start}.film-art{grid-row:1/4;align-self:start}.film-copy{grid-row:1}.film-copy h1,h2{overflow-wrap:anywhere}.film-copy{min-width:0}h2{font-size:1.1rem}.film-meta{font-size:.75rem}.panel{padding:1.2rem}.status-strip>div:first-child{flex-basis:100%}.login-panel h1{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.masthead nav{display:flex;flex-wrap:wrap;min-width:0;gap:1.5rem}.masthead nav [aria-current="page"]{color:var(--text)}.user-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--border)}.user-copy{min-width:0;overflow-wrap:anywhere}.user-copy .help{margin-top:.3rem}.user-editor{max-width:680px}.user-editor>.help{margin-bottom:1rem}@media(max-width:560px){.user-row{grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.user-row .user-copy{grid-column:1/-1}.user-row>.quiet{justify-self:end}}
.button.danger{color:var(--error);background:transparent;border-color:var(--error)}.button.danger:hover{background:var(--error);color:var(--bg)}

.guide-portal{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.guide-portal .masthead{flex:none}.guide-portal .footer{display:none}.page.guide-page{padding:0;max-width:none;width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.guide-heading{padding:1.3rem 1.5rem;border-bottom:1px solid var(--border);flex:none}.guide-heading h1{font-size:1.3rem;letter-spacing:-.025em;margin-bottom:.35rem}.admin-guide-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:var(--bg)}.guide-unavailable{max-width:760px;margin:2rem 1.5rem}.guide-unavailable p{margin-top:1rem}.guide-unavailable code{display:block;margin-top:.5rem;color:var(--accent)}
