html,body,#root{height:100%}body{background:#000;color:var(--on-dark);overflow:hidden}.viewport{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#000}.stage{position:absolute;width:1920px;height:1080px;transform-origin:0 0;background:var(--charcoal);color:var(--on-dark);overflow:hidden;font-family:var(--font)}.stage.is-blank{background:#000}.decor{position:absolute;pointer-events:none}.decor svg{display:block}.eyebrow-s{font:700 22px/1.2 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}.light .eyebrow-s{color:var(--ink-muted)}.pill{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:10px 24px;font:700 24px/1 var(--font);background:var(--paper);color:var(--ink)}.pill.outline{background:transparent;color:var(--on-dark);box-shadow:inset 0 0 0 2px var(--on-dark-muted)}.pill.orange{background:var(--orange);color:var(--ink)}.dot-live{width:14px;height:14px;border-radius:50%;background:var(--green);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.screen-title{font:800 64px/1.05 var(--font);margin:0;letter-spacing:-.01em;text-wrap:balance}.screen-hero{font:800 104px/1 var(--font);margin:0;letter-spacing:-.02em}.logo{display:inline-flex;align-items:center;gap:14px;color:inherit}.logo-mark{width:54px;height:54px;border:3px solid currentColor;border-radius:10px;display:grid;place-items:center;font:800 18px/1 var(--font);letter-spacing:.04em}.logo-words{font:600 15px/1.15 var(--font);opacity:.85}.footer-bar{position:absolute;left:85px;right:85px;bottom:64px;height:76px;border-radius:20px;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.footer-bar .footer-text{font:700 24px/1 var(--font)}.topbar{position:absolute;left:85px;right:85px;top:64px;display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:24px}.topbar-title{font:700 30px/1 var(--font)}.answered{display:flex;align-items:center;gap:16px;font:600 26px/1 var(--font)}.decision-left{position:absolute;left:85px;top:168px;width:970px}.decision-left .screen-title{margin:20px 0 56px}.footnote{margin-top:40px;font:500 22px/1.4 var(--font);color:var(--on-dark-muted)}.chosen-card{position:absolute;left:1120px;top:165px;width:715px;height:720px;border-radius:36px;background:var(--paper);color:var(--ink);padding:52px 52px 40px;display:flex;flex-direction:column}.chosen-head{display:flex;align-items:center;gap:28px;margin:28px 0 32px}.chosen-label{font:800 60px/1.05 var(--font)}.chosen-consequence{font:500 32px/1.4 var(--font);margin:0}.chosen-wait{font:600 34px/1.35 var(--font);color:var(--ink-muted);margin:28px 0 0}.path-block{margin-top:auto}.lobby-left{position:absolute;left:85px;top:168px;width:800px}.lobby-left p.instructions{font:500 30px/1.45 var(--font);margin:28px 0 56px;color:var(--on-dark)}.join-url{font-weight:800}.qr-row{display:flex;align-items:center;gap:44px}.qr-card{width:254px;height:254px;border-radius:28px;background:#fff;padding:14px;flex:none}.session-code{font:800 116px/1 var(--font);letter-spacing:.01em;margin-top:12px;white-space:nowrap}.seats-claimed{position:absolute;right:85px;top:78px;display:flex;align-items:center;gap:24px;font:600 26px/1 var(--font)}.seats-track{width:220px;height:14px;border-radius:999px;background:var(--track);overflow:hidden}.seats-fill{height:100%;background:var(--orange);border-radius:999px;transition:width .7s ease}.roles{position:absolute;left:940px;right:85px;top:160px}.roles-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.roles-head h2{font:700 32px/1 var(--font);margin:0}.legend{display:flex;gap:28px;font:500 20px/1 var(--font);color:var(--on-dark-muted)}.legend span{display:inline-flex;align-items:center;gap:10px}.legend i{width:14px;height:14px;border-radius:50%;display:inline-block}.roles-grid{display:grid;gap:18px}.role-card{background:var(--charcoal-raised);border-radius:20px;padding:22px 24px;min-width:0}.role-card .role-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.role-name{font:700 26px/1.2 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-optional{font:500 18px/1 var(--font);color:var(--on-dark-muted)}.seat-pills{display:flex;gap:10px;margin-top:14px}.seat-pill{border-radius:999px;padding:7px 18px;font:700 18px/1 var(--font)}.seat-pill.taken{background:var(--paper);color:var(--ink)}.seat-pill.open{box-shadow:inset 0 0 0 2px var(--on-dark-muted);color:var(--on-dark)}.compact .role-card{padding:16px 18px}.compact .role-name{font-size:22px}.compact .seat-pill{font-size:16px;padding:6px 14px}.results{position:absolute;left:85px;right:85px;top:110px;bottom:64px;display:flex;flex-direction:column}.results .screen-title{margin:20px 0 48px;max-width:1500px}.results-body{flex:1;display:grid;gap:72px;min-height:0}.results-body.with-side{grid-template-columns:1fr 520px}.side-panel{display:flex;flex-direction:column;gap:28px}.side-card{background:var(--charcoal-raised);border-radius:20px;padding:28px 30px}.side-card h3{margin:0 0 16px}.meter-line{font:600 28px/1.35 var(--font);margin:0 0 16px}.meter{height:12px;border-radius:999px;background:var(--track);overflow:hidden}.meter>div{height:100%;border-radius:999px;transition:width .9s ease}.suppressed{flex:1;display:grid;place-items:center;text-align:center}.suppressed p{font:700 56px/1.2 var(--font);margin:0;color:var(--on-dark-muted)}.suppressed small{display:block;font:500 26px/1.4 var(--font);margin-top:20px;color:var(--on-dark-muted)}.n-line{font:600 24px/1 var(--font);color:var(--on-dark-muted);margin-top:28px}.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-content:start}.quote{background:var(--paper);color:var(--ink);border-radius:20px;padding:32px 36px;font:600 32px/1.35 var(--font);margin:0}.stack-row{margin-bottom:18px}.stack-row .stack-label{display:flex;justify-content:space-between;font:600 22px/1.2 var(--font);margin-bottom:8px}.stack{display:flex;height:18px;border-radius:999px;overflow:hidden;background:var(--track);gap:3px}.centred{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:0 160px}.module{position:absolute;left:160px;right:160px;top:140px;bottom:120px;display:flex;flex-direction:column}.module h1{font:800 80px/1.05 var(--font);margin:18px 0 40px}.module-body{font:500 40px/1.45 var(--font);max-width:1450px;overflow:hidden}.module-body p{margin:0 0 28px}.message-text{font:800 80px/1.15 var(--font);margin:0;text-wrap:balance}.pair-code{font:800 220px/1 var(--font);letter-spacing:.04em;margin:24px 0 36px;font-variant-numeric:tabular-nums}.artefact-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.front-page{width:1180px;height:960px;background:#f3f0e8;color:#1a1a1a;border-radius:6px;padding:48px 64px;font-family:Georgia,Times New Roman,serif;display:flex;flex-direction:column;overflow:hidden}.fp-masthead{text-align:center;border-bottom:4px double #1a1a1a;padding-bottom:14px}.fp-masthead .fp-name{font:700 76px/1 Georgia,serif;letter-spacing:.02em}.fp-dateline{display:flex;justify-content:space-between;font:600 18px/1 var(--font);text-transform:uppercase;letter-spacing:.12em;padding:12px 0;border-bottom:1.5px solid #1a1a1a}.fp-headline{font:800 104px/.98 Georgia,serif;margin:36px 0 24px;letter-spacing:-.015em;text-wrap:balance}.fp-body{columns:3;column-gap:40px;font:400 26px/1.45 Georgia,serif;flex:1;overflow:hidden}.fp-body p{margin:0 0 16px}.fp-image{width:100%;max-height:360px;object-fit:cover;margin-bottom:18px}.fp-caption{font:italic 400 22px/1.3 Georgia,serif;color:#444;margin-top:8px}.artefact-card{width:1400px;background:var(--paper);color:var(--ink);border-radius:36px;padding:64px 72px}.artefact-card h1{font:800 72px/1.05 var(--font);margin:16px 0 32px}.artefact-card .module-body{font-size:34px}.artefact-card img{max-width:100%;max-height:600px;display:block;border-radius:12px}.recap-head{position:absolute;left:85px;right:85px;top:64px}.recap-tree{position:absolute;left:0;top:190px}.recap-edge-lit{stroke-dasharray:2000;stroke-dashoffset:0;animation:draw .9s ease both}@keyframes draw{0%{stroke-dashoffset:2000}to{stroke-dashoffset:0}}.recap-cards{position:absolute;left:0;top:700px;height:300px}.recap-card{position:absolute;top:0;border-radius:20px;padding:22px 24px;background:var(--charcoal-raised);transition:opacity .5s ease,transform .5s ease}.recap-card.hidden{opacity:.25;background:transparent;box-shadow:inset 0 0 0 2px var(--track)}.recap-card.revealed{animation:rise .6s ease both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.recap-card .rc-choice{display:flex;align-items:center;gap:14px;font:800 30px/1.15 var(--font);margin:12px 0 10px}.recap-card .rc-split{font:600 22px/1.3 var(--font);color:var(--on-dark-muted)}.recap-card .rc-consequence{font:500 23px/1.35 var(--font);margin:12px 0 0}.world-panel{position:absolute;right:85px;top:170px;width:700px;bottom:80px;border-radius:36px;background:var(--paper);color:var(--ink);padding:52px 56px;animation:rise .7s ease both;display:flex;flex-direction:column;overflow:hidden}.world-panel h2{font:800 72px/1.02 var(--font);margin:18px 0 28px}.world-panel .epilogue{font:500 30px/1.45 var(--font)}.world-panel .epilogue p,.world-panel .lesson p{margin:0 0 16px}.world-panel .lesson{margin-top:auto;border-top:2px solid var(--rule);padding-top:24px;font:700 30px/1.4 var(--font)}.artefact-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#141414d1;display:grid;place-items:center;animation:fade .5s ease both}.artefact-turn{animation:turn .8s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 50%}@keyframes fade{0%{opacity:0}}@keyframes turn{0%{transform:perspective(2000px) rotateY(-90deg);opacity:0}}.artefact-count{position:absolute;bottom:36px;right:85px;font:600 22px/1 var(--font);color:var(--on-dark-muted)}.steps{position:absolute;right:85px;bottom:40px;display:flex;gap:10px;align-items:center}.steps i{width:12px;height:12px;border-radius:50%;background:var(--track);display:inline-block}.steps i.on{background:var(--on-dark)}.worlds-grid{position:absolute;left:85px;right:85px;top:380px;display:grid;gap:28px}.world-card{background:var(--charcoal-raised);border-radius:24px;padding:36px 36px 40px}.world-card h2{font:800 48px/1.05 var(--font);margin:14px 0 24px}.path-chips{display:flex;gap:10px}.path-chip{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:800 22px/1 var(--font);color:var(--ink)}.demo-index{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;background:var(--paper);color:var(--ink);padding:48px 24px}.demo-index main{max-width:880px;margin:0 auto}.demo-index h1{font:800 40px/1.1 var(--font);margin:0 0 8px}.demo-index ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.demo-index a{display:block;background:#fff;border-radius:16px;padding:16px 18px;color:var(--ink);text-decoration:none;font:700 18px/1.3 var(--font)}.demo-index a span{display:block;font:400 15px/1.35 var(--font);color:var(--ink-muted);margin-top:4px}.demo-index a:hover{outline:3px solid var(--blue)}.demo-bar{position:fixed;left:12px;bottom:12px;z-index:10;display:flex;gap:8px;font:600 13px/1 var(--font);opacity:.25;transition:opacity .2s}.demo-bar:hover,.demo-bar:focus-within{opacity:1}.demo-bar a,.demo-bar button{background:#fff;color:var(--ink);border:0;border-radius:999px;padding:8px 12px;text-decoration:none;font:inherit;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
