/* Illustrated UI: logo, nav buttons, Token info, toggles, phone nav icons. States swap the art; real text/aria stays live on top. */
.brand{display:block;line-height:0;letter-spacing:0}
.brand img{display:block;height:86px;width:auto;filter:drop-shadow(0 3px 0 #0007)}
.brand .brand-mo{display:none}
nav{align-items:center;gap:6px}

/* Sprite buttons: the art is the background; hover/pressed swap the image (all states share one canvas, so nothing jumps). */
.art-btn{--n:'';border:0;background:transparent var(--img) center/100% 100% no-repeat;color:var(--ink,#10202c);font-weight:900;text-transform:uppercase;letter-spacing:.5px;font-size:10.5px;line-height:1.05;text-align:center;display:inline-flex;align-items:center;justify-content:center;width:var(--w);padding:calc(var(--w)*var(--pt,0)) calc(var(--w)*var(--pr,0)) calc(var(--w)*var(--pb,0)) calc(var(--w)*var(--pl,0));box-sizing:border-box;cursor:pointer;transition:transform .08s,filter .12s;filter:drop-shadow(0 3px 0 #0006)}
.art-btn:hover{background-image:var(--img-hover)}
.art-btn:active{background-image:var(--img-pressed);transform:translateY(2px);filter:drop-shadow(0 1px 0 #0006)}
.art-btn:focus-visible{outline:3px solid #7ef5e6;outline-offset:2px;border-radius:12px}
.art-receipt{--img:url(assets/ui/nav-receipt-normal.webp);--img-hover:url(assets/ui/nav-receipt-hover.webp);--img-pressed:url(assets/ui/nav-receipt-pressed.webp);--w:152px;--pr:.22;--pl:.15;--pb:.03;aspect-ratio:306/132;--ink:#14212b}
.art-memes{--img:url(assets/ui/nav-memes-normal.webp);--img-hover:url(assets/ui/nav-memes-hover.webp);--img-pressed:url(assets/ui/nav-memes-pressed.webp);--w:146px;--pr:.08;--pl:.08;--pb:.13;aspect-ratio:297/127;--ink:#fff1d5;text-shadow:0 1.5px 0 #3b0f12,0 0 4px #3b0f12}
.art-frozen{--img:url(assets/ui/nav-frozen-normal.webp);--img-hover:url(assets/ui/nav-frozen-hover.webp);--img-pressed:url(assets/ui/nav-frozen-pressed.webp);--w:150px;--pr:.1;--pl:.1;--pb:.08;aspect-ratio:302/135;--ink:#0b2638;text-shadow:0 1px 0 #ffffff99}
.token.art-btn{margin-left:auto;--img:url(assets/ui/token-normal.webp);--img-hover:url(assets/ui/token-hover.webp);--img-pressed:url(assets/ui/token-pressed.webp);--w:178px;--pr:.07;--pl:.31;--pb:.01;aspect-ratio:560/201;font-size:12.5px;--ink:#1a0f12;border-radius:0;box-shadow:none;text-shadow:0 1px 0 #ffffff66}

/* Toggles: icon pill with the knob; on/off follows aria-pressed. Text stays for screen readers but is not drawn. */
.toggles{gap:6px}
.toggles button{font-size:0!important;color:transparent!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-position:center;background-size:100% 100%;background-repeat:no-repeat;width:116px;aspect-ratio:199/66;padding:0!important;min-height:0!important;letter-spacing:0!important;filter:drop-shadow(0 2px 0 #0007)}
.toggles button:focus-visible{outline:3px solid #7ef5e6;outline-offset:2px;border-radius:30px}
.toggles button:active{transform:translateY(1px)}
#motion{background-image:url(assets/ui/toggle-motion-off.webp)}#motion[aria-pressed=true]{background-image:url(assets/ui/toggle-motion-on.webp)}
#sound{background-image:url(assets/ui/toggle-sound-off.webp)}#sound[aria-pressed=true]{background-image:url(assets/ui/toggle-sound-on.webp)}
#tilt{background-image:url(assets/ui/toggle-tilt-off.webp)}#tilt[aria-pressed=true]{background-image:url(assets/ui/toggle-tilt-on.webp)}
#haptics{background-image:url(assets/ui/toggle-haptics-off.webp)}#haptics[aria-pressed=true]{background-image:url(assets/ui/toggle-haptics-on.webp)}

/* Phone */
@media(max-width:900px){
 .brand img{height:60px}.brand .brand-full{display:none}.brand .brand-mo{display:block}
 .token.art-btn{--w:152px;--pl:.29;--pr:.05;font-size:10px;letter-spacing:.2px;white-space:nowrap}
 .toggles{display:grid;grid-template-columns:repeat(2,auto);gap:4px 6px}
 .toggles button{width:98px}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;line-height:1;padding:6px 1px;color:#fff1d5;letter-spacing:.2px}
 .mobile-nav button img{display:block;width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 0 #0007)}
 .mobile-nav button:active img{transform:translateY(2px)}
}
@media(max-width:360px){.mobile-nav button{font-size:8px}.mobile-nav button img{width:26px;height:26px}}

/* social icons: round stickers, same outline + hard shadow as the other UI */
.socials{display:flex;gap:9px;align-items:center;margin-left:auto}
.socials+.token{margin-left:0}
.social{display:grid;place-items:center;width:46px;height:46px;padding:0;border:3px solid #0b1117;border-radius:50%;background:#f6e7c6;color:#14212b;box-shadow:3px 4px 0 #000a;cursor:pointer;transition:transform .08s,box-shadow .08s,background .08s;text-decoration:none}
.social svg{width:22px;height:22px;display:block}
.social-x:hover{background:#fff9e8}.social-tg:hover{background:#9be8e0}
.social:hover{transform:translateY(-2px);box-shadow:3px 6px 0 #000a}
.social:active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}
.social:focus-visible{outline:3px solid #7ef5e6;outline-offset:2px}
.social.soon{opacity:.92}
@media(max-width:900px){.social{width:38px;height:38px;border-width:2.5px}.social svg{width:18px;height:18px}.socials{gap:6px}}


/* nav: Live */
.nav-live{display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 20px 0 16px;border:3px solid #0b1117;border-radius:999px;background:#f2625a;color:#fff1d5;font:400 20px/1 var(--f-display,"Lilita One",sans-serif);letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;text-shadow:2px 2px 0 #0b1117;box-shadow:3px 4px 0 #000a;transition:transform .08s,background .08s}
.nav-live i{width:12px;height:12px;border-radius:50%;background:#fff1d5;border:2px solid #0b1117;animation:livePulse 1.2s ease-in-out infinite}
.nav-live:hover{transform:translateY(-2px);background:#ff7a70}
.nav-live:active{transform:translateY(2px);box-shadow:1px 2px 0 #000a}
.nav-live:focus-visible{outline:3px solid #7ef5e6;outline-offset:2px}
@keyframes livePulse{50%{transform:scale(.6);opacity:.55}}
@media(prefers-reduced-motion:reduce){.nav-live i{animation:none}}
.mobile-nav .mnav-live span{color:#ff9b92}
.mobile-nav .mnav-live{position:relative}
.mobile-nav .mnav-live::after{content:"";position:absolute;top:2px;left:calc(50% + 8px);width:10px;height:10px;border-radius:50%;background:#f2625a;border:2px solid #0b1117;animation:livePulse 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.mobile-nav .mnav-live::after{animation:none}}
