.arcade-hub,.jump-game{box-sizing:border-box;color:#f5ead3;background:radial-gradient(ellipse at 85% 0,#4c3c1e55,transparent 50%),#101313;border:1px solid #a6813d;box-shadow:0 0 0 5px #b38c3311,0 35px 100px #000c;padding:32px;max-height:94dvh;overflow:auto;font-family:inherit}.arcade-hub::backdrop,.jump-game::backdrop{background:#030505cf;backdrop-filter:blur(9px)}.arcade-hub{width:min(780px,calc(100vw - 24px))}.arcade-hub h2,.jump-game h2{font-size:32px;letter-spacing:2px;margin:12px 0}.arcade-subtitle,.jump-intro{color:#b9b19e;font-size:13px;line-height:1.8}.arcade-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.arcade-choices>button{font-family:inherit;text-align:left;color:#f3e7c9;padding:26px 22px;background:linear-gradient(145deg,#34302099,#151817);border:1px solid #766239;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column;gap:12px}.arcade-choices>button:hover,.arcade-choices>button:focus-visible{transform:translateY(-4px);border-color:#ffcb64;box-shadow:inset 0 0 35px #bd842311,0 6px 30px #d49c1a22;outline:none}.arcade-symbol{width:76px;height:76px;display:grid;place-items:center;border:1px solid #bd9145;background:#c6971720;box-shadow:0 0 22px #ffba1515;transform:rotate(-3deg);margin-bottom:15px}.arcade-symbol svg{width:52px;height:52px;fill:#ffc45922;stroke:#ffd174;stroke-width:2;filter:drop-shadow(0 0 7px #e4a53866)}.arcade-choices small{font:10px monospace;letter-spacing:2px;color:#bba36f}.arcade-choices strong{font-size:23px}.arcade-choices button>span:not(.arcade-symbol){font-size:12px;color:#b5b2a3;line-height:1.8}.arcade-choices b{font-size:12px;color:#ffce72;margin-top:8px}.arcade-footer{text-align:center;color:#8c8779;font-size:11px;letter-spacing:1px;margin:25px 0 0}.arcade-back{font-family:inherit;color:#d6ba7a;border:0;background:none;font-size:12px;padding:0 0 16px;cursor:pointer;display:block}.arcade-back:hover{color:#ffe2a2}.jump-game{width:min(780px,calc(100vw - 24px));padding:24px 28px}.jump-game h2{display:flex;align-items:center;gap:18px;margin:8px 0}.jump-game h2 span{font:12px monospace;color:#aa935f;letter-spacing:4px}.jump-intro{margin:6px 0 16px}.jump-stats{display:flex;justify-content:space-between;padding:12px 0 16px;border-top:1px solid #ad873c44}.jump-stats>div{display:flex;flex-direction:column;gap:5px;flex:1}.jump-stats>div+div{border-left:1px solid #ad873c44;padding-left:22px}.jump-stats small{font-size:10px;letter-spacing:2px;color:#a9a694}.jump-stats strong{font:28px monospace;color:#ffe1a0;line-height:1}.jump-stage{position:relative;overflow:hidden;border:1px solid #8a6e3855;background:#080c0d}.jump-stage canvas{display:block;width:100%;height:270px;max-height:32dvh}.jump-target{position:absolute;top:15px;left:16px;font-size:11px;color:#d0c4a5;background:#11130dcc;border-left:2px solid #e7b452;padding:7px 10px}.jump-target b{color:#ffe4a2;font:18px monospace;margin:0 4px}.jump-stage-label{position:absolute;right:14px;bottom:12px;font:9px monospace;color:#887a59;letter-spacing:1px}.jump-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0d0cd9;backdrop-filter:blur(3px)}.jump-result[hidden]{display:none}.jump-result>span{color:#ac9054;font-size:11px;letter-spacing:5px}.jump-result strong{font-size:28px;color:#ffdb95;letter-spacing:3px;margin:15px 0 4px}.jump-result p{color:#c2b9a5;font-size:12px}.jump-console{padding-top:18px}.jump-power-head{display:flex;justify-content:space-between;font-size:11px;color:#ada693}.jump-power-head b{color:#ffd076;font:15px monospace}.jump-power{position:relative;height:14px;background:#040806;border:1px solid #5e5137;margin:10px 0 26px;--charge:0%}.jump-power i{display:block;height:100%;width:var(--charge);background:linear-gradient(90deg,#805e19,#e6ac37,#fff2ba);box-shadow:0 0 15px #e0a02d77}.jump-power.over i{background:linear-gradient(90deg,#b18538,#ff8f30)}.jump-power>span{position:absolute;top:0;height:100%;border-left:1px solid #eee2bd55;color:#a99e83;font:10px monospace;padding-top:19px;padding-left:2px}.jump-status{min-height:18px;color:#d6c49b;font-size:12px;line-height:1.5;margin:12px 0}.jump-hold,.jump-retry{font-family:inherit;width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:17px;letter-spacing:2px;background:linear-gradient(115deg,#c39438,#ffdc86,#c89638);color:#191a13;border:1px solid #ffda81;box-shadow:0 0 22px #d69d2722;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.jump-hold span{font:9px monospace;letter-spacing:1px;opacity:.65}.jump-hold.charging{box-shadow:0 0 30px #ffd46b66,inset 0 0 18px #fff8dc;color:#000}.jump-hold:disabled{filter:brightness(.6);cursor:default}.jump-hold[hidden],.jump-retry[hidden]{display:none}.jump-help{font-size:10px;color:#8d897a;line-height:1.8;text-align:center;margin:10px 0 0}.arcade-back:focus-visible,.jump-hold:focus-visible,.jump-retry:focus-visible{outline:2px solid #fff0c1;outline-offset:4px}@media(max-width:540px){.arcade-hub,.jump-game{padding:22px 16px;max-height:95dvh}.arcade-hub h2,.jump-game h2{font-size:25px}.arcade-choices{gap:10px;margin-top:20px}.arcade-choices>button{padding:18px 12px;gap:10px}.arcade-symbol{width:58px;height:58px;margin-bottom:7px}.arcade-symbol svg{width:40px;height:40px}.arcade-choices strong{font-size:20px}.arcade-choices button>span:not(.arcade-symbol){font-size:11px}.arcade-choices small{font-size:8px;letter-spacing:1px}.jump-stats strong{font-size:25px}.jump-stats>div+div{padding-left:14px}.jump-stage canvas{height:230px;max-height:29dvh}.jump-intro{font-size:12px}.jump-hold{gap:10px;font-size:16px}.jump-hold span{font-size:8px}}@media(prefers-reduced-motion:reduce){.arcade-choices>button{transition:none}}
/* Sage edition: ink-green stone, warm parchment and restrained talisman light. */
.sage-jump{background:radial-gradient(ellipse at 90% 0,#6b806029,transparent 55%),linear-gradient(145deg,#19241e,#111b18);border-color:#929879;box-shadow:0 0 0 5px #9aa8830a,0 30px 100px #000c}.sage-jump h2{font-family:"Songti SC","STSong",serif;letter-spacing:5px;color:#eee4c6}.sage-jump h2 span{color:#b3bd9b;font-family:inherit;letter-spacing:3px}.sage-jump .energy-kicker{color:#a5b49a}.sage-jump .jump-intro{color:#adb9a8}.sage-jump .jump-stats{border-color:#91a38438}.sage-jump .jump-stats strong{color:#e7d8a5}.sage-jump .jump-stats>div+div{border-color:#91a38438}.sage-jump .jump-stage{border-color:#899c725e}.sage-jump .jump-target{background:#192a23b8;border-color:#c4bc87;color:#c6d0b7}.sage-jump .jump-stage-label{font-family:"Songti SC",serif;font-size:12px;letter-spacing:4px;color:#b0c0a8}.sage-jump .jump-power{background:#0b1712;border-color:#718569}.sage-jump .jump-power i{background:linear-gradient(90deg,#496c58,#a3b383,#e6d7a4);box-shadow:0 0 15px #b7c99066}.sage-jump .jump-hold,.sage-jump .jump-retry{background:linear-gradient(115deg,#607458,#c1c79b,#829370);color:#15221a;border-color:#c6caa0;box-shadow:0 0 20px #8fbc7522}.sage-jump .jump-hold.charging{box-shadow:0 0 26px #d7dfac55,inset 0 0 16px #fff7cf77}.sage-jump .jump-result{background:#14231ede}.sage-jump .jump-result strong{font-family:"Songti SC",serif;color:#e4d6af}.sage-jump .arcade-back{color:#bcc5a3}.sage-jump .jump-status{color:#c5cfb4}.sage-jump .jump-help{color:#8e9e8b}
.sage-jump .jump-stage canvas{height:300px;max-height:36dvh}@media(max-width:540px){.sage-jump{padding:14px 16px}.sage-jump .arcade-back{padding-bottom:9px}.sage-jump .jump-header>.energy-kicker{margin:5px 0;font-size:8px}.sage-jump h2{margin:5px 0;font-size:24px}.sage-jump .jump-intro{font-size:11px;margin:5px 0 10px;line-height:1.5}.sage-jump .jump-stats{padding:8px 0 10px}.sage-jump .jump-stats strong{font-size:22px}.sage-jump .jump-stage canvas{height:270px;max-height:34dvh}.sage-jump .jump-console{padding-top:12px}.sage-jump .jump-status{margin:9px 0;font-size:11px}.sage-jump .jump-hold,.sage-jump .jump-retry{min-height:48px}.sage-jump .jump-help{font-size:9px;line-height:1.6;margin:7px 0 0}}
.arcade-choices [data-game="jump"]{background:linear-gradient(145deg,#344d3c66,#15241c);border-color:#7f9471}.sage-symbol{border-color:#afbc92;background:#91ae7522;border-radius:50%;transform:none}.sage-symbol svg{stroke:#d5d4a0;fill:none;filter:drop-shadow(0 0 7px #b7ca8766)}.sage-symbol svg text{font:32px "Songti SC","STSong",serif;fill:#e0d6a1;stroke:none}
.sage-symbol{overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#697f59,#21372c);box-shadow:0 0 22px #baca7730}.sage-symbol img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 5px #09150ecc)}
/* App-style launcher: two sculpted icons, short captions, a quiet matte surface. */
.arcade-hub.app-launcher{width:min(700px,calc(100vw - 24px));border-radius:26px;padding:36px 38px 26px;border:1px solid #b5ac804d;background:radial-gradient(ellipse at 18% 48%,#b8801720,transparent 45%),radial-gradient(ellipse at 82% 48%,#63877420,transparent 45%),linear-gradient(145deg,#222922,#101613 65%);box-shadow:inset 0 1px 0 #e7eacc16,0 32px 110px #000c}.app-launcher .energy-close{border-radius:50%;background:#f4f4d809;border:1px solid #eef2df22}.app-launcher>.energy-kicker{font-size:10px;letter-spacing:3px;color:#9ca893}.app-launcher h2{font-size:29px;font-weight:600;letter-spacing:2px;margin:12px 0 10px}.app-launcher .arcade-subtitle{font-size:12px;color:#a0aa98}.app-launcher .arcade-choices{gap:24px;margin:32px 0 18px}.app-launcher .arcade-choices>button{align-items:center;text-align:center;padding:21px 12px 17px;gap:9px;border:1px solid transparent;background:transparent;border-radius:23px;box-shadow:none;transition:background .2s,transform .2s,border-color .2s}.app-launcher .arcade-choices>button:hover,.app-launcher .arcade-choices>button:focus-visible{background:#e5ebd509;border-color:#cfddbc30;transform:translateY(-3px);outline:none}.app-launcher .arcade-symbol{position:relative;isolation:isolate;width:142px;height:142px;flex:none;box-sizing:border-box;margin:0 0 14px;border-radius:33px;transform:none;overflow:hidden;border:1px solid #f8d38c88;background:radial-gradient(ellipse at 36% 22%,#ffee9a66,transparent 48%),linear-gradient(150deg,#d7a845,#80551e 60%,#382b19);box-shadow:inset 0 2px 2px #fff1ba80,inset 0 -8px 14px #2a170a70,0 14px 20px #03080270,0 3px 0 #322916,0 0 38px #d9a32c13}.app-launcher .arcade-symbol:before{content:'';position:absolute;inset:7px;border:1px solid #f8e4ae33;border-radius:26px;pointer-events:none;z-index:2}.app-launcher .arcade-symbol:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ffffff2b,transparent 43%,#00000010);pointer-events:none;z-index:3}.app-launcher .arcade-symbol svg{width:77px;height:77px;fill:#fff0b5;stroke:#ffedbe;stroke-width:1;filter:drop-shadow(0 3px 0 #73501f) drop-shadow(0 0 14px #ffe59455);z-index:1}.app-launcher .sage-symbol{background:radial-gradient(ellipse at 38% 24%,#d8eac270,transparent 55%),linear-gradient(150deg,#839e78,#3d6659 62%,#244a40);border-color:#c5d8b077;box-shadow:inset 0 2px 2px #e8f6d47a,inset 0 -8px 14px #10291e75,0 14px 20px #03080270,0 3px 0 #19362b,0 0 38px #9bbc6d15}.app-launcher .sage-symbol img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;transform:translateY(6px) scale(1.08);filter:drop-shadow(0 5px 7px #0d302b80)}.app-launcher .arcade-choices small{font-size:8px;letter-spacing:2px;color:#a7a68a;order:2}.app-launcher .arcade-choices strong{font-size:20px;font-weight:600;letter-spacing:1px;order:1;color:#e9e7d3}.app-launcher .arcade-choices button>span:not(.arcade-symbol){order:3;font-size:11px;color:#a0ac9c}.app-launcher .arcade-choices b{order:4;font-size:10px;font-weight:400;letter-spacing:1px;color:#d2cfaa;margin-top:6px;padding:7px 12px;border-radius:20px;background:#f0ebc108;border:1px solid #c3cca71c}.app-launcher .arcade-choices b i{font-style:normal;margin-left:8px;color:#e2d8a2}.app-launcher .arcade-footer{font-size:10px;letter-spacing:3px;color:#7b8a78;border-top:1px solid #b4c39b17;padding-top:18px;margin-top:12px}@media(max-width:540px){.arcade-hub.app-launcher{padding:27px 19px 20px;border-radius:22px}.app-launcher .arcade-choices{gap:8px;margin-top:22px}.app-launcher .arcade-choices>button{padding:17px 4px 12px;gap:8px}.app-launcher .arcade-symbol{width:108px;height:108px;border-radius:26px;margin-bottom:12px}.app-launcher .arcade-symbol:before{border-radius:20px;inset:6px}.app-launcher .arcade-symbol svg{width:61px;height:61px}.app-launcher .arcade-choices strong{font-size:18px}.app-launcher h2{font-size:25px}.app-launcher .arcade-choices small{font-size:7px;letter-spacing:1px}.app-launcher .arcade-choices button>span:not(.arcade-symbol){font-size:10px}.app-launcher .arcade-subtitle{font-size:11px}}
/* Robot portrait uses the same rounded App icon construction as the sage. */
.app-launcher .robot-symbol{background:radial-gradient(ellipse at 35% 12%,#a7c1c2,#415d64 45%,#15272e 90%);border-color:#b9c6b3aa;box-shadow:inset 0 2px 3px #e7f6ef88,inset 0 -7px 14px #03101a77,0 16px 28px #0005,0 0 23px #a3c8cb12}.app-launcher .robot-symbol img{position:relative;width:100%;height:100%;object-fit:contain;transform:translateY(7px) scale(1.08);filter:drop-shadow(0 6px 6px #0005)}
