@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#182536;background:#f7f8fa;font-synthesis:none;--ink: #142239;--blue: #245de8;--line: #dce2ea;--muted: #617086;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:10px 14px;cursor:pointer;font-weight:500;text-decoration:none}button:hover,a.button:hover{background:#edf2fa;border-color:#a9b7ce}button:disabled{opacity:.45;cursor:not-allowed}button svg{flex-shrink:0;font-size:19px}input,textarea,select{width:100%;border:1px solid #bdc9d9;border-radius:5px;background:#fff;color:var(--ink);padding:13px 14px}textarea{resize:vertical;min-height:80px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8eafff;outline-offset:3px}label{display:block;font-size:14px;font-weight:500;line-height:1.6}label input,label textarea,label select{margin-top:7px}a{color:#245de8}h1,h2,h3,p{margin-top:0}h2{font-size:22px}p{line-height:1.6}small,.fine{font-size:12px;color:var(--muted);line-height:1.6}.mono,code,time,.timer{font-family:var(--mono)}code{background:#e9eef7;padding:4px 7px;border-radius:3px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin-bottom:14px}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#194bbf;color:#fff}.text-button{border:0;padding:0;background:transparent;color:var(--blue);text-align:left}.text-button:hover{background:none;text-decoration:underline}.error{background:#fff0ed;border-left:3px solid #b94a34;padding:10px 14px;color:#852b1e;font-size:14px;margin:10px 0;white-space:pre-wrap}.notice{padding:10px;background:#edf8e9}.danger{color:#a4302a}.icon-button{padding:9px}.brand{font-weight:700;letter-spacing:.055em;display:flex;align-items:center;gap:11px;font-size:17px;white-space:nowrap}.loading{display:grid;min-height:100vh;place-items:center;font-family:var(--mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.entry{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.intro{background:#10213a;color:#fff;padding:52px 64px;display:flex;flex-direction:column;justify-content:space-between}.intro .eyebrow{color:#99adc7}.intro h1{font-size:clamp(42px,5vw,78px);font-weight:500;line-height:1.08;letter-spacing:-.05em;margin:24px 0}.intro p{max-width:480px;color:#b6c8de;font-size:18px}.intro .fine{font-size:13px}.entry-form{display:flex;align-items:center;justify-content:center;padding:60px}.entry-form>div{width:100%;max-width:390px}.entry-form h2{font-size:30px;letter-spacing:-.03em}.entry-form p{color:var(--muted)}.entry-form form{display:grid;gap:18px;margin:32px 0}.entry-form .primary{padding:15px}.entry-form input{font-family:var(--mono)}.game{height:100dvh;display:flex;flex-direction:column;min-height:650px;background:#fff}.game-header{display:flex;align-items:center;gap:24px;padding:15px 28px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0}.team-tag{font-size:13px;color:#3760a4;background:#edf2fd;padding:6px 10px;border-radius:4px}.header-end{margin-left:auto;display:flex;gap:14px;align-items:center}.online,.offline{font-size:12px;color:#237146}.offline{color:#934e23}.stats{display:grid;grid-template-columns:1fr 1fr 1.7fr 1fr;padding:16px 28px;background:#f1f4f8;gap:28px;flex-shrink:0}.stats>div,.energy-stat{display:flex;flex-direction:column;align-items:flex-start}.stats small{font-size:10px;letter-spacing:.075em;color:#64758b}.stats strong{font-family:var(--mono);font-size:26px;letter-spacing:-.03em;color:#14233d;font-weight:500}.energy-stat{padding:0;border:0;background:none;gap:0}.energy-stat:hover{background:transparent}.energy-stat small{display:flex;gap:6px;align-items:center}.energy-stat strong span{font-size:16px}.energy-stat small:last-child{letter-spacing:0;font-size:10px}.demo-banner{padding:8px 24px;background:#f8f0d9;color:#775616;font-size:12px;margin:0;flex-shrink:0}.event-banner{padding:11px 24px;background:#e9effe;color:#244eaa;line-height:1.5;font-size:14px;margin:0;flex-shrink:0}.event-banner button{margin-left:10px;padding:4px 8px}.workspaces{display:grid;grid-template-columns:55% 45%;flex:1;min-height:0}.terminal-pane,.chat-pane{display:flex;flex-direction:column;min-height:0;padding:24px 28px}.terminal-pane{background:#102036;color:#eaf0f8;border-right:1px solid #dce2ea}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.pane-heading h2{display:flex;gap:10px;align-items:center;margin:0;font-size:21px;letter-spacing:-.025em}.pane-heading>span{font:10px var(--mono);letter-spacing:.08em;color:#8dabc9}.chat-pane .pane-heading>span{color:#617692}.terminal-logs{max-height:29%;min-height:50px;overflow:auto;scrollbar-width:thin;font:12px/1.8 var(--mono);color:#9eb1c9}.log{display:flex;gap:12px;margin:3px 0}.log time{font-size:10px;min-width:53px;color:#7e95b0}.log span{overflow-wrap:anywhere}.log.success span{color:#b8e595}.log.warning span{color:#f0c584}.exercise{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px 0;min-height:150px}.exercise small{color:#99b5d8;font:10px var(--mono);letter-spacing:.08em;margin-bottom:18px}.equation{font-family:var(--mono);font-size:clamp(27px,3.5vw,58px);line-height:1.4;letter-spacing:-.05em;overflow-wrap:anywhere}.exercise p{font:12px/1.7 var(--mono);color:#b8e595;margin:18px 0 0}.summary h2{font:40px var(--mono)}.summary h2 span{font-size:16px}.summary button{align-self:flex-start;margin-top:24px}.terminal-form{margin-top:auto}.command-line{display:flex;border:1px solid #4a77b2;border-radius:5px;align-items:center;gap:12px;padding:8px 10px}.command-line>span{font:22px var(--mono);color:#b8e595}.command-line input{min-width:0;border:0;background:transparent;color:#fff;outline-offset:0;padding:6px 0;font:15px var(--mono)}.command-line input::placeholder{color:#819ab9}.command-line button{background:#20324b;color:#d1deef;border:1px solid #4a617d;font:11px var(--mono);padding:7px;flex-shrink:0}.terminal-form>small{display:block;margin-top:10px;color:#8fa6c2;font-size:10px}.chat-pane{background:#fff}.conversation{overflow:auto;flex:1;min-height:0;padding-bottom:20px;scrollbar-width:thin}.chat-empty{padding:40px 0;color:#7d8ca2}.chat-empty h3{font-size:19px;color:#64758b;margin:15px 0 6px}.chat-empty p{font-size:14px;max-width:270px}.message{margin-bottom:24px}.message small{font-size:10px;letter-spacing:.07em;font-weight:700}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65;margin:7px 0 0;padding:14px 16px;background:#f1f4f8;border-radius:5px}.message.user{margin-left:26px}.message.user p{background:#eaf1fd}.message.user small{display:block;text-align:right}.composer{display:flex;border:1px solid #99b1d8;border-radius:6px;padding:7px;align-items:flex-end;gap:6px}.composer textarea{min-height:42px;height:54px;max-height:150px;resize:vertical;padding:10px;border:0;font-size:14px}.composer button{background:var(--blue);color:#fff;border:0;width:39px;height:39px;padding:8px}.chat-form>small{display:block;font-size:10px;margin-top:10px}.game-footer{display:flex;justify-content:space-between;gap:16px;padding:8px 28px;border-top:1px solid var(--line);background:#f7f9fb;font-size:10px;color:var(--muted);flex-shrink:0}.game-footer button{border:0;padding:0;background:none;font-size:10px;font-weight:400;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;max-width:760px;width:calc(100% - 40px);padding:26px;color:var(--ink);box-shadow:0 24px 70px #071d3b33;max-height:90vh;overflow:auto}dialog::backdrop{background:#091a3690}dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}dialog h2{margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{font-size:11px;letter-spacing:.03em;color:var(--muted);font-weight:500;padding:12px 16px;background:#f4f6fa}td{padding:17px 16px;border-bottom:1px solid var(--line);font-size:14px}td small{display:block}.rank{font-family:var(--mono);color:#6480a5}.stack{display:grid;gap:18px}.admin-body{padding:40px;max-width:1500px;margin:auto}.admin-title{display:flex;justify-content:space-between;align-items:center;margin:12px 0 32px;gap:20px}.admin-title h1{font-size:37px;letter-spacing:-.04em;margin:0}.room-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:24px}.room-tabs button{display:flex;flex-direction:column;align-items:flex-start;min-width:170px}.room-tabs .selected{border-color:#527bdd;background:#edf2fe}.room-tabs small{font-size:10px}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.session-bar h2{margin-bottom:6px}.session-bar p{font-size:13px;margin:0;color:var(--muted)}.timer{font-size:32px;font-weight:500}.controls{display:flex;flex-wrap:wrap;gap:8px}.admin-section{padding:26px 0;border-bottom:1px solid var(--line)}.admin-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.admin-section h2{margin:0;font-size:19px}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.event-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.event-buttons button{flex-wrap:wrap;justify-content:flex-start;padding:14px;font-size:13px}.event-buttons small{margin-left:auto}.admin-section textarea{margin:10px 0}.audit-list{max-height:250px;overflow:auto}.audit-list p{display:flex;gap:14px;font-size:12px;margin:8px 0;flex-wrap:wrap}.audit-list strong{font-weight:500;min-width:100px}.audit-list time{color:#6b7f9a}.admin-conversation{max-height:450px;overflow:auto}.admin-conversation .message p{font-size:13px}.access-codes{background:#eaf2fc;padding:20px;margin:20px 0}.access-codes>div{display:flex;gap:15px;flex-wrap:wrap}.access-codes p{font-size:13px}.access-codes code{display:block;margin-top:7px}.rules-editor{font:12px/1.5 var(--mono)}.empty-admin{padding:70px 0;color:var(--muted)}.empty-admin h2{margin-top:20px}.projection{padding:45px 60px;max-width:1500px;margin:auto}.projection>header{display:flex;align-items:center;justify-content:space-between;margin:55px 0}.projection h1{font-size:44px;letter-spacing:-.04em;margin-bottom:12px}.projection header strong{font:64px var(--mono)}.projection td{font-size:25px;padding:28px 20px}.projection .fine{margin-top:30px}@media(max-width:1000px){.game-header{padding:12px 18px;gap:12px}.brand{font-size:14px}.stats{padding:12px 18px;gap:15px}.stats strong{font-size:21px}.terminal-pane,.chat-pane{padding:20px}.header-end{gap:8px}.header-end .online{display:none}.intro{padding:40px}.entry-form{padding:35px}.admin-body{padding:24px}.session-bar{flex-wrap:wrap}.controls{width:100%}.admin-columns{gap:20px}.pane-heading>span{display:none}}@media(max-width:700px){.entry{grid-template-columns:1fr}.intro{min-height:380px;padding:30px}.intro h1{font-size:42px}.entry-form{padding:35px 25px}.game{height:auto;min-height:100dvh}.game-header{flex-wrap:wrap}.header-end{margin-left:0}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats strong{font-size:23px}.workspaces{grid-template-columns:1fr}.terminal-pane{min-height:440px}.chat-pane{min-height:470px;border-top:1px solid var(--line)}.terminal-logs{max-height:130px}.conversation{max-height:340px}.equation{font-size:34px}.game-footer{flex-direction:column}.admin-columns{grid-template-columns:1fr}.admin-title{align-items:flex-start;flex-direction:column}.admin-title h1{font-size:29px}.admin-body{padding:20px}.projection{padding:25px}.projection>header{align-items:flex-start;flex-direction:column;gap:20px}.projection h1{font-size:30px}.projection td{font-size:18px}.projection header strong{font-size:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.automation{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:10px 0}.automation-heading{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:12px}.automation-heading h3{margin:0;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.025em}.automation-heading>span{color:#b5c8df;font-size:12px;font-variant-numeric:tabular-nums}.automation-machine{padding:12px 0;border-top:1px solid #40536c}.machine-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:13px}.machine-heading>span{color:#b5c8df}.machine-status{color:#f0c584;font-size:13px;line-height:1.5;margin:12px 0}.is-producing .machine-status{color:#b8e595}.automation-machine progress{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:100%;height:8px;background:#344961;border-radius:4px;overflow:hidden}.automation-machine progress::-webkit-progress-bar{background:#344961}.automation-machine progress::-webkit-progress-value{background:#b8e595}.automation-machine progress::-moz-progress-bar{background:#b8e595}.is-blocked progress::-webkit-progress-value{background:#f0c584}.is-blocked progress::-moz-progress-bar{background:#f0c584}.machine-result{margin:14px 0 0}.machine-result>span{display:block;color:#b5c8df;font-size:11px;margin-bottom:6px}.machine-result strong{display:block;color:#b8e595;font:500 clamp(15px,1.7vw,22px) / 1.5 var(--mono);overflow-wrap:anywhere}.machine-first-result{font-size:12px;color:#b5c8df;margin:14px 0 0}.manual-toggle{flex-shrink:0;align-self:flex-start;background:transparent;border:1px solid #738aa6;color:#eaf0f8;margin-top:16px;padding:10px 14px;border-radius:5px;cursor:pointer}.manual-toggle:hover{background:#243a53}.manual-toggle:focus-visible{outline:2px solid #b8e595;outline-offset:3px}.manual-secondary{flex:0 0 auto;min-height:0;padding:12px 0;border-top:1px solid #40536c}.manual-secondary .equation{font-size:24px}.manual-secondary small{margin-bottom:8px}.manual-secondary p{margin-top:6px}.history-toggle{margin-left:auto;color:#c1d0e3;background:transparent;border:0;padding:8px;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.history-toggle:hover{color:#fff}.history-toggle:focus-visible{outline:2px solid #b8e595;outline-offset:2px}.automation{scrollbar-width:thin;scrollbar-color:#738aa6 #102036}.automation-machines{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#738aa6 #102036}
