.ds-onsite{max-width:1280px;margin:auto;padding:calc(var(--ds-header-h,76px) + 32px) clamp(18px,4vw,44px) 100px;color:var(--ds-text);font-family:Poppins,system-ui,sans-serif;min-height:80vh}
.ds-onsite *, .os-dialog *{box-sizing:border-box;min-width:0}.os-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.os-hero h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.035em;line-height:1.2;margin:14px 0}.os-hero p:not(.os-eyebrow),.os-muted,.os-notice{color:var(--ds-muted);line-height:1.7}.os-eyebrow{color:var(--ds-accent);font-weight:800;font-size:12px;letter-spacing:.1em;display:flex;gap:9px;align-items:center}.os-eyebrow>span:first-child{width:9px;height:9px;border-radius:50%;background:var(--ds-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--ds-accent) 15%,transparent)}
.os-btn,.os-tabs button{font:inherit;font-weight:700;border:1px solid var(--ds-border);color:var(--ds-text);background:var(--ds-card);border-radius:13px;min-height:44px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.os-btn.primary,.os-tabs button[aria-selected=true]{background:var(--ds-accent);color:var(--ds-accent-contrast,#061919);border-color:var(--ds-accent)}.os-btn:disabled{opacity:.55;cursor:default}.ds-onsite :focus-visible,.os-dialog :focus-visible{outline:3px solid var(--ds-accent);outline-offset:3px}.os-top{display:flex;gap:12px;align-items:flex-end}.os-top label{flex:1}.ds-onsite label,.os-dialog label{display:grid;gap:7px;font-size:13px;font-weight:650}.ds-onsite input,.ds-onsite select,.ds-onsite textarea,.os-dialog input,.os-dialog select,.os-dialog textarea{font:inherit;color:var(--ds-text);background:var(--ds-input-bg,var(--ds-bg));border:1px solid var(--ds-border);border-radius:12px;padding:11px;width:100%;max-width:100%;min-height:44px}.ds-onsite textarea,.os-dialog textarea{resize:vertical}.ds-onsite [hidden]{display:none!important}.os-card{background:color-mix(in srgb,var(--ds-card) 88%,transparent);border:1px solid var(--ds-border);border-radius:23px;padding:23px;backdrop-filter:blur(14px)}.os-card h2,.os-card h3{margin-top:0}.os-info{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:22px 0}.os-info h2{margin-bottom:6px;font-size:22px}.os-info p{margin:4px 0}.os-stats{display:flex;gap:12px;flex-wrap:wrap}.os-stats span{padding:12px 18px;background:var(--ds-card);border:1px solid var(--ds-border);border-radius:16px;font-size:12px}.os-stats b{font-size:25px;display:block;color:var(--ds-accent)}.os-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.os-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px}.os-sessions{display:grid;gap:10px;align-content:start;max-height:900px;overflow:auto}.os-session{display:block;width:100%;text-align:left;padding:15px;border-radius:17px;border:1px solid var(--ds-border);background:var(--ds-card);color:var(--ds-text);font:inherit;cursor:pointer}.os-session[aria-pressed=true]{border-color:var(--ds-accent);background:color-mix(in srgb,var(--ds-accent) 10%,var(--ds-card))}.os-session small,.os-session strong{display:block}.os-session small{color:var(--ds-muted);font-size:12px;line-height:1.6}.os-session strong{margin:6px 0}.os-pill{display:inline-block;border:1px solid var(--ds-border);background:color-mix(in srgb,var(--ds-accent) 7%,var(--ds-card));color:var(--ds-accent);border-radius:100px;padding:5px 10px;font-size:12px;font-weight:700}.os-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.os-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.os-full{grid-column:1/-1}.os-form{display:grid;gap:18px}.os-divider{border:0;border-top:1px solid var(--ds-border);margin:26px 0}.os-pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.os-roster,.os-ranking{list-style:none;padding:0;margin:0;display:grid;gap:9px}.os-roster li,.os-ranking li{display:flex;align-items:center;gap:14px;background:var(--ds-card);border:1px solid var(--ds-border);border-radius:15px;padding:13px}.os-roster li>span:not(.os-avatar),.os-ranking li>span:not(.os-rank):not(.os-avatar){flex:1}.os-roster select{width:165px}.os-ranking b{color:var(--ds-accent);white-space:nowrap}.os-ranking .os-rank{width:30px;font-weight:850;font-size:20px}.os-check{display:flex!important;align-items:center;gap:9px}.os-check input{width:20px;min-height:20px}.os-notice{font-size:12px;margin-top:28px}.os-dialog{font-family:Poppins,system-ui,sans-serif;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 36px);background:var(--ds-card,#0d1727);color:var(--ds-text,#fff);border:1px solid var(--ds-border);border-radius:24px;padding:24px;overflow:auto}.os-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.os-dialog header{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:22px}.os-dialog h2{margin:0;font-size:22px}.os-close{font-size:26px;width:44px;padding:0;flex:none}.os-dialog fieldset{border:1px solid var(--ds-border);border-radius:16px;padding:15px;margin:12px 0}.os-dialog legend{font-weight:700;overflow-wrap:anywhere}.os-dialog fieldset label{display:flex;gap:9px;align-items:start;font-weight:400;margin:10px 0}.os-dialog input[type=radio]{width:20px;min-height:20px;flex:none}.os-question{display:grid;gap:9px;margin-bottom:18px;padding:16px;border:1px solid var(--ds-border);border-radius:17px}.os-empty{padding:36px 16px;text-align:center;color:var(--ds-muted);line-height:1.7}#os-status{overflow-wrap:anywhere}#os-status.is-error{color:var(--ds-error,#dc6464)}
@media(max-width:800px){.os-layout{grid-template-columns:1fr}.os-sessions{grid-template-columns:1fr;max-height:none;overflow:visible}.os-info{align-items:flex-start;flex-direction:column}.os-hero{align-items:flex-start;flex-direction:column}.os-card{padding:18px}.os-stats{width:100%}.os-stats span{flex:1;padding:10px}.os-hero h1{font-size:34px}}
@media(max-width:430px){.os-grid{grid-template-columns:1fr}.os-top{align-items:stretch;flex-direction:column}.os-roster li{align-items:flex-start;flex-direction:column;gap:8px}.os-roster select{width:100%}.os-dialog{padding:18px}.os-tabs button{flex:1;padding:9px;font-size:12px}}
.os-stamps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.os-stamps span{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:14px;border:1px dashed var(--ds-border);color:var(--ds-muted);font-size:18px}.os-stamps .filled{background:color-mix(in srgb,var(--ds-accent) 18%,var(--ds-card));color:var(--ds-accent);border-style:solid;font-weight:850}.os-review{margin-top:20px}.os-review summary{font-weight:700;cursor:pointer}.os-dialog summary,.ds-onsite summary{min-height:44px;display:flex;align-items:center;cursor:pointer}@media(max-width:430px){.os-stamps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ds-onsite .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.os-stats span,.os-session strong,.os-roster strong,.os-ranking li>span{overflow-wrap:anywhere}
.os-session-tools{display:grid;gap:12px;grid-column:1/-1}.os-session-tools .os-btn{font-size:12px}.os-plain{margin:0;padding:0;border:0}.os-roster-tools,.os-preparation{margin-top:18px}.os-plain:disabled{opacity:.65}.os-question [data-options]{display:grid;gap:10px}.os-dialog .os-question label{display:grid;font-weight:650}.os-dialog .os-question legend{font-size:13px}.os-roster small{display:block}.os-dialog [data-dialog-status]{overflow-wrap:anywhere}
.ds-onsite .os-mobile-picker{display:none}@media(max-width:800px){.ds-onsite .os-mobile-picker{display:grid}.os-sessions .os-session,.os-session-tools label{display:none}.os-session-tools{order:1}.os-mobile-picker{order:0}}
.os-avatar{width:38px;height:38px;flex:none;border-radius:50%;object-fit:cover}.os-initial{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ds-accent) 15%,var(--ds-card));color:var(--ds-accent);font-weight:800}.os-staff-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.os-week-quiz{border-top:1px solid var(--ds-border);padding-top:22px;margin-top:22px}.os-recording{margin-top:22px}.os-roster label[data-late-for]{width:95px;flex:none}.os-dialog [hidden]{display:none!important}.os-dialog .os-roster{max-height:55vh;overflow:auto}.os-dialog .os-roster li{flex-wrap:wrap}.os-dialog .os-roster .os-check{flex:1}.os-dialog .os-roster select{width:145px}.os-ranking li>span:not(.os-avatar):not(.os-rank){flex:1}
