:root {
  --coral:#de6c54; --coral-dark:#a6402e; --coral-soft:#f8e4db;
  --teal:#235459; --teal-mid:#2f6b75; --teal-soft:#dbe6e8;
  --paper:#f7f9f6; --white:#fff; --muted:#526d72; --line:#c7d4da;
  --green:#34735f; --shadow:0 14px 34px rgba(35,84,89,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--teal);background:var(--paper);font:16px/1.5 Aptos,"Segoe UI",Arial,sans-serif} button,a{font:inherit} a{color:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
[hidden]{display:none!important}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100}.skip-link:focus{left:12px;padding:10px 14px;background:#fff}
header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.topbar{max-width:1180px;min-height:70px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:1.125rem;font-weight:850}.mark{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 0 0 3px #f6d6c9;font-size:16px;font-weight:900}.mark:after{content:"";position:absolute;width:9px;height:9px;top:-3px;right:-3px;border:2px solid #fff;border-radius:50%;background:var(--coral)}.top-actions{display:flex;align-items:center;gap:10px}.back{color:var(--teal-mid);font-weight:750;text-underline-offset:3px}
button,.button{min-height:44px;padding:10px 16px;border:1px solid var(--teal);border-radius:6px;color:#fff;background:var(--teal);cursor:pointer;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{background:var(--teal-mid)}button.secondary,.button.secondary{color:var(--teal);background:#fff;border-color:var(--line)}button.secondary:hover,.button.secondary:hover{border-color:var(--teal);background:var(--teal-soft)}button.ghost{color:var(--teal);background:transparent;border-color:transparent}button:disabled{cursor:not-allowed;opacity:.52}.instruction-button{color:#fff;background:var(--teal);border-color:var(--teal)}.instruction-button:hover{color:#fff;background:var(--teal-mid)}
main{max-width:1120px;margin:auto;padding:42px 24px 80px}.module-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:26px}.eyebrow{margin:0 0 7px;color:var(--teal-mid);font-size:.8rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.3rem,6vw,4rem);line-height:1.03;letter-spacing:-.035em}.lead{max-width:700px;margin:14px 0 0;color:var(--muted);font-size:1.08rem}.time{min-width:170px;padding:14px 16px;border-left:4px solid var(--coral);background:var(--coral-soft)}.time strong,.time span{display:block}.time span{color:var(--muted);font-size:.9rem}
.notice{margin:0 0 24px;padding:15px 18px;border-left:5px solid var(--teal-mid);background:var(--teal-soft)}.notice strong{display:block}.card{padding:26px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.card h2{margin:0 0 9px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.2}.card p{margin:7px 0}.setup-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.setup-card{display:flex;flex-direction:column}.setup-card .actions{margin-top:auto;padding-top:24px}.feature-list{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:12px}.feature-list li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}.feature-list span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900}.privacy{background:linear-gradient(145deg,#fff,var(--teal-soft))}.privacy-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:var(--teal);color:#fff;font-size:1.4rem}.actions{display:flex;flex-wrap:wrap;gap:10px}
.session{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.session.local-mode{display:block}.session.local-mode .join-card{display:none}.facilitator-controls{min-width:0}.join-card{text-align:center;position:sticky;top:92px}.join-card h2{font-size:1.35rem}.qr-shell{width:236px;height:236px;margin:18px auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center}.qr-button{color:var(--teal);cursor:zoom-in}.qr-button:hover{border-color:var(--teal);background:#fff;box-shadow:0 8px 24px rgba(35,84,89,.14)}.qr-shell img,.qr-shell canvas{max-width:100%;height:auto}.qr-hint{color:var(--muted);font-size:.84rem}.code{display:inline-block;padding:6px 12px;border-radius:6px;background:var(--teal);color:#fff;font-size:1.4rem;font-weight:900;letter-spacing:.12em}.join-url{margin-top:12px!important;color:var(--muted);font-size:.84rem;word-break:break-all}.connection{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:var(--muted);font-weight:750}.dot{width:9px;height:9px;border-radius:50%;background:#aab9bb}.dot.live{background:#3a8e65;box-shadow:0 0 0 4px rgba(58,142,101,.14)}
.stage{min-height:530px}.closing-stage{min-height:380px;display:grid;place-content:center;text-align:center}.closing-stage .question{margin:0 auto}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.stage-toolbar-actions{display:flex;align-items:center;gap:8px}.presentation-warning{margin:0 0 14px;padding:13px 16px;border-left:5px solid var(--coral);background:var(--coral-soft)}.step{color:var(--muted);font-weight:750}.question{font-size:clamp(1.5rem,3vw,2.2rem)!important}.choices{display:grid;gap:10px;margin-top:22px}.choice{width:100%;min-height:55px;justify-content:flex-start;text-align:left;color:var(--teal);background:#fff;border-color:var(--line)}.choice:hover{border-color:var(--teal);background:var(--teal-soft)}.choice.selected{color:#fff;background:var(--teal)}.answer-count{margin:18px 0 8px!important;color:var(--muted);font-weight:750}.result{margin-top:12px}.result-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,2fr) 56px;gap:10px;align-items:center;margin:12px 0}.result-label{font-size:.92rem;font-weight:700}.bar{height:30px;overflow:hidden;border-radius:5px;background:var(--teal-soft)}.bar span{display:block;height:100%;min-width:0;background:var(--coral);transition:width .35s ease}.result-row.correct .bar span{background:var(--green)}.result-row.correct .result-label:after{content:" · juist";color:var(--green);font-size:.78rem;font-weight:900;text-transform:uppercase}.result-value{text-align:right;font-weight:850}.explain{margin-top:22px;padding:17px 18px;border-left:5px solid var(--coral);background:var(--coral-soft)}.explain strong{display:block}.stage-actions{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.participant main{max-width:620px;padding-top:30px}.participant header{position:static}.participant .topbar{justify-content:center}.phone-card{padding:24px}.phone-card h1{font-size:2.15rem}.waiting{text-align:center;padding:42px 18px}.pulse{width:56px;height:56px;margin:0 auto 20px;border:6px solid var(--teal-soft);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sent{padding:20px;border-left:5px solid var(--green);background:#e4f0eb}.offline{padding:16px;border-left:5px solid var(--coral);background:var(--coral-soft)}
dialog{width:min(760px,calc(100% - 32px));max-height:88vh;padding:0;border:0;border-radius:10px;color:var(--teal);box-shadow:0 24px 80px rgba(21,51,54,.3)}dialog::backdrop{background:rgba(15,42,45,.68)}.dialog-head{position:sticky;top:0;display:flex;align-items:start;justify-content:space-between;gap:18px;padding:24px 26px 16px;border-bottom:1px solid var(--line);background:#fff}.dialog-head h2{margin:0;font-size:1.75rem}.close{min-width:44px;padding:8px}.dialog-body{padding:24px 26px}.instruction-steps{display:grid;gap:18px;margin:18px 0}.instruction-step{display:grid;grid-template-columns:38px 1fr;gap:12px}.instruction-step>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--coral);font-weight:900}.instruction-step h3{margin:3px 0 4px}.instruction-step p{margin:0;color:var(--muted)}.dialog-actions{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:16px 26px;border-top:1px solid var(--line);background:#fff}.qr-dialog{width:min(620px,calc(100% - 32px))}.qr-dialog-body{padding:24px 28px 30px;text-align:center}.qr-large{width:min(430px,75vw);height:min(430px,75vw);margin:0 auto 20px;padding:12px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.qr-large img,.qr-large canvas{width:100%!important;height:auto!important;max-height:100%}
.module-footer{margin-top:42px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.86rem}
@media(max-width:860px){.session,.setup-grid{grid-template-columns:1fr}.join-card{position:static}.module-head{grid-template-columns:1fr;align-items:start}.time{width:100%}}@media(max-width:620px){.topbar{min-height:64px;padding:0 16px}.back{display:none}.top-actions .button{padding:9px 11px;font-size:.9rem}main{padding:28px 16px 55px}.card{padding:20px}.stage-toolbar{align-items:flex-start;flex-direction:column}.stage-toolbar-actions{width:100%;flex-wrap:wrap}.result-row{grid-template-columns:1fr 48px}.bar{grid-column:1/-1;grid-row:2}.stage-actions,.dialog-actions{flex-direction:column}.stage-actions button,.dialog-actions .button,.dialog-actions button{width:100%}.module-footer{flex-direction:column}.qr-shell{width:210px;height:210px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.pulse{animation:none}}
