:root{--canvas:#f7f5f0;--surface:#fff;--ink:#182433;--muted:#59636f;--navy:#003566;--mustard:#f9c74c;--red:#c71618;--gold:#e0a240;--line:#d9d7d1;--shadow:0 12px 32px #1824331f;--radius-sm:8px;--radius:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--transition:.16s ease;--font:ui-sans-serif, system-ui, sans-serif;--preview-size:360px;--preview-expanded:160px}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:var(--font);margin:0;line-height:1.5}a{color:var(--navy);text-underline-offset:var(--space-1)}button,input,select{font:inherit;border-radius:var(--radius-sm)}:focus-visible{box-shadow:0 0 0 5px var(--red);outline:3px solid var(--navy);outline-offset:var(--space-1)}.button-secondary:focus-visible,.button-danger:focus-visible{box-shadow:0 0 0 5px var(--navy);outline-color:var(--mustard)}.eyebrow{color:var(--navy);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02}h2{font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.15}.skip-link{background:var(--mustard);color:var(--ink);left:var(--space-4);padding:var(--space-2) var(--space-3);top:calc(-1 * var(--space-16));z-index:2;position:fixed}.skip-link:focus{top:var(--space-4)}.site-header{background:var(--surface);border-bottom:4px solid var(--mustard);align-items:center;gap:var(--space-4);padding:var(--space-3) clamp(var(--space-4), 5vw, var(--space-16));flex-wrap:wrap;justify-content:space-between;display:flex}.brand{color:var(--navy);align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.brand img{object-fit:contain;width:68px;height:34px;display:block}.site-nav,.account-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.site-nav a{font-weight:700}.account-actions{color:var(--muted);font-size:.875rem}.account-actions form{margin:0}.page-content{max-width:1280px;padding:clamp(var(--space-6), 5vw, var(--space-16));margin:0 auto}.landing-hero{max-width:780px;padding-block:clamp(var(--space-12), 14vh, calc(var(--space-16) * 2))}.landing-hero h1{color:var(--navy);margin-block:var(--space-3) var(--space-6)}.hero-copy{color:var(--muted);max-width:58ch;font-size:clamp(1.1rem,2vw,1.35rem)}.auth-panel,.detail-panel{background:var(--surface);border-top:6px solid var(--gold);box-shadow:var(--shadow);margin:clamp(var(--space-8), 12vh, var(--space-16)) auto;max-width:520px;padding:clamp(var(--space-6), 5vw, var(--space-12))}.error-page{max-width:680px}.duration-value{white-space:nowrap}.auth-panel p,.detail-panel p{color:var(--muted)}.page-heading,.section-heading{align-items:end;gap:var(--space-4);margin-bottom:var(--space-6);justify-content:space-between;display:flex}.page-heading h1,.section-heading h2{color:var(--navy);margin-bottom:0}.editor-grid,.admin-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(var(--space-4), 4vw, var(--space-8))}.slides-panel{min-width:0}.count-badge,.status{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:.75rem;font-weight:800}.count-badge{background:var(--mustard);color:var(--ink)}.empty-state{border-left:4px solid var(--gold);color:var(--muted);padding-left:var(--space-3);margin:0}.notice{border-left:6px solid var(--gold);align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.notice h2{margin-bottom:var(--space-1)}.notice-token{background:color-mix(in srgb, var(--mustard) 22%, var(--surface))}.notice-error{background:color-mix(in srgb, var(--red) 8%, var(--surface));border-color:var(--red)}.notice-error h2,.field-error{color:var(--red)}.notice-error ul{margin-bottom:0}.display-link{overflow-wrap:anywhere;font-size:.875rem;display:inline-block}@media (width>=900px){.editor-grid,.admin-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}}@media (width<=620px){.site-header,.page-heading{flex-direction:column;align-items:flex-start}}.form-grid{gap:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}label{color:var(--ink);font-weight:750}input,select{background:var(--surface);border:1px solid var(--line);color:var(--ink);min-height:44px;padding:var(--space-2) var(--space-3);width:100%}.file-input{opacity:0;width:1px;height:1px;position:absolute}.file-input:focus-visible+.file-button{outline:3px solid var(--red);outline-offset:3px}.field-help,.field-error{margin-bottom:0;font-size:.875rem}.field-help{color:var(--muted)}.field-error{font-weight:700}.button{background:var(--mustard);border:1px solid var(--mustard);color:var(--ink);cursor:pointer;min-height:44px;padding:var(--space-2) var(--space-4);transition:background-color var(--transition), box-shadow var(--transition), color var(--transition);justify-content:center;width:fit-content;text-decoration:none;display:inline-flex}.button:hover{background:var(--gold);box-shadow:var(--shadow)}.button:disabled{cursor:not-allowed;opacity:.5}.button-secondary{background:var(--navy);border-color:var(--navy);color:var(--surface)}.button-secondary:hover{background:var(--ink)}.button-quiet{color:var(--navy);min-height:36px;padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000}.button-danger{background:var(--red);border-color:var(--red);color:var(--surface)}.button-danger:hover{background:var(--ink);border-color:var(--ink)}.slide-list,.management-list{gap:var(--space-3);margin:0 0 var(--space-6);padding:0;list-style:none;display:grid}.slide-row{border-bottom:1px solid var(--line);align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);grid-template-columns:auto auto minmax(0,1fr);display:grid}.slide-index{color:var(--muted);font-weight:800}.slide-thumbnail{height:var(--space-16);transition:height var(--transition), width var(--transition);width:var(--space-16);display:block}.slide-thumbnail img{border:1px solid var(--line);border-radius:var(--radius-sm);object-fit:cover;height:100%;transition:box-shadow var(--transition);width:100%;display:block}.slide-thumbnail:hover,.slide-thumbnail:focus-visible{height:var(--preview-expanded);width:var(--preview-expanded)}.slide-resolution-warning{color:var(--red);grid-column:3;margin:0;font-size:.875rem}.slide-thumbnail:hover img,.slide-thumbnail:focus-visible img{box-shadow:var(--shadow)}.slide-name{overflow-wrap:anywhere;font-weight:750}.row-actions,.duration-form{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:3;display:flex}.duration-form label{font-size:.875rem}.duration-form input{width:88px;min-height:36px}.management-list li{border-bottom:1px solid var(--line);padding-bottom:var(--space-3)}.inline-form,.user-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.inline-form input{flex:180px;max-width:360px}.user-row>div{gap:var(--space-1);display:grid}.user-row span:not(.status){color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.status-active{background:color-mix(in srgb, var(--gold) 25%, var(--surface));color:var(--ink)}.status-disabled{background:color-mix(in srgb, var(--red) 12%, var(--surface));color:var(--red)}.delete-form,.delete-fallback{grid-column:3;min-width:0}.delete-fallback summary{color:var(--red);cursor:pointer;margin-bottom:var(--space-2);font-weight:750}.slide-delete-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);max-width:min(calc(100vw - var(--space-8)), var(--preview-size));padding:var(--space-6)}.slide-delete-dialog::backdrop{background:#1824338f}.slide-delete-dialog h3{margin-top:0}.slide-delete-dialog img{border-radius:var(--radius-sm);height:auto;margin-bottom:var(--space-4);max-height:min(50vh, var(--preview-size));object-fit:contain;width:100%;max-width:100%;display:block}.dialog-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width>=1024px){.slide-row{grid-template-columns:auto var(--preview-expanded) minmax(160px, 1fr) auto auto auto}.row-actions,.duration-form,.delete-form,.delete-fallback{grid-column:auto}}@media (width<=500px){.button{width:100%}.slide-row{grid-template-columns:auto minmax(0,1fr)}.slide-thumbnail,.slide-name,.slide-resolution-warning,.row-actions,.duration-form,.delete-fallback{grid-column:2}.delete-form{grid-column:1/-1}.row-actions .button,.duration-form .button,.inline-form .button,.user-row .button{width:auto}}@media (prefers-reduced-motion:reduce){.slide-thumbnail,.slide-thumbnail img{transition:none}}[x-cloak]{display:none!important}.display-page{--player-bg:#000;--player-ink:#fff;--player-track:#333;background:var(--player-bg);color:var(--player-ink);overflow:hidden}.display-main{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative}.display-media,.display-media img{width:100%;height:100%}.display-media img{object-fit:contain;display:block}.display-waiting{text-align:center;font-size:clamp(1.25rem,4vw,2rem)}.display-waiting p{color:var(--mustard)}.display-progress{background:var(--player-bg);bottom:var(--space-8);gap:var(--space-1);height:var(--space-1);left:var(--space-8);right:var(--space-8);display:flex;position:fixed}.display-progress span{background:var(--player-track);flex:1}.display-progress span[data-progress-state=completed]{background:var(--mustard);transform:scaleX(1)}.display-progress span[data-progress-state=current]{background:var(--mustard)}@keyframes display-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=500px){.display-progress{bottom:var(--space-4);left:var(--space-4);right:var(--space-4)}}
