:root{--ink:#fff4dc;--night:#0b0a1f;--marigold:#ffb347;--sindoor:#e8553e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--night);height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-family:"Baloo 2",ui-rounded,SF Pro Rounded,system-ui,sans-serif;overflow:hidden}#app{touch-action:none;position:fixed;inset:0}#app canvas{width:100%;height:100%;display:block}#loader{background:radial-gradient(circle at 50% 55%, #2a1838 0%, var(--night) 70%);z-index:10;place-content:center;justify-items:center;gap:18px;transition:opacity .8s;display:grid;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.loader-diya{background:linear-gradient(#c8693a,#7a3420);border-radius:0 0 40px 40px;width:64px;height:22px;position:relative}.loader-diya:before{content:"";filter:drop-shadow(0 0 12px #ffae42);transform-origin:50% 100%;background:radial-gradient(circle at 50% 70%,#fff7c2 0%,#ffc04d 45%,#ff7a1a 80%,#0000 100%);border-radius:50%/65% 65% 35% 35%;width:14px;height:26px;margin-left:-7px;animation:.18s infinite alternate flicker;position:absolute;bottom:18px;left:50%}.loader-text{letter-spacing:.04em;opacity:.85;margin:0;font-size:18px}@keyframes flicker{0%{transform:scale(1)rotate(-2deg)}to{transform:scale(.92,1.08)rotate(2deg)}}#hud{pointer-events:none;z-index:5;font-size:16px;position:fixed;inset:0}.hud-top{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));opacity:0;justify-content:space-between;transition:opacity .6s;display:flex;position:absolute}#hud.playing .hud-top{opacity:1}.pill{-webkit-backdrop-filter:blur(6px);color:var(--ink);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0009;background:#140c1e8c;border:1px solid #ffc47840;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-weight:600;display:inline-flex}.pill.bump{animation:.35s ease-out bump}@keyframes bump{40%{border-color:#ffc478cc;transform:scale(1.12)}}.icon-btn{pointer-events:auto;cursor:pointer;padding:7px 11px;font-size:16px}.ico-diya{width:20px;height:14px;position:relative}.ico-diya:before{content:"";background:#c8693a;border-radius:0 0 10px 10px;height:7px;position:absolute;bottom:0;left:1px;right:1px}.ico-diya:after{content:"";background:radial-gradient(circle at 50% 70%,#fff4c0,#ffb040 60%,#ff7a1a);border-radius:50%/65% 65% 35% 35%;width:6px;height:9px;position:absolute;bottom:6px;left:7px;box-shadow:0 0 8px #ffa040}.crosshair{opacity:0;background:#fff0d2b3;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #00000080}#hud.playing .crosshair{opacity:1}.prompt{left:50%;bottom:max(70px, calc(env(safe-area-inset-bottom) + 50px));opacity:0;white-space:nowrap;background:#1e0e1eb3;border:1px solid #ffc47866;border-radius:999px;padding:9px 18px;font-size:17px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,8px)}.prompt.on{opacity:1;transform:translate(-50%)}.prompt kbd{background:var(--ink);color:#2a1530;text-align:center;border-radius:6px;min-width:24px;margin-right:6px;padding:1px 7px;font:700 14px/20px ui-monospace,monospace;display:inline-block}.toast{left:50%;top:max(70px, calc(env(safe-area-inset-top) + 56px));text-align:center;opacity:0;background:linear-gradient(135deg,#78283cd1,#3c1446d1);border:1px solid #ffc87873;border-radius:16px;max-width:min(88vw,520px);padding:11px 20px;font-size:17px;line-height:1.35;transition:opacity .4s,transform .4s;position:absolute;transform:translate(-50%,-10px);box-shadow:0 8px 30px #00000059}.toast.on{opacity:1;transform:translate(-50%)}.toast b{color:#ffd27a}.start{pointer-events:auto;background:radial-gradient(at 50% 60%,#140a2826,#080614bf);place-items:center;transition:opacity .7s;display:grid;position:absolute;inset:0}.start.gone{opacity:0;pointer-events:none}.start-card{text-align:center;padding:24px}.start .kicker{letter-spacing:.3em;text-transform:uppercase;color:#ffc77a;margin:0;font-size:13px}.start h1{background:linear-gradient(#fff3d2,#ffb347 60%,#ff7a2a);color:#0000;filter:drop-shadow(0 0 22px #ff963c73);-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;font-size:clamp(42px,9vw,84px);font-weight:800;line-height:1}.start .tag{opacity:.92;margin:0 0 26px;font-size:clamp(17px,3.6vw,22px)}.start .go{pointer-events:auto;color:#2a1020;cursor:pointer;background:linear-gradient(#ffd27a,#ff9a3c);border:0;border-radius:999px;padding:14px 34px;font:700 19px/1 inherit;box-shadow:0 0 0 4px #ffb45a2e,0 10px 30px #ff782859}.start .go:active{transform:scale(.97)}.start .how{opacity:.7;max-width:420px;margin:22px auto 0;font-size:14px;line-height:1.6}.joy-base{pointer-events:none;opacity:0;z-index:6;background:#1e0f2840;border:2px solid #ffe6be59;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .15s;position:fixed}.joy-base.on{opacity:1}.joy-knob{background:#ffdcaa8c;border-radius:50%;width:44px;height:44px;position:absolute;top:34px;left:34px}.action-btn{right:max(22px, env(safe-area-inset-right));bottom:max(34px, calc(env(safe-area-inset-bottom) + 18px));color:#fff8ea;text-shadow:0 1px 2px #00000080;z-index:6;opacity:0;pointer-events:none;touch-action:none;background:radial-gradient(circle at 50% 40%,#ffaa50d9,#c85028d9);border:2px solid #ffd28ccc;border-radius:46px;min-width:92px;height:92px;padding:0 16px;font:700 17px/1 inherit;transition:opacity .2s,transform .2s;position:fixed;transform:scale(.8);box-shadow:0 0 24px #ff8c3273}.action-btn.on{opacity:1;pointer-events:auto;transform:scale(1)}#hud.instant,#hud.instant *{transition:none!important}.hud-counts{gap:8px;display:flex}.found-count svg{margin-left:2px}.slot-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom));opacity:0;gap:8px;transition:opacity .6s;display:flex;position:absolute;transform:translate(-50%)}#hud.playing .slot-bar{opacity:1}.slot{-webkit-backdrop-filter:blur(6px);width:54px;height:54px;color:var(--ink);pointer-events:auto;cursor:pointer;touch-action:none;background:#140c1e99;border:1.5px solid #ffc47840;border-radius:16px;place-items:center;padding:0;transition:transform .15s,border-color .15s,opacity .2s;display:grid;position:relative}.slot.sel{border-color:#ffc46a;transform:translateY(-4px);box-shadow:0 0 14px #ffaa4673}.slot.empty{opacity:.32;cursor:default}.slot .n{color:#ffd27a;font:700 12px/1 inherit;position:absolute;bottom:2px;right:4px}.slot kbd{opacity:.55;font:600 10px/1 ui-monospace,monospace;position:absolute;top:3px;left:5px}.slot .lbl{white-space:nowrap;opacity:0;font-size:11px;transition:opacity .15s;position:absolute;bottom:-18px}.slot.sel .lbl{opacity:.9}@media (pointer:coarse){.slot-bar{left:auto;right:max(12px, env(safe-area-inset-right));flex-direction:column;top:50%;bottom:auto;transform:translateY(-62%)}.slot{width:48px;height:48px}.slot.sel{transform:translate(-4px)}.slot .lbl{display:none}}.online{font-size:15px;display:none}.online.on{display:inline-flex}.online i{background:#6fe08a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #6fe08a}.start .greet{color:#ffd27a;margin:0 0 6px;font-size:clamp(16px,3.4vw,20px)}.start .community{opacity:0;margin:18px auto 0;font-size:15px;line-height:1.6;transition:opacity .6s}.start .community.on{opacity:.9}.start .community b{color:#ffd27a}.start .community a{color:#ffc77a;pointer-events:auto}.lantern-tags{pointer-events:none;z-index:4;position:fixed;inset:0}.lantern-tag{color:var(--ink);white-space:nowrap;opacity:0;background:#1e0e1e99;border:1px solid #ffc87880;border-radius:999px;margin:-46px 0 0;padding:3px 10px;font-size:13px;font-weight:600;transition:opacity .4s;position:absolute;top:0;left:0;translate:-50%}.lantern-tag.sender{border-color:#ff9ad099}.lantern-tag.on{opacity:1}.wish-panel{z-index:20;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));opacity:0;pointer-events:none;background:radial-gradient(at 50% 40%,#1e0c2859,#060410c7);place-items:center;transition:opacity .3s;display:grid;position:fixed;inset:0}.wish-panel.on{opacity:1;pointer-events:auto}.wish-card{text-align:center;-webkit-user-select:text;user-select:text;background:linear-gradient(160deg,#5a1e3ceb,#28103cf0);border:1px solid #ffc87866;border-radius:22px;width:min(560px,100%);max-height:100%;padding:22px 22px 16px;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 60px #ff963c26}.wish-card .kicker{letter-spacing:.25em;text-transform:uppercase;color:#ffc77a;margin:0;font-size:12px}.wish-card h2{color:#fff3d2;margin:4px 0;font-size:clamp(26px,6vw,34px);line-height:1.1}.wish-card .sub{opacity:.9;max-width:440px;margin:0 auto 16px;font-size:15px;line-height:1.45}.wish-card .sub b{color:#ffd27a}.wish-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}.wish{color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:30px 1fr;align-items:center;column-gap:10px;padding:10px 12px;font-family:inherit;transition:background .15s,border-color .15s,transform .1s;display:grid;position:relative}.wish:hover,.wish:focus-visible{border-color:var(--c);background:#ffffff1f;outline:none}.wish:active{transform:scale(.98)}.wish i{background:radial-gradient(circle at 50% 80%, #fff4c0, var(--c) 55%, color-mix(in srgb, var(--c) 60%, #000));width:22px;height:28px;box-shadow:0 0 14px var(--c);border-radius:8px 8px 6px 6px/10px 10px 6px 6px;grid-row:span 2;margin:0 auto}.wish b{font-size:17px;line-height:1.1}.wish span{opacity:.75;font-size:13px;line-height:1.2}.wish kbd{opacity:.5;font:600 11px/1 ui-monospace,monospace;position:absolute;top:6px;right:8px}.wish-card .ghost{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #ffc87859;border-radius:999px;margin-top:4px;padding:9px 18px;font:600 15px/1 inherit}.wish-card .go{color:#10301a;cursor:pointer;background:linear-gradient(#8ff0a4,#3fc767);border:0;border-radius:999px;padding:12px 22px;font:700 16px/1 inherit;box-shadow:0 8px 24px #3cc8644d}.wish-card .row{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:6px;display:flex}.wish-card .row .ghost{margin-top:0}.wish-card label.name{text-align:left;opacity:.95;max-width:320px;margin:0 auto 14px;font-size:13px;display:block}.wish-card label.name input{width:100%;color:var(--ink);background:#0000004d;border:1px solid #ffc87866;border-radius:12px;margin-top:4px;padding:10px 14px;font:600 17px/1.2 inherit;display:block}.wish-card .note{opacity:.8;word-break:break-all;min-height:18px;margin:4px 0 2px;font-size:13px}@media (max-width:420px){.wish-grid{grid-template-columns:1fr 1fr;gap:6px}.wish{grid-template-columns:24px 1fr;padding:8px 9px}.wish b{font-size:15px}.wish span{font-size:12px}}
