.react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding) * 1px);position:relative}.react-photo-album--image{width:100%;height:auto;aspect-ratio:var(--react-photo-album--photo-width) / var(--react-photo-album--photo-height);display:block}.react-photo-album--button{cursor:pointer;border:initial;background:initial}.react-photo-album--rows{row-gap:calc(var(--react-photo-album--spacing) * 1px);flex-direction:column}.react-photo-album--rows .react-photo-album--track{--react-photo-album--track-gaps:calc(var(--react-photo-album--spacing) * (var(--react-photo-album--track-size) - 1) + 2 * var(--react-photo-album--padding) * var(--react-photo-album--track-size));justify-content:space-between}.react-photo-album--rows .react-photo-album--photo{width:calc((100% - var(--react-photo-album--track-gaps) * 1px) / (var(--react-photo-album--container-width) - var(--react-photo-album--track-gaps)) * var(--react-photo-album--photo-width) + 2px * var(--react-photo-album--padding))}
:root{--background:#f4f6fa;--foreground:#111827;--card:#fff;--muted:#667085;--line:#e4e8f0;--line-strong:#d7ddea;--primary:#6f3cff;--primary-strong:#5327df;--primary-soft:#f1ebff;--danger:#ef3f5f;--danger-soft:#fff0f5;--success:#12b76a;--warning:#fb7a21;--panel:#f8faff;--panel-muted:#8a94a6;--placeholder:#98a2b3;--font-sans-family:"Satoshi", "Manrope", "Avenir Next", "Helvetica Neue", sans-serif;--font-display-family:"Satoshi", "Manrope", "Avenir Next", "Helvetica Neue", sans-serif;--shadow-soft:0 18px 54px #202b3f14;--radius:14px;--pink:#f63383;--blue:#1677ff;--orange:#ff7a1a;--green:#10b981}*{box-sizing:border-box;border-color:var(--line)}html{background:var(--background);color:var(--foreground);font-family:var(--font-sans-family)}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--foreground);font-family:var(--font-sans-family);letter-spacing:0;font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:500;line-height:1.45}a{color:inherit;text-decoration:none}button,input,textarea{min-width:0;max-width:100%;font:inherit;letter-spacing:0}button{cursor:pointer;border:0}::selection{background:var(--primary);color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.grain{display:none}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display-family);font-size:30px;font-weight:760;line-height:1.08}h2{font-family:var(--font-display-family);font-size:22px;font-weight:760;line-height:1.12}.app-shell{width:100%;max-width:none;min-height:100vh;margin:0;padding:16px;position:relative}.topbar{border:1px solid var(--line);background:var(--card);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:12px;padding:14px 16px;display:grid}.topbar.compact{margin-bottom:12px}.eyebrow{color:#fff;text-transform:uppercase;background:#454a54;border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:5px 10px;font-size:11px;font-weight:760;line-height:1;display:inline-flex}.topbar h1{margin-top:8px}.status-pill{border:1px solid var(--line);min-height:34px;color:var(--foreground);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:8px 12px;font-size:12px;font-weight:720;display:inline-flex}.pulse-dot{background:var(--success);border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 4px #18a05f1f}.layout{grid-template-columns:minmax(300px,.28fr) minmax(0,1fr);align-items:start;gap:12px;width:100%;display:grid}.host-workspace{--sidebar-width:272px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;gap:12px;width:100%;display:grid}.host-shell .host-workspace{min-height:100vh}.host-shell .host-content{padding-top:16px}.host-sidebar{border:0;border-right:1px solid var(--line);background:#fff;border-radius:0;height:100vh;padding:16px 12px;position:sticky;top:0;left:0;overflow:auto}.host-topbar{margin-bottom:10px}.host-content{gap:10px;min-width:0;display:grid}.menu-open{width:fit-content}.sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.sidebar-logo{color:#171a1f;letter-spacing:0;font-size:25px;font-weight:860;line-height:1}.sidebar-logo:first-letter{color:#512bff}.sidebar-content{gap:8px;display:grid}.sidebar-group-title{color:var(--muted);margin-top:12px;font-size:11px;font-weight:720}.sidebar-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sidebar-actions .btn,.host-sidebar>.sidebar-content>.btn{min-height:34px;padding:8px 10px;font-size:11px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);position:relative;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:14px 16px;display:flex}.panel-body{padding:16px}.stack{gap:12px;display:grid}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn,.icon-btn{background:var(--primary);color:#fff;text-transform:uppercase;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;max-width:100%;min-height:36px;padding:9px 14px;font-size:12px;font-weight:760;line-height:1;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.btn.secondary,.icon-btn{border-color:var(--line);color:var(--foreground);background:#f8f9fb}.btn.secondary:hover,.icon-btn:hover{background:#eef2f5}.btn.mode{border-color:var(--line);color:var(--foreground);background:#f8f9fb}.btn.mode.active{background:var(--primary);color:#fff;border-color:#00786447}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover{background:#b62d2d}.btn.blue{color:#fff;background:#15191f}.btn.green{background:var(--success);color:#fff}.field,.textarea{border:1px solid var(--line);width:100%;color:var(--foreground);background:#fff;border-radius:6px;outline:none}.field{min-height:38px;padding:0 12px}.textarea{resize:vertical;border-radius:6px;min-height:150px;padding:12px}.field::placeholder,.textarea::placeholder{color:var(--placeholder)}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metric{border:1px solid var(--line);background:#fafbfc;border-radius:8px;min-height:86px;padding:12px}.metric strong{margin-top:8px;font-size:32px;font-weight:760;line-height:1;display:block}.section-nav{gap:2px;display:grid}.section-stack{gap:10px;display:grid}.section-action-bar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.section-action-bar .sidebar-group-title{margin-top:0;margin-bottom:3px}.section-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-action-buttons .btn,.section-long-action{width:230px;max-width:100%}.section-action-buttons .btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-button{min-height:36px;color:var(--foreground);background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px;font-size:13px;font-weight:660;display:flex}.section-button:hover{background:#f1f4f6}.section-button.active{background:var(--primary-soft);color:var(--primary-strong)}.section-button strong{color:#fff;text-align:center;background:#11151a;border-radius:999px;min-width:28px;padding:5px 8px;font-size:11px;line-height:1}.link-actions{gap:4px;display:grid}.link-box{overflow-wrap:anywhere;width:100%;color:var(--foreground);background:0 0;border-radius:8px;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:8px;padding:8px;display:grid}.link-box:hover,.link-box.copied{background:#f1f4f6}.link-copy-button{min-width:0;color:inherit;text-align:left;background:0 0;gap:6px;padding:0;display:grid}.link-count,.qr-button{color:#fff;background:#11151a;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.link-box strong{text-transform:uppercase;font-size:12px;font-weight:760}.link-box-copy{color:var(--panel-muted);font-size:12px}.admin-link-box{overflow-wrap:anywhere;border:1px solid var(--line);color:var(--foreground);text-align:left;background:#fafbfc;border-radius:8px;gap:6px;padding:12px;display:grid}.admin-link-box>button:first-child{min-width:0;color:inherit;text-align:left;background:0 0;gap:6px;padding:0;display:grid}.admin-link-box .btn{width:fit-content}.admin-metrics .metric{min-height:72px}.admin-link-box:hover,.admin-link-box.copied{background:var(--primary-soft)}.admin-link-box strong{text-transform:uppercase;font-size:12px;font-weight:760}.admin-link-box span{color:var(--panel-muted);font-size:13px;line-height:1.45}.admin-event-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.admin-event-meta strong{color:var(--foreground)}.list{gap:8px;display:grid}.item{border:1px solid var(--line);background:#fafbfc;border-radius:8px;gap:10px;padding:14px;display:grid}.item-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.music-link-check{background:#fff8e8;border:1px solid #9c68003d;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.music-link-check div{gap:3px;min-width:0;display:grid}.music-link-check strong{font-size:13px}.music-link-check span{color:#655236;font-size:13px;line-height:1.35}.music-request-copy strong{font-size:18px;line-height:1.18}.music-request-copy span{color:var(--muted);font-size:13px}.music-embed{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:126px}.attachment-grid,.projector-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.attachment-grid.count-1,.projector-photo-grid.count-1{grid-template-columns:1fr}.attachment-grid.count-3,.attachment-grid.count-5,.projector-photo-grid.count-3,.projector-photo-grid.count-5{grid-template-columns:repeat(3,minmax(0,1fr))}.attachment-tile{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;margin:0;position:relative;overflow:hidden}.attachment-tile img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.attachment-tile figcaption{gap:8px;padding:8px;display:grid}.attachment-actions{gap:6px;display:flex}.attachment-actions .btn{flex:1;min-height:30px;padding:7px 8px;font-size:10px}.tag.media-pending{background:#7a5c10}.tag.media-approved{background:var(--success)}.tag.media-rejected{background:var(--danger)}.generation-notice{background:#eefaf6;border:1px solid #00786433;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.generation-notice p{color:var(--muted);font-size:13px}.spinner{border:3px solid #0078642e;border-top-color:var(--primary);border-radius:999px;flex:none;width:28px;height:28px;animation:.85s linear infinite spin}.teacher-image-link{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:min(520px,100%);padding:8px;display:grid}.teacher-image{object-fit:contain;border-radius:6px;width:100%;max-height:58vh;display:block}.teacher-variant-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.teacher-job-item{background:#f5f1ff}.btn.active-soft{background:var(--primary-soft);color:var(--primary-strong);border-color:#00786457}.photo-workbench{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);align-items:start;gap:10px;display:grid}.tag{color:#fff;text-transform:uppercase;background:#11151a;border-radius:999px;align-items:center;min-height:26px;padding:5px 10px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.split-title{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:16px;display:grid}.split-title p{max-width:540px;font-size:14px;line-height:1.6}.graduate-stage{align-items:center;min-height:calc(100vh - 32px);display:grid}.graduate-shell{background:#eaf0f5;max-width:none}.graduate-chat{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(860px,100%);min-height:calc(100vh - 32px);margin:0 auto;display:grid}.graduate-chat-header,.graduate-composer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #d2d9e1d1;border-radius:10px;padding:14px;box-shadow:0 18px 44px #212d3d14}.graduate-chat-header{justify-content:space-between;align-items:start;gap:14px;display:flex}.graduate-chat-header h1{overflow-wrap:anywhere;margin-top:8px}.graduate-event-line{margin-top:4px;font-weight:720}.graduate-chat-feed{background:linear-gradient(135deg,#ffffffc7,#f0f6fcd6),radial-gradient(circle at 20% 20%,#0078640f,#0000 32%);border:1px solid #d2d9e1c2;border-radius:10px;align-content:start;gap:12px;min-height:0;padding:14px;display:grid;overflow:auto}.graduate-message-list{gap:10px;display:grid}.graduate-message{background:#fff;border:1px solid #d0dbe6eb;border-radius:16px 16px 16px 4px;gap:9px;width:min(620px,92%);padding:12px 14px;display:grid;box-shadow:0 8px 22px #26313d0f}.graduate-composer .graduate-form{gap:10px;display:grid}.graduate-field-label{color:var(--foreground);text-transform:uppercase;font-size:12px;font-weight:820}.graduate-hidden-form{gap:10px;display:grid}.graduate-hidden-input{border:1px dashed var(--line-strong);opacity:.72;background:linear-gradient(90deg,#e9eef4c2 0 42%,#0000 42%),#f8fafc;border-radius:8px;min-height:76px}.graduate-mode-overview{gap:10px;display:grid}.graduate-waiting-card{background:#eefaf6;border:1px solid #00786429;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.graduate-waiting-card strong,.graduate-format-card strong,.teacher-process h2{margin:0}.graduate-waiting-card p,.graduate-format-card p,.teacher-process p{color:var(--muted);margin:4px 0 0;line-height:1.45}.graduate-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.graduate-format-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.graduate-format-card strong{font-size:14px}.teacher-process{background:#f7f4ff;border:1px solid #6f3cff24;border-radius:8px;gap:12px;padding:12px;display:grid}.teacher-process h2{margin-top:8px;font-size:18px}.teacher-process ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.teacher-process li{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.teacher-process li span{width:30px;height:30px;color:var(--primary);background:#fff;border-radius:999px;place-items:center;font-size:13px;font-weight:840;display:grid}.graduate-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.file-drop{border:1px dashed var(--line-strong);width:fit-content;min-height:34px;color:var(--foreground);text-transform:uppercase;background:#fff;border-radius:6px;align-items:center;padding:8px 10px;font-size:12px;font-weight:720;display:inline-flex}.file-drop input{display:none}.preview-strip{grid-template-columns:repeat(5,minmax(0,88px));gap:8px;display:grid}.preview-strip img{aspect-ratio:1;border:1px solid var(--line);object-fit:cover;border-radius:8px;width:100%}.preview-strip.history{grid-template-columns:repeat(auto-fit,minmax(92px,120px))}.preview-strip figure{gap:4px;margin:0;display:grid}.preview-strip figcaption{color:var(--muted);font-size:11px}.teacher-fit-image{object-fit:contain;background:#fff;border-radius:8px;width:100%;max-width:100%;max-height:68vh;display:block}.graduate-tab{border:1px solid var(--line);min-height:52px;color:var(--foreground);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:760;display:flex}.graduate-tab.active{background:var(--primary);color:#fff;border-color:#00786447}.graduate-tab strong{color:#fff;background:#11151a;border-radius:999px;min-width:30px;padding:6px 9px;font-size:11px;line-height:1}.graduate-tab.active strong{color:var(--primary);background:#fff}.graduate-workspace{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:start;gap:10px;display:grid}.graduate-compose .panel-header{align-items:start}.graduate-compose .panel-header p{max-width:520px;margin-top:6px}.graduate-live-pill{min-height:30px;color:var(--muted);white-space:nowrap;background:#f2f4f6;border-radius:999px;align-items:center;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.graduate-live-pill.active{color:#0a7b43;background:#e4f6ed}.graduate-history .panel-body{max-height:calc(100vh - 180px);overflow:auto}.graduate-image-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.graduate-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(760px,100%);margin:8vh auto 0;padding:clamp(24px,5vw,48px)}.graduate-card h1{font-size:clamp(36px,7vw,76px)}.graduate-copy,.graduate-form{margin-top:20px}.graduate-copy{max-width:620px;font-size:16px;line-height:1.7}.mode-word{color:var(--primary)}.graduate-identity{margin-bottom:10px}.loading{min-height:70vh;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.error{max-width:760px;margin:10vh auto 0}.admin-login-shell{background:var(--background);place-items:center;min-height:100vh;padding:16px;display:grid}.admin-login-card{width:min(420px,100%);box-shadow:var(--shadow-soft)}.admin-login-card .panel-header{text-align:center;justify-content:center}.admin-login-card .panel-body{gap:14px}.graduate-login-shell{background:var(--background);place-items:center;min-height:100vh;padding:16px;display:grid}.graduate-login-card{width:min(460px,100%);box-shadow:var(--shadow-soft)}.graduate-login-card .panel-header{text-align:center;justify-content:center}.graduate-login-card .panel-body{text-align:center;justify-items:center}.telegram-widget-frame{place-items:center;min-height:48px;display:grid}.graduate-auth-options{gap:12px;width:100%;display:grid}.graduate-auth-option{border:1px solid var(--line);background:#f8fafc;border-radius:16px;justify-items:center;gap:10px;padding:14px;display:grid}.graduate-auth-option strong{color:var(--ink);font-size:14px}.max-login-button{color:#fff;cursor:pointer;background:#050608;border:0;border-radius:14px;width:100%;min-height:50px;font-size:16px;font-weight:850}.max-login-button:disabled{cursor:wait;opacity:.66}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #cf34343d;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:720}.form-success{color:var(--success);background:#ecf8f1;border:1px solid #18a05f3d;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:720}.btn:disabled,.btn:disabled:hover{cursor:not-allowed;background:var(--line-strong);color:#fff;transform:none}.toast-modal{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14181e66;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.toast-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;gap:14px;padding:22px;display:grid}.toast-card .btn{justify-self:end;width:fit-content}.qr-card{width:min(480px,100%)}.qr-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.qr-image{aspect-ratio:1;border:1px solid var(--line);background:#fff 50%/calc(100% - 24px) no-repeat;border-radius:8px;justify-self:center;width:min(340px,100%);padding:12px}.qr-display-page{background:var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.qr-display-card{border:1px solid var(--line);width:min(760px,100%);box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;justify-items:center;gap:22px;padding:clamp(28px,5vw,56px);display:grid}.qr-display-card h1{text-align:center;font-size:clamp(36px,6vw,74px)}.qr-display-image{aspect-ratio:1;border:1px solid var(--line);background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:calc(100% - 32px);border-radius:8px;width:min(520px,86vw)}.dj-section-nav{gap:4px;display:grid}.dj-console{grid-template-columns:minmax(280px,.34fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.dj-rail,.dj-main{gap:12px;display:grid}.now-playing{border:1px solid var(--line);color:#fff;background:linear-gradient(135deg,#101820,#21312f 58%,#623b7b);border-radius:8px;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:18px;min-height:142px;padding:18px;display:grid;overflow:hidden}.now-playing-meter{aspect-ratio:1;background:radial-gradient(circle,#0000 42%,#fffffff2 43% 47%,#0000 48%),conic-gradient(from 12deg,#00c2a8,#ffd166,#ef476f,#7c3aed,#00c2a8);border-radius:50%;width:100%;animation:8s linear infinite spin;box-shadow:0 18px 60px #0000003d}.projector-shell{color:#17202a;background:linear-gradient(135deg,#dbe7ef 0%,#f7fafb 52%,#d8efe8 100%);grid-template-rows:auto minmax(0,1fr);gap:18px;height:100svh;min-height:100vh;padding:22px;display:grid;overflow:hidden}.projector-topbar{z-index:2;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffff8f;border:1px solid #ffffffa8;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:84px;padding:16px 22px;display:grid;position:relative;box-shadow:0 24px 70px #2f405229}.projector-school{gap:3px;display:grid}.projector-school span,.projector-mode{color:#17202a9e;font-size:clamp(16px,1.6vw,24px);font-weight:720}.projector-school strong{font-size:clamp(22px,2.4vw,40px);line-height:1}.projector-logo{color:#101820;text-align:center;justify-self:center;font-size:clamp(28px,3.8vw,66px);font-weight:860;line-height:1}.projector-mode{text-transform:uppercase;justify-self:end}.projector-stage{overscroll-behavior:contain;scrollbar-color:#17202a47 transparent;scrollbar-width:thin;place-items:start center;min-height:0;padding:0 0 18px;display:grid;position:relative;overflow:hidden auto}.projector-stage::-webkit-scrollbar{width:8px}.projector-stage::-webkit-scrollbar-track{background:0 0}.projector-stage::-webkit-scrollbar-thumb{background:#17202a3d;border-radius:999px}.projector-feed{overscroll-behavior:contain;scrollbar-color:#17202a47 transparent;scrollbar-width:thin;flex-direction:column;gap:7px;width:min(1120px,100%);height:min(76vh,760px);padding:4px 12px 18px 4px;display:flex;overflow:hidden auto}.projector-feed::-webkit-scrollbar{width:8px}.projector-feed::-webkit-scrollbar-track{background:0 0}.projector-feed::-webkit-scrollbar-thumb{background:#17202a42;border-radius:999px}.projector-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #ffffffb3;border-radius:14px 14px 14px 5px;width:min(560px,64%);padding:8px 12px;animation:.42s both projectorFade;box-shadow:0 10px 28px #283a4e17}.projector-card:nth-child(2n){background:#e5f8f2e6;border-radius:14px 14px 5px;align-self:flex-end}.projector-card p{font-size:clamp(15px,1.45vw,26px);font-weight:620;line-height:1.22}.projector-photo-grid{place-items:start center;width:min(42vw,520px);max-height:none;margin-top:8px;display:grid}.projector-photo-grid img{object-fit:contain;background:#fff;border-radius:8px;width:100%;height:auto;min-height:0;max-height:34vh;display:block}.projector-photo-grid img.image-portrait{width:auto;max-width:100%;max-height:46vh}.projector-photo-grid img.image-landscape,.projector-photo-grid img.image-square{width:100%;max-height:34vh}.projector-empty,.projector-generating{text-align:center;justify-items:center;gap:16px;display:grid}.projector-empty h1,.projector-generating h1{font-size:clamp(44px,6vw,96px)}.projector-generating p{color:#17202aad;font-size:clamp(20px,2vw,32px)}.teacher-show{place-items:center;width:100%;min-height:100%;padding:10px 0 22px;display:grid}.teacher-show a{place-items:center;width:100%;min-height:0;display:grid}.teacher-show-image{object-fit:contain;background:#fff;border-radius:18px;width:auto;max-width:min(94vw,1500px);height:auto;max-height:calc(100svh - 190px);display:block;box-shadow:0 30px 90px #212b3838}.teacher-show-image.image-portrait{max-width:min(88vw,920px)}.teacher-show-image.image-square{max-width:min(82vw,960px)}@keyframes projectorFade{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.brand-logo{color:#111827;align-items:center;gap:12px;font-size:24px;font-weight:860;line-height:1;display:inline-flex}.brand-mark{justify-content:center;align-items:center;gap:3px;width:50px;height:36px;display:inline-flex}.brand-mark i{background:linear-gradient(#4f46e5,#7c3aed 45%,#f63383 78%,#ff7a1a);border-radius:999px;width:5px;box-shadow:0 6px 18px #6f3cff3d}.brand-mark i:first-child,.brand-mark i:nth-child(5){height:17px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(4){height:28px}.brand-mark i:nth-child(3){height:36px}.brand-wave{filter:drop-shadow(0 10px 18px #6f3cff2e);flex:none;width:58px;height:40px}.app-icon{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;vertical-align:middle;background:#050608;border-radius:.28em;flex:none;width:1.25em;height:1.25em;display:block}.icon-tile{width:52px;height:52px;color:var(--primary);border-radius:15px;place-items:center;display:inline-grid;overflow:hidden}.icon-tile.tone-purple,.tone-purple .icon-tile,.tone-purple .role-icon,.metric.tone-purple .metric-icon,.role-icon.tone-purple{color:#6f3cff;background:#f1ebff}.icon-tile.tone-blue,.tone-blue .icon-tile,.tone-blue .role-icon,.metric.tone-blue .metric-icon,.role-icon.tone-blue{color:#1677ff;background:#eaf3ff}.icon-tile.tone-pink,.tone-pink .icon-tile,.tone-pink .role-icon,.metric.tone-pink .metric-icon,.role-icon.tone-pink{color:#f63383;background:#fff0f7}.icon-tile.tone-orange,.tone-orange .icon-tile,.tone-orange .role-icon,.metric.tone-orange .metric-icon{color:#ff7a1a;background:#fff3e8}.icon-tile.tone-green,.tone-green .icon-tile,.tone-green .role-icon,.metric.tone-green .metric-icon{color:#12b76a;background:#eafaf2}.icon-tile.tone-gray{color:#667085;background:#f3f5f9}.app-shell{background:#eef2f7;padding:18px}.topbar,.dashboard-topbar{background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:16px;box-shadow:0 18px 48px #202b3f12}.topbar h1,.dashboard-topbar h1{color:#101828;font-size:30px;font-weight:850}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:inline-flex}.topbar-actions .btn{align-items:center;gap:9px;display:inline-flex}.eyebrow{color:var(--primary-strong);background:#f0ecff}.status-pill{color:#06945c;background:#ecfdf5;border-color:#12b76a2e;min-height:36px}.pulse-dot{background:var(--success);box-shadow:0 0 0 6px #12b76a1f}.panel,.split-title,.now-playing,.generation-notice,.graduate-chat-header,.graduate-chat-feed,.graduate-composer{background:#fff;border-color:#e2e8f0eb;border-radius:16px;box-shadow:0 18px 44px #202b3f0f}.panel-header{border-bottom-color:var(--line);min-height:62px}.btn,.icon-btn{background:var(--primary);border-radius:10px;min-height:40px;box-shadow:0 10px 24px #6f3cff29}.btn:hover,.icon-btn:hover{background:var(--primary-strong)}.btn.secondary,.icon-btn{border-color:var(--line);color:#344054;box-shadow:none;background:#fff}.btn.danger{background:var(--danger)}.btn.green{background:var(--success)}.btn.blue{background:linear-gradient(135deg, var(--primary), var(--pink), var(--orange))}.field,.textarea{border-color:var(--line);background:#fff;border-radius:10px}.dashboard-shell{background:#eef2f7;grid-template-columns:294px minmax(0,1fr);gap:16px;min-height:100vh;padding:12px;display:grid}.dashboard-sidebar,.host-sidebar{background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:16px;box-shadow:0 24px 64px #202b3f14}.dashboard-sidebar{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:18px;min-height:calc(100vh - 24px);padding:24px 18px;display:grid;position:sticky;top:12px}.sidebar-header{border-bottom-color:var(--line)}.sidebar-person{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;padding:14px 0;display:grid}.sidebar-person strong,.sidebar-person span{display:block}.sidebar-person strong{color:#111827;font-size:15px}.sidebar-person span{color:var(--primary);margin-top:4px;font-size:13px;font-weight:720}.avatar-ring{width:52px;height:52px;color:var(--primary);background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(135deg,#6f3cff,#f63383,#12b76a) border-box;border:3px solid #0000;border-radius:999px;place-items:center;font-weight:860;display:grid}.sidebar-menu,.sidebar-content,.dj-section-nav{gap:8px;display:grid}.sidebar-kicker{color:#667085;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:850}.sidebar-menu-item,.section-button{color:#344054;text-align:left;background:0 0;border-radius:10px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 14px;font-size:15px;font-weight:720;display:flex}.sidebar-menu-item strong{min-width:0}.sidebar-menu-item span:first-child,.section-button strong,.soft-badge{min-width:28px;color:var(--primary);text-align:center;background:#f1ebff;border-radius:999px;padding:6px 8px}.sidebar-menu-item span.sidebar-menu-icon{background:#050608;border-radius:10px;place-items:center;width:32px;min-width:32px;height:32px;padding:0;display:grid;overflow:hidden}.sidebar-menu-icon .app-icon{border-radius:inherit;width:100%;height:100%}.sidebar-menu-item.active,.section-button.active{color:var(--primary-strong);background:linear-gradient(135deg,#6f3cff1f,#f6338314)}.sidebar-create{border:1px solid var(--line);background:#fbfcff;border-radius:14px;align-self:end;padding:14px}.sidebar-create strong{font-size:15px}.sidebar-health{border:1px solid var(--line);border-radius:14px;grid-template-columns:18px 1fr;align-items:center;gap:10px;padding:14px;display:grid}.sidebar-health strong,.sidebar-health span{display:block}.sidebar-health span{color:var(--success);margin-top:4px;font-size:13px}.dashboard-main{align-content:start;gap:16px;min-width:0;display:grid}.dashboard-topbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:24px 28px;display:grid}.dashboard-topbar .muted{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.dashboard-clock{justify-items:center;display:grid}.dashboard-clock strong{font-size:25px;line-height:1}.dashboard-clock span{color:var(--muted);margin-top:6px;font-size:13px}.admin-overview{grid-template-columns:minmax(0,1.4fr) minmax(340px,.9fr);gap:16px;display:grid}.admin-hero-card,.system-card,.metrics-card,.activity-card,.access-card,.admin-section-card,.admin-qr-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:22px;box-shadow:0 18px 44px #202b3f0f}.metrics-card{grid-column:1}.activity-card{grid-column:2}.access-card{grid-column:1/-1}.card-title-row>*{min-width:0}.card-title-row h2,.metrics-card h2{color:#101828;font-size:20px;font-weight:850}.event-gradient-card,.graduate-event-card{background:radial-gradient(circle at 10% 20%,#6f3cff38,#0000 34%),radial-gradient(circle at 95% 10%,#ffb45033,#0000 34%),linear-gradient(135deg,#f4efff 0%,#fff7fb 48%,#fff2e3 100%);border:1px solid #6f3cff21;border-radius:16px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:20px;padding:28px;display:grid;overflow:hidden}.big-icon{width:82px;height:82px;color:var(--primary);background:#6f3cff1f;border-radius:22px;place-items:center;font-size:38px;font-weight:800;display:grid;overflow:hidden}.mode-chip{width:fit-content;color:var(--primary);background:#ffffffbf;border:1px solid #6f3cff1f;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:10px 16px;font-weight:760;display:inline-flex}.role-shortcut{color:#101828;text-align:center;overflow-wrap:anywhere;background:#ffffffad;border:1px solid #fffc;border-radius:14px;place-items:center;gap:8px;min-height:86px;font-size:15px;font-weight:760;line-height:1.12;display:grid;overflow:hidden}.role-shortcut .app-icon{border-radius:12px;width:42px;height:42px}.role-shortcut.purple{box-shadow:inset 0 0 0 999px #6f3cff0f}.role-shortcut.blue{box-shadow:inset 0 0 0 999px #1677ff0f}.role-shortcut.green{box-shadow:inset 0 0 0 999px #12b76a0f}.role-shortcut.orange{box-shadow:inset 0 0 0 999px #ff7a1a14}.event-meta-row{color:#667085;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;font-size:14px;display:flex}.online-text{color:var(--success);font-size:14px;font-weight:760}.role-status-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}.role-status{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:14px;display:grid}.role-status:last-child{border-bottom:0}.role-status strong,.role-status span{display:block}.role-status span,.role-status em{color:var(--muted);font-size:13px;font-style:normal}.role-status em{color:var(--success);font-weight:760}.role-icon,.metric-icon{width:48px;height:48px;color:var(--primary);border-radius:14px;place-items:center;font-weight:860;line-height:1;display:grid;overflow:hidden}.tone-purple .role-icon,.metric.tone-purple .metric-icon,.role-icon.tone-purple{color:#6f3cff;background:#f1ebff}.tone-blue .role-icon,.metric.tone-blue .metric-icon,.role-icon.tone-blue{color:#1677ff;background:#eaf3ff}.tone-pink .role-icon,.metric.tone-pink .metric-icon,.role-icon.tone-pink{color:#f63383;background:#fff0f7}.tone-orange .role-icon,.metric.tone-orange .metric-icon,.role-icon.tone-orange{color:#ff7a1a;background:#fff3e8}.tone-green .role-icon,.metric.tone-green .metric-icon,.role-icon.tone-green{color:#12b76a;background:#eafaf2}.admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.metric{background:#fff;border-radius:16px;align-content:start;gap:8px;min-height:172px;padding:18px;display:grid;box-shadow:0 12px 34px #202b3f0d}.metric strong{color:#101828;margin-top:4px;font-size:42px;font-weight:900}.metric em{color:var(--primary);font-size:13px;font-style:normal;font-weight:760}.metric.tone-blue em{color:#1677ff}.metric.tone-pink em{color:#f63383}.metric.tone-orange em{color:#ff7a1a}.metric.tone-green em{color:#12b76a}.sparkline{height:34px;color:var(--primary);opacity:.85;background:linear-gradient(135deg,#0000 0 8%,currentColor 8% 12%,#0000 12% 24%,currentColor 24% 29%,#0000 29% 42%,currentColor 42% 47%,#0000 47% 62%,currentColor 62% 67%,#0000 67% 82%,currentColor 82% 87%,#0000 87%),linear-gradient(#0000,#6f3cff1a);border-radius:999px;margin-top:auto}.activity-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto 8px;align-items:center;gap:12px;min-height:60px;display:grid}.activity-row:last-child{border-bottom:0}.activity-row time{color:var(--muted);font-size:13px}.activity-row strong,.activity-row>div span{display:block}.activity-row>div span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:600}.activity-row i{background:var(--success);border-radius:999px;width:8px;height:8px}.access-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.admin-link-box,.link-box{border-color:var(--line);background:#fbfcff;border-radius:14px}.admin-section{min-width:0}.admin-section-grid,.admin-links-layout,.admin-settings-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:start;gap:16px;display:grid}.admin-stats-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);align-items:start;gap:16px;display:grid}.admin-stats-layout .metrics-card,.admin-stats-layout .activity-card{grid-column:auto}.admin-create-form{gap:14px;display:grid}.admin-create-card .admin-create-form{background:0 0;border:0;align-self:stretch;padding:0}.admin-create-form .btn{min-height:54px}.admin-events-card{min-width:0}.admin-events-side{gap:16px;display:grid}.event-filter-tabs{border-bottom:1px solid var(--line);align-items:center;gap:28px;margin-bottom:22px;display:flex}.event-filter-tabs button{color:#667085;background:0 0;min-height:48px;padding:0;font-weight:760;position:relative}.event-filter-tabs button.active{color:var(--primary)}.event-filter-tabs button.active:after{content:"";background:var(--primary);border-radius:999px 999px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.search-field{border:1px solid var(--line);width:min(380px,100%);min-height:44px;color:var(--muted);background:#fbfcff;border-radius:10px;flex:260px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;display:grid}.search-field input{min-width:0;color:var(--foreground);background:0 0;border:0;outline:0}.admin-event-list,.settings-list,.activity-bars{gap:12px;display:grid}.admin-events-head{color:#667085;min-height:42px;font-size:13px;font-weight:780}.admin-event-row-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;max-width:100%;margin-bottom:12px;overflow:hidden}.admin-event-name-cell h3{overflow-wrap:anywhere;color:#101828;font-size:17px;line-height:1.2}.admin-event-name-cell p,.admin-event-row time{color:var(--muted);margin-top:5px;font-size:13px}.admin-participants-cell{align-items:center;gap:8px;display:inline-flex}.admin-participants-cell strong{color:#101828;font-size:18px}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.compact-btn{flex:76px;min-height:36px;padding:8px 12px;font-size:12px}.icon-soft-btn{border:1px solid var(--line);color:#667085;background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;display:inline-grid}.icon-soft-btn:hover{color:var(--primary)}.icon-soft-btn.danger:hover{color:var(--danger)}.admin-event-edit-panel{border-top:1px solid var(--line);background:#fbfcff;gap:12px;padding:16px 18px;display:grid}.admin-table-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:6px;padding-top:16px;font-size:13px;display:flex}.admin-event-card{border:1px solid var(--line);background:#fbfcff;border-radius:14px;gap:16px;padding:16px;display:grid}.admin-event-summary{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px;display:grid}.admin-event-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-event-title-row h3{color:#101828;font-size:19px;line-height:1.2}.admin-event-summary p{color:var(--muted);margin-top:6px}.event-status-badge{color:#667085;background:#f3f5f9;border-radius:999px;align-items:center;width:fit-content;min-height:30px;padding:7px 10px;font-size:12px;font-weight:780;display:inline-flex}.event-status-badge.active{color:#0f9f63;background:#eafaf2}.admin-edit-form{gap:12px;display:grid}.field-label{color:var(--muted);gap:7px;font-size:12px;font-weight:760;display:grid}.field-label .field{color:var(--foreground);font-size:14px;font-weight:650}.admin-inline-actions,.admin-link-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-link-actions .btn{width:auto}.admin-links-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)}.admin-links-layout .access-card{grid-column:auto}.admin-links-side,.after-create-links{gap:12px;display:grid}.role-access-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:16px;min-width:0;padding:18px;display:grid}.role-access-title{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.role-access-title h3{overflow-wrap:anywhere;color:#101828;font-size:22px;line-height:1.1}.role-access-title p,.role-access-qr p{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.45}.role-access-url{border:1px solid var(--line);color:#5d6678;text-align:left;background:#fbfcff;border-radius:10px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-width:0;max-width:100%;min-height:48px;padding:10px 12px;display:grid}.role-access-url span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-access-qr img{border:1px solid var(--line);background:#fff;border-radius:12px}.admin-qr-card{gap:16px;display:grid}.admin-qr-frame{border:1px solid var(--line);text-align:center;background:#f8faff;border-radius:18px;place-items:center;padding:22px;display:grid}.admin-qr-image{aspect-ratio:1;background:#fff;border-radius:14px;width:min(100%,310px)}.admin-qr-frame strong{color:#101828;margin-top:14px;font-size:21px;font-weight:850}.admin-qr-frame span{color:var(--muted);margin-top:4px}.admin-qr-link{overflow-wrap:anywhere;border:1px solid var(--line);color:var(--muted);background:#fbfcff;border-radius:12px;padding:12px;font-size:13px}.transition-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.mini-access-stat{border:1px solid var(--line);text-align:center;background:#fbfcff;border-radius:14px;justify-items:center;gap:7px;min-height:126px;padding:14px 10px;display:grid}.mini-access-stat strong{color:#101828;font-size:30px;font-weight:900;line-height:1}.mini-access-stat span:not(.role-icon),.realtime-note{color:var(--muted);font-size:13px}.realtime-note{text-align:center;margin-top:14px}.after-create-link{border-bottom:1px solid var(--line);color:#101828;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:70px;display:grid}.after-create-link:last-child{border-bottom:0}.after-create-link strong,.after-create-link em{display:block}.after-create-link em{color:var(--muted);margin-top:3px;font-size:13px;font-style:normal}.admin-metrics.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-bar{gap:8px;display:grid}.stat-bar div{color:#101828;justify-content:space-between;gap:12px;display:flex}.stat-bar span{color:var(--muted);font-weight:760}.stat-bar i{background:var(--primary);border-radius:999px;height:12px}.stat-bar.tone-blue i{background:#1677ff}.stat-bar.tone-pink i{background:#f63383}.stat-bar.tone-orange i{background:#ff7a1a}.stat-bar.tone-green i{background:#12b76a}.settings-row{border:1px solid var(--line);background:#fbfcff;border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.settings-row strong,.settings-row span{display:block}.settings-row span{color:var(--muted);margin-top:4px;font-size:13px}.settings-row.muted-row{opacity:.72}.settings-form{max-width:720px}.admin-empty-state{text-align:center;align-content:center;place-items:center;gap:14px;min-height:220px;display:grid}.host-workspace{--sidebar-width:286px;gap:16px}.host-sidebar{border-right:1px solid #e2e8f0e6;height:calc(100vh - 24px);padding:20px 16px;top:12px}.host-content{gap:16px;padding-top:0}.host-topbar{grid-template-columns:minmax(0,1fr) auto auto auto;min-height:92px;margin-bottom:0}.host-title-block{min-width:0}.host-title-block h1{overflow-wrap:anywhere}.host-title-block p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:6px;font-size:15px;display:flex}.host-clock{color:#101828;justify-items:center;min-width:88px;display:grid}.host-clock strong{font-size:24px;line-height:1}.host-clock span{color:var(--muted);margin-top:4px;font-size:12px}.topbar-actions .btn{text-transform:none;gap:8px}.section-action-bar{border-radius:16px;box-shadow:0 18px 44px #202b3f0f}.section-button strong{color:var(--primary);background:#eef2ff}.link-count,.qr-button{color:var(--primary);background:#f1ebff}.photo-workbench{gap:16px}.host-live-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr);align-items:start;gap:16px;display:grid}.host-summary{gap:16px;display:grid}.section-button-label{align-items:center;gap:9px;min-width:0;display:inline-flex}.section-button-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-button-label>.app-icon{border-radius:8px;width:28px;height:28px}.quick-action-list{gap:8px;display:grid}.quick-action-list button{border:1px solid var(--line);color:#344054;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;min-height:42px;padding:9px 11px;display:inline-flex}.quick-action-list button:hover{color:var(--primary);background:#f8f7ff}.sidebar-event-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;padding:14px;display:grid}.sidebar-event-card>span,.sidebar-event-card small,.sidebar-status-line{color:var(--muted);font-size:13px}.sidebar-event-card strong{color:#101828;font-size:15px}.sidebar-status-line{color:#06945c;align-items:center;gap:8px;display:inline-flex}.sidebar-status-line .pulse-dot{width:8px;height:8px;box-shadow:0 0 0 4px #12b76a1f}.home-dashboard{align-items:stretch;gap:16px;display:grid}.host-dashboard-card,.host-note-card,.settings-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:16px;padding:22px;display:grid;box-shadow:0 18px 44px #202b3f0f}.live-card.active{border-color:#12b76a40}.current-interactive-card.active{border-color:#12b76a33}.mode-tabs span{border-right:1px solid var(--line);color:#52607a;text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:48px;padding:10px;font-size:13px;font-weight:760;line-height:1.12;display:inline-flex}.mode-tabs span:last-child{border-right:0}.mode-tabs span.active{color:var(--pink);background:#fff0f7;box-shadow:inset 0 0 0 1px #f6338340}.current-mode-panel{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:64px minmax(0,1fr) 220px;align-items:center;gap:18px;padding:18px;display:grid}.current-mode-panel strong,.current-mode-panel span{display:block}.current-mode-panel strong{color:#101828;font-size:17px}.current-mode-panel span:not(.role-icon){color:var(--muted);margin-top:8px;line-height:1.45}.current-mode-actions .btn{text-transform:none;justify-content:flex-start;gap:8px}.live-status-body{grid-template-columns:56px minmax(0,1fr);align-content:center;align-items:center;gap:8px;min-height:76px;display:grid}.live-status-body .app-icon{background:#050608;border-radius:16px;place-items:center;width:52px;height:52px;padding:0;display:grid}.live-status-body strong{color:#101828;font-size:20px;font-weight:900;line-height:1.05}.live-status-body span,.active-mode-card p,.host-note-card span,.combined-description span,.setting-row span{color:var(--muted);font-size:14px}.projector-mini.compact{border-radius:12px;min-height:260px;padding:22px}.projector-mini.compact .projector-empty-icon{border-radius:16px;width:54px;height:54px;font-size:34px}.projector-mini.compact strong{font-size:32px}.projector-mini.compact p{font-size:16px}.section-kpis,.role-counter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.section-kpi,.role-counter{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:78px;padding:12px;display:grid}.section-kpi strong,.role-counter strong{color:#101828;font-size:24px;font-weight:900;line-height:1;display:block}.section-kpi span:not(.role-icon),.role-counter span:not(.role-icon){color:var(--muted);font-size:13px}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.mode-card{border:1px solid var(--line);min-height:168px;color:var(--foreground);text-align:left;background:#fff;border-radius:16px;align-content:start;justify-items:start;gap:12px;padding:18px;display:grid;box-shadow:0 12px 32px #202b3f0d}.mode-card:hover,.mode-card.active{background:#fbfaff;border-color:#6f3cff47}.mode-card strong{font-size:20px;font-weight:860}.mode-card>span:not(.icon-tile){color:var(--muted);font-size:14px}.mode-card em{width:100%;color:var(--primary);border:1px solid;border-radius:10px;justify-content:center;margin-top:auto;padding:10px;font-size:13px;font-style:normal;font-weight:800;display:inline-flex}.output-list,.access-rule-list,.scenario-list,.question-queue-list,.recent-participants{gap:10px;display:grid}.output-row,.access-rule,.scenario-list article,.question-queue-list article{border:1px solid var(--line);background:#fbfcff;border-radius:12px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.output-row strong,.output-row span,.access-rule strong,.access-rule span,.scenario-list strong,.scenario-list span{display:block}.output-row span:not(.role-icon),.output-row time,.access-rule span,.access-rule em,.scenario-list span,.scenario-list time{color:var(--muted);font-size:13px}.access-rule em,.scenario-list article.active time,.question-queue-list article.active em{color:var(--pink);font-style:normal;font-weight:800}.interactives-layout,.links-screen-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.58fr);align-items:start;gap:16px;display:grid}.links-screen-grid>.section-action-bar,.links-screen-grid>.section-kpis{grid-column:1/-1}.links-side{grid-area:3/2/span 2}.role-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.role-link-card{border:1px solid var(--line);background:#fbfcff;border-radius:14px;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.role-link-card code,.role-link-actions{grid-column:1/-1}.role-link-card strong,.role-link-card span{display:block}.role-link-card span:not(.icon-tile){color:var(--muted);font-size:14px;line-height:1.35}.role-link-card code{overflow-wrap:anywhere;border:1px solid var(--line);color:#52607a;background:#fff;border-radius:10px;padding:11px;font-family:inherit;font-size:12px}.role-link-actions,.qr-action-row{flex-wrap:wrap;gap:8px;display:flex}.role-link-actions .btn,.qr-action-row .btn{text-transform:none;flex:120px;gap:8px}.graduate-qr-card{text-align:center;justify-items:center}.qr-image.inline{aspect-ratio:1;border-radius:16px;width:min(260px,100%);height:auto}.link-participant-grid{grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.role-icon.tone-orange{color:#ff7a1a;background:#fff3e8}.role-icon.tone-green{color:#12b76a;background:#eafaf2}.role-icon.tone-gray{color:#667085;background:#f3f5f9}.section-two-column,.settings-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:start;gap:16px;display:grid}.compact-card{min-height:100%}.question-preview,.combined-description{gap:12px;display:grid}.question-preview p,.combined-description p{color:#101828;font-size:20px;font-weight:760;line-height:1.35}.host-note-card{grid-template-columns:48px minmax(0,1fr);align-items:center;min-height:88px;padding:14px 16px}.host-note-card .app-icon{background:#050608;border-radius:14px;width:48px;height:48px;padding:0}.participants-list{gap:8px;display:grid}.participant-row{border:1px solid var(--line);background:#fbfcff;border-radius:12px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px;display:grid}.participant-row strong,.participant-row span{display:block}.participant-row span:not(.role-icon),.participant-row time{color:var(--muted);font-size:13px}.setting-row{border-top:1px solid var(--line);grid-template-columns:128px minmax(0,1fr);align-items:center;gap:12px;padding-top:12px;display:grid}.setting-row strong{overflow-wrap:anywhere;min-width:0}.handoff-card{background:#fff8ef;border-color:#fb7a2147;align-content:start}.handoff-card p{color:#655236;font-size:14px;line-height:1.55}.projector-preview-card,.participants-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;box-shadow:0 18px 44px #202b3f0f}.projector-mini{text-align:center;background:radial-gradient(circle at 8% 18%,#6f3cff40,#0000 33%),radial-gradient(circle at 96% 8%,#ffb4504d,#0000 34%),linear-gradient(135deg,#edeaff,#fff5fa 52%,#ffe7cf);border-radius:14px;align-content:center;justify-items:center;gap:18px;min-height:360px;padding:28px;display:grid;overflow:hidden}.projector-mini .projector-empty-icon{border-radius:20px;width:74px;height:74px;font-size:46px}.projector-mini strong{color:#080b18;font-size:44px;font-weight:950;line-height:1.05}.projector-mini p{color:#667085;max-width:360px;font-size:20px;line-height:1.45}.avatar-stack{align-items:center;padding:6px 0 2px;display:flex}.avatar-stack span{width:52px;height:52px;color:var(--primary);background:linear-gradient(135deg,#f1ebff,#eaf3ff);border:3px solid #fff;border-radius:999px;place-items:center;margin-right:-8px;font-weight:860;display:grid;box-shadow:0 10px 24px #202b3f14}.avatar-stack span:last-child{color:#667085;background:#f8faff}.host-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.small-metric{border:1px solid var(--line);background:#fff;border-radius:14px;align-content:start;gap:8px;min-height:126px;padding:16px;display:grid;box-shadow:0 12px 32px #202b3f0d}.small-metric span:not(.role-icon){color:var(--muted);font-size:14px}.small-metric strong{color:#101828;font-size:34px;font-weight:900}.item{background:#fbfcff;border-radius:14px}.dj-console{grid-template-columns:310px minmax(0,1fr);gap:16px}.dj-rail{align-content:start}.dj-brand-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:16px;padding:18px;display:grid;box-shadow:0 18px 44px #202b3f0f}.dj-brand-card .sidebar-person{border-bottom:0;padding-bottom:0}.split-title p{color:#667085}.now-playing{color:#101828;background:radial-gradient(circle at 85% 25%,#6f3cff57,#0000 28%),linear-gradient(135deg,#f2ecff,#fff1f6 58%,#ffe7d0);border-radius:16px;min-height:214px}.now-playing .muted{color:#667085}.now-playing-meter{background:radial-gradient(circle,#0000 40%,#ffffffe6 41% 47%,#0000 48%),conic-gradient(from 12deg,#6f3cff,#f63383,#ff7a1a,#12b76a,#1677ff,#6f3cff)}.dj-section-stack{gap:16px;display:grid}.dj-overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.dj-music-list.compact .item{gap:8px;padding:12px}.dj-music-list.compact .music-embed{display:none}.now-playing-copy{gap:12px;min-width:0;display:grid}.now-playing-copy h2{overflow-wrap:anywhere}.now-playing-progress{background:#1018281f;border-radius:999px;height:10px;overflow:hidden}.now-playing-progress span{border-radius:inherit;background:linear-gradient(90deg,#6f3cff,#12b76a);height:100%;transition:width .24s;display:block}.now-playing-meta{color:#475467;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:760;display:flex}.now-playing-actions{flex-wrap:wrap;gap:8px;display:flex}.dj-setting-row{border:1px solid var(--line);background:#fbfcff;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;font-size:14px;font-weight:760;display:flex}.dj-setting-row input{width:18px;height:18px;accent-color:var(--primary)}.graduate-login-shell,.graduate-shell{background:radial-gradient(circle at 50% 0,#6f3cff14,#0000 34%),#f6f8fb;min-height:100vh}.graduate-login-shell{place-items:start center;padding:48px 16px}.graduate-phone{background:#fff;border:10px solid #fff;border-radius:48px;gap:16px;width:min(430px,100%);padding:28px 18px 22px;display:grid;box-shadow:0 0 0 1px #1118270d,0 30px 90px #202b3f29}.graduate-phone-head{justify-content:space-between;align-items:center;padding:4px 10px 8px;display:flex}.graduate-phone .brand-logo{font-size:22px}.help-circle{border:1px solid var(--line);width:48px;height:48px;color:var(--primary);border-radius:999px;place-items:center;font-size:24px;font-weight:800;display:grid}.graduate-event-card{grid-template-columns:68px minmax(0,1fr);padding:22px}.graduate-event-card .big-icon{border-radius:18px;width:58px;height:58px;font-size:28px}.graduate-event-card h1{overflow-wrap:anywhere;font-size:29px;line-height:1.1}.graduate-event-card p{font-size:19px}.graduate-login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:16px;padding:34px 22px;display:grid;box-shadow:0 18px 44px #202b3f14}.graduate-login-icon{width:76px;height:76px;color:var(--pink);background:#050608;border-radius:22px;place-items:center;font-size:34px;font-weight:900;display:grid;overflow:hidden}.telegram-fake-button{color:#fff;background:linear-gradient(135deg,#248bff,#0f6ee8);border:0;border-radius:14px;width:100%;min-height:58px;font-size:18px;font-weight:800;box-shadow:0 18px 34px #1677ff33}.graduate-login-note{font-size:13px}.graduate-info-list{gap:12px;display:grid}.graduate-info-list article{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:52px 1fr;align-items:center;gap:14px;padding:16px;display:grid}.graduate-info-list strong,.graduate-info-list p{margin:0}.graduate-info-list p{color:var(--muted);margin-top:5px;line-height:1.45}.graduate-chat{width:min(430px,100%);min-height:calc(100vh - 32px)}.graduate-message{border-radius:18px 18px 18px 6px}.projector-shell{background:#05070d;gap:12px;padding:14px}.projector-topbar{min-height:92px;box-shadow:none;background:#fff;border:0;border-radius:12px}.projector-school{align-items:center;gap:12px;display:flex}.projector-school span,.projector-mode{color:#667085;text-transform:none;font-size:22px;font-weight:800}.projector-logo{font-size:clamp(28px,3vw,44px)}.projector-mode{color:#111827;align-items:center;gap:10px;display:inline-flex}.projector-stage{background:radial-gradient(circle at 4% 14%,#6f3cff5c,#0000 25%),radial-gradient(circle at 88% 5%,#ffbe5c70,#0000 30%),radial-gradient(circle at 70% 90%,#f633833d,#0000 28%),linear-gradient(135deg,#efeaff 0%,#fff6fb 48%,#ffe4bd 100%);border-radius:12px;min-height:0;padding:clamp(42px,7vw,120px) 28px 28px;overflow:hidden}.projector-stage:before,.projector-stage:after{content:"";opacity:.7;pointer-events:none;background:radial-gradient(at 20%,#fffc,#0000 30%),linear-gradient(12deg,#0000 20%,#ffffff57,#0000 62%);height:220px;position:absolute;inset:auto 0 8%}.projector-empty{z-index:1;align-self:center;gap:22px;position:relative}.projector-empty-icon{color:#fff;background:linear-gradient(135deg,#6f3cff,#f63383);border-radius:22px;place-items:center;width:86px;height:86px;font-size:56px;font-weight:800;display:grid;overflow:hidden;box-shadow:0 20px 44px #f633833d}.projector-empty h1,.projector-generating h1{color:#080b18;text-align:center;max-width:1320px;font-size:clamp(60px,7vw,122px);font-weight:950;line-height:1.04}.projector-empty p{color:#101828;font-size:clamp(22px,2.4vw,38px);font-weight:820}.projector-feed{z-index:1;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;width:min(1380px,100%);height:auto;display:grid;position:relative;overflow:visible}.projector-card,.projector-card:nth-child(2n){background:#ffffffdb;border:1px solid #fffc;border-radius:18px;align-self:stretch;width:100%}.projector-card p{color:#101828;font-size:clamp(28px,3.2vw,58px);font-weight:860}.projector-shell{color:#080b18;background:#05070d;grid-template-rows:minmax(0,1fr);gap:0;height:100svh;padding:14px}.projector-stage{background:#fff;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;place-items:stretch stretch;gap:16px;min-height:calc(100svh - 28px);padding:18px 20px;display:grid}.projector-stage:before,.projector-stage:after{display:none}.projector-header h1{color:#070a18;text-align:center;white-space:nowrap;margin:0;font-size:34px;font-weight:920;line-height:1.05}.projector-brand,.projector-live-state{color:#77728d;align-items:center;gap:10px;min-width:0;font-size:22px;font-weight:820;display:flex}.projector-brand strong,.projector-live-state strong{color:#070a18;font-weight:920}.projector-brand{justify-self:start}.projector-brand-wave{width:68px;height:42px}.projector-live-state i{background:#12b76a;border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 6px #12b76a21}.projector-shell:not(.mode-idle) .projector-live-state strong{color:#12b76a}.projector-screen{text-align:center;align-content:center;justify-items:center;gap:18px;width:100%;height:100%;min-height:0;display:grid;position:relative}.projector-hero{isolation:isolate;background:linear-gradient(124deg,#d5c9ff 0%,#fff4fb 46%,#ffd8a8 100%);border-radius:12px;min-height:0;padding:40px 56px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fffc}.projector-hero:before{content:"";z-index:-1;opacity:.65;background:linear-gradient(16deg,#0000 55%,#fff6 56%,#0000 65%),linear-gradient(154deg,#0000 60%,#ffffff61 61%,#0000 70%);position:absolute;inset:0}.projector-hero h1{color:#080b18;overflow-wrap:anywhere;max-width:1320px;margin:0;font-size:94px;font-weight:950;line-height:1.04}.projector-message-hero h1,.projector-question-screen h1{font-size:86px}.projector-music-screen h1{font-size:88px}.projector-hero p{color:#4e5064;max-width:980px;margin:0;font-size:30px;font-weight:780;line-height:1.28}.projector-hero small{color:#101828;font-size:26px;font-weight:860}.projector-stage-icon{color:#fff;background:linear-gradient(135deg,#6f3cff,#f63383 70%,#ff7a1a);border-radius:24px;place-items:center;width:82px;height:82px;font-size:42px;font-weight:950;display:grid;overflow:hidden;box-shadow:0 18px 40px #6f3cff38}.projector-stage-icon .app-icon{width:44px;height:44px}.projector-stage-label{color:#f63383;text-transform:uppercase;font-size:26px;font-weight:920}.projector-photo-row{justify-content:center;gap:14px;width:min(100%,1050px);max-height:250px;display:flex}.projector-photo-row img{object-fit:cover;border:4px solid #fffc;border-radius:12px;width:auto;max-width:32%;height:250px;box-shadow:0 20px 50px #202b3f29}.projector-photo-row.count-1 img{max-width:min(620px,80%)}.projector-air-strip{background:linear-gradient(#fff,#fbfcff);border:1px solid #e7e8ef;border-radius:12px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:144px;padding:14px 14px 16px;display:grid;box-shadow:0 12px 30px #202b3f0f}.projector-air-strip.is-empty{min-height:0;box-shadow:none;border:0;padding:0}.projector-air-strip>strong{color:#667085;text-transform:uppercase;font-size:14px;font-weight:920}.projector-air-card{background:#fff;border:1px solid #eceef5;border-radius:12px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:16px;display:grid;box-shadow:0 14px 34px #202b3f0f}.projector-air-icon{color:#fff;border-radius:16px;place-items:center;width:70px;height:70px;display:grid;overflow:hidden;box-shadow:0 14px 28px #6f3cff2e}.projector-air-icon.tone-purple{background:linear-gradient(135deg,#6f3cff,#b76cff)}.projector-air-icon.tone-blue{background:linear-gradient(135deg,#1677ff,#12b7ff)}.projector-air-icon.tone-pink{background:linear-gradient(135deg,#f63383,#ff7a8a)}.projector-air-icon.tone-green{background:linear-gradient(135deg,#12b76a,#38d6a1)}.projector-air-icon .app-icon{width:36px;height:36px}.icon-tile>.app-icon,.role-icon>.app-icon,.metric-icon>.app-icon,.big-icon>.app-icon,.projector-empty-icon>.app-icon,.projector-stage-icon>.app-icon,.projector-air-icon>.app-icon,.graduate-login-icon>.app-icon{border-radius:inherit;width:100%;height:100%}.projector-air-card b,.projector-air-card p,.projector-air-card small{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.projector-air-card b{color:#6f3cff;text-transform:uppercase;white-space:nowrap;font-size:15px;font-weight:940}.projector-air-card p{color:#101828;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:20px;font-weight:860;line-height:1.18;display:-webkit-box}.projector-air-card small{color:#77728d;white-space:nowrap;margin-top:8px;font-size:16px;font-weight:760}.projector-air-card>img{object-fit:cover;border-radius:10px;width:132px;height:88px}.projector-waveform{grid-template-columns:repeat(28,1fr);align-items:end;gap:6px;width:min(640px,100%);height:70px;margin-top:8px;display:grid}.projector-waveform i{opacity:.74;background:linear-gradient(#f63383,#7c3aed);border-radius:999px 999px 0 0;height:28px}.projector-waveform i:nth-child(3n+1){height:42px}.projector-waveform i:nth-child(4n+2){height:58px}.projector-waveform i:nth-child(5n){height:34px}.projector-music-screen{color:#101828}.projector-music-screen.is-empty{background:0 0}.teacher-show{align-content:center;justify-items:center;gap:14px;padding:28px;display:grid}.teacher-show-image{object-fit:contain;border-radius:12px;width:auto;max-width:min(100%,1120px);height:auto;min-height:0;max-height:100%;box-shadow:0 24px 70px #202b3f2e}@media (max-width:1280px){.admin-section-grid,.admin-links-layout,.admin-settings-layout,.host-topbar,.host-live-grid{grid-template-columns:1fr}.host-clock{justify-items:start}.topbar-actions{flex-wrap:wrap;justify-content:flex-start}}@media (max-width:980px){.app-shell{padding:10px}.dashboard-shell,.admin-overview,.admin-section-grid,.admin-links-layout,.admin-stats-layout,.admin-settings-layout,.dashboard-topbar,.event-actions,.access-grid,.host-live-grid,.home-dashboard,.interactives-layout,.links-screen-grid,.role-link-grid,.link-participant-grid,.section-two-column,.settings-grid{grid-template-columns:1fr}.links-side,.links-screen-grid>.section-action-bar,.links-screen-grid>.section-kpis{grid-area:auto}.host-topbar{grid-template-columns:1fr}.host-clock{justify-items:start}.current-mode-panel{grid-template-columns:64px minmax(0,1fr)}.current-mode-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.projector-card,.metrics-overview-card,.participants-overview-card{grid-column:auto}.dashboard-sidebar{min-height:auto;position:static}.admin-events-head{display:none}.admin-event-row{grid-template-columns:1fr;align-items:start}.admin-row-actions{justify-content:flex-start}.transition-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-card,.access-card{grid-column:auto}.admin-metrics,.admin-metrics.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.layout,.dj-console,.dj-overview-grid,.host-workspace,.graduate-workspace{grid-template-columns:1fr}.host-sidebar{height:auto;max-height:none;position:static}.photo-workbench{grid-template-columns:1fr}.section-action-bar{flex-direction:column;align-items:stretch}.section-action-buttons{justify-content:stretch}.section-action-buttons .btn{flex:180px;width:auto}.participant-row{grid-template-columns:48px minmax(0,1fr)}.participant-row time{grid-column:2}.status-pill{width:fit-content}.metric-grid,.graduate-tabs,.admin-metrics{grid-template-columns:1fr}.graduate-history .panel-body{max-height:none}.projector-topbar{text-align:center;grid-template-columns:1fr}.projector-school,.projector-mode{justify-self:center}.projector-photo-grid{width:min(92vw,680px)}.projector-stage{padding:24px;overflow-y:auto}.projector-messages-screen{grid-template-columns:1fr;overflow:visible}.projector-empty h1,.projector-generating h1,.projector-question-screen h1,.projector-music-screen h1{font-size:54px}.projector-message p{font-size:34px}.projector-empty p,.projector-generating p,.projector-music-screen p,.projector-question-screen span,.projector-music-screen span{font-size:22px}.now-playing{grid-template-columns:1fr}.now-playing-meter{width:min(150px,60vw)}}@media (max-width:560px){.topbar{grid-template-columns:1fr;align-items:start}.dashboard-shell{padding:8px}.dashboard-topbar,.admin-hero-card,.system-card,.metrics-card,.activity-card,.access-card,.admin-section-card,.admin-qr-card{padding:16px}.event-gradient-card,.graduate-event-card,.event-field-grid,.settings-row,.role-access-qr{grid-template-columns:1fr}.search-field{width:100%}.admin-inline-actions,.admin-link-actions{display:grid}.admin-event-name-cell,.after-create-link{grid-template-columns:48px minmax(0,1fr)}.after-create-link>.app-icon{display:none}.transition-stat-grid,.sidebar-actions,.link-box,.setting-row{grid-template-columns:1fr}.link-count,.qr-button{border-radius:8px;width:100%}.actions,.section-action-buttons{display:grid}.current-mode-panel,.output-row,.access-rule,.scenario-list article,.question-queue-list article,.role-link-card,.current-mode-actions{grid-template-columns:1fr}.btn,.icon-btn{width:100%}}@media (max-width:980px){.projector-shell{padding:0}.projector-stage{border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:100svh;padding:12px;overflow:hidden}.projector-header{text-align:center;grid-template-columns:1fr;justify-items:center;gap:6px;min-height:auto}.projector-header h1{white-space:normal;font-size:22px}.projector-brand,.projector-live-state{justify-self:center;font-size:16px}.projector-brand-wave{width:42px;height:28px}.projector-hero{padding:24px 18px}.projector-hero h1,.projector-message-hero h1,.projector-question-screen h1,.projector-music-screen h1{font-size:42px}.projector-stage-icon{border-radius:18px;width:60px;height:60px;font-size:30px}.projector-stage-icon .app-icon{width:100%;height:100%}.projector-stage-label{font-size:16px}.projector-hero p{font-size:20px}.projector-hero small{font-size:16px}.projector-photo-row{gap:8px;max-height:160px}.projector-photo-row img{border-radius:8px;height:160px}.projector-air-strip{min-height:auto;padding:10px}.projector-air-grid{grid-template-columns:1fr}.projector-air-card{grid-template-columns:54px minmax(0,1fr);gap:12px;padding:12px}.projector-air-card>img{display:none}.projector-air-icon{border-radius:12px;width:50px;height:50px}.projector-air-icon .app-icon{width:100%;height:100%}.projector-air-card p{font-size:16px}.projector-air-card small{font-size:13px}.projector-waveform{gap:4px;height:44px}.teacher-show-image{max-width:100%;max-height:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--background:#f5f7fb;--foreground:#101828;--card:#fff;--surface:#f9fbff;--surface-strong:#eef3fb;--muted:#667085;--line:#dde4ef;--line-strong:#cbd5e1;--primary:#4f46e5;--primary-strong:#3730a3;--primary-soft:#eef2ff;--blue:#2563eb;--pink:#db2777;--orange:#ea580c;--green:#0f9f6e;--danger:#dc3f55;--danger-soft:#fff1f3;--success:#0f9f6e;--warning:#d97706;--panel:#f8fafc;--panel-muted:#7b8798;--placeholder:#94a3b8;--font-sans-family:"Avenir Next", "Manrope", "Nunito Sans", "Helvetica Neue", sans-serif;--font-display-family:"Avenir Next", "Manrope", "Nunito Sans", "Helvetica Neue", sans-serif;--shadow-soft:0 16px 40px #0f172a0f;--shadow-card:0 1px 2px #0f172a0a, 0 12px 30px #0f172a0d;--radius:16px;--sidebar-width:292px}html,body{background:var(--background);color:var(--foreground);overflow-x:hidden}body{font-size:15px;font-weight:560}:where(main,section,article,aside,header,nav,div,form,label,button,a,input,textarea,p,h1,h2,h3,strong,span,time){min-width:0}:where(h1,h2,h3,p,strong,span,time,label,button,a){overflow-wrap:anywhere}:where(img,svg,video,canvas,iframe){max-width:100%}.muted{color:var(--muted)}.app-icon{color:currentColor;object-fit:initial;background:0 0;border-radius:0;flex:none;width:1.25em;height:1.25em;display:block;overflow:visible}.brand-logo{color:#0f172a;white-space:nowrap;align-items:center;gap:12px;font-size:22px;font-weight:880;display:inline-flex}.brand-wave{filter:none;width:56px;height:36px}.role-icon,.icon-tile,.metric-icon,.big-icon,.sidebar-menu-icon,.projector-empty-icon,.projector-stage-icon,.projector-air-icon,.graduate-login-icon,.graduate-login-icon,.app-icon-box{border:1px solid var(--line);color:#334155;background:#f8fafc;flex:none;place-items:center;display:inline-grid;overflow:hidden}.role-icon,.sidebar-menu-icon{border-radius:12px;width:42px;height:42px}.icon-tile,.metric-icon{border-radius:14px;width:48px;height:48px}.big-icon,.graduate-login-icon,.projector-empty-icon,.projector-stage-icon{border-radius:18px;width:72px;height:72px}.projector-air-icon{border-radius:14px;width:56px;height:56px}.role-icon>.app-icon,.icon-tile>.app-icon,.metric-icon>.app-icon,.big-icon>.app-icon,.sidebar-menu-icon>.app-icon,.projector-empty-icon>.app-icon,.projector-stage-icon>.app-icon,.projector-air-icon>.app-icon,.graduate-login-icon>.app-icon,.section-button-label>.app-icon,.live-status-body .app-icon,.host-note-card .app-icon{border-radius:0;width:22px;height:22px}.big-icon>.app-icon,.projector-empty-icon>.app-icon,.projector-stage-icon>.app-icon,.graduate-login-icon>.app-icon{width:32px;height:32px}.tone-purple,.tone-purple .role-icon,.tone-purple .icon-tile,.role-icon.tone-purple,.icon-tile.tone-purple,.metric.tone-purple .metric-icon{color:var(--primary);background:#f3f1ff;border-color:#ded9ff}.tone-blue,.tone-blue .role-icon,.tone-blue .icon-tile,.role-icon.tone-blue,.icon-tile.tone-blue,.metric.tone-blue .metric-icon{color:var(--blue);background:#eff6ff;border-color:#bfdbfe}.tone-pink,.tone-pink .role-icon,.tone-pink .icon-tile,.role-icon.tone-pink,.icon-tile.tone-pink,.metric.tone-pink .metric-icon{color:var(--pink);background:#fdf2f8;border-color:#fbcfe8}.tone-orange,.tone-orange .role-icon,.tone-orange .icon-tile,.role-icon.tone-orange,.icon-tile.tone-orange,.metric.tone-orange .metric-icon{color:var(--orange);background:#fff7ed;border-color:#fed7aa}.tone-green,.tone-green .role-icon,.tone-green .icon-tile,.role-icon.tone-green,.icon-tile.tone-green,.metric.tone-green .metric-icon{color:var(--green);background:#ecfdf5;border-color:#bbf7d0}.tone-gray,.tone-gray .role-icon,.tone-gray .icon-tile,.role-icon.tone-gray,.icon-tile.tone-gray,.metric.tone-gray .metric-icon{color:#475569;background:#f8fafc;border-color:#e2e8f0}.app-shell{min-height:100vh;padding:18px}.dashboard-shell,.host-workspace,.dj-console{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;gap:18px;width:100%;min-height:100vh;display:grid}.dashboard-main,.host-content,.dj-main{align-content:start;gap:18px;width:100%;display:grid}.dashboard-sidebar,.host-sidebar,.dj-rail{width:var(--sidebar-width);border:1px solid var(--line);background:var(--card);height:calc(100vh - 36px);min-height:0;box-shadow:var(--shadow-card);border-radius:20px;grid-template-rows:auto auto auto minmax(0,1fr) auto;align-content:start;gap:18px;padding:18px;display:grid;position:sticky;top:18px;overflow:hidden auto}.host-shell{padding:18px}.host-shell .host-workspace,.host-workspace{--sidebar-width:292px;min-height:calc(100vh - 36px)}.host-workspace.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.host-workspace.sidebar-collapsed .host-sidebar{display:none}.sidebar-header,.dj-brand-card,.sidebar-person,.sidebar-health{border-bottom:1px solid var(--line);padding-bottom:14px}.sidebar-header,.graduate-phone-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-person{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.sidebar-person strong,.sidebar-person span,.sidebar-health strong,.sidebar-health span{text-overflow:ellipsis;display:block;overflow:hidden}.avatar-ring{border:2px solid var(--line-strong);width:54px;height:54px;color:var(--primary);background:#fff;border-radius:999px;place-items:center;font-weight:860;display:grid}.sidebar-kicker,.sidebar-group-title,.eyebrow{color:#64748b;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:820}.eyebrow{background:var(--primary-soft);min-height:auto;color:var(--primary);border:0;border-radius:999px;padding:6px 10px}.sidebar-menu,.section-nav,.dj-section-nav{align-content:start;gap:8px;display:grid}.sidebar-menu-item,.section-button,.dj-section-nav .section-button{color:#344054;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:54px;padding:7px 10px;display:grid;position:relative;overflow:hidden}.sidebar-menu-item:hover,.section-button:hover,.dj-section-nav .section-button:hover{border-color:var(--line);background:#f8fafc}.sidebar-menu-item.active,.section-button.active,.dj-section-nav .section-button.active{background:var(--primary-soft);color:var(--primary);border-color:#dcd7ff}.sidebar-menu-item.active:before,.section-button.active:before{content:"";background:var(--primary);border-radius:0 999px 999px 0;width:3px;position:absolute;inset:8px auto 8px 0}.sidebar-menu-item strong,.section-button-label>span,.section-button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-button-label{display:contents}.section-button-label>.app-icon{border:1px solid var(--line);color:#334155;background:#fff;border-radius:12px;width:42px;height:42px;padding:10px}.section-button.active .section-button-label>.app-icon{color:var(--primary);background:#fff;border-color:#dcd7ff}.sidebar-menu-item span.sidebar-menu-icon,.section-button-label>.app-icon,.live-status-body>.app-icon,.host-note-card>.app-icon{border:1px solid var(--line);color:#334155;box-shadow:none;background:#f8fafc}.sidebar-menu-item.active span.sidebar-menu-icon,.section-button.active .section-button-label>.app-icon{color:var(--primary);background:#fff;border-color:#dcd7ff}.section-button strong{min-width:26px;min-height:24px;color:inherit;background:#fff;border-radius:999px;place-items:center;padding:3px 8px;font-size:12px;display:inline-grid}.quick-action-list,.sidebar-actions{gap:8px;display:grid}.quick-action-list button{border:1px solid var(--line);color:#334155;text-align:left;background:#fff;border-radius:12px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:grid}.topbar,.dashboard-topbar,.host-topbar{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-card);border-radius:20px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:18px 22px;display:grid}.host-topbar{grid-template-columns:minmax(0,1fr) auto auto auto}.topbar h1,.dashboard-topbar h1,.host-title-block h1{color:#0f172a;max-width:100%;font-size:clamp(28px,3.2vw,44px);font-weight:880;line-height:1.04}.dashboard-topbar p,.host-title-block p{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.dashboard-clock,.host-clock{color:#0f172a;white-space:nowrap;justify-items:end;display:grid}.dashboard-clock strong,.host-clock strong{font-size:28px;font-weight:880;line-height:1}.dashboard-clock span,.host-clock span{color:var(--muted);margin-top:5px;font-size:12px}.topbar-actions,.admin-inline-actions,.admin-link-actions,.actions,.role-link-actions,.qr-action-row,.section-action-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn,.icon-btn,.icon-soft-btn,.compact-btn,.telegram-fake-button{border:1px solid var(--line);color:#344054;text-align:center;text-transform:none;min-height:42px;box-shadow:none;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:820;line-height:1.15;display:inline-flex}.btn:hover,.icon-btn:hover,.icon-soft-btn:hover{border-color:var(--line-strong);background:#f8fafc}.btn,.btn.blue,.btn.green,.btn.mode.active{border-color:var(--primary);background:var(--primary);color:#fff}.btn.secondary,.icon-btn,.icon-soft-btn,.compact-btn{border-color:var(--line);color:#344054;background:#fff}.btn.danger,.icon-soft-btn.danger{background:var(--danger-soft);color:var(--danger);border-color:#fecdd3}.btn.green{border-color:var(--green);background:var(--green)}.btn:disabled,.icon-btn:disabled,.telegram-fake-button{cursor:not-allowed;opacity:.66}.panel,.admin-section-card,.admin-hero-card,.system-card,.metrics-card,.activity-card,.access-card,.admin-qr-card,.transition-stats-card,.host-dashboard-card,.projector-preview-card,.participants-card,.host-mini-metrics,.settings-card,.role-access-card,.role-link-card,.graduate-login-card,.graduate-info-list article,.graduate-waiting-card,.graduate-format-card,.item,.music-link-check,.now-playing,.dj-brand-card,.split-title{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-card);border-radius:18px;overflow:hidden}.panel-header,.panel-body,.admin-section-card,.admin-hero-card,.system-card,.metrics-card,.activity-card,.access-card,.admin-qr-card,.transition-stats-card,.host-dashboard-card,.projector-preview-card,.participants-card,.settings-card,.graduate-login-card{padding:20px}.panel{display:grid}.panel-header{border-bottom:1px solid var(--line);padding-bottom:14px}.panel-body{min-width:0}.card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.card-title-row h2,.panel-header h2,.metrics-card h2,.host-dashboard-card h2,.settings-card h2{color:#0f172a;font-size:20px;font-weight:860;line-height:1.16}.soft-badge,.tag,.online-text,.event-status-badge,.mode-chip,.status-pill,.graduate-live-pill{border:1px solid var(--line);color:#475569;white-space:normal;background:#f8fafc;border-radius:999px;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:30px;padding:6px 10px;font-size:12px;font-weight:820;line-height:1;display:inline-flex}.online-text,.event-status-badge.active,.graduate-live-pill.active{color:var(--green);background:#ecfdf5;border-color:#bbf7d0}.status-pill{background:#fff;min-height:34px}.pulse-dot{flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #0f9f6e1f}.admin-overview{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:18px;display:grid}.metrics-card,.activity-card,.access-card{grid-column:auto}.event-gradient-card,.graduate-event-card,.projector-mini,.live-strip-card,.graduate-waiting-card,.current-mode-panel,.projector-hero,.projector-stage,.projector-music-screen,.teacher-process{box-shadow:none;background:#fff}.event-gradient-card{border:1px solid var(--line);border-radius:18px;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:20px;padding:24px;display:grid}.event-gradient-card h3,.graduate-event-card h1{color:#0f172a;font-size:clamp(28px,3vw,44px);font-weight:880;line-height:1.05}.event-gradient-card p,.graduate-event-card p{color:var(--muted);margin-top:8px;font-size:18px}.event-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:12px;display:grid}.role-shortcut{border:1px solid var(--line);color:#0f172a;text-align:center;background:#f8fafc;border-radius:16px;grid-template-rows:42px auto;place-items:center;gap:8px;min-height:92px;padding:12px;font-size:14px;font-weight:820;line-height:1.1;display:grid}.role-shortcut .app-icon{border:1px solid var(--line);color:currentColor;background:#fff;border-radius:12px;width:42px;height:42px;padding:10px}.event-meta-row,.admin-table-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.role-status-list,.activity-list,.after-create-links,.settings-list,.admin-events-side,.admin-links-side,.section-stack,.dj-section-stack,.graduate-message-list,.list{gap:12px;display:grid}.role-status,.activity-row,.after-create-link,.settings-row,.output-row,.participant-row,.access-rule,.scenario-list article,.question-queue-list article,.mini-access-stat{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.role-status strong,.activity-row strong,.output-row strong,.participant-row strong,.role-access-title h3,.role-link-card h3,.music-request-copy strong,.item strong{text-overflow:ellipsis;display:block;overflow:hidden}.role-status span,.activity-row span,.output-row span,.participant-row span,.role-access-title p,.role-link-card p,.music-request-copy span,.item p{min-width:0;color:var(--muted);line-height:1.35}.metric-grid,.admin-metrics,.host-mini-metrics,.section-kpis,.mode-grid,.access-grid,.role-link-grid,.graduate-format-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;display:grid}.metric,.small-metric,.kpi-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.metric strong,.small-metric strong,.kpi-card strong{color:#0f172a;font-size:28px;font-weight:880;line-height:1}.sparkline,.stat-bar span{background:var(--primary-soft);border-radius:999px}.admin-section-grid,.admin-links-layout,.admin-settings-layout,.interactives-layout,.section-two-column,.photo-workbench,.links-screen-grid,.settings-grid,.dj-overview-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);align-items:start;gap:18px;display:grid}.admin-section,.admin-events-card{min-width:0}.search-field,.role-access-url,.link-box,.admin-link-box{border:1px solid var(--line);width:100%;min-height:46px;color:var(--muted);background:#fff;border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.field,.textarea,input,textarea{border:1px solid var(--line);width:100%;color:var(--foreground);background:#fff;border-radius:12px;outline:0;padding:12px 14px}input[type=checkbox],input[type=radio]{width:18px;min-width:18px;height:18px;accent-color:var(--primary);padding:0}.textarea{resize:vertical;min-height:112px}.textarea.compact{min-height:90px}.field-label,.graduate-field-label{color:#475569;gap:8px;font-size:13px;font-weight:760;display:grid}.event-field-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-events-table{gap:10px;display:grid}.admin-events-head,.admin-event-row{grid-template-columns:minmax(240px,1.4fr) minmax(98px,.44fr) minmax(78px,.3fr) minmax(108px,.42fr) minmax(150px,.6fr);align-items:center;gap:12px;display:grid}.admin-events-head{color:#64748b;min-height:40px;padding:0 14px;font-size:13px;font-weight:820}.admin-event-row-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:100%;overflow:hidden}.admin-event-row{min-height:104px;padding:14px}.admin-event-name-cell{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.admin-event-name-cell h3,.admin-event-title-row h3{color:#0f172a;font-size:17px;font-weight:840;line-height:1.2}.admin-row-actions .icon-soft-btn{min-width:42px}.role-access-card,.role-link-card{gap:16px;padding:18px;display:grid}.role-access-card.highlighted{background:#fffafe;border-color:#fbcfe8}.role-access-title,.role-link-card{min-width:0}.role-access-title{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;display:grid}.role-access-url span,.admin-qr-link,.link-copy,.music-link-check span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-access-qr{grid-template-columns:minmax(112px,132px) minmax(0,1fr);align-items:center;gap:14px;display:grid}.admin-qr-frame,.qr-image,.qr-image.inline{border:1px solid var(--line);background:#fff;border-radius:16px;place-items:center;display:grid;overflow:hidden}.admin-qr-image,.role-access-qr img{width:min(100%,240px);height:auto}.home-dashboard,.host-live-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);align-items:start;gap:18px;display:grid}.host-live-grid.full{grid-template-columns:1fr}.current-interactive-card,.output-queue-card,.metrics-overview-card,.participants-overview-card{min-width:0}.current-mode-panel{border:1px solid var(--line);border-radius:16px;grid-template-columns:56px minmax(0,1fr) minmax(180px,auto);align-items:center;gap:16px;padding:16px;display:grid}.current-mode-actions{gap:8px;display:grid}.mode-tabs{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));display:grid;overflow:hidden}.mode-tabs span{border-right:1px solid var(--line);color:#475569;text-align:center;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px;font-size:13px;font-weight:820;line-height:1.1;display:inline-flex}.mode-tabs span.active{background:var(--primary-soft);color:var(--primary);box-shadow:none}.mode-card{border:1px solid var(--line);color:#0f172a;text-align:left;background:#fff;border-radius:18px;align-content:start;justify-items:start;gap:10px;min-height:170px;padding:18px;display:grid}.mode-card.active{background:var(--primary-soft);border-color:#dcd7ff}.section-action-bar{border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.participants-list,.output-list,.question-queue-list,.access-rule-list,.scenario-list,.settings-list{gap:10px;display:grid}.participant-row time,.output-row time,.activity-row time{color:var(--muted);white-space:nowrap;font-size:12px}.role-link-card{grid-template-rows:auto minmax(48px,1fr) auto}.role-link-card .icon-tile{margin-bottom:2px}.link-count,.qr-button{border:1px solid var(--line);color:#334155;background:#f8fafc;border-radius:12px;place-items:center;min-height:38px;padding:8px 10px;display:inline-grid}.photo-workbench{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr)}.teacher-fit-image,.preview-strip img,.graduate-image-grid img{object-fit:cover;border-radius:14px;max-width:100%}.dj-rail{grid-template-rows:auto auto auto auto}.split-title,.dj-rail .panel{padding:18px}.dj-main,.dj-section-stack{min-width:0}.now-playing{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid}.now-playing-art{place-items:center;display:grid}.now-playing-meter{border:10px solid var(--primary-soft);background:#fff;border-radius:999px;width:144px;height:144px}.dj-music-list .item{gap:12px;padding:16px;display:grid}.music-request-copy{gap:4px;display:grid}.music-embed{border:1px solid var(--line);border-radius:14px;width:100%;min-height:152px}.music-link-check{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.dj-settings-list{gap:10px;display:grid}.dj-setting-row{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.graduate-login-shell,.graduate-shell{place-items:start center;min-height:100vh;padding:24px;display:grid}.graduate-phone,.graduate-chat{border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow-card);background:#fff;border-radius:24px;gap:16px;padding:18px;display:grid}.graduate-event-card{border:1px solid var(--line);border-radius:18px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.graduate-login-card{text-align:center;justify-items:center;gap:14px;display:grid}.graduate-info-list,.graduate-mode-overview,.teacher-process,.graduate-composer,.graduate-form{gap:12px;display:grid}.graduate-chat-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding-bottom:14px;display:grid}.graduate-chat-feed{gap:12px;max-height:min(48vh,520px);padding-right:4px;display:grid;overflow:auto}.graduate-composer{border-top:1px solid var(--line);padding-top:14px}.file-drop{border:1px dashed var(--line-strong);min-height:54px;color:var(--muted);text-align:center;background:#f8fafc;border-radius:14px;place-items:center;padding:12px;display:grid}.file-drop input{opacity:0;pointer-events:none;width:1px;height:1px}.preview-strip{gap:8px;display:flex;overflow-x:auto}.preview-strip img{flex:none;width:84px;height:84px}.projector-shell{color:#0f172a;background:#f1f5f9;height:100vh;min-height:100vh;padding:16px}.projector-stage{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;min-height:calc(100vh - 32px);padding:18px;display:grid}.projector-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:auto;display:grid}.projector-header h1{color:#0f172a;text-align:center;white-space:normal;font-size:clamp(24px,3vw,40px);font-weight:880}.projector-brand,.projector-live-state{color:var(--muted);align-items:center;gap:10px;font-size:18px;font-weight:780;display:flex}.projector-live-state{justify-self:end}.projector-hero{border:1px solid var(--line);text-align:center;border-radius:18px;align-content:center;justify-items:center;gap:18px;padding:clamp(24px,5vw,64px);display:grid}.projector-hero:before,.projector-stage:before,.projector-stage:after{display:none}.projector-hero h1,.projector-message-hero h1,.projector-question-screen h1,.projector-music-screen h1{color:#0f172a;max-width:1200px;font-size:clamp(44px,6vw,96px);font-weight:900;line-height:1.04}.projector-hero p{max-width:920px;color:var(--muted);font-size:clamp(22px,2.2vw,36px)}.projector-air-strip{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:18px;padding:14px}.projector-air-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.projector-air-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.projector-waveform{grid-template-columns:repeat(28,1fr);align-items:end;gap:5px;width:min(620px,100%);height:58px;display:grid}.projector-waveform i{background:var(--primary);opacity:.65;border-radius:999px 999px 0 0}.form-error,.form-success{border-radius:12px;padding:10px 12px;font-size:13px;font-weight:720}.form-error{background:var(--danger-soft);color:var(--danger)}.form-success{color:var(--green);background:#ecfdf5}.spinner{border-color:var(--line);border-top-color:var(--primary)}@media (min-width:1360px){.dashboard-shell,.host-workspace,.dj-console{gap:22px}.admin-overview{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}}@media (max-width:1280px){.dashboard-shell,.host-workspace,.dj-console,.admin-overview,.admin-section-grid,.admin-links-layout,.admin-settings-layout,.home-dashboard,.host-live-grid,.interactives-layout,.section-two-column,.photo-workbench,.links-screen-grid,.settings-grid,.dj-overview-grid{grid-template-columns:1fr}.dashboard-sidebar,.host-sidebar,.dj-rail{z-index:20;border-radius:0 0 20px 20px;grid-template-rows:auto auto auto;width:100%;height:auto;min-height:0;max-height:none;position:sticky;top:0;overflow:visible}.dashboard-sidebar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand person health""kicker kicker kicker""nav nav nav"}.dashboard-sidebar>.brand-logo{grid-area:brand}.dashboard-sidebar>.sidebar-person{border-bottom:0;grid-area:person;padding-bottom:0}.dashboard-sidebar>.sidebar-kicker{grid-area:kicker}.dashboard-sidebar>.sidebar-menu{grid-area:nav}.dashboard-sidebar>.sidebar-health{border-bottom:0;grid-area:health;padding-bottom:0}.sidebar-menu,.section-nav,.dj-section-nav{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.sidebar-menu-item,.section-button,.dj-section-nav .section-button{scroll-snap-align:start;flex:0 0 196px;width:196px;min-height:60px}.sidebar-menu-item{grid-template-columns:36px minmax(0,1fr)}.section-button,.dj-section-nav .section-button{flex-basis:216px;grid-template-columns:36px minmax(0,1fr) auto;width:216px}.sidebar-menu-icon,.section-button-label>.app-icon{border-radius:11px;width:36px;height:36px}.sidebar-menu-item strong,.section-button-label>span{white-space:normal;line-height:1.12}.host-sidebar{grid-template-columns:auto minmax(0,1fr)}.host-sidebar .sidebar-content,.dj-rail .panel{grid-column:1/-1}.quick-action-list,.sidebar-event-card,.sidebar-actions,.sidebar-health,.host-sidebar .sidebar-content>.sidebar-group-title:not(:nth-of-type(2)){display:none}.topbar,.dashboard-topbar,.host-topbar{grid-template-columns:1fr}.dashboard-clock,.host-clock,.topbar-actions{justify-content:flex-start;justify-items:start}.current-mode-panel{grid-template-columns:56px minmax(0,1fr)}.current-mode-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.app-shell,.host-shell,.graduate-login-shell,.graduate-shell,.projector-shell{padding:10px}.dashboard-shell,.host-workspace,.dj-console{gap:12px}.dashboard-sidebar,.host-sidebar,.dj-rail,.topbar,.dashboard-topbar,.host-topbar,.panel-header,.panel-body,.admin-section-card,.admin-hero-card,.system-card,.metrics-card,.activity-card,.access-card,.host-dashboard-card,.projector-preview-card,.settings-card,.graduate-login-card{border-radius:16px;padding:14px}.dashboard-sidebar{grid-template-columns:1fr;grid-template-areas:"brand""person""nav"}.dashboard-sidebar>.sidebar-kicker,.dashboard-sidebar>.sidebar-health{display:none}.sidebar-person{grid-template-columns:48px minmax(0,1fr)}.avatar-ring{width:46px;height:46px}.admin-events-head{display:none}.admin-event-row,.admin-row-actions,.role-status,.activity-row,.after-create-link,.settings-row,.output-row,.participant-row,.current-mode-panel,.music-link-check,.projector-air-card{grid-template-columns:1fr;justify-items:start}.admin-event-name-cell,.role-access-title,.graduate-event-card{grid-template-columns:52px minmax(0,1fr)}.event-gradient-card,.event-actions,.metric-grid,.admin-metrics,.host-mini-metrics,.section-kpis,.mode-grid,.access-grid,.role-link-grid,.graduate-format-grid,.role-access-qr,.link-participant-grid{grid-template-columns:1fr}.btn,.icon-btn,.icon-soft-btn,.compact-btn{width:100%}.topbar h1,.dashboard-topbar h1,.host-title-block h1{font-size:30px}.projector-stage{min-height:calc(100vh - 20px);padding:10px}.projector-header{text-align:center;grid-template-columns:1fr;justify-items:center}.projector-live-state{justify-self:center}}@media (max-width:560px){body{font-size:14px}.brand-logo{font-size:19px}.brand-wave{width:46px;height:30px}.sidebar-menu-item,.section-button,.dj-section-nav .section-button{flex-basis:190px;width:190px}.graduate-phone,.graduate-chat{border-radius:18px;padding:14px}.graduate-chat-header{grid-template-columns:1fr}.projector-hero h1,.projector-message-hero h1,.projector-question-screen h1,.projector-music-screen h1{font-size:40px}}.role-status-list{gap:10px;display:grid}.role-status{border-radius:18px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;min-height:88px;padding:14px 16px}.role-status>.role-icon,.settings-row>.role-icon,.activity-row>.role-icon,.role-access-title>.role-icon,.mini-access-stat>.role-icon{place-self:center;place-items:center;display:grid}.role-status>.role-icon{border-radius:15px;width:54px;height:54px}.role-status strong{color:#0f172a;white-space:normal;font-size:18px;line-height:1.15}.role-status span:not(.role-icon){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:14px;line-height:1.25;display:block;overflow:hidden}.role-status em{color:var(--green);white-space:nowrap;justify-self:end;font-size:13px;font-style:normal;font-weight:820}.admin-row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;display:flex}.admin-row-actions .compact-btn{white-space:nowrap;flex:none;width:auto;min-width:104px;padding-inline:12px}.admin-row-actions .icon-soft-btn{flex:0 0 42px;width:42px;min-width:42px;height:42px;padding:0}.compact-btn .app-icon,.icon-soft-btn .app-icon{width:18px;height:18px}.access-grid{grid-template-columns:1fr}.role-access-card{grid-template-columns:minmax(260px,.95fr) minmax(240px,1fr) auto;align-items:center;gap:16px}.role-access-card.highlighted{grid-template-columns:minmax(260px,.9fr) minmax(240px,1fr) minmax(220px,.75fr) auto}.role-access-title{grid-template-columns:58px minmax(0,1fr)}.role-access-title h3{white-space:normal;font-size:20px;line-height:1.15}.role-access-title p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:14px;display:-webkit-box;overflow:hidden}.role-access-url{min-width:0}.role-access-qr{grid-template-columns:98px minmax(0,1fr)}.role-access-qr img{width:98px}.admin-link-actions{justify-content:flex-end}.admin-link-actions .btn{white-space:nowrap;width:auto;min-width:116px}.transition-stat-grid{grid-template-columns:1fr}.mini-access-stat{grid-template-columns:54px minmax(0,1fr) auto;place-items:center stretch;gap:12px;min-height:78px;padding:12px 14px}.mini-access-stat strong{color:#0f172a;grid-area:1/3;justify-self:end;font-size:30px;line-height:1}.mini-access-stat span:not(.role-icon){color:var(--muted);text-align:left;grid-area:1/2;justify-self:start;font-size:15px;font-weight:780;line-height:1.2}.admin-stats-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.52fr);align-items:start}.admin-feed-card{grid-column:1;gap:12px;display:grid}.admin-stats-card{grid-column:2}.admin-stats-layout>.admin-section-card:not(.admin-feed-card):not(.admin-stats-card){display:none}.admin-settings-layout{grid-template-columns:minmax(0,1fr)}.admin-stats-card .admin-metrics.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-card .metric{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px 14px;min-height:118px;padding:14px}.admin-stats-card .metric-icon{grid-area:1/1/span 2;place-self:center;width:54px;height:54px}.admin-stats-card .metric .muted{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;font-size:15px;font-weight:780;line-height:1.2;overflow:hidden}.admin-stats-card .metric strong{grid-area:1/3/span 2;justify-self:end;margin:0;font-size:32px}.admin-stats-card .metric .sparkline{grid-area:2/2;width:min(100%,160px);height:10px;margin:0}@media (max-width:1280px){.role-access-card,.role-access-card.highlighted,.admin-stats-layout{grid-template-columns:1fr}.admin-stats-card,.admin-feed-card{grid-column:auto}}@media (max-width:980px){.role-status,.mini-access-stat{grid-template-columns:54px minmax(0,1fr) auto}.admin-event-row{grid-template-columns:1fr}.admin-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.admin-row-actions .compact-btn,.admin-row-actions .icon-soft-btn,.admin-link-actions .btn{width:100%;min-width:0}}.role-access-card,.role-access-card.highlighted{grid-template-columns:1fr;align-items:stretch}.role-access-title{align-items:center}.role-access-url{justify-content:flex-start;width:100%}.role-access-url span{text-align:left}.admin-link-actions{justify-content:flex-start;width:100%}.admin-link-actions .btn{min-width:136px}.role-link-card code{margin-top:4px}.role-link-actions{margin-top:2px}.participant-row>.role-icon,.recent-participants .participant-row>.role-icon,.section-kpi>.role-icon,.role-counter>.role-icon,.small-metric>.role-icon{place-self:center;place-items:center;display:grid}.participant-row>.role-icon>.app-icon,.section-kpi>.role-icon>.app-icon,.role-counter>.role-icon>.app-icon,.small-metric>.role-icon>.app-icon{width:22px;height:22px}.role-counter>.role-icon{grid-area:1/1/span 2}.role-counter>strong{grid-area:1/2}.role-counter>span:not(.role-icon){overflow-wrap:normal;white-space:normal;grid-area:2/2;min-width:0}.participant-row{grid-template-columns:52px minmax(0,1fr) auto;justify-items:stretch}.participant-row>div{min-width:0}.participant-row time{text-align:right;justify-self:end}.dj-console{--sidebar-width:380px}.dj-rail{overflow-x:hidden}.dj-rail .split-title,.dj-rail .panel{min-width:0}.dj-rail .split-title{overflow:visible}.dj-rail .split-title p{overflow-wrap:normal;max-width:none}.dj-rail .panel-header h2{overflow-wrap:normal}@media (max-width:980px){.role-link-card{grid-template-columns:52px minmax(0,1fr)}.participant-row{grid-template-columns:52px minmax(0,1fr);justify-items:stretch}.participant-row time{text-align:left;grid-column:2;justify-self:start}.admin-link-actions{grid-template-columns:1fr;display:grid}.admin-link-actions .btn{width:100%;min-width:0}}.admin-events-card .card-title-row{grid-template-columns:auto minmax(260px,520px);align-items:center;display:grid}.admin-events-card .search-field{flex:0 520px;justify-self:end;width:100%;max-width:520px}.admin-events-head,.admin-event-row{grid-template-columns:minmax(260px,1.18fr) minmax(112px,.34fr) minmax(92px,.26fr) minmax(136px,.36fr) minmax(250px,.58fr)}.admin-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;display:grid}.admin-row-actions .compact-btn,.admin-row-actions .icon-soft-btn{flex:0 auto;width:100%;min-width:0;height:42px}.admin-row-actions .icon-soft-btn{border-radius:14px}.mode-tabs button{border:0;border-right:1px solid var(--line);color:#52607a;text-align:center;overflow-wrap:anywhere;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:58px;padding:10px;font-size:14px;font-weight:800;line-height:1.12;display:inline-flex}.mode-tabs button:last-child{border-right:0}.mode-tabs button.active{color:var(--primary);background:#eef2ff;box-shadow:inset 0 0 0 1px #6f3cff2e}.mode-tabs button .app-icon{flex:0 0 22px;width:22px;height:22px}.mode-tabs span{display:none}.current-mode-panel>.role-icon{place-self:center;place-items:center;display:grid}.current-mode-actions .btn{justify-content:center}.home-dashboard{grid-template-columns:1fr}.role-link-card{grid-template-columns:72px minmax(0,1fr);align-items:start}.role-link-card>.icon-tile{place-self:start center;place-items:center;display:grid}.role-link-card>div{align-self:center;min-width:0}.role-link-card strong{line-height:1.15}.role-link-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.role-link-actions .btn{white-space:normal;word-break:normal;overflow-wrap:normal;min-width:0}.projector-stage-label{display:none}.projector-qr-screen{background:#fff}.projector-qr-screen img{aspect-ratio:1;border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:24px;width:min(48vh,460px);max-width:68vw;padding:24px}.projector-qr-screen h1{font-size:clamp(56px,6vw,92px)}.projector-message-hero small,.projector-question-screen small{color:var(--muted)}@media (max-width:1280px){.admin-events-head,.admin-event-row{grid-template-columns:minmax(260px,1fr) minmax(112px,.32fr) minmax(82px,.2fr) minmax(128px,.32fr) minmax(218px,.52fr)}}@media (max-width:980px){.admin-events-card .card-title-row{grid-template-columns:1fr}.admin-events-card .search-field{justify-self:stretch;max-width:none}.admin-events-head,.admin-event-row{grid-template-columns:1fr}.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-tabs button:nth-child(2n){border-right:0}.current-mode-panel{grid-template-columns:56px minmax(0,1fr)}.current-mode-actions{grid-column:1/-1}.role-link-actions{grid-template-columns:1fr}}.mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-tabs button{flex-direction:column;gap:6px;min-height:64px;padding:12px 8px}.mode-tabs button .app-icon,.current-mode-panel>.role-icon>.app-icon,.output-row>.role-icon>.app-icon,.projector-stage-icon>.app-icon,.participant-row>.role-icon>.app-icon,.role-link-card>.icon-tile>.app-icon{margin:auto;display:block}.current-mode-panel{grid-template-columns:72px minmax(0,1fr) minmax(320px,auto);align-items:center;gap:22px}.current-mode-panel>.role-icon,.output-row>.role-icon,.projector-stage-icon,.participant-row>.role-icon,.role-link-card>.icon-tile{flex:none;place-items:center;display:grid}.current-mode-panel>div:not(.current-mode-actions){min-width:0}.current-mode-actions{justify-self:end;min-width:0}.links-screen-grid{grid-template-columns:1fr}.links-screen-grid>.section-action-bar,.links-screen-grid>.role-links-card{grid-column:1/-1}.links-screen-grid>.role-links-card{width:100%}.role-link-grid{grid-template-columns:repeat(2,minmax(360px,1fr))}.current-mode-actions .btn{white-space:normal;min-width:0}.messages-questions-grid{align-items:start}.graduate-kind-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.graduate-kind-toggle button{border:1px solid var(--line);min-height:46px;color:var(--muted);font:inherit;background:#fff;border-radius:14px;font-weight:800}.graduate-kind-toggle button.active{color:var(--primary);background:#f0edff;border-color:#6f3cff61}.projector-music-screen.is-empty{gap:28px}.projector-music-screen.is-empty h1{max-width:1100px}.projector-generating .spinner,.projector-generating p{display:none}.dj-rail{gap:18px}.dj-section-nav{grid-template-columns:1fr}.dj-main .dj-overview-grid{align-items:start}.dashboard-sidebar,.host-sidebar{overflow:hidden}.dashboard-sidebar .brand-logo,.host-sidebar .brand-logo{gap:10px;width:100%;min-width:0;font-size:18px;line-height:1.12}.dashboard-sidebar .brand-logo .brand-mark,.host-sidebar .brand-logo .brand-mark{flex:0 0 44px;width:44px}.dashboard-sidebar .brand-logo span,.host-sidebar .brand-logo span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.host-sidebar .sidebar-header{grid-template-columns:1fr}.host-sidebar .sidebar-content,.dashboard-sidebar .sidebar-menu{padding-top:8px}.current-interactive-card.active{background:linear-gradient(#fff 0%,#f7fff9 100%)}.active-mode-notice{color:#067647;background:#ecfdf3;border:1px solid #12b76a38;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;font-size:14px;font-weight:760;display:flex}.active-mode-notice strong{color:#067647}.active-mode-notice span:last-child{color:#0f766e;font-weight:680}.current-mode-actions{grid-template-columns:minmax(160px,220px)}.projector-message-hero .projector-photo-row{order:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(220px,min(30vh,340px));grid-auto-flow:dense;justify-content:center;align-items:center;gap:16px;width:min(94vw,1280px);max-height:min(64vh,700px);display:grid;overflow:visible}.projector-message-hero.has-photos{gap:14px;padding-top:24px;padding-bottom:24px}.projector-message-hero.has-photos h1{max-width:min(94vw,1280px);font-size:clamp(42px,5.4vw,76px)}.projector-message-hero h1{order:2}.projector-message-hero small{order:3}.projector-message-hero .projector-photo-row img{object-fit:contain;background:0 0;border:0;border-radius:18px;width:100%;max-width:none;height:100%;min-height:0;max-height:min(64vh,700px);box-shadow:0 20px 54px #202b3f29}.projector-message-hero .projector-photo-row.count-1 img{justify-self:center;width:auto;max-width:min(92vw,1180px);height:min(64vh,700px);max-height:min(64vh,700px)}.projector-message-hero .projector-photo-row.count-1{justify-content:center;align-items:center;display:flex}.projector-message-hero .projector-photo-row.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.projector-message-hero .projector-photo-row.count-3,.projector-message-hero .projector-photo-row.count-5{grid-template-columns:repeat(3,minmax(0,1fr))}.projector-message-hero .projector-photo-row.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.projector-message-hero .projector-photo-row img.image-landscape{grid-column:span 2}.projector-message-hero .projector-photo-row img.image-portrait{object-fit:contain}.projector-message-hero .projector-photo-row.count-2 img.image-landscape{grid-column:span 1}.projector-message-hero .projector-photo-row.count-3 img.image-landscape,.projector-message-hero .projector-photo-row.count-5 img.image-landscape{grid-column:span 2}.admin-overview{grid-template-columns:minmax(520px,1.08fr) minmax(360px,.92fr);align-items:stretch}.admin-hero-card,.system-card{height:100%}.event-gradient-card{grid-template-columns:72px minmax(0,1fr);align-content:start;gap:16px;height:auto;min-height:0;padding:20px}.event-gradient-card h3{overflow-wrap:anywhere;font-size:clamp(24px,2.35vw,38px)}.event-gradient-card p,.event-meta-row{overflow-wrap:anywhere}.event-actions{grid-template-columns:repeat(4,minmax(96px,1fr));margin-top:8px}.role-shortcut{min-height:82px;padding:10px;font-size:13px}.role-shortcut .app-icon{width:38px;height:38px;padding:9px}.role-status-list{border:0;border-radius:0;gap:12px;overflow:visible}.system-card .role-status-list{grid-template-columns:repeat(2,minmax(0,1fr))}.role-status{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:56px minmax(0,1fr) max-content;overflow:hidden}.role-status strong,.role-status span:not(.role-icon),.role-status em{min-width:0}.role-status em{white-space:nowrap;justify-self:end}.system-card .role-status{grid-template-columns:48px minmax(0,1fr);min-height:92px}.system-card .role-status em{grid-column:2;justify-self:start}.admin-metrics .metric .sparkline{display:none}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metrics .metric{min-width:0;min-height:138px;padding:16px;overflow:hidden}.admin-metrics .metric-icon{border-radius:13px;width:46px;height:46px}.admin-metrics .metric strong{font-size:clamp(25px,2.2vw,34px)}.admin-metrics .metric .muted{overflow-wrap:anywhere;min-width:0;line-height:1.2}.host-sidebar .sidebar-header{margin-bottom:10px;padding-bottom:10px}.host-sidebar .sidebar-content{padding-top:0}.teacher-reference-box{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;display:grid}.teacher-reference-box img{border:1px solid var(--line);object-fit:cover;border-radius:18px;width:96px;height:96px}.teacher-reference-box .role-icon{border-radius:18px;width:96px;height:96px}.teacher-reference-box p{margin:6px 0 12px}.file-action{width:fit-content;position:relative;overflow:hidden}.file-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.admin-events-layout{align-items:stretch;min-height:max(560px,100dvh - 128px)}.admin-events-layout .admin-events-card{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:max(560px,100dvh - 128px);display:grid}.admin-events-layout .admin-events-table{align-content:start;min-height:0;padding-right:2px;overflow:auto}.admin-events-layout .admin-events-side{align-content:start}.admin-overview .metrics-card .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview .metrics-card .metric{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px 12px;min-height:92px}.admin-overview .metrics-card .metric-icon{grid-row:1/span 3}.admin-overview .metrics-card .metric .muted,.admin-overview .metrics-card .metric strong,.admin-overview .metrics-card .metric em{grid-column:2}.admin-overview .metrics-card .metric strong{font-size:30px}.item .attachment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,min(260px,100%)));justify-content:start;align-items:start;gap:12px}.item .attachment-grid.count-1{grid-template-columns:minmax(0,min(520px,100%))}.item .attachment-tile{grid-template-rows:minmax(0,auto) auto;align-items:center;display:grid}.item .attachment-tile img{aspect-ratio:auto;object-fit:contain;background:#f8fafc;justify-self:center;width:auto;max-width:100%;height:auto;max-height:min(42vh,420px)}.item .attachment-grid.count-1 .attachment-tile img{max-height:min(52vh,520px)}.qr-modal{padding:clamp(12px,3vw,28px)}.qr-modal .qr-card{border-radius:18px;width:min(680px,100vw - 24px);max-height:calc(100dvh - 24px);padding:clamp(16px,3vw,28px);overflow:auto}.qr-modal .qr-card-header h2{overflow-wrap:anywhere}.qr-modal .qr-image{aspect-ratio:1;border-radius:18px;width:min(72vmin,560px,100%);max-width:100%;padding:clamp(10px,2vmin,24px);background-image:none!important}.qr-modal .qr-image img{object-fit:contain;width:100%;height:100%;display:block}.projector-message-hero.has-photos{grid-template-rows:minmax(0,auto) auto auto;align-content:center;overflow:hidden}.projector-message-hero .projector-photo-row{width:min(94vw,1320px);max-width:100%;max-height:min(66vh,720px);display:block;overflow:visible}.projector-photo-album{justify-content:center;width:min(94vw,1320px);max-width:100%;margin-inline:auto}.projector-photo-track{justify-content:center!important;align-items:center!important}.projector-photo-frame{place-items:center;overflow:visible;display:grid!important}.projector-message-hero .projector-photo-row .projector-album-image{background:0 0;border:0;border-radius:18px;max-width:100%;max-height:min(66vh,720px);display:block;box-shadow:0 20px 54px #202b3f29;object-fit:contain!important;width:100%!important;height:auto!important}.projector-message-hero .projector-photo-row.count-1 .projector-photo-album{width:min(92vw,1320px)}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-landscape{max-width:min(92vw,1320px);width:min(92vw,1320px)!important}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-landscape .projector-album-image{max-height:min(62vh,700px)}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-portrait{max-width:min(58vw,640px);width:min(58vw,640px)!important}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-portrait .projector-album-image{max-width:min(58vw,640px);max-height:min(66vh,720px)}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-square{max-width:min(76vw,620px);width:min(76vw,620px)!important}.projector-message-hero .projector-photo-row.count-1 .projector-photo-frame.image-square .projector-album-image{max-width:min(76vw,620px);max-height:min(62vh,620px)}.projector-air-card>.adaptive-projector-image{border-radius:12px;justify-self:end;width:72px;height:54px;overflow:hidden}.projector-air-card>.adaptive-projector-image>img{object-fit:cover;width:100%;height:100%}@media (max-width:980px){.admin-overview,.system-card .role-status-list{grid-template-columns:1fr}.system-card .role-status{grid-template-columns:56px minmax(0,1fr) max-content}.system-card .role-status em{grid-column:auto;justify-self:end}.teacher-reference-box{grid-template-columns:1fr}.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.messages-questions-grid{grid-template-columns:1fr}.current-mode-panel{grid-template-columns:56px minmax(0,1fr)}.current-mode-actions{grid-template-columns:1fr;justify-self:stretch}}@media (max-width:1280px){.admin-events-layout,.admin-events-layout .admin-events-card{min-height:auto}.admin-events-layout .admin-events-table{overflow:visible}}@media (max-width:980px){.admin-overview .metrics-card .admin-metrics{grid-template-columns:1fr}.admin-overview .metrics-card .metric{grid-template-columns:56px minmax(0,1fr) max-content}.admin-overview .metrics-card .metric-icon{grid-row:1/span 2}.admin-overview .metrics-card .metric strong{grid-area:1/3;justify-self:end}.admin-overview .metrics-card .metric em{grid-column:2/-1}.item .attachment-grid,.item .attachment-grid.count-1{grid-template-columns:1fr}.item .attachment-tile img,.item .attachment-grid.count-1 .attachment-tile img{max-height:min(48vh,420px)}.qr-modal .qr-card{width:calc(100vw - 20px)}.projector-message-hero .projector-photo-row,.projector-message-hero .projector-photo-row.count-1 img,.projector-message-hero .projector-photo-row.count-1 img.image-landscape,.projector-message-hero .projector-photo-row.count-1 img.image-portrait,.projector-message-hero .projector-photo-row.count-1 img.image-square{max-width:min(92vw,100%);max-height:min(54vh,520px)}}
