:root{
  --bg:#0a1016;--panel:#111922;--panel2:#151f29;--line:#25313d;
  --text:#a8b4c6;--strong:#d5deec;--muted:#738094;--accent:#7895bd;
  --contrast:1;--brightness:1;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#081018;color:var(--text)}
body{min-height:100dvh;background:radial-gradient(circle at 50% -10%,#172333 0,#0a1119 38%,#060b10 100%);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;background:linear-gradient(160deg,transparent 50%,#18212a 50.5%,transparent 51%),linear-gradient(200deg,transparent 59%,#121a22 59.4%,transparent 60%)}
button,input,select{font:inherit}.app-shell{width:min(100%,520px);margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 24px);filter:contrast(var(--contrast)) brightness(var(--brightness))}
.utility-bar{height:42px;display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:0 10px;border:1px solid rgba(130,150,175,.14);border-radius:16px;background:rgba(19,29,39,.72);backdrop-filter:blur(10px)}
.utility-label{font-size:12px;color:var(--muted)}.contrast-slider{flex:1;accent-color:#7b91b1;height:24px}.wake-dot{width:8px;height:8px;border-radius:50%;background:#35414f;box-shadow:0 0 0 4px rgba(90,110,130,.08)}.wake-dot.on{background:#7f91ab}
.view{display:none}.view.active{display:block}.landing-stack{display:grid;gap:20px;padding-top:10vh}.field-block{display:block}.field-title,.compact-label,.section-title{display:block;font-size:13px;font-weight:600;color:var(--strong);margin:0 0 8px}.field{width:100%;border:1px solid var(--line);background:linear-gradient(180deg,#131d27,#101821);color:var(--strong);border-radius:14px;outline:none}.field:focus{border-color:#596d86}.field-large{height:62px;padding:0 16px;font-size:18px}.session-picker-button{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.session-picker-button:active{background:#17212b}.session-picker-button.empty #sessionPickerText{color:var(--muted)}.session-picker-chevron{font-size:22px;color:var(--muted);line-height:1}.session-picker-list{display:grid;gap:8px;margin-top:14px}.session-choice{width:100%;min-height:58px;border:1px solid #2d3945;border-radius:13px;background:#121b24;color:#b5c0cf;text-align:left;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.session-choice strong{display:block;color:#d0d8e4;font-size:17px;font-weight:650}.session-choice small{display:block;margin-top:2px;color:#748398;font-size:12px}.session-choice:active{background:#19242f}.session-choice.create{border-style:dashed;color:#a6b3c4}.session-choice .choice-arrow{color:#708096;font-size:20px}.role-block{border-top:1px solid var(--line);padding-top:18px}.role-title{text-align:center;font-size:14px;color:var(--muted);margin-bottom:10px}.role-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-button{height:54px;border-radius:14px;border:1px solid #283543;background:#111922;color:#9eabba}.role-button:active{transform:translateY(1px);background:#17212b}.session-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding:2px 0 14px;margin-bottom:18px}.eyebrow{font-size:11px;color:var(--muted)}.session-label{font-size:17px;color:var(--strong);font-weight:600}.live-clock{font-variant-numeric:tabular-nums;font-size:14px;color:var(--muted)}
.timer-card{border:1px solid var(--line);border-radius:15px;background:rgba(17,25,34,.8)}.compact-timer-card{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;margin:12px 0 18px}.timer-caption{font-size:12px;color:var(--muted)}.timer-value{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;font-size:42px;color:var(--strong)}.timer-value.small{font-size:34px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-button{min-height:88px;border:1px solid #2b3743;background:linear-gradient(180deg,#17212c,#131b24);color:#a9b5c5;border-radius:14px;font-size:17px;padding:12px}.action-button.active{border-color:#667d9b;color:#d6deea;font-weight:700;background:#1a2531}.action-wide{grid-column:1/-1;min-height:58px}.speaker-tools{margin-top:16px;border-top:1px solid var(--line);color:#77869a}.speaker-tools summary{cursor:pointer;padding:13px 2px;font-size:13px}.speaker-tools[open] summary{color:#94a2b6}.tools-inner{opacity:.8;padding-bottom:4px}.tool-label{font-size:12px;color:#77869a;margin-bottom:7px}.tool-gap{margin-top:12px}.mini-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-button,.time-chip{border:1px solid #2a3541;background:#121a23;color:#8997aa;border-radius:12px;min-height:48px;padding:8px}.mini-button:active,.time-chip:active{background:#1a2430}.time-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-chip.selected{border-color:#6a82a3;color:#c5d0df;background:#182431}.timer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#111922}.start-stop{min-width:120px;height:50px;border-radius:14px;border:1px solid #334254;background:#17222e;color:#b7c2d1;font-weight:600}.feedback-panel{border:1px solid var(--line);border-radius:15px;background:#101821;padding:14px 16px;min-height:92px}.panel-title{font-size:12px;color:var(--muted);margin-bottom:11px}.feedback-text{font-size:22px;color:var(--strong);font-weight:700}.message-banner{width:100%;margin-top:14px;min-height:74px;border-radius:15px;border:1px solid #5b6c82;background:#1a2633;color:#d4dce8;font-size:24px;font-weight:700}.hidden{display:none!important}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(2,6,9,.72);padding:18px}.modal-card{width:min(100%,420px);border:1px solid #344251;border-radius:18px;background:#111a23;padding:20px;box-shadow:0 25px 80px rgba(0,0,0,.55)}.modal-title{font-size:22px;color:var(--strong);font-weight:700;margin-bottom:8px}.modal-text{color:#9ca8b8;line-height:1.5;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-button{min-width:96px;height:46px;border-radius:12px;border:1px solid #354353;background:#17212b;color:#adbacb}.modal-button.primary-modal{border-color:#607795;color:#cfdae8}.modal-input{width:100%;height:52px;border:1px solid #2d3945;border-radius:12px;background:#0e161e;color:#d0d8e4;padding:0 12px;margin:6px 0}.reminder-list{list-style:none;padding:0;margin:14px 0 0}.reminder-list li{padding:8px 0;color:#bac4d2;font-size:17px}.reminder-list strong{color:#d6deea}.tap-close{text-align:center;color:#6f7d8e;font-size:12px;border-top:1px solid #27333f;margin-top:14px;padding-top:14px}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);transform:translateX(-50%);z-index:70;background:#18222c;border:1px solid #344252;color:#b9c4d3;border-radius:999px;padding:10px 16px;font-size:13px}.timer-alert{animation:flashPage .72s infinite alternate}.timer-alert:after{content:"TIME";position:fixed;inset:0;z-index:80;display:grid;place-items:center;font-size:clamp(60px,18vw,120px);font-weight:800;color:#d5dce5;pointer-events:none;background:rgba(190,200,210,.12)}@keyframes flashPage{from{filter:brightness(.85)}to{filter:brightness(1.65)}}
.auth-page{display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,380px);border:1px solid #273441;border-radius:18px;padding:24px;background:#101821}.brand{font-size:28px;font-weight:700;color:var(--strong)}.muted{color:var(--muted)}.field-label{display:block;font-size:13px;margin:18px 0 7px}.auth-card .field{height:52px;padding:0 12px}.primary{width:100%;height:52px;margin-top:12px;border:1px solid #566d8b;border-radius:13px;background:#182431;color:#d1dae6;font-weight:700}.form-error{color:#c79a9a;font-size:13px;margin-top:8px}.setup-message{margin:12px 0;padding:10px;border-radius:10px;background:#15222e}.tiny{font-size:12px}.tiny a{color:#90a3bc}
@media (min-width:700px){.app-shell{padding-top:24px}.landing-stack{padding-top:12vh}}
