:root{font-family:Inter,Microsoft YaHei,system-ui,sans-serif;color:#f9f6ed;background:#b8c8bd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}#game{display:block;width:100vw;height:100vh;outline:none}header{position:absolute;top:27px;left:32px;right:32px;display:flex;align-items:center;gap:14px;pointer-events:none}.brand-mark{font-size:20px;font-weight:900;border:2px solid #f9f6ed;padding:12px 10px;transform:skew(-7deg)}h1{font-size:21px;letter-spacing:2px;margin:0}h1 span{font-size:10px;font-weight:500;letter-spacing:3px;display:block;margin-top:4px}header p{margin:7px 0 0;font-size:11px;opacity:.75}.phase{margin-left:auto;border:1px solid #ffffff50;border-radius:30px;padding:9px 15px;font-size:11px;background:#172c2a60}.brief{position:absolute;top:158px;left:34px;pointer-events:none;text-shadow:0 2px 16px #10212255}.eyebrow{font-size:10px;letter-spacing:3px;color:#fcca84}h2{font-size:34px;line-height:1.3;font-weight:750;letter-spacing:1px;margin:18px 0}.brief p{font-size:12px;line-height:1.9;opacity:.83}.legend{margin-top:24px;display:flex;align-items:center;gap:7px;font-size:9px;opacity:.85}.legend i{display:inline-block;width:6px;height:6px;background:#ff8b36;border-radius:50%}.legend i.blue{background:#6ce3df;margin-left:5px}.dashboard{position:absolute;left:32px;bottom:91px;display:flex;align-items:center;gap:24px;padding:18px 25px;background:#152f2de8;border-left:4px solid #f89b52;min-width:415px;border-radius:3px;box-shadow:0 5px 25px #10232120;pointer-events:none}.speed{display:flex;align-items:baseline;gap:8px;min-width:104px}.speed strong{font-size:52px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-3px}.speed span{font-size:9px;color:#ccd6cf}.status{width:140px}.status>span{font-size:12px}.status small{display:block;margin-top:8px;font-size:8px;color:#acc4b8}.meter{height:3px;background:#ffffff25;margin-top:10px}.meter i{display:block;height:100%;width:0%;background:#f9aa65}.stats{display:grid;gap:7px;font-size:10px;border-left:1px solid #ffffff30;padding-left:18px;color:#c4d6ca}.stats b{margin-left:9px;color:#fff;font-variant-numeric:tabular-nums}footer{position:absolute;bottom:0;left:0;right:0;background:#f3f0e8;color:#243e37;min-height:68px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.keys,.actions{display:flex;align-items:center;gap:22px}.keys span{font-size:10px;white-space:nowrap}kbd{font:600 11px inherit;border:1px solid #b6bfb6;min-width:21px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;margin-right:4px;padding:0 5px;background:#fffdf6;box-shadow:0 2px #c8cec3}label{font-size:11px;cursor:pointer;display:flex;align-items:center;gap:5px}input{accent-color:#c96025}button{border:0;background:#29453b;color:#fff8ed;padding:10px 16px;border-radius:4px;cursor:pointer;font:inherit;font-size:11px}button:hover{background:#446650}button:focus-visible,summary:focus-visible{outline:3px solid #f99a51;outline-offset:3px}.debug{position:absolute;right:32px;bottom:91px;width:270px;background:#17312de8;border:1px solid #ffffff30;font-size:10px;border-radius:4px;padding:10px 13px;line-height:1.7}.debug summary{cursor:pointer;color:#e6dbbe}.debug p{color:#b3c8bb;font-size:10px}.debug output{font:10px monospace;white-space:pre-line;color:#96d6c2}#impact{position:absolute;top:120px;left:50%;transform:translate(-50%);background:#f19b4b;color:#272e21;padding:11px 22px;border-radius:4px;font-size:13px;font-weight:700;opacity:0;transition:opacity .15s;pointer-events:none}#impact.visible{opacity:1}#failure{position:absolute;top:20%;right:20%;bottom:20%;left:20%;background:#203b32;padding:30px;color:#fff;line-height:2}body.crashed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 85px #e86c365c;pointer-events:none}@media (max-width:900px){.brief{top:130px}.brief h2{font-size:25px}.keys{gap:10px}.debug{right:16px;bottom:158px;width:210px}.dashboard{left:16px;bottom:88px;min-width:360px;gap:12px;padding:15px}.phase{font-size:9px}footer{padding:15px}.actions{gap:10px}.keys span{font-size:9px}}@media (max-height:650px){.brief{top:125px}.brief h2{font-size:24px;margin:10px 0}.brief p,.legend{display:none}.dashboard{padding:12px 18px}.speed strong{font-size:42px}}@media (max-width:600px){header{left:16px;right:16px;top:17px;gap:10px}h1{font-size:18px}h1 span{font-size:8px}.brand-mark{font-size:16px;padding:9px}.phase{font-size:8px;padding:7px 9px}.brief{left:18px;top:125px}.brief h2{font-size:23px}.eyebrow{font-size:9px;letter-spacing:2px}.brief p,.legend{display:none}.dashboard{left:12px;right:12px;bottom:99px;min-width:0;gap:12px;padding:14px}.speed{min-width:80px}.speed strong{font-size:42px}.status{flex:1;width:auto}.stats{padding-left:11px;font-size:9px}.debug{right:12px;bottom:194px;width:175px}.debug[open]{width:240px}.keys{gap:10px;justify-content:space-between;width:100%}.keys span{font-size:8px}kbd{min-width:17px;height:21px;padding:0 3px;margin-right:2px}footer{padding:10px 14px;min-height:87px;gap:8px;flex-wrap:wrap}.actions{justify-content:flex-end;gap:20px;width:100%}.actions button{padding:7px 12px}.actions label{font-size:10px}#impact{top:95px;width:max-content;font-size:11px;padding:9px 16px}}header #sound{pointer-events:auto;font-size:11px;padding:9px 13px;white-space:nowrap}header #sound[aria-pressed=true]{background:#e6a35e;color:#203b32}.status .surface{display:block;margin-top:9px;font-size:10px;color:#c8dfd2}.status .surface[data-kind=grass]{color:#e5d981}.status #feedback{font-size:9px;margin-top:4px;color:#f3bb80}.braking .dashboard{border-left-color:#ff6753}.braking .meter i{background:#ff6753}.debug label{margin-top:12px;font-size:10px}@media (max-width:600px){header{flex-wrap:wrap}header .phase{display:none}header #sound{margin-left:auto;font-size:10px}.status .surface{font-size:9px}.status #feedback{font-size:8px}.debug{bottom:225px}}.combat-panel{position:absolute;right:32px;top:135px;width:270px;background:#17312deb;border:1px solid #ffffff30;border-radius:6px;padding:16px;font-size:12px}.combat-panel h3{margin:0 0 18px;font-size:16px}.combat-panel small{display:block;color:#a7c7ba;font-size:10px;margin-top:6px}.combat-panel b{float:right}.combat-panel progress{width:100%;height:7px;display:block;margin:6px 0 14px;accent-color:#f2a05e}#blue-bar{accent-color:#58c8d6}.combat-panel p{font-size:11px;line-height:1.6;color:#c5d6ca}.combat-buttons{display:flex;gap:8px;margin:12px 0 8px}.combat-buttons button{flex:1;background:#bd612f}#rewind{width:100%;background:#60558a;margin-bottom:12px}#combat-notice{min-height:36px;color:#ffcd87;margin-bottom:0}.combat-panel label{font-size:10px}@media (max-height:700px){.combat-panel{top:105px;padding:12px}.combat-panel h3{margin-bottom:10px}.combat-panel progress{margin-bottom:9px}.brief{max-width:210px}.debug{bottom:80px}}@media (max-width:700px){.combat-panel{right:12px;width:220px}.brief{display:none}}.combat-panel{max-height:calc(100vh - 230px);overflow-y:auto}.combat-panel .combat-buttons{margin:6px 0;gap:4px}.combat-panel .combat-buttons button{padding:7px 5px;font-size:11px}.combat-panel button:disabled{opacity:.4;cursor:default}#gear-status{color:#ffe3a4;padding:8px;background:#10271f;border-radius:4px}#item-use{background:#286d80}#grab{background:#8b632f}.network-panel{position:absolute;top:135px;left:32px;width:275px;background:#17312df2;padding:16px;border:1px solid #ffffff40;border-radius:6px;font-size:12px}.network-panel h2{font-size:18px;margin:0 0 12px}.network-panel label{margin:8px 0}.network-panel input,.network-panel select{min-width:0;width:175px;padding:7px;background:#f7f3e9;color:#193c31;border:1px solid #a3b7a8;border-radius:3px;font:inherit}.network-panel select{width:100%}.network-panel .room-buttons{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.network-panel button{padding:8px 10px;background:#446650}.network-panel button:disabled{opacity:.45;cursor:default}.network-panel p{line-height:1.6;color:#d3e3d6}.network-panel small{line-height:1.6;display:block;color:#b4c9bb}.brief{display:none}#net-status{color:#ffcc8c;min-height:36px}body.online #practice{pointer-events:none}@media (max-height:700px){.network-panel{top:115px;padding:10px}.network-panel small{display:none}.network-panel h2{font-size:15px;margin-bottom:6px}}@media (max-width:800px){.network-panel{left:12px;width:240px}.network-panel input{width:140px}}header #music{pointer-events:auto;white-space:nowrap;padding:9px 13px;font-size:11px}header #music[aria-pressed=true]{background:#e6a35e;color:#203b32}.original-banner{width:100%;height:74px;object-fit:cover;object-position:center 45%;border-radius:3px;display:block;margin-bottom:10px}.network-panel h2{font-size:16px;margin-bottom:8px}.rider-portrait{width:30px;height:27px;object-fit:cover;object-position:25% 30%;vertical-align:middle;border-radius:3px;margin-right:8px}@media (max-height:800px){.original-banner{height:55px}.network-panel small{display:none}}@media (max-height:650px){.original-banner{height:34px}.network-panel h2{display:none}}@media (max-width:600px){header #music{padding:7px;font-size:9px}}#panel-toggle{display:none}@media (max-width:900px){#panel-toggle{display:block;position:absolute;top:88px;right:12px;z-index:5;background:#29453b}.network-panel,.combat-panel{display:none}body.panels-open .network-panel{display:block;left:12px;right:12px;top:130px;width:auto;max-height:34vh;overflow:auto;z-index:4}body.panels-open .combat-panel{display:block;left:12px;right:12px;top:calc(130px + 35vh);width:auto;max-height:30vh;overflow:auto;z-index:4}body.panels-open .network-panel small{display:block}header .brand-mark,header p,header h1 span{display:none}header h1{font-size:16px;letter-spacing:0}header{gap:8px}.dashboard .stats{display:none}.dashboard{bottom:100px;padding:10px}.debug{bottom:190px}}.race-panel{position:absolute;top:95px;left:50%;transform:translate(-50%);width:300px;max-width:42vw;background:#17312ded;color:#fff4d9;border:1px solid #87bd9a;border-radius:8px;padding:14px;z-index:3;font:13px system-ui}.race-panel[hidden]{display:none}.race-panel h2{font-size:20px;margin:0 0 8px}.race-panel p{line-height:1.5;margin:6px 0}.race-panel ol{padding-left:24px;line-height:1.7;margin:10px 0}.race-panel button{background:#efbe70;color:#18392c;padding:8px 18px;border:0;border-radius:4px;cursor:pointer}@media (max-width:900px){.race-panel{top:130px;left:auto;right:12px;transform:none;width:240px;max-width:65vw;font-size:11px}.race-panel h2{font-size:16px}body.panels-open .race-panel{display:none}}
