:root{--sea: #0f8fa0;--sea-deep: #0b4f6c;--lagoon: #34c6c0;--sand: #fbf1da;--paper: #fffdf8;--ink: #15354a;--ink-2: #4b6676;--coral: #ff7a59;--coral-deep: #e2553a;--sun: #ffc23d;--leaf: #2fa36b;--line: #e4dccb;--shadow: 0 6px 20px rgba(11, 79, 108, .18);--display: "ZCOOL KuaiLe", "Nunito", "PingFang SC", "Microsoft YaHei", sans-serif;--body: "Nunito", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#8fd8e8;color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui>*{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}[hidden]{display:none!important}.hud-top{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.hud-top>*{pointer-events:auto}.brand-chip{display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:16px;padding:6px 12px 6px 8px;box-shadow:var(--shadow)}.brand-mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 50% 60%,var(--lagoon) 0 45%,var(--sand) 46% 58%,var(--sea) 59%);flex:none}.brand-text b{display:block;font-family:var(--display);font-size:18px;line-height:1;letter-spacing:.02em}.brand-text small{display:block;font-size:11px;color:var(--ink-2);margin-top:2px}.stars{margin-left:6px;font-weight:800;font-size:16px;color:#b07800;background:#fff3cf;border-radius:999px;padding:3px 10px;white-space:nowrap}.clock-pill{background:var(--paper);border-radius:999px;padding:8px 14px;box-shadow:var(--shadow);font-weight:800;white-space:nowrap;display:flex;gap:6px;align-items:center}.clock-pill.warn{background:#fff0e6;color:var(--coral-deep)}.top-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pill-btn{background:var(--paper);border-radius:999px;padding:8px 12px;box-shadow:var(--shadow);font-weight:800;font-size:14px;white-space:nowrap}.pill-btn:hover{background:#fff}.brand-text .lv-text{display:block;font-size:11px;font-weight:800;color:var(--sea-deep);margin-top:3px}.lv-bar{display:block;width:110px;height:6px;border-radius:999px;background:#e6efee;margin-top:3px;overflow:hidden}.lv-bar b{display:block;height:100%;background:linear-gradient(90deg,var(--sun),var(--coral));border-radius:999px;transition:width .5s ease}.chips{display:grid;gap:4px;margin-left:6px}.chips .stars{margin-left:0;cursor:pointer}.piggy-chip{font-weight:800;font-size:14px;color:#a5475f;background:#ffe6ee;border-radius:999px;padding:2px 10px;white-space:nowrap}.pill-btn.hot{background:#fff0e6;color:var(--coral-deep)}.loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:12px;background:#8fd8e8;font-family:var(--display);font-size:20px;color:var(--sea-deep)}.loading .brand-mark{width:64px;height:64px;animation:spin 2.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}.wb-chips span{background:#eef8f7;border-radius:999px;padding:4px 12px;font-weight:800}.wb-tasks{list-style:none;margin:0;padding:0;display:grid;gap:6px}.wb-tasks li{display:flex;justify-content:space-between;gap:10px;background:#fffaf0;border-radius:12px;padding:8px 12px;font-weight:700}.wb-tasks li.done{color:var(--ink-2)}.wb-tasks em{font-style:normal;color:#b07800;white-space:nowrap}.piggy{display:flex;align-items:center;gap:12px;background:#ffe6ee;border-radius:16px;padding:10px 14px;margin-bottom:12px}.piggy .pig{font-size:36px}.piggy b{display:block;font-size:26px;font-variant-numeric:tabular-nums}.piggy small{color:var(--ink-2);font-weight:700}.piggy-lv{margin-left:auto;font-family:var(--display);font-size:22px;color:var(--sea-deep)}.rewards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.reward{background:#fff;border:2px solid var(--line);border-radius:16px;padding:10px;display:grid;gap:4px;justify-items:center;text-align:center;align-content:start}.reward .em{font-size:34px}.reward b{font-size:14px;line-height:1.3}.reward .price{font-weight:800;color:var(--sea-deep);font-variant-numeric:tabular-nums}.reward.got{border-color:var(--leaf);background:#f1faf4}.reward.locked{opacity:.6}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:22px}.confetti i{position:absolute;top:-30px;font-style:normal;font-size:22px;animation:fall 2.6s ease-in forwards}@keyframes fall{to{transform:translateY(520px) rotate(320deg);opacity:0}}.levelup{text-align:center;padding:6px 0 4px;position:relative}.lv-badge{display:inline-grid;place-items:center;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 26% 22%,#fff6 0 9%,var(--sun) 10%);font-family:var(--display);font-size:30px;color:#7a4f00;box-shadow:0 6px #d99a00;margin-bottom:8px}.tasks{position:fixed;left:max(10px,env(safe-area-inset-left));top:calc(max(10px,env(safe-area-inset-top)) + 62px);width:230px;background:#fffdf8f0;border-radius:16px;padding:10px 12px;box-shadow:var(--shadow);font-size:13px}.tasks h3{margin:0 0 6px;font-family:var(--display);font-weight:400;font-size:16px;display:flex;justify-content:space-between;align-items:center}.tasks h3 button{font-size:12px;color:var(--ink-2)}.tasks ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tasks li{display:grid;grid-template-columns:20px 1fr auto;gap:6px;align-items:center}.tasks li .box{width:18px;height:18px;border-radius:6px;border:2px solid var(--line);display:grid;place-items:center;font-size:12px;color:#fff}.tasks li.done .box{background:var(--leaf);border-color:var(--leaf)}.tasks li.done span{color:var(--ink-2);text-decoration:line-through}.tasks li em{font-style:normal;color:var(--ink-2);font-variant-numeric:tabular-nums}.tasks.collapsed ul{display:none}.prompt{position:fixed;left:50%;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 64px);transform:translate(-50%);background:var(--coral);color:#fff;border-radius:999px;padding:12px 20px;font-weight:800;font-size:16px;box-shadow:0 8px 24px #e2553a59;display:flex;gap:10px;align-items:center;white-space:nowrap;animation:pop .25s ease-out}.prompt kbd{background:#ffffff40;border-radius:6px;padding:1px 7px;font-family:var(--body);font-size:13px}@keyframes pop{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.hint-bar{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);font-size:12px;color:#fff;background:#0b4f6c8c;border-radius:999px;padding:6px 12px;white-space:nowrap;pointer-events:none}.toast-wrap{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 64px);left:50%;transform:translate(-50%);display:grid;gap:6px;justify-items:center;pointer-events:none}.toast{background:var(--ink);color:#fff;border-radius:12px;padding:8px 14px;font-weight:700;font-size:14px;box-shadow:var(--shadow);animation:toast 3.2s ease forwards;max-width:min(90vw,420px);text-align:center}.toast.gold{background:#b07800}@keyframes toast{0%{opacity:0;transform:translateY(-6px)}8%,85%{opacity:1;transform:none}to{opacity:0}}.guide{position:fixed;left:50%;transform:translate(-50%);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 124px);width:min(calc(100vw - 32px),430px);background:var(--paper);border:3px solid var(--sun);border-radius:18px;box-shadow:var(--shadow);padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.guide .dir{width:50px;height:50px;border-radius:50%;background:#fff3cf;display:grid;place-items:center}.guide .dir svg{width:30px;height:30px;transition:transform .12s linear}.guide .step{font-size:12px;font-weight:800;color:#b07800}.guide .text{font-weight:800;font-size:15px;line-height:1.35}.guide .dist{font-size:12px;color:var(--ink-2);font-weight:700;margin-top:2px}.guide .skip{font-size:12px;color:var(--ink-2);text-decoration:underline;align-self:start;white-space:nowrap}.help-list{display:grid;gap:8px}.help-item{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;background:#eef8f7;border-radius:14px;padding:10px 12px;line-height:1.5}.help-item .ic{font-size:26px;text-align:center}.tasks li .go{font-size:11px;font-weight:800;color:var(--coral-deep);background:#fff0e6;border-radius:999px;padding:1px 7px;margin-left:4px;white-space:nowrap}.chat{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:6px}.chat-toggle{width:52px;height:52px;border-radius:50%;background:var(--paper);box-shadow:var(--shadow);font-size:22px}.chat-list{background:var(--paper);border-radius:16px;box-shadow:var(--shadow);padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:min(72vh,520px);overflow:auto;min-width:min(92vw,340px)}.chat-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px}.chat-toolbar>span{font-size:11px;font-weight:800;color:var(--ink-2);white-space:nowrap}.chat-toolbar .seg button{padding:4px 8px;font-size:12px}.fact-actions{justify-content:flex-start;flex-wrap:wrap;margin:0 0 10px;gap:8px}.fact-status{font-weight:800;margin:0 0 10px;color:var(--sea-deep)}.chat-list button{background:#eef8f7;border-radius:10px;padding:8px 10px;font-weight:700;font-size:14px;text-align:left;white-space:nowrap}.chat-list button:hover{background:#dff3f1}.chat-list small{grid-column:1 / -1;color:var(--ink-2);font-size:11px;padding:0 4px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2d4073;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));animation:fade .2s ease;z-index:30}@keyframes fade{0%{opacity:0}}.modal{background:var(--paper);border-radius:22px;width:min(560px,100%);max-height:100%;overflow:auto;box-shadow:0 20px 60px #00000040;padding:18px 20px 20px;position:relative}.modal.wide{width:min(720px,100%)}.modal h2{margin:0 36px 4px 0;font-family:var(--display);font-weight:400;font-size:26px;line-height:1.2}.modal .sub{color:var(--ink-2);font-size:14px;margin:0 0 12px}.modal .close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#f1ece1;font-size:18px}.modal p{margin:0 0 10px;line-height:1.6}.btn{background:var(--coral);color:#fff;font-weight:800;border-radius:14px;padding:12px 18px;font-size:16px;box-shadow:0 4px 0 var(--coral-deep)}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--coral-deep)}.btn.ghost{background:#eef8f7;color:var(--ink);box-shadow:0 4px #cfe7e4}.btn.small{padding:8px 12px;font-size:14px;border-radius:12px}.btn[disabled]{opacity:.5;cursor:not-allowed}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.end{justify-content:flex-end}.tag{display:inline-block;font-size:12px;font-weight:800;border-radius:999px;padding:2px 9px;background:#eef8f7;color:var(--sea-deep)}.tag.soon{background:#fff0e6;color:var(--coral-deep)}.shop-head{display:flex;gap:12px;align-items:center;margin-bottom:10px;padding-right:40px}.shop-face{font-size:40px;width:60px;height:60px;border-radius:18px;background:#eef8f7;display:grid;place-items:center;flex:none}.head-side{margin-left:auto;display:grid;gap:6px;justify-items:end}.how{font-size:12px;font-weight:800;color:var(--sea-deep);background:#eef8f7;border-radius:999px;padding:3px 10px;white-space:nowrap}.how-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}.how-steps li{display:grid;grid-template-columns:28px 40px 1fr;gap:8px;align-items:center;background:#eef8f7;border-radius:14px;padding:10px 12px;line-height:1.5;font-weight:700}.how-steps .n{width:26px;height:26px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}.how-steps .ic{font-size:26px;text-align:center}.customer .pays{margin-left:auto;display:grid;gap:2px;justify-items:center}.customer .pays small{font-size:12px;color:var(--ink-2);font-weight:700}.question .formula{color:var(--coral-deep);font-size:15px;font-weight:800}.progress-dots{display:flex;gap:6px}.progress-dots i{width:12px;height:12px;border-radius:50%;background:var(--line)}.progress-dots i.ok{background:var(--leaf)}.progress-dots i.miss{background:#c9c2b4}.progress-dots i.now{background:var(--sun)}.menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:6px 0 12px}.menu div{background:#fff;border:2px solid var(--line);border-radius:14px;padding:8px;text-align:center}.menu div.pick{border-color:var(--sun);background:#fffaf0}.menu .em{font-size:30px;display:block}.menu b{display:block;font-size:14px}.menu span{font-variant-numeric:tabular-nums;color:var(--sea-deep);font-weight:800}.question{background:#eef8f7;border-radius:16px;padding:12px 14px;font-size:18px;font-weight:800;line-height:1.5;margin-bottom:12px}.question small{display:block;font-size:13px;color:var(--ink-2);font-weight:600;margin-top:4px}.answer-line{display:flex;align-items:center;gap:10px;margin-bottom:10px}.answer-box{flex:1;min-height:52px;border:3px solid var(--line);border-radius:14px;background:#fff;font-size:28px;font-weight:800;padding:4px 14px;display:flex;align-items:center;font-variant-numeric:tabular-nums}.answer-box .cur{color:var(--ink-2);margin-right:6px;font-size:22px}.answer-box.ok{border-color:var(--leaf)}.answer-box.bad{border-color:var(--coral);animation:shake .35s}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.keypad button{background:#fff;border:2px solid var(--line);border-radius:14px;padding:12px 0;font-size:22px;font-weight:800;box-shadow:0 3px 0 var(--line)}.keypad button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.keypad .ok{grid-row:span 2;background:var(--leaf);color:#fff;border-color:var(--leaf);box-shadow:0 3px #1d7a4e;font-size:18px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choices button{background:#fff;border:3px solid var(--line);border-radius:14px;padding:14px 0;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.choices button.ok{border-color:var(--leaf);background:#ecf8f1}.choices button.bad{border-color:var(--coral);background:#fff0ea}.tray{min-height:86px;border:3px dashed var(--line);border-radius:16px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff;margin-bottom:6px}.tray.ok{border-color:var(--leaf);border-style:solid}.tray.bad{border-color:var(--coral);animation:shake .35s}.tray .empty{color:var(--ink-2);font-size:14px;padding:0 6px}.tray-sum{font-weight:800;color:var(--ink-2);margin-bottom:10px;font-variant-numeric:tabular-nums}.wallet{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.money{border-radius:10px;font-weight:800;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25);display:inline-grid;place-items:center;-webkit-user-select:none;user-select:none}.money.note{width:78px;height:42px;border:2px solid rgba(255,255,255,.6);box-shadow:inset 0 0 0 3px #ffffff2e,0 3px #00000026;font-size:15px}.money.coin{width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff59,0 3px #0000002e;font-size:12px;color:#4a3a12;text-shadow:none}.tray .money.note{width:66px;height:36px;font-size:13px}.tray .money.coin{width:40px;height:40px;font-size:11px}.feedback{min-height:26px;font-weight:800;margin:6px 0 10px}.feedback.ok{color:var(--leaf)}.feedback.bad{color:var(--coral-deep)}.feedback .hint{display:block;font-weight:600;color:var(--ink-2);font-size:14px;margin-top:2px}.customer{display:flex;gap:10px;align-items:center;margin-bottom:10px}.customer .bubble{background:#fff;border:2px solid var(--line);border-radius:16px;padding:8px 12px;font-weight:700;position:relative}.summary{text-align:center;padding:8px 0}.summary .big{font-size:48px;margin:6px 0}.summary .stars-row{font-size:26px;letter-spacing:4px;color:#e0a100}.levels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.lv-chip{min-width:40px;height:36px;border-radius:10px;border:2px solid var(--line);background:#fff;font-weight:800}.lv-chip.on{border-color:var(--sea);background:#e6f6f5}.lv-chip.done{color:var(--leaf)}.lv-chip[disabled]{opacity:.4}.dwrap{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:14px;align-items:start}.dgrid{display:grid;gap:4px;background:#d7efe9;padding:6px;border-radius:14px}.dcell{aspect-ratio:1;background:#f4fbf8;border-radius:8px;display:grid;place-items:center;font-size:24px;position:relative}.dcell.block{background:#cfe8d6}.dcell.goal{background:#fff3cf;box-shadow:inset 0 0 0 3px var(--sun)}.drone{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:28px;animation:hover .6s ease-in-out infinite alternate}.drone small{position:absolute;right:2px;bottom:0;font-size:14px}.drone.crash{animation:shake .35s;filter:grayscale(.6)}@keyframes hover{to{transform:translateY(-3px)}}.prog{min-height:56px;border:3px dashed var(--line);border-radius:14px;padding:6px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;background:#fff;margin-bottom:10px}.prog .empty{color:var(--ink-2);font-size:13px;padding:0 4px}.blk{min-width:42px;height:40px;border-radius:10px;background:#e6f6f5;border:2px solid #bfe3df;font-size:20px;position:relative}.blk small{font-size:11px;font-weight:800;color:var(--sea-deep);margin-left:2px}.blk.now{background:#fff3cf;border-color:var(--sun);transform:scale(1.08)}.pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,52px);gap:6px;justify-content:start;align-items:center;margin-bottom:4px}.padbtn{width:56px;height:52px;border-radius:14px;background:#fff;border:2px solid var(--line);box-shadow:0 3px 0 var(--line);font-size:24px}.padbtn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.padbtn.up{grid-column:2;grid-row:1}.padbtn.left{grid-column:1;grid-row:2}.padbtn.down{grid-column:2;grid-row:2}.padbtn.right{grid-column:3;grid-row:2}.pad .rep{grid-column:3;grid-row:1;display:flex;gap:4px}@media (max-width: 640px){.dwrap{grid-template-columns:1fr}.dcell{font-size:20px}}.print-views{position:relative;background:linear-gradient(180deg,#f3f0ff,#fff7ef);border-radius:16px;margin-bottom:10px}.print-canvas{display:block;width:100%;height:230px}.print-labels{position:absolute;inset:8px 12px auto;display:flex;justify-content:space-between;font-weight:800;font-size:13px;color:var(--ink-2);pointer-events:none}.print-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.pgrid{display:grid;grid-template-columns:repeat(3,64px);gap:6px}.pcell{width:64px;height:64px;border-radius:12px;border:2px solid var(--line);background:#fff;font-size:26px;color:#c9b9a0}.pcell.on{background:#fff0e6;border-color:var(--coral)}.pcell.below{background:#faf6ee;border-style:dashed}.pdir{font-size:12px;font-weight:800;color:var(--ink-2);margin:4px 0}@media (max-width: 640px){.print-row{grid-template-columns:1fr}.print-canvas{height:180px}}.orows{display:grid;gap:4px;background:#effae9;border-radius:14px;padding:10px 12px;font-size:24px;line-height:1.2;overflow-x:auto}.orows .olabel{display:inline-block;width:3.6em;font-size:12px;font-weight:800;color:var(--ink-2);vertical-align:middle}.oshare{display:grid;gap:8px;background:#effae9;border-radius:14px;padding:10px 12px}.opile{font-size:22px;line-height:1.25;word-break:break-all}.obaskets{font-size:34px;letter-spacing:6px}.fbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.fq{font-family:var(--display);font-size:32px;color:var(--sea-deep)}.fscore,.ftimer{font-weight:800;margin-left:12px;font-variant-numeric:tabular-nums}.pond{position:relative;height:270px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#8fe3e0,#2fc7c2 60%,#179fb2)}.fishbtn{position:absolute;left:0;top:0;display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:999px;background:#ffffffbf}.fishbtn .fe{font-size:30px;display:inline-block}.fishbtn b{font-size:18px;min-width:24px}.fishbtn.caught{opacity:0;transition:opacity .25s}.fishbtn.miss{background:#ffd2c8cc}.mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mcard{aspect-ratio:4 / 3;border-radius:14px;border:2px solid var(--line);background:#b5482f;color:#fff;font-size:26px;display:grid;place-items:center}.mcard.up{background:#fff;color:var(--ink)}.mcard.done{background:#ecf8f1;border-color:var(--leaf)}.mpic{font-size:36px}.mword{display:grid;gap:2px;justify-items:center}.mword b{font-size:20px}.mword small{font-size:12px;color:var(--ink-2)}.mlist{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.mlist span{background:#eef8f7;border-radius:999px;padding:3px 10px;font-weight:700}.hunt-bar{position:fixed;top:calc(max(10px,env(safe-area-inset-top)) + 54px);left:50%;transform:translate(-50%);background:#ffe6ee;color:#a5475f;font-weight:800;border-radius:999px;padding:6px 14px;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;pointer-events:none}.rides{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.ride{background:#fff;border:2px solid var(--line);border-radius:16px;padding:12px 8px;display:grid;gap:4px;justify-items:center}.ride.on{border-color:var(--sea);background:#e6f6f5}.ride .em{font-size:38px}.ride small{color:var(--ink-2);font-weight:700}.getoff{position:fixed;left:max(10px,env(safe-area-inset-left));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 4px)}.travel-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-content:center;justify-items:center;gap:14px;background:linear-gradient(180deg,#8fd8e8,#1f9fb4);color:#fff;font-family:var(--display);font-size:22px}.travel-em{font-size:72px;animation:glide 2.6s ease-in-out forwards}@keyframes glide{0%{transform:translate(-40vw)}to{transform:translate(40vw)}}.travel-bar{width:min(70vw,360px);height:10px;border-radius:999px;background:#ffffff4d;overflow:hidden}.travel-bar i{display:block;height:100%;width:0;background:#fff;animation:fillbar 2.5s linear forwards}@keyframes fillbar{to{width:100%}}.photo-frame{display:grid;justify-items:center;gap:4px;padding:18px;border:10px solid #fff;box-shadow:0 6px 18px #00000026;background:linear-gradient(180deg,#dff6ff,#fff7e6);border-radius:6px;margin-bottom:12px}.photo-em{font-size:72px}.swatch-btn{width:36px;height:36px;border-radius:10px;border:3px solid #fff;box-shadow:0 0 0 2px var(--line)}.swatch-btn.on{box-shadow:0 0 0 3px var(--sea)}.bgrid{display:grid;grid-template-columns:repeat(6,44px);gap:4px}.bcell{width:44px;height:44px;border-radius:8px;border:2px solid var(--line);background:#fff}.bcell.on{border-color:#00000026}.bcell.below{background:#f1f7f3;border-style:dashed}.passport{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.stamp{border:2px dashed var(--line);border-radius:16px;padding:12px 8px;text-align:center;min-height:120px;display:grid;place-items:center;gap:4px}.stamp .seal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:28px;border:3px solid currentColor;transform:rotate(-8deg)}.stamp.got{border-style:solid;border-color:#f3c9bd;background:#fff7f3;color:var(--coral-deep)}.stamp.locked{color:#b9b2a4}.stamp b{font-size:14px;color:var(--ink)}.stamp small{font-size:12px;color:var(--ink-2)}.section-title{font-family:var(--display);font-weight:400;font-size:18px;margin:14px 0 8px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px}.stat{background:#eef8f7;border-radius:14px;padding:10px 12px}.stat b{display:block;font-size:26px;font-variant-numeric:tabular-nums}.stat span{font-size:13px;color:var(--ink-2)}.bars{display:grid;gap:8px;margin-bottom:12px}.bar{display:grid;grid-template-columns:110px 1fr 56px;gap:8px;align-items:center;font-size:14px}.bar i{height:12px;border-radius:999px;background:#eee6d6;overflow:hidden}.bar i b{display:block;height:100%;background:var(--lagoon);border-radius:999px}.bar em{font-style:normal;text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}.note-box{background:#fff7e8;border-radius:14px;padding:10px 12px;font-size:14px;color:#7a5a12;margin-bottom:12px}.field{display:grid;gap:6px;margin-bottom:12px}.field>span{font-weight:800;font-size:14px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{border:2px solid var(--line);border-radius:12px;padding:8px 12px;font-weight:800;background:#fff}.seg button.on{border-color:var(--sea);background:#e6f6f5;color:var(--sea-deep)}.seg button.swatch{width:40px;height:40px;padding:0;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--line)}.seg button.swatch.on{box-shadow:0 0 0 3px var(--sea)}.code{font-family:var(--body);font-weight:800;font-size:20px;letter-spacing:.04em}.cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(180deg,#8fd8e840,#0b4f6c8c);overflow:auto}.cover .modal{width:min(520px,100%)}.logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}.logo .brand-mark{width:54px;height:54px}.logo b{font-family:var(--display);font-weight:400;font-size:36px;line-height:1;display:block}.logo small{color:var(--ink-2);font-size:14px}.closed-sun{font-size:56px;text-align:center}@media (max-width: 640px){.tasks{width:200px;font-size:12px}.brand-text small{display:none}.pill-btn{padding:7px 10px;font-size:13px}.hint-bar{display:none}.keypad button{padding:10px 0;font-size:20px}.modal{padding:16px}.modal h2{font-size:22px}}@media (max-width: 640px){.pill-btn .lbl{display:none}.top-actions{flex-wrap:nowrap}}@media (max-width: 460px){.top-actions{position:fixed;right:max(10px,env(safe-area-inset-right));top:calc(max(10px,env(safe-area-inset-top)) + 52px);flex-direction:column;align-items:flex-end}.pill-btn{width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:18px}.tasks{width:170px}.clock-pill{padding:7px 10px;font-size:13px}.brand-text b{font-size:15px}.stars{font-size:13px;padding:2px 8px}.prompt{font-size:15px;padding:11px 16px}}.fade-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;background:#10262e;opacity:0;transition:opacity .38s ease;pointer-events:none}.fade-cover.on{opacity:1}.piano{display:flex;gap:6px;justify-content:center;margin:14px 0 4px}.pkey{flex:1;max-width:70px;height:150px;border:0;border-radius:10px 10px 16px 16px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding-bottom:12px;box-shadow:0 6px #0003;transition:transform .08s,filter .08s,box-shadow .08s;cursor:pointer}.pkey small{font-size:13px;opacity:.85}.pkey b{font-size:17px}.pkey.lit{transform:translateY(5px);filter:brightness(1.45);box-shadow:0 1px #0003}.pkey.hint{animation:pkpulse .6s ease-in-out infinite alternate}.pkey:disabled{cursor:default}@keyframes pkpulse{0%{box-shadow:0 6px #0003,0 0 #fff}to{box-shadow:0 6px #0003,0 0 0 6px #fff,0 0 18px 6px #ffffffe6}}@media (max-width: 480px){.pkey{height:120px}.pkey b{font-size:14px}}.clock-face{width:min(220px,60vw);margin:4px auto 12px}.clock-face svg{width:100%;height:auto;display:block}.mole-top{display:flex;gap:16px;align-items:center;justify-content:center;font-weight:800;font-size:18px;margin-bottom:10px}.mole-target{font-size:30px;color:#c8443d;font-weight:900}.mole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:420px;margin:0 auto;touch-action:manipulation}.mole-hole{user-select:none;-webkit-user-select:none;height:96px;border:0;border-radius:50% 50% 18px 18px/40% 40% 18px 18px;background:radial-gradient(ellipse at 50% 85%,#5a3b25 0,#5a3b25 38%,#8a6240 39%,#8a6240);position:relative;overflow:hidden;cursor:pointer}.mole-hole .mole{position:absolute;inset:8px 6px auto;display:flex;flex-direction:column;align-items:center;animation:molepop .18s ease-out}.mole-hole .mole i{font-style:normal;font-size:34px;line-height:1}.mole-hole .mole b{background:#fffdf8;border-radius:10px;padding:2px 8px;font-size:17px;color:#15354a;margin-top:2px;white-space:nowrap}.mole-hole.ok{background:radial-gradient(ellipse at 50% 85%,#2fa36b 0,#2fa36b 38%,#8a6240 39%,#8a6240)}.mole-hole.bad{background:radial-gradient(ellipse at 50% 85%,#c8443d 0,#c8443d 38%,#8a6240 39%,#8a6240)}@keyframes molepop{0%{transform:translateY(60%)}to{transform:none}}.spell-pic{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 10px;font-size:18px}.spell-em{font-size:54px}.spell-slots{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.spell-slots span{width:42px;height:50px;border-bottom:4px solid var(--line);display:grid;place-items:center;font-size:28px;font-weight:800;text-transform:lowercase}.spell-slots.ok span{border-color:#2fa36b;color:#2fa36b}.spell-slots.bad span{border-color:#c8443d;color:#c8443d}.spell-tiles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.spell-tiles button{width:50px;height:50px;border:0;border-radius:12px;background:#ffc23d;color:#5a3b00;font-size:26px;font-weight:800;box-shadow:0 4px #d99a12;cursor:pointer}.spell-tiles button:disabled{opacity:.25;box-shadow:none}.modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}.clk-short{display:none}@media (max-width: 560px){.clk-long{display:none}.clk-short{display:inline}}.stick{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:124px;height:124px;border-radius:50%;background:#fffdf847;border:3px solid rgba(255,255,255,.75);box-shadow:0 6px 20px #0b2d402e;touch-action:none;user-select:none;-webkit-user-select:none;z-index:5}.stick.on{background:#fffdf86b}.stick-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#fffdf8f2;box-shadow:0 4px 12px #0b2d404d;transition:transform .06s linear;pointer-events:none}.act-btn{position:fixed;right:calc(max(10px,env(safe-area-inset-right)) + 64px);bottom:max(20px,env(safe-area-inset-bottom));width:86px;height:86px;border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 8px 24px #e2553a73;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;z-index:5;touch-action:manipulation;animation:pop .25s ease-out}.act-btn span{font-size:30px;line-height:1}.act-btn small{font-weight:800;font-size:14px}.touch .prompt{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 160px);max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}.touch .hint-bar{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 128px)}.touch .guide{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 218px)}@media (max-height: 520px){.touch .guide{bottom:auto;top:calc(max(8px,env(safe-area-inset-top)) + 70px);width:min(calc(100vw - 470px),400px);padding:6px 10px}.touch .pill-btn .lbl{display:none}.touch .top-actions{flex-wrap:nowrap}.touch .guide .dir{width:38px;height:38px}.touch .guide .text{font-size:13px}.touch .prompt{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 8px)}.touch .hint-bar{display:none}.stick{width:108px;height:108px;bottom:max(14px,env(safe-area-inset-bottom))}.act-btn{width:76px;height:76px;bottom:max(14px,env(safe-area-inset-bottom))}.tasks{top:calc(max(8px,env(safe-area-inset-top)) + 56px);max-height:calc(100vh - 200px);overflow:auto}}.av-wrap{display:grid;grid-template-columns:240px 1fr;gap:14px;align-items:start}.av-preview{background:radial-gradient(circle at 50% 35%,#fff,#e6f6f5 70%);border-radius:18px;overflow:hidden}.av-canvas{display:block;width:100%;height:300px}.av-side{min-width:0}.av-nick{flex:1;min-width:0;font:inherit;font-size:18px;font-weight:800;padding:8px 12px;border-radius:12px;border:2px solid var(--line);background:#fff}.av-nick:focus{outline:none;border-color:var(--sea)}.av-tip{display:block;color:#4b6676;margin:2px 0}.av-msg{color:#c8443d;font-weight:800;font-size:14px;min-height:18px;margin:2px 0 6px}.av-tabs{margin-bottom:10px}.av-tabs button{padding:6px 10px;font-size:14px}.av-body{display:grid;gap:8px}.av-sub{color:#4b6676;font-weight:800}.av-opts button{font-size:15px}.av-swatches{display:flex;flex-wrap:wrap;gap:8px}.av-sw{width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--line);cursor:pointer}.av-sw.on{box-shadow:0 0 0 3px var(--sea);transform:scale(1.08)}.av-check{display:flex;align-items:center;gap:6px;font-weight:800}.av-check input{width:20px;height:20px}.av-nickchip{background:#fff4d6;color:#7a4f00;border-radius:999px;padding:4px 12px}@media (max-width: 620px){.av-wrap{grid-template-columns:1fr}.av-canvas{height:220px}}.tank{position:relative;height:170px;max-width:360px;margin:0 auto 12px;border:4px solid #b7c4d3;border-top:0;border-radius:0 0 18px 18px;background:#f4fbff;overflow:hidden}.tank-water{position:absolute;left:0;right:0;bottom:0;top:34%;background:linear-gradient(180deg,#8fd8e8,#34c6c0);opacity:.85}.tank-thing{position:absolute;left:50%;top:2px;font-size:44px;line-height:1;transform:translate(-50%);transition:top 1.1s cubic-bezier(.3,.6,.4,1)}.tank-thing.float{top:calc(34% - 26px)}.tank-thing.sink{top:calc(100% - 50px)}.shp{display:inline-block;width:44px;height:44px;flex:none}.shp.small{width:24px;height:24px}.shp.circle{border-radius:50%}.shp.square{border-radius:5px}.shp.tri{clip-path:polygon(50% 0,100% 100%,0 100%)}.teach-item{display:grid;place-items:center;height:80px}.teach-item .shp{transform:scale(1.5)}.baskets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.basket{border:2px dashed var(--line);border-radius:14px;padding:8px;min-height:84px}.basket>b{display:block;font-size:14px;margin-bottom:6px}.basket-items{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.robot-say{display:flex;gap:10px;align-items:flex-start;background:#eef6ff;border-radius:14px;padding:10px 12px}.robot-face{font-size:34px;line-height:1}.sprint-q{text-align:center;font-size:36px;font-weight:900;margin:6px 0 4px;color:#15354a}.sprint-buf{display:inline-block;min-width:70px;border-bottom:4px solid var(--sea);color:var(--sea-deep)}.sdk{display:grid;grid-template-columns:58px 58px 4px 58px 58px;grid-template-rows:58px 58px 4px 58px 58px;gap:4px;justify-content:center;margin:6px auto 12px}.sdk-cell{height:58px;border:2px solid var(--line);border-radius:10px;background:#fff;font-size:28px;font-weight:800;color:#3d7cc4;cursor:pointer}.sdk-cell.given{background:#f1ede4;color:#15354a;cursor:default}.sdk-cell.sel{border-color:var(--sea);box-shadow:0 0 0 3px #bfe9e6}.sdk-cell.bad{border-color:#c8443d;background:#ffe7e3}.sdk-pad{display:flex;gap:8px;justify-content:center}.sdk-pad button{width:58px;height:52px;border:0;border-radius:12px;background:#e6f6f5;font-size:26px;font-weight:800;color:#15354a;cursor:pointer}.sdk-pad button.clear{background:#f1ede4}@media (prefers-reduced-motion: reduce){*{animation:none!important}}
