:root{font-family:Arial,Helvetica,sans-serif;color:#242923;background:#eeefe9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,.chamber:focus-visible{outline:2px solid #566a38;outline-offset:4px}p{line-height:1.55}h1,h2,h3,p{margin-top:0}.topbar{height:76px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ccd0c4;background:#eeefe9;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand img{width:34px;height:34px;object-fit:contain}.brand>span{font-size:14px;letter-spacing:-.35px;font-weight:700}.brand small{font:8px monospace;letter-spacing:2px;color:#7a826e;display:block;margin-top:4px}.network{font:9px monospace;letter-spacing:.9px;color:#69715f}.network>span{padding:0 10px;color:#a6ad9b}.topbar nav{display:flex;align-items:center;gap:25px;font-size:11px}.quiet{color:#626b57}.wallet{border-bottom:1px solid #626b57;padding:8px 0;font-size:11px}.wallet:hover{color:#718648}.topbar nav a{text-decoration:none}main{max-width:1800px;margin:auto}.stage{height:clamp(510px,70vh,880px);position:relative;background:#b9bdb2;overflow:hidden}.chamber{position:relative;width:100%;height:100%;min-height:280px;isolation:isolate}.chamber.aiming{cursor:crosshair;touch-action:none}.webgl-scene{position:absolute;inset:0}.webgl-scene canvas{display:block;width:100%;height:100%;outline:0}.chamber-notice{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#b9bdb2ed;color:#4d5741;font:12px monospace;text-align:center;padding:30px;z-index:8}.stage-top{position:absolute;left:35px;right:35px;top:31px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.experiment-title h1{font-weight:400;font-size:clamp(42px,4.5vw,70px);line-height:.98;letter-spacing:-3px;margin:17px 0 25px;color:#31372c}.eyebrow{font:9px monospace;letter-spacing:1.1px;display:flex;gap:8px;align-items:center}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#88937a;flex-shrink:0}.dot.live{background:#526b30;box-shadow:0 0 0 3px #687d3811}.specimen{font:8px monospace;letter-spacing:.8px;color:#67715b}.specimen span{margin-left:9px;color:#39442d}.stage-tools{pointer-events:auto;text-align:right}.camera-switch{display:inline-flex;border:1px solid #727c6645;background:#e0e4d35c;padding:3px;border-radius:3px}.camera-switch button{font-size:10px;padding:9px 13px;border-radius:1px;color:#5e6951}.camera-switch button[aria-pressed=true]{background:#eeefe9;color:#303d23;box-shadow:0 1px 4px #39452e10}.stage-tools>p{font:7px monospace;letter-spacing:.55px;margin:12px 0;color:#68755b}.stage-side{position:absolute;right:35px;top:180px;text-align:right;pointer-events:none}.stage-side>div{margin-bottom:26px}.stage-side strong{display:block;font-size:28px;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stage-side em{font-size:12px;font-style:normal;margin-left:2px}.stage-side span{display:block;font:7px monospace;letter-spacing:.8px;color:#68745b;margin-top:4px}.stage-side>p{font:8px/1.5 monospace;color:#728063}.stage-bottom{position:absolute;bottom:22px;left:35px;right:35px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.8px;color:#59644d;pointer-events:none}.stage-bottom>span{display:flex;align-items:center;gap:7px}.last-outcome{position:absolute;bottom:48px;left:35px;text-align:left;padding:0}.last-outcome>span{display:block;font-size:11px;letter-spacing:1px;font-weight:600}.last-outcome small{display:block;font:7px monospace;color:#6a775b;margin-top:6px}.last-outcome.hit>span{color:#425c27}.control-dock{display:grid;grid-template-columns:1.5fr 1fr 250px;align-items:center;gap:35px;padding:30px 35px 28px;background:#f4f4ee;border-top:1px solid #8f9b7d45;border-bottom:1px solid #c9cfbe}.turn-description .eyebrow{font-size:8px;color:#707b60;margin-bottom:9px}.turn-description h2{font-size:30px;line-height:1.1;font-weight:400;letter-spacing:-1px;margin-bottom:9px}.turn-description>p:last-child{font-size:11px;color:#7a826f;max-width:360px;margin-bottom:0}.queue-summary{border-left:1px solid #d9ddcf;padding-left:30px;min-height:76px}.queue-summary>.eyebrow{font-size:8px;color:#7a826e;margin-bottom:17px;justify-content:space-between;max-width:220px}.queue-summary b{color:#586348}.active-player{font:10px monospace;margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#4a553f}.active-player small{font:7px monospace;color:#859074;margin-left:6px}.queued-player{display:flex;gap:13px;font:9px monospace;color:#7b856d;margin-top:11px}.queued-player>span{color:#a1aa94}.turn-actions{display:flex;flex-direction:column}.action-caption{font:7px monospace;letter-spacing:.8px;color:#828b75;margin-bottom:9px}.primary,.secondary{width:100%;min-height:52px;text-align:left;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;font:10px monospace;letter-spacing:.8px;background:#2a3325;color:#eff2e6;border:1px solid #2a3325;border-radius:2px;transition:background .15s}.primary>span{font:23px Arial;line-height:0;color:#bdce83}.primary:hover:not(:disabled){background:#414e36}.secondary{background:transparent;color:#4a583d}.secondary:hover{background:#e8ecde}.text-button{padding:10px 0 0;align-self:flex-start;text-decoration:underline;text-underline-offset:3px;color:#7a866a;font-size:9px}.error{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 35px;font-size:12px;color:#795a3c;background:#efe3d5;border-bottom:1px solid #d7c5ae}.error button{font-size:24px}.records{padding:35px 35px 42px;display:grid;grid-template-columns:280px 1fr;gap:30px}.records-heading h2{font-size:26px;font-weight:400;letter-spacing:-.8px;margin-bottom:12px}.records-heading p{font:7px monospace;letter-spacing:.8px;color:#7d8770}.record-list{border-top:1px solid #c9d0bd}.record{width:100%;min-height:49px;display:grid;grid-template-columns:70px 1fr 155px 45px 12px;align-items:center;gap:15px;text-align:left;border-bottom:1px solid #d5daca;font:10px monospace;padding:8px 0}.record:hover{background:#e6eadf}.outcome{font-size:8px;letter-spacing:.65px;color:#7c866e}.outcome.hit{color:#465e2c}.record small{font:7px monospace;letter-spacing:.3px;color:#87917a}.record time{font-size:8px;color:#7f896f}.empty-records{padding:25px 0;font-size:11px;color:#798568}footer{border-top:1px solid #d0d6c5;padding:23px 35px;display:flex;justify-content:space-between;gap:15px;font:7px monospace;letter-spacing:.9px;color:#7c866f}footer button{padding:0;font-size:9px;color:#667554}dialog{background:#f0f1e9;color:#303b26;border:1px solid #7d8b6c;border-radius:3px;padding:36px;max-height:90dvh;overflow:auto;width:680px;max-width:calc(100vw - 28px)}dialog::backdrop{background:#19220dcc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font-size:37px;font-weight:400;line-height:1.1;letter-spacing:-1.5px;margin-bottom:23px}dialog h3{font-size:14px;font-weight:500;margin:26px 0 10px}dialog p{font-size:12px;color:#6c795b}dialog a{text-underline-offset:3px}.close{position:absolute;right:14px;top:9px;font-size:26px;padding:6px 10px}.replay-dialog{width:1000px}.replay-dialog .chamber{height:390px}.replay-dialog h2{margin-bottom:12px}.replay-controls{display:flex;align-items:center;gap:20px;padding-top:16px;font:10px monospace}.replay-controls button{width:auto;min-width:120px}.replay-controls input{flex:1;min-width:30px;accent-color:#697d4a}.replay-note{font:9px monospace;margin:12px 0 0}@media(min-width:1600px){.control-dock{grid-template-columns:1.6fr 1fr 300px;padding:34px 50px}.stage-top{left:50px;right:50px;top:40px}.stage-side{right:50px}.stage-bottom{left:50px;right:50px}.last-outcome{left:50px}}@media(max-width:1050px){.network{display:none}.control-dock{grid-template-columns:1.4fr .8fr 210px;gap:20px}.queue-summary{padding-left:20px}.records{grid-template-columns:200px 1fr}.record{grid-template-columns:58px 1fr 45px 12px}.record small{display:none}}@media(max-width:720px){.topbar{height:65px;padding:0 19px}.topbar nav{gap:13px}.topbar .quiet{display:none}.brand img{width:29px;height:29px}.brand>span{font-size:12px}.brand small{font-size:7px}.wallet{font-size:10px}.stage{height:65dvh;min-height:480px;max-height:750px}.stage-top{left:20px;right:20px;top:24px}.experiment-title h1{font-size:42px;letter-spacing:-2px;margin:13px 0 16px}.experiment-title .eyebrow{font-size:6px;letter-spacing:.55px}.specimen{font-size:6px}.specimen span{margin-left:4px}.camera-switch{padding:2px}.camera-switch button{padding:7px 8px;font-size:8px}.stage-tools>p{max-width:100px;margin-left:auto;font-size:6px;line-height:1.5}.stage-side{right:20px;top:auto;bottom:55px}.stage-side>div{margin-bottom:12px}.stage-side strong{font-size:22px}.stage-side span{font-size:6px}.stage-side>p{display:none}.stage-bottom{left:20px;right:20px;bottom:20px;font-size:6px;letter-spacing:.2px}.stage-bottom>span:last-child{font-size:5px}.last-outcome{left:20px;bottom:49px}.last-outcome small{max-width:190px;font-size:6px}.last-outcome>span{font-size:9px}.control-dock{padding:23px 20px;grid-template-columns:1fr 145px;gap:21px 15px}.turn-description h2{font-size:25px}.turn-description>p:last-child{font-size:10px}.turn-description .eyebrow{font-size:6px;letter-spacing:.6px}.queue-summary{grid-row:2;grid-column:1/3;border-left:0;border-top:1px solid #d9ddcf;padding:15px 0 0;min-height:0}.queue-summary>.eyebrow{margin-bottom:10px;max-width:100%}.queued-player{display:inline-flex;margin-right:25px;font-size:8px}.active-player{font-size:9px}.action-caption{font-size:6px;letter-spacing:.2px;line-height:1.5}.primary,.secondary{font-size:8px;letter-spacing:.4px;padding:13px;min-height:49px}.primary>span{font-size:20px}.records{padding:28px 20px;grid-template-columns:1fr;gap:18px}.records-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.records-heading h2{font-size:23px;margin:0}.records-heading p{font-size:6px;text-align:right;margin:0}.record{gap:10px;font-size:9px}.record small{display:none}footer{padding:20px;font-size:6px;flex-wrap:wrap;letter-spacing:.3px}footer button{font-size:8px}.error{padding:13px 20px;font-size:11px}dialog{padding:30px 20px}.replay-dialog .chamber{height:320px}.replay-controls{gap:10px}.replay-controls button{min-width:85px;font-size:8px}.replay-controls>span{font-size:8px}.chamber-notice{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.chamber.inspecting canvas{cursor:grab}.chamber.inspecting canvas:active{cursor:grabbing}.inspection-tools{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px}.zoom-control{display:flex;align-items:center;gap:1px;border:1px solid #727c6645;border-radius:2px;background:#f0f1e755}.zoom-control button{width:34px;height:34px;font-size:17px}.zoom-control span{font:9px monospace;min-width:34px;text-align:center;color:#5b684b}.sound-toggle{display:flex;gap:9px;align-items:center;min-height:36px;font:8px monospace;letter-spacing:.65px;color:#59674e}.sound-toggle>i{display:flex;gap:2px;align-items:center;height:16px}.sound-toggle b{display:block;width:2px;height:4px;background:currentColor}.sound-toggle b:nth-child(2){height:11px}.sound-toggle b:nth-child(3){height:7px}.sound-toggle.on{color:#3f572c}.sound-toggle.on b{animation:sound-level .85s ease-in-out infinite alternate}.sound-toggle.on b:nth-child(2){animation-delay:-.55s}.sound-toggle.on b:nth-child(3){animation-delay:-.2s}.stage-tools>p{font-size:8px;letter-spacing:.65px;margin-top:12px}.camera-switch button{min-height:38px;font-size:11px;padding:8px 14px}.stage-side span{font-size:8px}.stage-side>p{font-size:9px}.specimen,.stage-bottom{font-size:9px}.last-outcome small{font-size:8px;line-height:1.5}.stage-feedback{position:absolute;left:50%;bottom:65px;transform:translate(-50%);text-align:center;pointer-events:none;z-index:5;animation:result-arrive .32s ease-out both;text-shadow:0 1px 25px #f0f1e9}.stage-feedback>span{font-size:clamp(48px,6vw,90px);font-weight:500;letter-spacing:-4px;line-height:1}.stage-feedback p{font:9px monospace;letter-spacing:1px;margin:12px 0 0}.stage-feedback.hit{color:#446128}.active-turn{border-top-color:#a4b877}.active-turn .primary{background:#c6d884;border-color:#9daf69;color:#27371c}.active-turn .primary>span{color:#465c29}.active-turn .primary:hover:not(:disabled){background:#d7e5a8}.turn-actions .action-caption{display:flex;justify-content:space-between;align-items:center;font-size:8px;min-height:12px;gap:8px}.action-caption b{font:12px monospace;color:#495d34}.turn-meter{height:2px;background:#cdd4bc;margin-bottom:9px;overflow:hidden}.turn-meter>i{display:block;height:100%;background:#718846;transition:width .25s linear}.turn-meter.urgent>i{background:#a05b35}.keyboard-hint{font:8px monospace;letter-spacing:.4px;color:#6c795b;margin:10px 0 0}.text-button{min-height:30px}.turn-description>p:last-child{font-size:12px;color:#667257;max-width:400px}.turn-description .eyebrow{font-size:9px}.records-heading .eyebrow{margin-bottom:13px;font-size:8px}.records-heading>p:last-child{font-size:8px}.record small{font-size:8px}.record time{font-size:9px}.record{font-size:11px;min-height:54px}.last-outcome{min-height:42px}.loading-mark{display:block;width:16px;height:16px;margin-right:13px;background:#9dac77;box-shadow:7px -7px 0 -4px #4a5c34,-7px 7px 0 -4px #4a5c34;animation:loading-mark 1.2s ease-in-out infinite}.replay-controls input{min-height:32px}.replay-controls button{min-height:44px}.replay-note{font-size:10px}.close{min-width:44px;min-height:44px}dialog p{font-size:13px}@keyframes result-arrive{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes sound-level{to{transform:scaleY(.4)}}@keyframes loading-mark{50%{opacity:.4;transform:rotate(90deg)}}@media(max-width:720px){.stage{height:66dvh;min-height:490px}.stage-top{left:18px;right:18px;top:22px}.experiment-title h1{font-size:41px;max-width:190px}.experiment-title .eyebrow{font-size:7px}.specimen{font-size:8px}.specimen span{display:block;margin:6px 0 0}.stage-tools{max-width:155px}.camera-switch button{min-height:38px;padding:7px 8px;font-size:9px}.inspection-tools{gap:7px;flex-wrap:wrap;margin-top:8px}.zoom-control button{height:32px;width:28px}.zoom-control span{font-size:8px;min-width:30px}.sound-toggle{font-size:7px;min-height:32px;gap:6px}.stage-tools>p{font-size:7px;max-width:none;margin-top:8px}.stage-side{right:18px;bottom:58px}.stage-side span{font-size:7px}.stage-side strong{font-size:24px}.stage-bottom{left:18px;right:18px;font-size:8px;gap:10px}.stage-bottom>span:last-child{font-size:7px}.last-outcome{left:18px;bottom:45px}.last-outcome small{font-size:7px;max-width:185px}.last-outcome>span{font-size:10px}.stage-feedback{bottom:170px;width:95%}.stage-feedback>span{font-size:65px;letter-spacing:-3px}.stage-feedback p{font-size:8px}.control-dock{padding:23px 18px;grid-template-columns:minmax(0,1fr) 135px;gap:20px 12px}.turn-description h2{font-size:26px}.turn-description>p:last-child{font-size:12px;line-height:1.5}.turn-description .eyebrow{font-size:7px;letter-spacing:.4px}.turn-actions .action-caption{font-size:7px;line-height:1.5}.primary,.secondary{font-size:9px;min-height:54px;padding:13px 12px}.queue-summary>.eyebrow{font-size:8px}.active-player{font-size:10px}.has-turn{padding-bottom:104px}.has-turn .turn-actions{position:fixed;bottom:0;left:0;right:0;z-index:25;padding:12px 18px calc(10px + env(safe-area-inset-bottom));background:#eff1e9;border-top:1px solid #9fab85;box-shadow:0 -8px 30px #34452212;display:grid;grid-template-columns:1fr 135px;column-gap:20px}.has-turn .turn-actions>.primary{grid-column:2;grid-row:1/4;min-height:63px;font-size:14px}.has-turn .turn-actions>.action-caption{grid-column:1;grid-row:1}.has-turn .turn-meter{grid-column:1;grid-row:2;margin:5px 0}.has-turn .turn-actions>.text-button{grid-column:1;grid-row:3;padding-top:0;min-height:26px;font-size:10px}.keyboard-hint{display:none}.records-heading{display:block}.records-heading .eyebrow{margin-bottom:8px}.records-heading>p:last-child{text-align:left;margin-top:9px;font-size:8px}.record{grid-template-columns:58px 1fr 45px 12px;font-size:10px}.record time{font-size:9px}.outcome{font-size:8px}footer{font-size:8px;line-height:1.5;gap:12px}footer>span:nth-child(2){order:3;width:100%;font-size:7px}}@media(prefers-reduced-motion:reduce){.stage-feedback,.loading-mark,.sound-toggle.on b{animation:none}.turn-meter>i{transition:none}}
