:root{--bg: #0B0B10;--surface: #16161D;--surface-2: #1E1E27;--surface-3: #2A2A35;--ink: #F5F2EA;--ink-dim: #9A98A5;--ink-faint: #54545E;--line: rgba(245, 242, 234, .08);--line-strong: rgba(245, 242, 234, .16);--accent: #FF3D7F;--accent-2: #00E5BD;--accent-3: #FFD23F;--accent-4: #B197FC;--accent-5: #FF7849;--r-common: #9A98A5;--r-uncommon: #7AC74F;--r-rare: #4DA3FF;--r-epic: #B197FC;--r-legendary: #FFD23F;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "DM Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--r-common-glow: rgba(154, 152, 165, .6);--r-uncommon-glow: rgba(122, 199, 79, .6);--r-rare-glow: rgba(77, 163, 255, .6);--r-epic-glow: rgba(177, 151, 252, .6);--r-legendary-glow: rgba(255, 210, 63, .6)}:root.light{--bg: #F5F2EA;--surface: #FFFFFF;--surface-2: #EFEBE0;--surface-3: #E2DDD0;--ink: #18181F;--ink-dim: #5C5C68;--ink-faint: #A8A6B0;--line: rgba(24, 24, 31, .08);--line-strong: rgba(24, 24, 31, .16)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:0;height:0}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:110px;position:relative}.sticker-tile{transition:transform .22s cubic-bezier(.2,.9,.3,1.4);transform-origin:50% 60%;cursor:pointer}.sticker-tile:hover{transform:translateY(-3px) rotate(-2deg) scale(1.03)}.sticker-tile:active{transform:scale(.97)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.holo{background:linear-gradient(110deg,#ffd23f00,#ff3d7f40 25%,#b197fc59,#00e5bd4d 65%,#ffd23f00);background-size:200% 100%;animation:shimmer 3.2s linear infinite;mix-blend-mode:screen;pointer-events:none}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-1.5deg)}}.float-a{animation:float 6s ease-in-out infinite}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .48s cubic-bezier(.2,.9,.3,1) both}@keyframes spin-slow{to{transform:rotate(360deg)}}.spin-slow{animation:spin-slow 12s linear infinite}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(.4);opacity:.9}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
