:root{--ink:#092848;--navy:#0b2947;--teal:#159c9c;--mint:#dff7f2;--paper:#f7f5f1;--line:#cbd5df;--green:#16894a;--red:#b53640;--amber:#e28a17}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}button{font:inherit}.screen{width:min(100%,720px);min-height:100vh;margin:auto;padding:clamp(24px,5vw,44px)}.hidden{display:none!important}.intro,.result{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:18px}.eyebrow,.hud-label{margin:0;color:#4b6279;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1{margin:0;font-size:clamp(3rem,14vw,5.5rem);letter-spacing:-.07em;line-height:.9}h2{margin:0;font-size:2.2rem}.lede{margin:0 auto;max-width:34ch;color:#425970;font-size:1.1rem;line-height:1.55}.how-to{display:flex;align-items:center;gap:14px;max-width:390px;margin:10px auto;padding:16px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px}.how-to p{margin:0;line-height:1.35}.how-icon{font-size:2rem;color:var(--teal)}.primary,.secondary{border:0;border-radius:14px;min-height:52px;padding:12px 18px;cursor:pointer;font-weight:800}.primary{background:var(--teal);color:#fff;box-shadow:0 6px 0 #087575}.secondary{background:#fff;color:var(--ink);border:2px solid var(--line)}.quiet{color:#657688;font-size:.88rem}
.game{position:relative;display:grid;grid-template-rows:auto 7px auto minmax(210px,1fr) 28px auto;gap:10px;min-height:100vh;padding:18px 16px 18px;overflow:hidden}.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.hud>:last-child{text-align:right}.streak{display:block;color:var(--teal);font-weight:800}.timer{padding:9px 14px;background:#fff;border-radius:14px;font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums}.score strong{display:block;font-size:1.2rem}.progress{height:7px;background:#d9e1e8;border-radius:20px;overflow:hidden}.progress span{display:block;height:100%;background:var(--teal);width:100%;transition:width .1s linear}.instruction{min-height:1.2rem;margin:0;color:#54687d;text-align:center;font-size:.88rem}.incident-board{position:relative;min-height:210px;border:2px dashed #9eb4c8;border-radius:24px;background:linear-gradient(135deg,#dbeaf0,#c8dce6);overflow:visible;box-shadow:inset 0 2px 8px #09284822}.incident-board:empty:after{content:'Incoming incident updates';position:absolute;inset:0;display:grid;place-items:center;color:#577088;font-weight:800}.incident-card{position:absolute;left:var(--left);top:var(--top);z-index:var(--layer);width:92%;min-height:102px;padding:18px;background:#fffdf8;border:2px solid #eadfca;border-radius:13px;box-shadow:0 7px 14px #09284835;transform:rotate(var(--angle));touch-action:none;user-select:none;cursor:grab}.incident-card:active{cursor:grabbing}.incident-card.selected{border-color:var(--teal);box-shadow:0 0 0 4px #bceee7,0 7px 14px #09284835}.incident-card.dragging{z-index:99;opacity:.96;box-shadow:0 16px 28px #0928484d}.incident-card p{margin:0;font-size:clamp(1rem,4.6vw,1.35rem);font-weight:800;line-height:1.15;text-align:center}.feedback{height:28px;text-align:center;font-weight:900}.feedback.correct{color:var(--green)}.feedback.wrong{color:var(--red)}
.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target:last-child{grid-column:1/-1}.tray{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;padding:17px 34px 10px;border:2px solid #698399;border-bottom:8px solid #476579;border-radius:10px 10px 18px 18px;background:linear-gradient(#ebf3f6,#b9d0da);color:var(--ink);font-size:clamp(.92rem,4.2vw,1.16rem);font-weight:900;line-height:1.05;box-shadow:inset 0 8px #ffffff99,0 4px 0 #315366;cursor:pointer}.tray:before{content:'';position:absolute;inset:7px 10px 19px;border:2px solid #6d8797;border-radius:7px;background:#8eabb8;box-shadow:inset 0 3px 5px #17344b4d}.tray>span:last-child{position:relative}.tray-tag{position:absolute;z-index:1;left:9px;top:8px;color:#496879;font-size:.62rem;letter-spacing:.08em}.tray.drag-over{transform:translateY(-4px);background:linear-gradient(#e3fff8,#93dcd0);border-color:var(--teal);box-shadow:0 0 0 5px #9be9dc,0 8px 0 #087575}.tray.correct{background:linear-gradient(#ecfff3,#aee4c3);border-color:var(--green)}.tray.incorrect{background:linear-gradient(#fff5f5,#efb9bf);border-color:var(--red)}.mark{position:absolute;right:12px;z-index:2;font-size:1.5rem}.target:focus-visible,.primary:focus-visible,.secondary:focus-visible{outline:4px solid #f7bd3a;outline-offset:3px}.overload{position:absolute;z-index:80;top:96px;left:30px;right:30px;display:grid;gap:6px;padding:10px 14px;color:#fff;text-align:center;background:#b53640eF;border-radius:13px;box-shadow:0 5px 18px #6d131b66}.overload strong{letter-spacing:.17em}.overload-meter{height:8px;background:#ffffff66;border-radius:8px;overflow:hidden}.overload-meter i{display:block;height:100%;width:100%;background:#fff;transition:width .08s linear}.countdown-overlay{position:absolute;z-index:100;inset:0;display:grid;place-items:center;background:#092848eF;color:#fff;font-size:min(42vw,12rem);font-weight:950;text-shadow:0 7px 0 #0004}.final-score{margin:0;font-size:4.6rem;font-weight:900;letter-spacing:-.08em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:14px 8px;background:#fff;border:1px solid var(--line);border-radius:15px}.stat strong{display:block;font-size:1.25rem}.stat span{font-size:.75rem;color:#53677c}.submit-status{min-height:24px;color:#53677c}.actions{display:grid;gap:12px;max-width:390px;width:100%;margin:auto}
@media(min-width:760px){.game{padding:28px 34px}.incident-board{min-height:320px}.target-grid{gap:14px}.tray{min-height:84px}.intro,.result{min-height:760px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(forced-colors:active){.tray.drag-over,.tray.correct,.tray.incorrect,.incident-card.selected{outline:3px solid Highlight}}

.route-trace{fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.flow-map.transitioning{pointer-events:none}.scenario-banner{position:absolute;z-index:5;inset:0;display:grid;place-items:center;background:#092848d9;color:#fff;font-size:clamp(1.8rem,8vw,3rem);font-weight:900;text-align:center}

/* Conference Game Hub and Evacuation Flow */
.hub-screen{width:min(100%,720px);min-height:100vh;margin:auto;padding:clamp(30px,7vw,58px) clamp(22px,6vw,48px);display:flex;flex-direction:column;justify-content:center;gap:18px}.hub-screen h1{font-size:clamp(3.6rem,16vw,6.2rem)}.game-menu{display:grid;gap:12px;margin-top:10px}.game-choice{display:grid;gap:5px;min-height:94px;padding:18px;border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 3px 0 #b7c6d1}.game-choice strong{font-size:1.25rem}.game-choice span{color:#51687d;line-height:1.25}.flow-choice{border-color:#78b9b6;background:linear-gradient(130deg,#f7fffd,#e3f6f1)}.coming-soon{opacity:.58;background:#eef1f3}.hub-link{color:var(--ink);font-weight:800}.hub-button{display:grid;place-items:center;text-decoration:none}
.flow-countdown{display:grid;place-items:center;min-height:100vh;background:var(--navy);color:#fff;font-size:min(42vw,12rem);font-weight:950}.flow-game{width:min(100%,760px);min-height:100vh;margin:auto;padding:18px 14px 20px;display:grid;grid-template-rows:auto 7px auto minmax(330px,1fr) auto auto;gap:10px}.flow-stage{display:block;color:var(--teal);font-size:.82rem;font-weight:800}.flow-instruction{min-height:2.4em;margin:2px auto 0;max-width:45ch;text-align:center;color:#425970;font-weight:700}.flow-map{position:relative;min-height:340px;border:2px solid #8db6b8;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#ddf2e6,#c9e3d5)}.flow-map svg{position:absolute;inset:0;width:100%;height:100%}.map-edge{stroke:#72a5a0;stroke-width:2.5;stroke-linecap:round}.map-edge.busy{stroke:#d19025;stroke-width:3.5}.map-edge.congested{stroke:#b53640;stroke-width:4.5}.map-edge.closed{stroke:#7b6770;stroke-width:3;stroke-dasharray:3 2}.draft-route{fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.map-node{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #285d6f;border-radius:50%;background:#fff;color:var(--ink);transform:translate(-50%,-50%);box-shadow:0 2px 0 #315366;cursor:pointer}.map-node span{font-size:1.15rem;line-height:1}.map-node small{position:absolute;top:50px;min-width:70px;color:#26485b;font-size:.62rem;font-weight:800;line-height:1.05;text-align:center;text-shadow:0 1px #fff}.map-node.in-route{border-color:var(--route);box-shadow:0 0 0 4px var(--route),0 2px 0 #315366}.group-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.flow-group{display:grid;place-items:center;gap:3px;min-height:62px;padding:6px;border:2px solid var(--group);border-radius:12px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.flow-group b{font-size:1.25rem;color:var(--group)}.flow-group span{font-size:.7rem}.flow-group.selected{background:#ebfffb;box-shadow:0 0 0 3px #9be9dc}.flow-group.routed{opacity:.58}.flow-key{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:0;color:#53677c;font-size:.72rem;font-weight:700}.flow-key i{width:20px;height:5px;border-radius:4px;background:#7b6770}.flow-key .busy-key{background:#d19025}.flow-key .congested-key{background:#b53640}.flow-stats{grid-template-columns:repeat(2,1fr)}
.map-node em{position:absolute;bottom:43px;padding:2px 4px;border-radius:4px;background:#092848;color:#fff;font-size:.48rem;font-style:normal;font-weight:900;letter-spacing:.06em}.map-node.start-node{border-style:dashed}.map-node.goal-node{border-width:4px;border-color:#159c9c}.map-node.goal-node em{background:#087575}
.map-node.start-node,.map-node.goal-node{border-color:var(--marker)}.map-node.start-node span,.map-node.goal-node span{color:var(--marker)}@keyframes endpoint-pulse{0%,100%{box-shadow:0 2px 0 #315366}50%{box-shadow:0 0 0 7px var(--marker),0 2px 0 #315366}}.map-node.start-attention,.map-node.goal-active{animation:endpoint-pulse 1.1s ease-in-out infinite}.map-node.goal-active em{background:var(--marker)}
@media(min-width:760px){.flow-game{padding:26px 34px}.flow-map{min-height:490px}.group-panel{grid-template-columns:repeat(5,1fr)}}
.leaderboard-list{width:100%;max-width:520px;margin:4px auto;padding:0;list-style:none;display:grid;gap:8px}.leaderboard-list li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left}.leaderboard-list li>strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--teal)}.leaderboard-list li>b{font-variant-numeric:tabular-nums}.leaderboard-list .empty{display:block;text-align:center;color:#53677c}
