@font-face{font-family:Arcade;src:url('/arcade.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#151a18;--ink:#e9e7da;--muted:#9aa896;--line:#455347;--green:#36543b;--dark:#192b25;--lime:#d5e68b;--orange:#e69b5d;--pixel:Arcade,'Courier New',monospace;--mono:'Courier New',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--mono);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer;touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.45}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
header,main,footer{width:min(1120px,calc(100% - 64px));margin-inline:auto}
header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line)}
.brand{font:20px/1 var(--pixel);display:flex;align-items:center;gap:14px}
.brand-icon{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--ink);background:var(--green);color:var(--lime);box-shadow:3px 3px 0 var(--ink);font-size:26px}
.brand-sub{display:block;margin-top:8px;font-size:10px;letter-spacing:1px}
nav{display:flex;gap:26px;font-size:13px;font-weight:bold}
nav a{padding:12px 0;border-bottom:2px solid transparent}
nav a:hover{border-color:var(--orange);color:#985022}
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding:44px 0 40px}
.eyebrow{font:11px/1.7 var(--pixel);margin:0 0 16px;color:var(--muted)}
h1,h2,h3,p{margin-top:0}
h1{font:clamp(30px,3.7vw,45px)/1.3 var(--pixel);letter-spacing:-1px;margin-bottom:18px;text-wrap:balance}
h1>span{color:var(--orange)}
.lead{font-size:15px;line-height:1.8;margin-bottom:20px;color:#b7c1b0}
.play-link{display:inline-flex;align-items:center;gap:24px;font:13px/1.6 var(--pixel);border-bottom:3px solid var(--orange);padding:7px 0}
.play-link:hover{color:#a34e27}
.intro-note{display:block;font-size:12px;color:var(--muted);margin-top:12px}
.wheel-card{border:2px solid #678157;background:#25362b;padding:16px 18px 12px;box-shadow:5px 5px 0 #0a100c}
.wheel-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font:9px/1.6 var(--pixel);color:#c4d4ac}
.status{font:11px/1.5 var(--mono);border:1px solid #8c9d74;padding:3px 6px;white-space:nowrap;color:#36512e;background:#d1dfa8}
.status.active{background:var(--lime);color:#2b4729}
.status.unknown{background:#eee0b9;color:#725323;border-color:#a18b5b}
.wheel-scene{position:relative;height:168px;display:grid;place-items:center;overflow:hidden;margin-top:10px;background:linear-gradient(transparent 94%,#52634144 94%);background-size:100% 16px}
.wheel{position:absolute;width:130px;height:130px;top:8px;left:calc(50% - 65px);border:7px solid #829767;border-radius:50%;background:repeating-conic-gradient(transparent 0deg 40deg,#91a47666 40deg 45deg);outline:3px solid #c0cca5;outline-offset:3px}
.wheel i{position:absolute;width:100%;height:3px;top:50%;background:#829767}
.wheel i:nth-child(2){transform:rotate(45deg)}
.wheel i:nth-child(3){transform:rotate(90deg)}
.wheel i:nth-child(4){transform:rotate(135deg)}
.hamster{position:absolute;width:128px;height:96px;left:calc(50% - 59px);bottom:27px;image-rendering:pixelated;z-index:1}
.scene-ground{position:absolute;bottom:22px;height:4px;left:24px;right:24px;background:#83966a;box-shadow:0 5px 0 #bdcba0}
.scene-caption{position:absolute;bottom:0;font:8px/1.5 var(--pixel);color:#b0c396}
.scene-star{position:absolute;font:24px var(--pixel);color:#8da56c}
.star-one{left:34px;top:30px}.star-two{right:38px;top:60px;font-size:16px}
.telemetry{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;border-top:1px dashed #94a57d;padding-top:12px;margin-top:10px}
.telemetry small{display:block;color:#b0c396;font-size:11px}
.telemetry strong{font:16px/1.5 var(--pixel);display:block;margin-top:5px;font-variant-numeric:tabular-nums}
.telemetry em{font:10px var(--mono);font-style:normal;margin-left:4px}
#source{font:12px/1.5 var(--mono);font-weight:bold;margin-top:8px}
.feed-note{font-size:10px;line-height:1.5;color:#b4c6a0;margin:10px 0 0;min-height:30px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
h2{font:15px/1.6 var(--pixel);margin-bottom:0}
.section-number{display:inline-block;font-size:11px;color:var(--orange);margin-right:12px}
.tiny-label{font:10px var(--mono);color:#a7b59b}
.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 272px;border:3px solid #637b55;background:#25362b;box-shadow:7px 7px 0 #090e0b}
.game-main{padding:24px}
.hud{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;align-items:center;gap:16px;margin-bottom:18px}
.hud small{display:block;font:10px var(--pixel);color:#b3c39d}
.hud strong{display:block;font:24px/1.5 var(--pixel);margin-top:4px;font-variant-numeric:tabular-nums}
.hud em{font:11px var(--mono);margin-left:5px;font-style:normal}
.mode{font-size:11px;line-height:1.5;max-width:105px;color:#b6c89f;border-left:2px solid #71875f;padding-left:12px}
.board-frame{background:#2b4334;border:2px solid #172b20;padding:12px;box-shadow:inset 0 0 0 3px #3d5a42}
.board-edge{display:flex;justify-content:space-between;font:9px var(--pixel);color:#d6e4b5;padding:2px 3px 11px}
.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;touch-action:manipulation}
.tile{position:relative;aspect-ratio:1.12;display:grid;place-items:center;min-width:0;border:2px solid #869b6c;border-bottom-color:#5d744b;border-right-color:#5d744b;background:#c5d39c;color:#324b2d;font:bold 32px/1 var(--mono);box-shadow:inset 2px 2px 0 #e0e8bd;transition:background .1s,transform .1s;isolation:isolate}
.tile:disabled{opacity:1}
.tile:not(:disabled):hover{background:#e5ebbc;outline:2px solid #f1cd78;outline-offset:-4px}
.tile:not(:disabled):active{transform:translate(1px,1px);background:#d7e78d}
.tile.wall{background:#405841;border-color:#263b2d;box-shadow:inset 3px 3px 0 #516b4c;background-image:repeating-linear-gradient(0deg,transparent 0px 12px,#2d442f 12px 14px);color:#9aa97d}
.tile.wall:after{content:'';position:absolute;inset:8px;border-left:2px solid #617854;border-right:2px solid #2a402e}
.tile.exit{background:#e3ad58;border-color:#f5d493 #a16b36 #a16b36 #f5d493;box-shadow:none;color:#3c3f29}
.tile.entry{background:#dce4ac;border-color:#ebf0c8 #829861 #829861 #ebf0c8}
.tile em{position:absolute;left:4px;bottom:2px;font:7px/1 var(--pixel);font-style:normal}
/* 用方格阴影绘制角色，避免不同系统的表情图标破坏像素风格。 */
.tile .runner{position:absolute;z-index:2;width:4px;height:4px;left:calc(50% - 12px);top:calc(50% - 12px);background:#65412b;box-shadow:4px 0 #e9ac62,16px 0 #e9ac62,20px 0 #65412b,0 4px #e9ac62,4px 4px #d88748,8px 4px #e9ac62,12px 4px #e9ac62,16px 4px #d88748,20px 4px #e9ac62,-4px 8px #65412b,0 8px #e9ac62,4px 8px #e9ac62,8px 8px #e9ac62,12px 8px #e9ac62,16px 8px #292b22,20px 8px #e9ac62,24px 8px #65412b,-4px 12px #e9ac62,0 12px #e9ac62,4px 12px #f7d99e,8px 12px #f7d99e,12px 12px #f7d99e,16px 12px #e9ac62,20px 12px #e69a80,24px 12px #292b22,-4px 16px #65412b,0 16px #e9ac62,4px 16px #f7d99e,8px 16px #f7d99e,12px 16px #f7d99e,16px 16px #f7d99e,20px 16px #e9ac62,0 20px #65412b,4px 20px #e9ac62,8px 20px #e9ac62,12px 20px #e9ac62,16px 20px #e9ac62,20px 20px #65412b,4px 24px #65412b,16px 24px #65412b;pointer-events:none}
.occupancy{position:absolute;top:2px;right:2px;z-index:3;font:10px var(--pixel);background:#f2c16d;color:#302d28;padding:2px}
.board-caption{display:flex;justify-content:space-between;gap:8px;font:8px/1.6 var(--pixel);color:#b9c89e;padding-top:10px}
.legend-wall{display:inline-block;width:7px;height:7px;background:#6e855b;border:1px solid #9bab7f;margin-right:5px}
.notice{font-size:13px;line-height:1.6;min-height:42px;color:#c2cfad;margin:16px 0 12px}
.game-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.primary,.secondary{border:2px solid #233d2a;min-height:46px;padding:10px 16px;font:12px/1.5 var(--pixel);box-shadow:3px 3px 0 #233d2a;transition:transform .1s,box-shadow .1s,background .1s}
.primary{background:var(--green);color:#f0edce}
.primary span,.secondary span{font:11px var(--mono);margin-left:10px;opacity:.8}
.secondary{background:#f1ebcc;color:#3c5036}
.primary:not(:disabled):hover{background:#456948}.secondary:not(:disabled):hover{background:#fff4ce}
.primary:not(:disabled):active,.secondary:not(:disabled):active{transform:translate(3px,3px);box-shadow:none}
.text-button{background:none;border:0;font:11px var(--pixel);color:#385431;padding:12px 0;text-decoration:underline;text-underline-offset:4px}
.control-room{border-left:3px solid #637b55;background:var(--dark);color:#e6ebcd;padding:26px 22px}
.control-room .eyebrow{font-size:9px;color:#b9ca9a;margin-bottom:12px}
.control-room h3{font:17px/1.5 var(--pixel);margin:0 0 26px;color:var(--lime)}
.name-label{display:block;font-size:12px;color:#c0cdb0;margin-bottom:7px}
input{width:100%;min-height:44px;background:#243b2c;border:2px solid #7d9067;color:#f4efcf;padding:10px;font:13px var(--mono);border-radius:0}
input::placeholder{color:#a3b38e}
.start{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--lime);color:#263b28;margin-top:12px;border-color:#101f17;box-shadow:3px 3px 0 #101f17}
.start:not(:disabled):hover{background:#e4f2a5}
.energy-section{border-top:1px dashed #637652;margin-top:28px;padding-top:22px}
.meter-label{display:flex;justify-content:space-between;gap:10px;font:10px var(--pixel);color:#c1cfa7}
.meter-label b{font:12px var(--mono);font-weight:normal;color:#e0ecb4}
.meter{height:12px;margin-top:9px;border:2px solid #687c56;background:#304931}
.meter i{display:block;height:100%;width:40%;background:#c7df83}
.heat-label{margin-top:20px}.heat i{background:#e8a35e;width:0}
.control-note{margin-top:24px;color:#c4cfb5;font-size:12px;line-height:1.8}
.control-note p{margin:0}.control-note b{display:block;font-weight:normal;color:#a6bb91;margin-top:9px}
.keyboard{display:flex;align-items:center;gap:7px;margin-top:22px;color:#c2d0a8;font-size:11px}
kbd{border:1px solid #8b9d78;border-bottom-width:3px;padding:1px 5px;font:10px/1.6 var(--mono);color:#e8eccc}
.safety{font-size:10px;line-height:1.6;color:#a5b995;margin:20px 0 0}
.station-footnote{font-size:11px;color:#aebca1;margin:15px 0 0}.station-footnote span{color:#a5bd7c;margin-right:5px}
.bottom-row{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;margin:48px 0 44px}
.how ol{list-style:none;padding:0;margin:24px 0 0;counter-reset:steps}
.how li{counter-increment:steps;position:relative;padding-left:38px;margin-top:20px}
.how li:before{content:'0' counter(steps);position:absolute;left:0;top:3px;font:12px var(--pixel);color:#9b542d}
.how li b{font-size:14px;line-height:1.5}.how li span{display:block;font-size:13px;line-height:1.7;color:#b5c1aa;margin-top:4px}
.leaderboard{background:#23352a;border:2px solid #607951;box-shadow:4px 4px 0 #090f0b;padding:22px 24px;align-self:start}
.leader-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.leader-title h2{font-size:14px}.leader-title>span{font:10px var(--mono);color:#b8cba1}
.ranking-head{display:flex;justify-content:space-between;border-bottom:2px solid #6d845a;color:#b8cba1;font-size:10px;padding:18px 0 9px}
.rank-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px dashed #aebc98;font-size:12px}.rank-row>span{overflow-wrap:anywhere}
.rank-row .rank{color:#95623a;margin-right:10px;font:10px var(--pixel)}.rank-row em{font-style:normal;color:#637452;font-size:10px;margin-left:6px}.rank-row strong{font-weight:normal;white-space:nowrap;font-variant-numeric:tabular-nums}
.leaderboard>small{display:block;font-size:10px;line-height:1.6;color:#b7c6a4;margin-top:17px}.empty{font-size:13px;color:#c0d0ab;padding:20px 0;margin:0}
footer{border-top:2px solid var(--ink);display:grid;grid-template-columns:1fr 1.5fr auto;align-items:start;gap:30px;padding:24px 0 36px}
.footer-brand{font:10px/1.8 var(--pixel)}.footer-brand span{display:block;font:11px var(--mono);color:#596b50;margin-top:7px}
footer p{font-size:10px;line-height:1.8;margin:0;color:#a8b69b}.footer-links{display:flex;gap:18px;font-size:12px}.footer-links a:hover{text-decoration:underline}
@media(max-width:1000px){.intro{gap:32px}.game-shell{grid-template-columns:minmax(0,1fr) 238px}.game-main{padding:20px}.control-room{padding:24px 18px}.hud{gap:12px}.hud strong{font-size:21px}.mode{max-width:85px;font-size:10px}.tile{font-size:28px}.bottom-row{gap:36px}}
@media(max-width:760px){header,main,footer{width:calc(100% - 36px)}header{height:80px}.brand{font-size:16px;gap:10px}.brand-icon{width:34px;height:34px;font-size:22px}.brand-sub{font-size:8px}nav{gap:14px;font-size:12px}nav a:first-child,nav a:last-child{display:none}.intro{grid-template-columns:1fr 1fr;gap:22px;padding:32px 0}h1{font-size:27px;letter-spacing:-1px}.lead{font-size:13px}.eyebrow{font-size:9px}.wheel-card{padding:12px}.wheel-top{font-size:7px;flex-wrap:wrap}.status{font-size:10px}.wheel-scene{height:140px}.wheel{width:110px;height:110px;left:calc(50% - 55px);top:0}.hamster{width:112px;height:84px;left:calc(50% - 51px)}.scene-caption{font-size:6px}.telemetry{gap:7px}.telemetry strong{font-size:13px}.telemetry small{font-size:10px}#source{font-size:10px}.game-shell{grid-template-columns:minmax(0,1fr)}.control-room{border-left:0;border-top:3px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;column-gap:22px;padding:22px}.control-room .eyebrow,.control-room h3{grid-column:1/-1}.control-room h3{margin-bottom:18px}.name-label{grid-column:1;grid-row:3}.control-room input{grid-column:1;grid-row:4}.start{grid-column:1;grid-row:5}.energy-section{grid-column:2;grid-row:3/6;margin:0;padding:0;border:0;align-self:center}.control-note{grid-column:1/-1;margin-top:20px}.control-note b{margin-top:0}.keyboard{margin-top:14px}.safety{margin-top:14px}.notice{min-height:0}.mode{max-width:none}.bottom-row{margin-top:36px}.section-heading h2{font-size:12px}.tiny-label{font-size:9px}.board-caption{font-size:8px}.tile{font-size:32px}.hud{grid-template-columns:1.2fr 1fr 1fr auto}.hud strong{font-size:24px}.hud small{font-size:9px}.game-main{padding:20px}footer{grid-template-columns:1fr auto}footer p{grid-row:2;grid-column:1/-1}}
@media(max-width:540px){header,main,footer{width:calc(100% - 28px)}nav{gap:12px;font-size:11px}.intro{grid-template-columns:1fr;gap:26px;padding:28px 0 30px}.intro-copy{position:relative}h1{font-size:31px;line-height:1.35}.lead{font-size:14px;line-height:1.7;margin-bottom:12px}.play-link{font-size:12px}.intro-note{display:inline;margin-left:16px;font-size:10px}.wheel-card{display:grid;grid-template-columns:100px 1fr;column-gap:14px;padding:13px;box-shadow:4px 4px 0 #bdc5a2}.wheel-top{grid-column:1/-1;justify-content:space-between;flex-wrap:nowrap;font-size:8px}.wheel-scene{grid-column:1;grid-row:2/4;height:100px;align-self:center}.wheel{width:76px;height:76px;left:12px;top:3px;border-width:5px}.hamster{width:76px;height:57px;left:15px;bottom:12px}.scene-caption,.scene-star{display:none}.scene-ground{left:0;right:0;bottom:6px}.telemetry{grid-column:2;grid-row:2;margin-top:8px;border-top:0;padding-top:0;gap:8px}.telemetry strong{font-size:12px}.telemetry small{font-size:9px}#source{font-size:10px}.telemetry em{font-size:8px}.feed-note{grid-column:2;grid-row:3;font-size:9px;min-height:0;margin-top:8px}.section-heading{gap:10px;align-items:start}.section-heading h2{font-size:10px}.section-number{font-size:9px;margin-right:7px}.tiny-label{font-size:8px;max-width:100px;text-align:right;line-height:1.5}.game-shell{box-shadow:4px 4px 0 #b6bda0}.game-main{padding:14px 10px}.hud{gap:8px;grid-template-columns:1.15fr 1fr 1fr}.hud strong{font-size:21px}.hud small{font-size:8px}.mode{grid-column:1/-1;border-left:0;border-top:1px dashed #a1b089;padding:8px 0 0;font-size:11px}.board-frame{padding:8px}.board{gap:4px}.tile{aspect-ratio:1;font-size:27px}.tile em{font-size:5px;left:2px;bottom:2px}.tile .runner{transform:scale(.8);transform-origin:center}.board-edge{font-size:7px;padding-bottom:9px}.board-caption{font-size:6px;gap:5px}.notice{font-size:12px;line-height:1.6;margin-top:12px}.game-actions{gap:9px}.primary,.secondary{font-size:10px;padding:10px 12px;min-height:44px}.game-actions .text-button{font-size:9px}.primary span,.secondary span{margin-left:5px}.control-room{padding:20px 14px;column-gap:16px}.control-room h3{font-size:15px}.control-room .eyebrow{font-size:8px}.meter-label{font-size:8px}.meter-label b{font-size:11px}.keyboard{grid-column:1/-1}.safety{grid-column:1/-1;font-size:10px}.station-footnote{font-size:10px;line-height:1.6}.bottom-row{grid-template-columns:1fr;gap:26px;margin-bottom:30px}.how h2{font-size:12px}.how li{margin-top:16px;padding-left:30px}.how li b{font-size:13px}.how li span{font-size:12px}.leaderboard{padding:18px}.leader-title h2{font-size:12px}.rank-row{font-size:11px}footer{gap:18px}.footer-brand{font-size:8px}.footer-links{font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile,.primary,.secondary{transition:none}}
