:root{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#06132e;font-synthesis:none;--blue:#1a338c;--yellow:#ffe052;--green:#55e67b}*{box-sizing:border-box}body{margin:0;overflow:hidden;height:100dvh;background:radial-gradient(ellipse at 50% 35%,#284c91,#07152f 65%)}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #67e6ff;outline-offset:3px}#game{height:100dvh;width:min(100vw,56.25dvh);max-width:600px;min-width:min(100vw,350px);position:relative;margin:auto;overflow:hidden;box-shadow:0 0 100px #0008;background:#c7d5df;touch-action:none}canvas{display:block;width:100%;height:100%}.hidden{display:none!important}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;background:#071b4055;backdrop-filter:blur(5px)}#select{background:linear-gradient(#071c4cdb,transparent 35%,transparent 49%,#071831ed 74%,#07152f);backdrop-filter:none;display:block;padding:0}.select-top{position:absolute;top:max(5%,env(safe-area-inset-top));left:0;width:100%;text-align:center}.brand{display:flex;align-items:center;justify-content:center;gap:9px;text-shadow:0 3px 1px #0004;line-height:.95}.brand strong{font-size:clamp(65px,10dvh,95px);letter-spacing:-8px;font-weight:950}.brand i{color:#49e370;font-style:normal}.brand em{color:#ffd64c;font-style:normal}.brand>span{text-align:left;font-size:clamp(24px,3.5dvh,34px);font-weight:900}.brand b{color:#72d5ff}.brand small{display:block;font-size:9px;color:#ffde57;letter-spacing:1px;margin-top:7px}.game-title{font-size:12px;letter-spacing:2px;font-weight:bold;margin-top:15px;color:#d4edff}.select-bottom{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:7%;width:86%;text-align:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#83c3ee}h1{font-size:clamp(20px,3dvh,28px);margin:10px 0 18px}h2{font-size:27px;margin:10px 0 20px;line-height:1.1}.choices{display:flex;gap:10px;margin-bottom:12px}.choice{background:#19385bd9;border:1px solid #6582a3;border-radius:12px;flex:1;padding:15px;font-weight:bold;font-size:14px;letter-spacing:1px;transition:.15s}.choice.selected{background:#1a338c;border:2px solid #a0e4ff;box-shadow:0 0 18px #4fbbff55}.primary{display:flex;align-items:center;justify-content:center;gap:25px;width:100%;background:linear-gradient(#ffe77c,#f7c733);color:#132952;border-radius:12px;min-height:54px;font-weight:900;letter-spacing:1px;box-shadow:0 4px 0 #b68d1b,0 10px 25px #0003}.primary:active{transform:translateY(2px)}.hint{font-size:11px;line-height:1.5;color:#adbed5;margin:16px 0 4px}.text-button{background:none;color:#c2d4e8;font-size:11px;letter-spacing:1px;font-weight:bold;padding:14px}.glass{background:linear-gradient(135deg,#16385cf0,#0a2445ed);border:1px solid #92c7ed;box-shadow:0 0 0 2px #09204088,0 5px 20px #071c4266;border-radius:14px}#hud{position:absolute;inset:0;pointer-events:none}.hud-top{display:flex;align-items:start;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 12px 0;gap:6px}.points,.combo{padding:8px 10px;min-width:75px}.points small,.combo small{display:block;font-size:10px;letter-spacing:1px}.points strong{display:block;font-size:25px;color:var(--yellow);padding-top:3px}.combo{text-align:center;min-width:63px}.combo strong{font-size:21px;color:var(--yellow)}#hearts{color:#ff515b;font-size:20px;letter-spacing:2px;text-shadow:0 2px 2px #900}.mini{margin-top:10px;gap:6px}.mini strong{font-size:40px;letter-spacing:-5px}.mini>span{font-size:15px}.subtitle{text-align:center;font-size:8px;letter-spacing:1px;font-weight:bold;margin-top:7px;color:#142e5c}.mission{margin:12px auto 0;width:66%;padding:11px 13px;background:linear-gradient(#fff,#e6eef4);color:#112b55;border:2px solid #ffc85a;border-radius:12px;box-shadow:0 4px 10px #142e5c44}.mission-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:7px;font-size:14px;border-bottom:1px solid #c6d4de}.mission-head small{background:#1a338c;color:#fff;border-radius:4px;font-size:10px;padding:3px 5px}.mission-row{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:13px;font-weight:bold}.mission-row .icon{font-size:20px}.mission-row .track{margin-left:auto;width:42px;height:6px;background:#cbd7de;border-radius:6px;overflow:hidden}.track i{display:block;height:100%;background:#37cd6b;border-radius:6px}.mission-row.done{color:#278448}.mission-row .qty{width:28px;text-align:right}#event{margin:10px auto;background:#ffda46;color:#162f5c;width:max-content;max-width:92%;padding:9px 15px;border-radius:8px;font-size:12px;letter-spacing:1px;font-weight:900;text-align:center}#toast{position:absolute;top:40%;width:100%;text-align:center;font-size:22px;font-weight:950;text-shadow:0 3px 0 #17367a,0 0 15px #05205b;color:#fff0;transition:opacity .2s}#toast.show{color:#fff}#tutorial{position:absolute;top:49%;left:15%;width:70%;text-align:center;padding:10px;color:white;font-size:13px;font-weight:900;text-shadow:0 2px 4px #000;background:#153765b3;border-radius:9px}#tutorial:empty{display:none}.hud-bottom{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.round-controls{display:flex;gap:8px}.round-controls button,#jump{pointer-events:auto;border:1px solid #95cef4;background:#12365aed;border-radius:14px;box-shadow:0 3px 8px #0004;width:43px;height:43px;font-size:23px}.cart-panel{padding:10px 12px;min-width:113px}.cart-panel b{font-size:15px}.cart-panel small{display:block;font-size:9px;color:#afcce5;margin-top:6px}.cart-panel strong{display:block;font-size:18px;padding-top:2px}#recent{font-size:19px;min-height:23px;padding-top:4px;letter-spacing:1px}#jump{position:absolute;bottom:160px;right:16px;width:46px;height:54px;font-size:26px}#jump small{display:block;font-size:8px;letter-spacing:1px}.modal{width:100%;max-height:95%;overflow:auto;padding:25px;text-align:center}.modal p{font-size:13px;line-height:1.8;color:#c5d6e6}.final-score{font-size:54px;font-weight:900;color:#ffdf58;line-height:1}.results-card>small{font-size:10px;letter-spacing:2px;color:#b9d7ed}.results-card h2{margin-bottom:10px}#stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}#stats div{background:#ffffff0b;border:1px solid #ffffff15;border-radius:8px;padding:9px}#stats b{display:block;font-size:20px;color:#e3f3ff}#stats span{font-size:10px;color:#a8c8df}label{display:block;text-align:left;font-size:12px;margin-bottom:7px}.save-row{display:flex;gap:6px}input{min-width:0;width:50%;background:#061a33;color:#fff;padding:11px;border:1px solid #54738d;border-radius:7px;font-size:14px}.save-row button{flex:1;border-radius:7px;background:#4bc67d;color:#0a2b3c;font-size:10px;font-weight:900;padding:8px}#save-status{font-size:11px;color:#b8eacc;margin-top:6px}.ranking-title{text-align:left;font-size:11px;letter-spacing:1px;margin-top:20px}.ranking-list{padding:0;list-style:none;margin:8px 0 18px;font-size:12px}.ranking-list li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #ffffff14}.ranking-list span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.ranking-list b{color:#ffe16c}.empty{font-size:12px;color:#b3cce0;line-height:1.6}.loading-card{padding:30px;width:90%;display:grid;gap:20px;text-align:center;font-size:12px}progress{width:100%;accent-color:#52df88}.loading-card span{color:#b4d8f2}@media(max-height:690px){.select-top{top:4%}.select-bottom{bottom:10px}h1{margin:7px 0 11px}.choice{padding:11px}.primary{min-height:46px}.hint{margin-top:10px}.modal{padding:17px}#stats{margin:12px 0;gap:5px}#stats div{padding:6px}.final-score{font-size:43px}.mission{margin-top:7px}.mission-head{font-size:12px}.mission-row{margin-top:5px}.hud-top{padding-top:8px}.points strong{font-size:22px}.game-title{font-size:10px}}
/* Reference palette: deep blue glass, white lettering and bright metal edges. */
:root{--white:#fff}#game{max-width:620px}.glass{background:linear-gradient(125deg,#082d50f5,#123e62ed);border:1.5px solid #c0e9ff;box-shadow:0 0 8px #71c8fb60,inset 0 0 13px #a6d8ff13,0 5px 18px #051b3e6b}.primary{background:linear-gradient(#294baa,#153784);color:#fff;box-shadow:0 4px 0 #092359,0 8px 24px #0004;border:1px solid #779fd2}.primary span{color:#fff}.select-bottom{bottom:max(18px,env(safe-area-inset-bottom));left:7%;width:86%}.select-top{top:max(3.3%,env(safe-area-inset-top))}#select{background:linear-gradient(#041831d9,transparent 30%,transparent 52%,#071c3dde 77%,#06192f)}.game-title{color:white;background:#12375bd9;border:1px solid #77caff;border-radius:8px;padding:7px 9px;letter-spacing:.6px;width:max-content;max-width:94%;margin:12px auto}.hint{color:#fff;font-size:11px}h1{font-size:24px;color:white}.choice{background:#11375bde;color:#fff}.choice.selected{border-color:#e0f8ff;background:linear-gradient(#214a9b,#173987);box-shadow:0 0 14px #52c5ff70}.text-button,.eyebrow,.modal p{color:#fff}.hud-top{padding-left:10px;padding-right:10px}.points strong,.combo strong{color:#fff}.subtitle{color:#fff;background:#10335bdc;border:1px solid #98d6ff;border-radius:6px;margin:4px auto 0;width:max-content;max-width:78%;padding:4px 8px;font-size:9px;letter-spacing:.5px}.mission{background:linear-gradient(125deg,#0f345bed,#153f63eb);color:#fff;border-color:#ffdb88;width:65%;padding:10px 12px;box-shadow:0 0 9px #ffc74749,0 5px 10px #13263b45}.mission-head{border-bottom-color:#abc7dd50}.mission-head small{background:#ffffff1b;color:white}.mission-row .icon{width:26px;height:29px;object-fit:contain}.mission-row .track{background:#ffffff28}.mission-row.done{color:#fff}.mission-row .qty{color:#fff}.mission-row{font-size:14px}.mission-head{font-size:14px}.mission-head small{font-size:11px}.cart-panel{min-width:120px;max-width:150px}.cart-panel small{color:#fff;font-size:10px}.cart-panel strong{color:#fff}.cart-panel #recent{display:flex;align-items:center;gap:1px;height:31px;padding:0;margin-top:4px}.cart-panel #recent img{width:23px;height:28px;object-fit:contain}#event{background:linear-gradient(#24679c,#104474);color:#fff;border:1px solid #b6e8ff;box-shadow:0 0 14px #8bd7fc70}#tutorial{top:43%;background:#14365cd4;color:#fff;left:13%;width:74%}#jump-warning{position:absolute;top:51%;width:76%;left:12%;text-align:center;font-size:19px;font-weight:900;color:#fff;padding:10px;border:2px solid #ffe284;border-radius:10px;background:#324867e8;box-shadow:0 0 22px #ffe45c6b}#jump-warning.now{background:#b6640cf2;animation:jumpPulse .3s alternate infinite}@keyframes jumpPulse{to{transform:scale(1.05)}}#jump{bottom:165px;width:52px;height:57px;border-width:2px}#jump small{font-size:9px}.results-card{padding:25px 23px;max-height:95%;text-align:left}.results-card h2{font-size:28px;margin:8px 0 14px;color:#fff}.results-card .eyebrow{font-size:10px}.score-summary{display:flex;align-items:baseline;gap:9px;margin:0 0 21px;padding-bottom:15px;border-bottom:1px solid #8eb3d241}.score-summary strong{font-size:32px;color:#fff}.score-summary span{font-size:12px;color:#fff}.results-card label{font-size:14px;font-weight:700;color:#fff;margin:14px 0 8px}.results-card input{display:block;width:100%;font-size:16px;padding:14px;border-radius:9px;background:#051f38;border:1px solid #7fa7c8;color:#fff}.results-card input::placeholder{color:#becfdd}.results-card #phone-note{font-size:11px;line-height:1.5;margin:10px 0 16px;color:#e0ecf5}.save-primary{background:linear-gradient(#168654,#086d40);border-color:#83d2a5;box-shadow:0 4px 0 #044c2c;min-height:54px;font-size:14px}.save-primary:disabled{opacity:.65;cursor:default}#save-status{font-size:12px;color:#fff;line-height:1.5;margin:12px 0 0}#performance{border-top:1px solid #b3d3ec32;border-bottom:1px solid #b3d3ec32;margin:20px 0 17px}#performance summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:bold;padding:14px 0;color:#fff;list-style:none}#performance summary::-webkit-details-marker{display:none}#performance summary span{font-size:22px}#performance[open] summary span{transform:rotate(45deg)}#stats{margin:0 0 15px}#stats div{padding:10px;text-align:center}#stats b,#stats span{color:#fff}#stats span{font-size:11px}.secondary{width:100%;background:#ffffff13;border:1px solid #88abc8;border-radius:9px;padding:13px;font-size:12px;font-weight:900;color:#fff}.results-card>.text-button{display:block;margin:auto}.ranking-list b,.ranking-title,.empty{color:#fff}.loading-card span{color:#fff}@media(max-height:720px){.results-card{padding:18px}.results-card h2{font-size:25px;margin:7px 0 10px}.score-summary{margin-bottom:12px;padding-bottom:9px}.results-card label{margin-top:10px}.results-card input{padding:11px}.results-card #phone-note{margin-bottom:12px}.save-primary{min-height:47px}#performance{margin:15px 0 12px}h1{font-size:21px}}
