*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;background:#c4d5e3;height:100%;margin:0;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}canvas{display:block}[hidden]{display:none!important}.crosshair{pointer-events:none;background:#ffffffbf;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;transition:width .12s,height .12s,margin .12s,background .12s;position:fixed;top:50%;left:50%;box-shadow:0 0 2px #0009}.crosshair.active{background:0 0;border:2px solid #ffffffe6;width:16px;height:16px;margin:-8px 0 0 -8px}.crosshair.flower{border-color:#ffd23a;box-shadow:0 0 6px #ffc428b3}.in-menu .crosshair,.in-menu .status,.in-menu .wallet,.in-menu .minimap,.in-menu .prompt,.in-shop .crosshair,.in-shop .status,.in-shop .wallet,.in-shop .prompt{opacity:0}.coin{color:#7a4f0c;width:1.15em;height:1.15em;text-shadow:none;vertical-align:-.12em;background:radial-gradient(circle at 35% 30%,#fff1a6,#f2b72e 55%,#b9811a);border-radius:50%;place-items:center;font-size:.8em;font-weight:900;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1.5px #784b0a8c}.wallet{left:max(22px, env(safe-area-inset-left));top:max(18px, env(safe-area-inset-top));font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0000008c,0 0 12px #00000059;pointer-events:none;align-items:baseline;gap:8px;font-size:26px;font-weight:800;display:flex;position:fixed}.wallet .coin{align-self:center}.wallet-unit{font-size:15px;font-weight:700}.status{left:50%;bottom:max(18px, env(safe-area-inset-bottom));text-shadow:0 1px 2px #0009,0 0 10px #0006;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.tool-name{font-size:15px;font-weight:700}.meter{align-items:center;gap:10px;width:100%;display:flex}.meter-bar{background:#ffffff40;border-radius:2px;flex:1;height:4px;overflow:hidden;box-shadow:0 1px 3px #00000059}.meter-fill{transform-origin:0;background:#fff;height:100%;transform:scaleX(0)}.meter-share{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:700}.hotbar{gap:6px;display:flex}.slot{background:#0e160a6b;border:2px solid #ffffff24;border-radius:10px;width:58px;height:58px;position:relative}.slot.selected{background:#0e160a8c;border-color:#fffffff2}.slot-icon{object-fit:contain;opacity:.18;filter:grayscale()brightness(1.6);width:calc(100% - 6px);height:calc(100% - 6px);position:absolute;inset:3px}.slot.owned .slot-icon{opacity:1;filter:drop-shadow(0 1px 2px #00000080)}.slot-key{opacity:.8;font-size:11px;font-weight:800;position:absolute;top:2px;left:5px}.minimap{right:max(18px, env(safe-area-inset-right));top:max(18px, env(safe-area-inset-top));pointer-events:none;filter:drop-shadow(0 1px 4px #00000059);width:176px;height:176px;position:fixed}.prompt{text-shadow:0 1px 4px #000000b3;pointer-events:none;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex;position:fixed;top:58%;left:50%;transform:translate(-50%)}kbd{min-width:28px;height:28px;font:inherit;text-shadow:none;border:2px solid #ffffffe6;border-radius:6px;place-items:center;padding:0 6px;font-size:15px;font-weight:800;display:inline-grid;box-shadow:0 1px 4px #0006}.bubble{color:#2b2418;pointer-events:none;z-index:3;background:#fffaf0;border-radius:14px;max-width:300px;margin-top:-12px;padding:10px 14px;font-size:16px;font-weight:650;line-height:1.3;position:fixed;top:0;left:0;box-shadow:0 4px 14px #0000004d}.bubble:after{content:"";border:8px solid #0000;border-top-color:#fffaf0;border-bottom:0;margin-left:-8px;position:absolute;bottom:-8px;left:50%}.toast{text-align:center;text-shadow:0 2px 8px #0009;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .6s;position:fixed;top:17%;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.toast-title{font-size:30px;font-weight:800}.toast-detail{opacity:.9;margin-top:6px;font-size:18px;font-weight:600}.toast-detail:empty{display:none}.shop{text-shadow:0 1px 3px #00000080;z-index:2;background:linear-gradient(90deg,#0a1008d1,#0a100899 40%,#0a100800 62%);align-items:center;padding-left:max(4vw,24px);display:flex;position:fixed;inset:0}.shop-panel{scrollbar-width:none;width:min(520px,92vw);max-height:92vh;overflow-y:auto}.shop-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.shop-title{margin:0;font-size:34px;font-weight:800}.shop-coins{font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:22px;font-weight:800;display:flex}.shop-section{letter-spacing:.04em;text-transform:uppercase;margin:20px 0 4px;font-size:15px;font-weight:800}.shop-row{grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:7px 0;display:grid}.shop-icon{object-fit:contain;filter:drop-shadow(0 1px 2px #00000073);width:52px;height:52px}.shop-name{align-items:center;gap:7px;font-size:17px;font-weight:750;display:flex}.shop-dot{border-radius:50%;width:9px;height:9px}.shop-about{opacity:.8;margin-top:2px;font-size:13.5px}.shop button{font:inherit;color:inherit;cursor:pointer;text-shadow:inherit;background:0 0;border:none}.shop-buy{white-space:nowrap;align-items:center;gap:10px;padding:6px 0;font-size:16px;font-weight:800;display:flex}.shop-buy:not(:disabled):hover{text-underline-offset:4px;text-decoration:underline}.shop-buy:disabled{opacity:.45;cursor:default}.price{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.shop-owned,.shop-later{opacity:.6;white-space:nowrap;font-size:14px;font-weight:700}.shop .shop-leave{margin-top:22px;padding:0;font-size:18px;font-weight:800}.shop-leave:hover{text-underline-offset:4px;text-decoration:underline}.menu{cursor:pointer;text-shadow:0 1px 4px #00000080;background:#0a120873;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.menu.welcome{background:linear-gradient(#0a120800 65%,#0a12088c);justify-content:flex-end;padding-bottom:9vh}.menu-title{letter-spacing:-.01em;margin:0;font-size:44px;font-weight:800}.welcome .menu-title{display:none}.menu-detail{opacity:.85;margin:0;font-size:18px}.menu-detail:empty{display:none}.menu button{font:inherit;color:inherit;cursor:pointer;text-shadow:inherit;background:0 0;border:none}.menu-start{margin-top:14px;font-size:22px;font-weight:700}.certificate{cursor:default;align-items:center;gap:14px;margin-top:18px;display:flex}.certificate-name{width:220px;font:inherit;color:#fff;-webkit-user-select:text;user-select:text;background:0 0;border:none;border-bottom:2px solid #fff9;outline:none;padding:6px 2px;font-size:18px}.certificate-name::placeholder{color:#ffffff8c}.certificate-name:focus{border-bottom-color:#fff}.menu .certificate-download{text-underline-offset:4px;font-size:18px;font-weight:700;text-decoration:underline}.menu-reset{opacity:.7;margin-top:26px;font-size:15px}.menu-reset:hover{opacity:1;text-decoration:underline}.menu .menu-erase{color:#ffb4a8}.menu .menu-erase:disabled{opacity:.4;cursor:default;text-decoration:none}.menu-hint{opacity:.55;margin:4px 0 0;font-size:13px}.touch{touch-action:none;position:fixed;inset:0}.in-menu .touch,.in-shop .touch{display:none}.touch button{font:inherit;color:#fff;text-shadow:0 1px 3px #0009;touch-action:none;position:fixed}.stick{pointer-events:none;background:#0e160a40;border:2px solid #ffffff8c;border-radius:50%;width:112px;height:112px;position:fixed;top:-56px;left:-56px}.stick-knob{background:#ffffffd9;border-radius:50%;width:44px;height:44px;position:absolute;top:32px;left:32px;box-shadow:0 1px 4px #0006}.touch-cut{right:max(32px, env(safe-area-inset-right));bottom:max(48px, env(safe-area-inset-bottom));background:#0e160a59;border:2px solid #ffffffe6;border-radius:50%;width:88px;height:88px;font-size:18px;font-weight:800}.touch-cut.held{background:#ffffff4d}.touch-pause{left:max(16px, env(safe-area-inset-left));top:calc(max(18px, env(safe-area-inset-top)) + 36px);background:0 0;border:none;padding:6px;font-size:15px;font-weight:700}.touch-mode .minimap{width:120px;height:120px}.touch-mode .wallet{font-size:22px}.touch-mode .slot{width:46px;height:46px}.touch-mode .hotbar,.touch-mode .prompt{pointer-events:auto}.touch-mode .prompt{border:2px solid #ffffffe6;border-radius:12px;padding:10px 18px;box-shadow:0 1px 4px #0006}@media (orientation:portrait){.touch-cut{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 120px)}}#loading{color:#31452a;background:#c4d5e3;place-items:center;font-size:22px;font-weight:700;display:grid;position:fixed;inset:0}
