:root{--card: #fffaf0;--edge: #f3d9a8;--accent: #f39c34;--go: #2ecc71;--text: #3a2a12;--muted: #7a6a52;--gold: #c98a0e;--gk-toast-bg: #fffaf0;--gk-toast-fg: #3a2a12;--gk-toast-border: #f3d9a8;--gk-toast-shadow: 0 8px 24px rgba(120, 80, 20, .25);--gk-toast-top-frac: .17}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:linear-gradient(180deg,#7fd3ff,#bfe8ff 45%,#dff4ff 62%,#a6e06a 63%,#7cc84a 80%,#b8834a) fixed}#game{position:fixed;inset:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0}.hidden{display:none!important}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;padding:14px;background:#28506e61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.card{width:min(380px,100%);max-height:calc(100% - 12px);display:flex;flex-direction:column;overflow-y:auto;touch-action:pan-y;background:var(--card);border:3px solid var(--edge);border-radius:22px;padding:18px;text-align:center;box-shadow:0 12px 40px #78501447;animation:pop .22s ease-out}.card.wide{width:min(470px,100%)}@keyframes pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.card h2{margin:0 0 6px;font-size:26px;font-weight:900}.card h3{margin:14px 0 8px;font-size:14px;text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.head{display:flex;align-items:center;gap:8px}.head h2{flex:1;text-align:left;margin:0}.pill{background:#fff;border:2px solid var(--edge);border-radius:999px;padding:4px 10px;font-weight:800;font-size:14px}.pill.gold{color:var(--gold)}.sub{color:var(--muted);font-weight:700;margin-bottom:4px}.muted{color:var(--muted);font-size:15px;margin:6px 0}.small{font-size:13px}.notes{display:flex;flex-direction:column;gap:4px;margin:6px 0 2px;font-size:14px;font-weight:700;color:#8a5a10}.coinsBig{font-size:30px;font-weight:900;color:var(--gold);margin:4px 0}.stars3{display:flex;justify-content:center;gap:14px;margin:6px 0 4px}.st{display:flex;flex-direction:column;align-items:center;width:92px}.st small{font-size:12px;color:var(--muted);font-weight:700}.star{font-size:52px;line-height:1;color:#d9d2c4;transform:scale(.4);opacity:.3;transition:none}.star.on{color:#ffc21a;text-shadow:0 3px 0 #c98a0e;animation:starpop .32s ease-out forwards}.star.off{color:#cfcac0;animation:starpop .32s ease-out forwards}@keyframes starpop{0%{transform:scale(.3);opacity:.3}70%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:1}}button{width:100%;margin-top:9px;padding:13px;min-height:48px;border:0;border-radius:14px;font-size:16px;font-weight:800;color:#fff;background:var(--accent);cursor:pointer;font-family:inherit;box-shadow:0 3px #00000026}button:active{transform:translateY(2px) scale(.98);box-shadow:none}button.go{background:var(--go)}button.big{font-size:22px;min-height:60px}button.alt{background:#8e6cf0}button.secondary{background:#fff;color:var(--text);border:2px solid var(--edge)}button.danger{background:#fff;color:#c0392b;border:2px solid #f5b7b1}button:disabled{opacity:.45;cursor:default}.row2{display:flex;gap:8px}.row2 button{flex:1}.tabs{display:flex;gap:6px;margin:10px 0 6px}.tabs button{margin:0;min-height:40px;padding:8px 6px;font-size:13px;background:#fff;color:var(--text);border:2px solid var(--edge)}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs button.lock{opacity:.6}.path{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;padding:6px 4px 2px}.node{margin:0;min-height:76px;padding:6px 4px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:var(--text);border:3px solid var(--edge)}.node b{font-size:20px}.node .ns{font-size:15px;letter-spacing:1px;color:#ffc21a}.node .ns i{font-style:normal;color:#d9d2c4}.node.cur{border-color:var(--go);box-shadow:0 0 0 3px #2ecc7159}.node.locked{background:#f1ece2;color:#b0a690}.scroll{overflow-y:auto;margin:0 -6px;padding:0 6px;touch-action:pan-y}.veh,.upg{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:2px solid var(--edge);border-radius:14px;padding:8px 10px;margin-bottom:8px}.veh.sel{border-color:var(--go)}.veh .ic{font-size:34px}.veh .info,.upg .info{flex:1}.name{font-weight:800}.desc{font-size:12px;color:var(--muted)}.pips{display:flex;gap:3px;margin-top:3px}.pips i{width:16px;height:7px;border-radius:4px;background:#eadfca}.pips i.on{background:var(--accent)}.veh button,.upg button{width:auto;margin:0;padding:9px 12px;min-height:40px;font-size:14px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.item{background:#fff;border:2px solid var(--edge);border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:4px}.item.sel{border-color:var(--go)}.item .sw{width:40px;height:22px;border-radius:8px;border:2px solid rgba(0,0,0,.12)}.item .ic{font-size:20px;height:22px}.item .nm{font-size:11px;font-weight:700}.item button{margin:0;padding:5px 4px;min-height:30px;font-size:12px;border-radius:9px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:8px 0}.days div{background:#fff;border:2px solid var(--edge);border-radius:10px;padding:5px 2px;font-size:11px;font-weight:700}.days div b{display:block;font-size:13px;color:var(--gold)}.days div.done{background:#eafbe9;border-color:#9fe0a6}.days div.today{border-color:var(--accent);background:#fff1dd}
