@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap";:root{--bg:#e9eef2;--surface:#f9fbfd;--card:#fff;--text:#0d1b2a;--muted:#4f6073;--line:#d4dee7;--brand:#087eb5;--brand-dark:#0a5f87;--accent:#e2711d;--danger:#b42318;--success:#097969;--radius:.9rem}:root[data-theme=dark]{--bg:#0f1720;--surface:#16202a;--card:#1b2632;--text:#edf4fb;--muted:#9fb2c4;--line:#2f4152;--brand:#2ba3dd;--brand-dark:#1d7daa;--accent:#f29b4d;--danger:#ff736a;--success:#4ec9a5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:var(--bg);font-family:Manrope,Segoe UI,sans-serif;line-height:1.5}:root[data-theme=dark] body{background:var(--bg)}h1,h2,h3,h4,h5,h6{margin:0;font-family:Barlow,Trebuchet MS,sans-serif;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}input,textarea,select,button{font:inherit}input,textarea,select{border:1px solid var(--line);background:#fff;border-radius:.65rem;width:100%;padding:.62rem .8rem}textarea{resize:vertical;min-height:7rem}button{background:var(--brand-dark);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:.65rem;padding:.62rem .9rem;font-weight:600}button:disabled{opacity:.75;cursor:not-allowed}.app-shell{background:var(--bg);min-height:100vh}:root[data-school-themed=true] .app-shell{background:var(--school-shell-bg,var(--bg))}:root[data-theme=dark][data-school-themed=true] .app-shell{background:var(--bg)}.app-header{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffe6;position:sticky;top:0}:root[data-school-themed=true] .app-header{background:color-mix(in srgb, var(--school-primary,var(--brand)) 24%, #eef0f2 76%)}:root[data-theme=dark] .app-header{background:#101923e0}:root[data-theme=dark][data-school-themed=true] .app-header{background:color-mix(in srgb, var(--school-primary,var(--brand)) 30%, #20262d 70%)}.header-inner{align-items:center;gap:1rem;max-width:1120px;height:4.2rem;margin:0 auto;padding:0 1.2rem;display:flex}.brand{align-items:center;gap:.65rem;font-family:Barlow,Trebuchet MS,sans-serif;font-size:1.2rem;font-weight:700;display:inline-flex}.brand-mark{justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.brand-mark img{width:2rem;height:2rem;display:block}.app-nav{gap:.35rem;display:flex}.app-nav a{color:var(--muted);border-radius:.55rem;padding:.45rem .7rem;font-weight:600}.app-nav a.active{color:var(--brand-dark);background:#d9ecf6}.user-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;place-items:center;width:2.2rem;height:2.2rem;padding:0;display:inline-grid}.theme-toggle-icon{width:1.2rem;height:1.2rem}.theme-toggle:hover{background:var(--surface)}.solid-link,.ghost-link{border-radius:.6rem;padding:.48rem .78rem;font-weight:600}.solid-link{color:#fff;background:var(--brand-dark)}.ghost-link{border:1px solid var(--line);color:var(--text);background:var(--card)}.user-menu-wrap{position:relative}.avatar-button{border-radius:999px;place-items:center;width:2.2rem;height:2.2rem;padding:0;font-size:.8rem;display:inline-grid}.user-menu{border:1px solid var(--line);background:var(--card);border-radius:.7rem;gap:.25rem;min-width:12rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 10px 24px #06182c1f}.user-menu p{color:var(--muted);padding:.3rem .4rem;font-size:.8rem}.user-menu a,.user-menu button{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:.5rem;padding:.42rem .5rem}.user-menu a:hover,.user-menu button:hover{background:#f2f7fb}.page-container{max-width:1160px;margin:0 auto;padding:1.3rem}.panel{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);width:min(720px,100%);padding:1.2rem;box-shadow:0 6px 18px #0c17220f}.panel-wide{width:100%}.dashboard-page{gap:1rem;animation:.4s page-rise;display:grid}.dashboard-page.school-themed{background:color-mix(in srgb, var(--brand) 20%, #f1f2f3 80%);border-radius:1rem;padding:.8rem}:root[data-theme=dark] .dashboard-page.school-themed{background:color-mix(in srgb, var(--brand) 28%, #212830 72%)}.dashboard-hero{color:#fff;background:var(--brand-dark);border-radius:1.05rem;align-items:end;min-height:120px;padding:1.8rem;display:grid}.dashboard-hero-school{background:var(--brand);border:7px solid var(--brand)}:root[data-theme=dark] .dashboard-hero-school{border:7px solid var(--accent)}:root[data-theme=dark][data-school-slug=pittsburg] .dashboard-hero-school{border-color:var(--brand)}.kicker{text-transform:uppercase;letter-spacing:.09em;color:#9ecde3;margin-bottom:.35rem;font-size:.72rem}.dashboard-hero h1{margin-bottom:.35rem;font-size:clamp(1.75rem,3vw,3.2rem)}.dashboard-hero p{color:#ddeef7;max-width:53ch}.school-logo-strip{justify-content:flex-start;align-items:center;gap:16px;width:max-content;max-width:100%;min-height:92px;margin:0 auto;padding:.45rem 16px;display:flex;overflow-x:auto}.school-logo-button{background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:75px;height:75px;padding:0;text-decoration:none;transition:transform .14s;display:grid;position:relative;overflow:hidden}.school-logo-button img{object-fit:contain;width:100%;height:100%}.school-logo-button.active{transform:scale(1.03)}.school-logo-button.active:after{content:"";pointer-events:none;border:3px solid #9dc7de;border-radius:999px;position:absolute;inset:2px}.school-logo-button:hover{transform:scale(1.05)}.catalog-shell{gap:1rem;display:grid}.lifecycle-tabs{flex-wrap:wrap;gap:.45rem;display:flex}.lifecycle-tabs button{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .65rem;font-weight:700}.lifecycle-tabs button.active{color:var(--brand-dark);background:#d9ecf6;border-color:#9dc7de}.catalog-controls{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(160px,1fr));gap:.8rem;display:grid}.catalog-controls label,.form-grid label{color:var(--muted);gap:.35rem;font-size:.95rem;font-weight:600;display:grid}.event-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:.85rem;display:grid}.event-card-link{color:inherit;height:100%;display:block}.event-card{border:1px solid var(--line);background:var(--surface);border-radius:.9rem;grid-template-rows:auto 1fr;height:100%;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden}.event-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #0715211a}.event-card-media{aspect-ratio:16/9;position:relative}.event-card-media img{object-fit:cover;width:100%;height:100%}.event-status{text-transform:capitalize;color:#fff;background:#00000080;border-radius:999px;padding:.18rem .52rem;font-size:.7rem}.event-status-stack{justify-items:end;gap:.35rem;display:grid;position:absolute;top:.6rem;right:.6rem}.event-status-lifecycle-live{background:#c81a1aeb}.event-status-lifecycle-upcoming{background:#087eb5eb}.event-status-lifecycle-replay{background:#504cace6}.event-status-access-free{background:#097969e6}.event-status-access-purchased{background:#0f8f3deb}.event-status-access-locked{background:#4f6073eb}.event-status-published{background:#097969e6}.event-status-draft,.event-status-unpublished,.event-status-archived{background:#4f6073e6}.event-card-body{grid-template-rows:minmax(2.5rem,auto) auto auto;align-content:start;gap:.52rem;padding:.8rem;display:grid}.event-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.08rem;line-height:1.2;display:-webkit-box;overflow:hidden}.event-badges{flex-wrap:wrap;gap:.35rem;min-height:1.45rem;display:flex}.event-badge{color:var(--brand-dark);white-space:nowrap;text-overflow:ellipsis;background:#d9ecf6;border-radius:999px;max-width:100%;padding:.16rem .5rem;font-size:.73rem;overflow:hidden}.event-badge-secondary{color:#764719;background:#f8e5d2}.event-meta{color:var(--muted);justify-content:space-between;gap:.5rem;font-size:.82rem;display:flex}.event-actions{flex-wrap:wrap;gap:.45rem;margin-top:.2rem;display:flex}.event-actions button,.event-actions .ghost-link,.event-actions .solid-link{text-align:center;flex:1}.event-actions .purchased-button{color:#fff;opacity:1;background:#0b6f2f;border-color:#0a5f2a}.free-chip{color:#0a6f53;background:#dcf9ef;border:1px solid #b6ecd7;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.updates-panel{gap:.9rem;display:grid}.featured-stream-panel{gap:.85rem;display:grid}.featured-stream-layout{grid-template-columns:1.5fr 1fr;gap:.9rem;min-width:0;display:grid}.featured-stream-media{aspect-ratio:16/9;background:var(--card);border-radius:.85rem;display:block;position:relative;overflow:hidden}.featured-stream-media img{object-fit:contain;width:100%;height:100%;display:block}.featured-stream-details{gap:.7rem}.featured-stream-details .solid-link{justify-self:start}.checkout-banner{border:1px solid var(--line);background:#f7fbfe;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;padding:.8rem;display:flex}.checkout-banner strong{margin-bottom:.2rem;display:inline-block}.checkout-banner p{color:var(--muted)}.checkout-banner-success{background:#ebf9f5;border-color:#8fd9c9}.checkout-banner-error{background:#fff4f4;border-color:#ecc7c7}.checkout-banner-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.panel-title-row{justify-content:space-between;align-items:center;display:flex}.updates-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.update-card{border:1px solid var(--line);background:#fbfdff;border-radius:.8rem;gap:.75rem;padding:.9rem;display:grid}.update-card h3{margin-bottom:.35rem}.update-card p{color:var(--muted)}.meta{font-size:.8rem}.stream-page{animation:.35s page-rise}.stream-grid{grid-template-columns:1.7fr 1fr;gap:1rem;display:grid}.stream-playback-page .stream-grid{grid-template-columns:1fr}.stream-player-card{background:#020b13;border-radius:.85rem;min-height:340px;position:relative;overflow:hidden}.stream-playback-page .stream-player-card{aspect-ratio:16/9;min-height:0}.event-details-page .stream-player-card{background:var(--card)}.stream-player-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stream-overlay{color:#fff;background:#00000094;flex-direction:column;justify-content:flex-end;gap:.42rem;padding:1.2rem;display:flex;position:absolute;inset:0}.stream-state-badges{flex-wrap:wrap;gap:.35rem;display:flex}.stream-overlay-actions{flex-wrap:wrap;gap:.45rem;margin-top:.6rem;display:flex}.stream-overlay-actions button,.stream-overlay-actions .ghost-link,.stream-overlay-actions .solid-link{text-align:center;flex:1}.stream-player-shell{position:absolute;inset:0}.stream-video{object-fit:contain;background:#020b13;width:100%;height:100%}.stream-overlay-top{pointer-events:none;background:#00000080;justify-content:flex-start}.stream-details-card{border:1px solid var(--line);background:#fbfdff;border-radius:.85rem;align-content:start;gap:.9rem;padding:1rem;display:grid}.stream-details-card p{color:var(--muted)}.stream-details-meta{gap:.4rem;display:grid}.stream-details-meta p{color:var(--text);margin:0;font-size:1rem;font-weight:700}.stream-back-link{place-self:start;width:auto;margin-top:auto;padding:.32rem .56rem;font-size:.82rem}.account-page{animation:.3s page-rise}.account-grid{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1rem;display:grid}.account-profile-card,.account-library-card{border:1px solid var(--line);background:#fbfdff;border-radius:.85rem;gap:.8rem;padding:.95rem;display:grid}.account-profile-card{align-content:start;gap:.55rem}.account-profile-card h1{font-size:1.35rem}.avatar-large{color:#fff;background:var(--brand-dark);border-radius:999px;place-items:center;width:4.4rem;height:4.4rem;font-size:1.2rem;font-weight:700;display:inline-grid}.account-profile-card p{color:var(--muted)}.account-billing-card{border:1px dashed var(--line);border-radius:.75rem;gap:.4rem;padding:.75rem;display:grid}.account-section-nav{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.account-preferences-grid{gap:.55rem;display:grid}.account-toggle-row{align-items:center;gap:.55rem;display:flex}.account-toggle-row input[type=checkbox]{width:1rem;height:1rem;margin:0}.account-placeholder-callout{border:1px dashed var(--line);border-radius:.7rem;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem;display:flex}.account-placeholder-callout p{color:var(--muted)}.account-history-card{border:1px solid var(--line);background:#fff;border-radius:.75rem;gap:.55rem;margin-top:.5rem;padding:.75rem;display:grid}.continue-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.continue-card{border:1px solid var(--line);background:#f9fcff;border-radius:.75rem;overflow:hidden}.continue-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.continue-card-body{gap:.4rem;padding:.7rem;display:grid}.continue-card-body p{color:var(--muted);font-size:.86rem}.continue-card-actions{flex-wrap:wrap;gap:.45rem;margin-top:.2rem;display:flex}.continue-card-actions .solid-link,.continue-card-actions .ghost-link{text-align:center;flex:1}.dashboard-sections{gap:1rem;display:grid}.panel-section{border:1px solid var(--line);background:#fbfdff;border-radius:.75rem;padding:.9rem}.panel-section>h2{margin-bottom:.35rem}.admin-create-section{align-content:start}.admin-create-toolbar{align-items:flex-start}.admin-create-toolbar h2{margin-bottom:.25rem}.admin-create-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-left:auto;display:flex}.admin-create-button{padding-left:.95rem;padding-right:.95rem}.admin-create-button-active{border-color:var(--line);color:var(--brand-dark);background:#d9ecf6}.admin-create-form-wrap{border:1px solid var(--line);background:#fff;border-radius:.75rem;width:min(75%,940px);margin:.85rem auto 0;padding:.85rem}.admin-shell{gap:.9rem;display:grid}.admin-header h1{margin-bottom:.3rem}.admin-header p{color:var(--muted)}.admin-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.admin-tabs a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:.62rem;padding:.52rem .8rem;font-size:.9rem;font-weight:700}.admin-tabs a.active{color:var(--brand-dark);background:#d9ecf6}.admin-content{gap:1rem;display:grid}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.admin-events-grid{align-items:start}.admin-span-two{grid-column:1/-1}.admin-muted{color:var(--muted)}.admin-table-wrap{border:1px solid var(--line);border-radius:.75rem;overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%;min-width:640px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #edf2f7;padding:.62rem .7rem;font-size:.9rem}.admin-table th{text-transform:uppercase;letter-spacing:.06em;color:#6b7a8a;background:#f7fafc;font-size:.78rem}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.admin-stat-card{border:1px solid var(--line);background:#fff;border-radius:.75rem;gap:.25rem;padding:.8rem;display:grid}.admin-stat-card p{color:var(--muted);font-size:.82rem}.admin-stat-card strong{font-size:1.15rem}.form-grid{gap:.85rem;margin:.8rem 0;display:grid}.auth-panel{width:min(560px,100%);margin-inline:auto}.field-error{margin-top:-.2rem;font-size:.84rem}.auth-inline-link{color:var(--brand-dark);font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .16s,text-decoration-color .16s}.auth-inline-link:hover,.auth-inline-link:focus-visible{color:var(--accent);text-decoration-color:currentColor}.auth-register-link{border-radius:.35rem;padding:.12rem .2rem}.auth-register-link:hover,.auth-register-link:focus-visible{background:color-mix(in srgb, var(--accent) 14%, transparent)}.list-grid{gap:.75rem;display:grid}.list-item{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;gap:.42rem;padding:.85rem;display:grid}.admin-item-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-item-toolbar{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.admin-item-toolbar .admin-item-head{flex:1}.admin-item-head h3{margin:0}.admin-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .85rem;display:grid}.admin-meta-grid p{color:var(--muted);margin:0;font-size:.88rem}.admin-stream-config{border:1px dashed var(--line);background:color-mix(in srgb, var(--surface) 92%, #fff);border-radius:.65rem;gap:.28rem;padding:.6rem .7rem;display:grid}.admin-stream-config-full{grid-column:1/-1}.admin-stream-config p{color:var(--muted);margin:0;font-size:.84rem}.admin-stream-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:.84rem}.admin-stream-mono{word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem}.admin-edit-form{border:1px dashed var(--line);background:#fff;border-radius:.7rem;padding:.65rem}.admin-edit-form label{font-size:.86rem}.admin-edit-form .form-grid,.admin-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.admin-edit-form textarea{min-height:5rem}.admin-actions{margin-top:.2rem}.admin-user-email-form{gap:.45rem;min-width:260px;margin-top:.55rem;display:grid}.admin-user-email-form label{color:var(--muted);gap:.28rem;font-size:.8rem;display:grid}.admin-user-email-form textarea{min-height:5.2rem}.btn-secondary{color:var(--text);border-color:var(--line);background:#fff}.btn-warning{color:#7d3f10;background:#fff4ea;border-color:#efcfb3}.btn-danger{color:#8a1f1f;background:#fef0f0;border-color:#efc7c7}.panel-toggle{min-width:5.8rem;padding:.45rem .68rem;font-size:.84rem}.list-item-actions{flex-wrap:wrap;gap:.45rem;display:flex}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:.8rem;padding:1.1rem}.empty-state h3{color:var(--text);margin-bottom:.35rem}.error-text{color:var(--danger)}.success-text{color:var(--success)}.loading-indicator{color:var(--muted);align-items:baseline;gap:.14rem;font-weight:600;display:inline-flex}.loading-dots{justify-content:space-between;min-width:1.4ch;display:inline-flex}.loading-dots span{opacity:.24;animation:1.1s ease-in-out infinite loading-dot-pulse}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{background:var(--card);color:var(--text)}:root[data-theme=dark] article,:root[data-theme=dark] .panel,:root[data-theme=dark] .account-profile-card,:root[data-theme=dark] .account-library-card,:root[data-theme=dark] .account-history-card,:root[data-theme=dark] .continue-card,:root[data-theme=dark] .panel-section,:root[data-theme=dark] .update-card,:root[data-theme=dark] .admin-create-form-wrap,:root[data-theme=dark] .admin-edit-form,:root[data-theme=dark] .admin-stat-card,:root[data-theme=dark] .admin-table,:root[data-theme=dark] .btn-secondary,:root[data-theme=dark] .lifecycle-tabs button,:root[data-theme=dark] .admin-tabs a,:root[data-theme=dark] .user-menu a,:root[data-theme=dark] .user-menu button,:root[data-theme=dark] .ghost-link{background:var(--card);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .event-card,:root[data-theme=dark] .list-item,:root[data-theme=dark] .featured-stream-media,:root[data-theme=dark] .stream-details-card{background:var(--surface)}:root[data-theme=dark] .app-nav a.active,:root[data-theme=dark] .lifecycle-tabs button.active,:root[data-theme=dark] .admin-tabs a.active,:root[data-theme=dark] .admin-create-button-active{color:var(--text);background:#253445}:root[data-theme=dark] .event-badge{color:#d5e9fa;background:#253445}:root[data-theme=dark] .event-badge-secondary{color:#ffd6b1;background:#4a3727}:root[data-theme=dark] .admin-table th,:root[data-theme=dark] .admin-table td{border-bottom:1px solid var(--line)}:root[data-theme=dark] .admin-table th{color:var(--muted);background:#223140}:root[data-theme=dark] .user-menu a:hover,:root[data-theme=dark] .user-menu button:hover,:root[data-theme=dark] .theme-toggle:hover{background:var(--surface)}@keyframes page-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-dot-pulse{0%,80%,to{opacity:.24;transform:translateY(0)}40%{opacity:1;transform:translateY(-1px)}}@media (width<=900px){.stream-grid,.featured-stream-layout,.account-grid,.catalog-controls,.admin-grid,.admin-stat-grid,.admin-meta-grid,.admin-edit-form,.admin-edit-form .form-grid{grid-template-columns:1fr}.header-inner{flex-wrap:wrap;height:auto;min-height:4.2rem;padding-top:.6rem;padding-bottom:.6rem}.app-nav{order:3;width:100%;overflow-x:auto}.user-actions{margin-left:auto}.checkout-banner{display:grid}.school-logo-strip{grid-template-columns:repeat(3,minmax(0,1fr));place-items:center;gap:.7rem;width:100%;min-height:0;margin:0;padding:.45rem 0;display:grid;overflow:visible}.school-logo-button{width:clamp(58px,22vw,75px);height:clamp(58px,22vw,75px)}.featured-stream-media{justify-self:center;width:min(100%,28rem)}.admin-create-form-wrap{width:100%}.admin-create-actions{justify-content:flex-start;margin-left:0}}@media (width<=640px){.featured-stream-media{width:min(100%,22rem)}}
