:root{--bg:#0b1020;--surface:#141b33;--surface-2:#1c2647;--text:#e8ecf7;--muted:#9aa6c7;--accent:#7c9cff;--accent-strong:#5c7cff;--warn-bg:#3a2f12;--warn-border:#a8842a;--radius:10px;--maxw:880px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.9em}.app{flex-direction:column;min-height:100%;display:flex}.app__header{background:var(--surface);border-bottom:1px solid var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.app__brand{color:var(--text);font-size:1.1rem;font-weight:700}.app__nav{gap:1rem;display:flex}.app__nav a{color:var(--muted);padding:.25rem 0}.app__nav a.active{color:var(--text);border-bottom:2px solid var(--accent)}.app__main{width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:1.5rem 1.25rem 3rem}.app__footer{color:var(--muted);border-top:1px solid var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.85rem;display:flex}.banner{max-width:var(--maxw);border-radius:var(--radius);margin:1rem auto 0;padding:.75rem 1rem;font-size:.9rem}.banner--warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:#f3e6bf}.page{flex-direction:column;gap:1.5rem;display:flex}.page--narrow{max-width:560px}.page--center{text-align:center;justify-content:center;align-items:center;min-height:50vh}.hero h1{margin:0 0 .5rem;font-size:2.25rem}.hero__tagline{color:var(--muted);max-width:60ch}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.section{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);padding:1.25rem}.section h2{margin:0 0 .5rem}.muted{color:var(--muted)}.form{flex-direction:column;gap:1rem;max-width:460px;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field__label{color:var(--muted);font-size:.85rem}.field__input{background:var(--surface-2);color:var(--text);font:inherit;border:1px solid #2a355c;border-radius:8px;padding:.6rem .75rem}.field__input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn{border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:.55rem 1.1rem;display:inline-block}.btn:hover{filter:brightness(1.1);text-decoration:none}.btn--primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.tbd{background:var(--surface-2);border:1px dashed var(--warn-border);color:#f3e6bf;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;border-radius:999px;padding:.05em .45em;font-size:.72em;font-weight:600;display:inline-block}.speakers{grid-template-columns:1fr;gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}@media (min-width:640px){.speakers{grid-template-columns:1fr 1fr}}.speaker{background:var(--surface-2);border-radius:var(--radius);border:1px solid #2a355c;gap:1rem;height:100%;padding:1rem;display:flex}.speaker__photo{object-fit:cover;border-radius:50%;flex:none;width:64px;height:64px}.speaker__photo--placeholder{flex-direction:column;align-items:center;gap:.3rem;width:auto;height:auto;display:flex}.speaker__photo-caption{font-size:.6rem}.avatar{width:64px;height:64px;display:block}.speaker__body{flex-direction:column;gap:.3rem;min-width:0;display:flex}.speaker__name{margin:0 0 .15rem;font-size:1.05rem;line-height:1.3}.speaker__field{color:var(--text);margin:0;font-size:.88rem}.speaker__field--multiline{color:var(--muted)}.speaker__field-label{color:var(--muted);font-size:.8rem}.agenda{grid-template-columns:1fr;gap:1rem;margin-top:1rem;display:grid}@media (min-width:640px){.agenda{grid-template-columns:1fr 1fr}}.agenda__day{background:var(--surface-2);border-radius:var(--radius);border:1px solid #2a355c;padding:1rem}.agenda__day-head{margin-bottom:.6rem}.agenda__day-title{margin:0;font-size:1.05rem}.agenda__day-theme{color:var(--accent);font-size:.9rem;font-weight:400}.agenda__day-venue{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.agenda__blocks{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.agenda__block{border-top:1px solid #2a355c;padding-top:.6rem}.agenda__block:first-child{border-top:none;padding-top:0}.agenda__block-main{font-size:.92rem}.agenda__block-label{font-weight:600}.agenda__block-venue{color:var(--muted)}.agenda__block-meta{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.agenda__block-duration{color:var(--accent);font-size:.8rem}.agenda__block-detail{margin:.3rem 0 0;font-size:.82rem}.hands-on__lead{margin:0 0 .5rem;font-size:1.05rem}.consent{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.queue{border:1px dashed var(--surface-2);border-radius:var(--radius);color:var(--muted);padding:1rem}.confirm{flex-direction:column;align-items:center;gap:.75rem;display:flex}.confirm__check{background:var(--accent-strong);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.75rem;display:grid}.install{flex-direction:column;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.install__hint{font-size:.85rem}.field__error{color:#ff9b9b;font-size:.82rem}.field__count{color:var(--muted);align-self:flex-end;font-size:.78rem}.field__count--over{color:#ff9b9b;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.1em .6em;font-size:.72rem;font-weight:600;display:inline-block}.badge--queued{background:var(--surface-2);color:var(--muted);border-color:#2a355c}.badge--called{color:#7ee0b0;background:#123a2a;border-color:#1f6b4c}.badge--answered{color:var(--accent);background:#1b2a4d;border-color:#2f4a86}.badge--dismissed{color:#d98aa4;background:#2a1620;border-color:#5a2a3a}.mine{flex-direction:column;gap:.6rem;display:flex}.mine__title{margin:.5rem 0 0;font-size:1.1rem}.mine__list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.mine__item{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.mine__body{overflow-wrap:anywhere;min-width:0}.mod__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.mod__head h1{margin:0}.live-dot{color:var(--muted);border:1px solid var(--surface-2);border-radius:999px;padding:.2em .7em;font-size:.78rem}.live-dot--on{color:#7ee0b0;border-color:#1f6b4c}.mod__section-title{margin:0 0 .75rem;font-size:1.1rem}.qlist{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.qlist--muted .qitem{opacity:.75}.qitem{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.qitem__main{flex-direction:column;flex:260px;gap:.3rem;min-width:0;display:flex}.qitem__body{overflow-wrap:anywhere;margin:0}.qitem__meta{color:var(--muted);margin:0;font-size:.8rem}.qitem__actions{flex-wrap:wrap;gap:.4rem;display:flex}.btn--sm{padding:.35rem .7rem;font-size:.85rem}.mod__resolved summary{cursor:pointer;color:var(--muted);padding:.4rem 0}.mod__resolved[open] summary{margin-bottom:.6rem}.field__input[aria-invalid=true]{border-color:#b3454a}.banner--ok{color:#bff3cf;background:#12341f;border:1px solid #2a8a4e}.admin__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin__session{align-items:center;gap:.75rem;display:flex}.admin__count{margin-top:.25rem}.admin__tablewrap{border:1px solid var(--surface-2);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--surface-2);white-space:nowrap;padding:.55rem .75rem}.admin-table th{background:var(--surface);color:var(--muted);font-weight:600;position:sticky;top:0}.admin-table tbody tr:hover{background:var(--surface)}.consent-tag{border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.consent-tag--yes{color:#8ff0ad;background:#12341f;border:1px solid #2a8a4e}.consent-tag--no{color:#ffb3b3;background:#3a1414;border:1px solid #a83a3a}.admin__exports{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.admin__export-block{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem;display:flex}.admin__export-block h3{margin:0}.admin__emails{width:100%;max-width:560px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.admin__emails--danger{border-color:#a83a3a}.admin__export-actions{gap:.5rem;display:flex}.admin__nonconsent{width:100%;margin-top:.75rem}.admin__toggle{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.admin__warn{margin:.6rem 0}.field--checkbox{cursor:pointer;flex-direction:row;align-items:flex-start;gap:.6rem}.field__checkbox{width:1.05rem;height:1.05rem;accent-color:var(--accent);flex:none;margin-top:.15rem}.field__checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field__label--inline{color:var(--text);line-height:1.4}.field__checkbox[aria-invalid=true]{outline-offset:2px;outline:2px solid #b3454a}.details__code{letter-spacing:.08em;border:1px solid var(--accent);color:var(--text);white-space:nowrap;border-radius:6px;padding:.15rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem;display:inline-block}.details__list{margin:.6rem 0 0;padding-left:1.2rem;line-height:1.6}.details__list li{margin:.3rem 0}.schedule{border-collapse:collapse;background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);width:100%;margin:.9rem 0 0;overflow:hidden}.schedule__caption{caption-side:top;text-align:left;color:var(--muted);padding:0 0 .5rem;font-size:.92rem}.schedule th,.schedule td{text-align:left;border-bottom:1px solid var(--surface-2);vertical-align:top;padding:.6rem .9rem}.schedule tbody tr:last-child th,.schedule tbody tr:last-child td{border-bottom:none}.schedule thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);font-size:.8rem}.schedule__time{white-space:nowrap;font-variant-numeric:tabular-nums;width:1%;color:var(--accent-strong);font-weight:600}.schedule__item{color:var(--text);width:99%}@media (max-width:30rem){.schedule thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.schedule,.schedule tbody,.schedule tr,.schedule th,.schedule td{width:auto;display:block}.schedule tr{border-bottom:1px solid var(--surface-2);padding:.5rem .9rem}.schedule tr:last-child{border-bottom:none}.schedule th,.schedule td{border-bottom:none;padding:.1rem 0}}.form--wide{max-width:620px}.field__help{color:var(--muted);font-size:.8rem}.feedback__group{border:0;margin:0;padding:0}.feedback__scale{flex-wrap:wrap;gap:.4rem;display:flex}.feedback__scale-option{text-align:center;background:var(--surface-2);cursor:pointer;border:1px solid #2a355c;border-radius:8px;flex:2.5rem;min-width:2.5rem;padding:.4rem .2rem}.feedback__scale-option:hover{filter:brightness(1.15)}.feedback__scale-option input{opacity:0;width:1px;height:1px;position:absolute}.feedback__scale-option:has(input:checked){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.feedback__scale-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.feedback__scale-ends{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.feedback__options{flex-direction:column;gap:.35rem;display:flex}.feedback__option{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.feedback__clear{align-self:flex-start;padding:.25rem .6rem;font-size:.75rem}
