*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}:root{--bg: #0e0a1a;--panel: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .1);--text: #f4f0fa;--muted: #a89fba;--faint: #6b6280;--accent: #b27be8;--gold: #ffc94a}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Bricolage Grotesque,sans-serif;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color .6s ease}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;transition:opacity .5s ease}.scene svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.wrap{position:relative;z-index:1;max-width:430px;margin:0 auto;min-height:100dvh;padding:0 0 36px;padding-top:env(safe-area-inset-top)}.top{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 8px}.brand .nm{font-size:22px;font-weight:800;letter-spacing:-.02em}.brand .site{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:3px}.pocket{text-align:right;display:flex;align-items:center;gap:8px}.pk-icon{font-size:18px}.pocket .pl{font-family:Space Mono,monospace;font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.pocket .pv{font-family:Space Mono,monospace;font-weight:700;font-size:20px;margin-top:2px;color:var(--gold);display:inline-block}.pocket .pv.bump{animation:bump .45s ease}@keyframes bump{0%,to{transform:scale(1)}40%{transform:scale(1.5);color:#fff;text-shadow:0 0 12px var(--gold)}}.modetabs{display:flex;gap:7px;padding:6px 18px 0}.modetab{flex:1;border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:9px 8px;cursor:pointer;color:var(--muted);font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:12.5px;transition:all .15s}.modetab.active{color:var(--text);box-shadow:0 0 0 1.5px var(--accent) inset;background:#ffffff1a}.themes{display:flex;gap:7px;padding:10px 18px 0;flex-wrap:wrap}.thm{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:8px 12px;cursor:pointer;color:var(--muted);font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:12.5px;transition:all .15s;display:flex;align-items:center;gap:6px}.thm .emoji{font-size:14px}.thm.active{color:var(--text);box-shadow:0 0 0 1.5px var(--accent) inset;background:#ffffff1a}.thm.locked{opacity:.62}.thm .lock{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.04em;color:var(--faint);margin-left:2px}.objbar{margin:16px 22px 0;padding:13px 16px;background:var(--panel);border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:space-between}.objbar .ot{font-size:14px;font-weight:700}.obj-track{width:90px;height:8px;background:#ffffff1f;border-radius:4px;overflow:hidden}.obj-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:4px;transition:width .4s cubic-bezier(.34,1.4,.5,1)}.board-host{position:relative;width:100%;display:flex;justify-content:center;padding:18px 16px 0}.board-wrap{position:relative;display:inline-block}.board{position:relative;touch-action:none}.tile{position:absolute;border-radius:22%;will-change:transform;transition:transform .26s cubic-bezier(.4,.9,.3,1),opacity .2s ease;box-shadow:0 2px 4px #00000059,inset 0 2px #ffffff52,inset 0 -4px 8px #0000004d}.tile.pop{transition:transform .2s cubic-bezier(.5,0,.75,0),opacity .2s ease;opacity:0}.tile.deep:after{content:"";position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:20%;border:2.5px solid rgba(255,255,255,.2);pointer-events:none}.tile.reveal{animation:rev .34s cubic-bezier(.34,1.3,.5,1)}@keyframes rev{0%{transform:translate(var(--tx),var(--ty)) scale(.4)}to{transform:translate(var(--tx),var(--ty)) scale(1)}}.tile.gem{display:flex;align-items:center;justify-content:center;color:#fff8e6;font-weight:800;text-shadow:0 1px 3px rgba(120,80,0,.6);animation:gemp 1.7s ease-in-out infinite}.tile.gem .gem-icon{width:62%;height:62%;display:flex;align-items:center;justify-content:center;pointer-events:none}@keyframes gemp{0%,to{box-shadow:0 0 4px #ffc94a4d,inset 0 2px #ffffff80}50%{box-shadow:0 0 22px 4px #ffc94a99,inset 0 2px #fff9}}.float{position:absolute;font-family:Space Mono,monospace;font-weight:700;font-size:15px;pointer-events:none;transform:translate(-50%,-50%);text-shadow:0 1px 6px rgba(0,0,0,.5);animation:fu .85s ease forwards;z-index:30;white-space:nowrap}@keyframes fu{0%{opacity:0;transform:translate(-50%,-30%) scale(.8)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-190%) scale(1.06)}}.bigfind{position:absolute;z-index:50;transform:translate(-50%,-50%) scale(0);color:var(--gold);font-weight:800;text-shadow:0 0 20px rgba(255,201,74,.9),0 3px 8px rgba(0,0,0,.5);transition:transform .42s cubic-bezier(.5,0,.35,1),opacity .42s ease;will-change:transform;display:flex;align-items:center;justify-content:center}.bigfind svg{width:100%;height:100%}.findring{position:absolute;z-index:49;border:3px solid var(--gold);border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:.85;animation:ring .55s ease-out forwards;pointer-events:none}@keyframes ring{to{transform:translate(-50%,-50%) scale(5);opacity:0}}.findlabel{position:absolute;z-index:51;font-family:Space Mono,monospace;font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--gold);transform:translate(-50%,-50%);text-shadow:0 1px 6px rgba(0,0,0,.6);animation:flab 1s ease forwards;pointer-events:none}@keyframes flab{0%{opacity:0;transform:translate(-50%,-30%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-260%)}}.sparkle{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);pointer-events:none;z-index:48;animation:spk .65s ease forwards}@keyframes spk{0%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2)}}.hint{text-align:center;color:var(--muted);font-size:12.5px;margin-top:16px;padding:0 24px;line-height:1.5}.hint b{color:var(--text)}.sitemap{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px 0}.sitedot{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:Space Mono,monospace;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.sitedot.active{color:var(--text);box-shadow:0 0 0 1.5px var(--accent) inset}.sitedot.cleared{color:var(--gold);border-color:#ffc94a66}.sitedot.locked{opacity:.4;cursor:default}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:#08060ee0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:14px;z-index:60;text-align:center;padding:24px}.overlay.show{display:flex;animation:fi .35s ease}@keyframes fi{0%{opacity:0}to{opacity:1}}.overlay .crest{font-size:46px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}.overlay .crest svg{width:56px;height:56px}.overlay .big{font-size:25px;font-weight:800;margin-top:10px}.overlay .sub{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.55}.overlay .sub b{color:var(--gold)}.overlay .btn{margin-top:20px;border:none;background:var(--accent);color:#140f1f;font-weight:800;font-size:15px;padding:14px 32px;border-radius:13px;cursor:pointer;font-family:Bricolage Grotesque,sans-serif}.overlay .btn:active{transform:translateY(1px)}.overlay .btn.ghost{background:var(--panel);color:var(--text);border:1px solid var(--line);margin-top:10px}.supporter{margin:18px 22px 0;padding:14px 16px;border:1px solid var(--line);background:var(--panel);border-radius:13px;font-size:12.5px;color:var(--muted);line-height:1.5}.supporter b{color:var(--text)}.devtoggle{display:block;margin-top:12px;width:100%;border:1px dashed var(--line);background:transparent;color:var(--faint);font-family:Space Mono,monospace;font-size:11px;letter-spacing:.04em;padding:9px 10px;border-radius:10px;cursor:pointer;transition:all .15s}.devtoggle.on{color:var(--gold);border-color:#ffc94a66;border-style:solid}.powerbar{display:flex;gap:7px;padding:12px 18px 0;flex-wrap:wrap}.pw{border:1px solid var(--line);background:var(--panel);border-radius:11px;padding:8px 12px;cursor:pointer;color:var(--text);font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:12.5px;display:flex;align-items:center;gap:6px;transition:all .15s}.pw b{font-family:Space Mono,monospace;color:var(--gold);font-size:12px}.pw:disabled{opacity:.4;cursor:default}.pw.on{box-shadow:0 0 0 1.5px var(--accent) inset;background:#ffffff1a}.pw.refill{margin-left:auto;color:var(--muted);font-size:16px;padding:8px 14px}.armhint{text-align:center;color:var(--gold);font-size:12px;margin-top:10px;padding:0 24px;font-weight:600}.board.armed{cursor:crosshair}.board.struck{animation:shake .32s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}.tile.sonar{animation:sonarpulse .9s ease-in-out infinite;z-index:5}@keyframes sonarpulse{0%,to{box-shadow:0 2px 4px #00000059,inset 0 2px #ffffff52,0 0 #ffc94a00}50%{box-shadow:0 2px 4px #00000059,inset 0 2px #ffffff52,0 0 16px 3px #ffc94ad9}}
