:root{--ink:#17302e;--muted:#687775;--paper:#f7f4ed;--white:#fff;--gold:#d6a73a;--gold2:#f1d886;--teal:#1f5852;--red:#b74242;--line:#dfe5df;--shadow:0 24px 80px rgba(12,36,33,.14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input,select{font:inherit}.hidden{display:none!important}.topbar{height:76px;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,237,.9);border-bottom:1px solid rgba(23,48,46,.09);backdrop-filter:blur(16px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--ink);color:var(--gold2);display:grid;place-items:center;font-weight:900;letter-spacing:-1px}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{color:var(--muted);font-size:11px;margin-top:2px;letter-spacing:.06em}.top-actions{display:flex;align-items:center;gap:10px}.status-pill{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.status-pill i{width:8px;height:8px;border-radius:50%;background:#4b9a68;box-shadow:0 0 0 4px rgba(75,154,104,.12)}.button{border:0;border-radius:12px;padding:11px 17px;font-weight:760;cursor:pointer;transition:.2s transform,.2s background,.2s opacity}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.42;cursor:not-allowed}.button.primary{background:var(--gold);color:#24332e}.button.secondary{background:var(--ink);color:white}.button.ghost{border:1px solid rgba(23,48,46,.17);background:transparent;color:var(--ink)}.button.next{background:white;color:var(--ink)}.button.large{min-width:136px;padding:15px 21px;border-radius:15px;font-size:15px}.button.full{width:100%;margin-top:8px}.public-view{min-height:calc(100vh - 76px);overflow:hidden;position:relative;padding:clamp(32px,5vw,70px) clamp(20px,6vw,90px);background:radial-gradient(circle at top,#255f59 0,#173b37 44%,#102c29 100%);color:white;display:flex;flex-direction:column}.ambient{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none}.ambient-one{width:380px;height:380px;right:-90px;top:50px;background:rgba(214,167,58,.14)}.ambient-two{width:260px;height:260px;left:-100px;bottom:-40px;background:rgba(102,196,177,.1)}.meeting-kicker{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:rgba(255,255,255,.62);position:relative;z-index:1}.speaker-stage{margin:auto;text-align:center;width:min(960px,100%);position:relative;z-index:1;padding:32px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px;color:var(--gold2);margin:0 0 18px}.speaker-stage h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(50px,8vw,108px);letter-spacing:-.045em;line-height:.92;margin:0 auto 18px;text-wrap:balance}.speaker-detail{font-size:clamp(17px,2vw,24px);color:rgba(255,255,255,.68);margin:0}.timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:clamp(72px,13vw,168px);letter-spacing:-.075em;line-height:1;margin:30px 0 20px;color:white}.timer[data-state="warning"]{color:var(--gold2)}.timer[data-state="finished"]{color:#ff8c83;animation:pulse .8s ease-in-out 2}.progress-track{width:min(600px,90%);height:7px;margin:auto;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:inherit;transition:width .3s}.timer-status{color:rgba(255,255,255,.5);font-size:13px;margin-top:14px}.public-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.bell-button{border:1px solid rgba(255,255,255,.18);color:white;background:rgba(255,255,255,.08);border-radius:15px;padding:14px 20px;font-weight:760;cursor:pointer}.bell-button span{margin-right:7px}.keyboard-tip{text-align:center;color:rgba(255,255,255,.38);font-size:11px;margin:16px 0 0}.admin-view{min-height:calc(100vh - 76px);padding:clamp(28px,5vw,64px);max-width:1440px;margin:auto}.admin-heading,.card-heading,.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-heading h1{font-family:Georgia,serif;font-size:48px;font-weight:500;margin:0 0 8px}.admin-heading p:not(.eyebrow),.card-heading p{color:var(--muted);margin:0}.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--ink);font-size:28px;cursor:pointer}.admin-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;margin-top:32px}.card{background:white;border:1px solid rgba(23,48,46,.08);border-radius:22px;padding:24px;box-shadow:0 12px 40px rgba(20,48,45,.06)}.card h2{margin:0 0 18px;font-size:20px}.card h3{font-size:15px}.card label,dialog label{display:grid;gap:7px;font-size:12px;font-weight:760;color:var(--muted);margin:15px 0}.card input,dialog input,dialog select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fcfdfb;color:var(--ink);outline:none}.card input:focus,dialog input:focus,dialog select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,88,82,.1)}.divider{height:1px;background:var(--line);margin:24px 0}.helper{font-size:12px;line-height:1.55;color:var(--muted)}.text-button{border:0;background:none;padding:12px 0;cursor:pointer;font-weight:700}.danger{color:var(--red)}.section-tabs{display:flex;gap:7px;margin:22px 0 15px;overflow:auto}.section-tab{white-space:nowrap;border:1px solid var(--line);background:white;color:var(--muted);border-radius:999px;padding:8px 13px;font-weight:700;font-size:12px;cursor:pointer}.section-tab.active{background:var(--ink);color:white;border-color:var(--ink)}.participant-list{display:grid;gap:8px}.participant-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fdfdfb}.drag-handle{color:#9aa6a3;cursor:grab;font-size:18px}.participant-main strong,.participant-main small{display:block}.participant-main small{color:var(--muted);margin-top:3px}.type-tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:6px 8px;background:#edf3ef;color:var(--teal);font-weight:800}.row-actions{display:flex;gap:4px}.row-actions button{border:0;background:transparent;padding:7px;cursor:pointer;color:var(--muted)}.empty-state{text-align:center;padding:52px 20px;border:1px dashed #cdd6d0;border-radius:16px;color:var(--muted)}dialog{border:0;border-radius:22px;padding:0;width:min(530px,calc(100% - 28px));box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:rgba(8,25,23,.68);backdrop-filter:blur(4px)}dialog form{padding:26px}.dialog-heading h2{margin:0 0 18px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#102c29;color:white;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes pulse{50%{transform:scale(1.035)}}
@media(max-width:800px){.topbar{height:66px;padding:0 14px}.brand strong{font-size:13px}.brand-mark{width:36px;height:36px}.status-pill span{display:none}.top-actions .button{padding:9px 11px;font-size:12px}.public-view{min-height:calc(100vh - 66px);padding:28px 16px}.speaker-stage{padding:26px 0}.speaker-stage h1{font-size:clamp(44px,15vw,76px)}.timer{font-size:clamp(78px,25vw,126px)}.keyboard-tip{display:none}.public-controls .button{min-width:calc(50% - 7px)}.bell-button{width:calc(50% - 7px)}.admin-view{padding:26px 15px}.admin-heading h1{font-size:38px}.admin-grid{grid-template-columns:1fr}.settings-card{order:2}.participant-row{grid-template-columns:24px 1fr auto}.type-tag{display:none}}
.public-view .button.ghost{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#fff}.public-view .button.ghost:disabled{color:rgba(255,255,255,.55)}
.card select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fcfdfb;color:var(--ink);outline:none}.card select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,88,82,.1)}.card input[type="range"]{padding:6px 0;accent-color:var(--gold);border:0;box-shadow:none}
.public-gate{position:fixed;inset:76px 0 0;z-index:80;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#255f59 0,#173b37 48%,#102c29 100%)}.public-gate form{width:min(430px,100%);padding:28px;background:#fff;border-radius:22px;box-shadow:var(--shadow)}.public-gate h2{margin:0 0 20px;font-family:Georgia,serif;font-size:34px}.public-gate label{display:grid;gap:7px;font-size:12px;font-weight:760;color:var(--muted);margin:15px 0}.public-gate input{width:100%;border:1px solid var(--line);border-radius:11px;padding:14px;background:#fcfdfb;color:var(--ink)}@media(max-width:800px){.public-gate{inset:66px 0 0;padding:16px}.public-gate form{padding:23px}}
@media(orientation:landscape) and (max-height:600px){.topbar{height:56px;padding:0 18px}.brand-mark{width:36px;height:36px}.brand strong{font-size:13px}.brand small{font-size:10px}.top-actions .button{padding:9px 12px}.status-pill span{display:none}.public-view{min-height:calc(100vh - 56px);padding:14px 22px 16px;display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:auto 1fr;column-gap:26px}.meeting-kicker{grid-column:1/-1;grid-row:1}.speaker-stage{grid-column:1;grid-row:2;margin:auto;width:100%;padding:4px 0}.speaker-stage .eyebrow{margin-bottom:7px}.speaker-stage h1{font-size:clamp(38px,7vw,66px);line-height:.95;margin-bottom:7px}.speaker-detail{font-size:16px}.timer{font-size:clamp(66px,12vw,104px);margin:10px 0 8px}.progress-track{height:5px}.timer-status{margin:7px 0 0;font-size:11px}.public-controls{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:center}.public-controls .button,.public-controls .bell-button{width:auto;min-width:0;padding:12px 9px;font-size:13px}.keyboard-tip{display:none}}
@media(max-width:800px){.settings-card{order:0}}
