/* Pika Market type system. Big Shoulders Display, Bodoni Moda, Martian Mono: SIL Open Font License 1.1, self-hosted. */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/473c2f14e9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/832b1554b7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/473c2f14e9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/832b1554b7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/f43160988d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/5d0b87d576.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/21224576a4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(../fonts/aad168b2dc.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400;
  font-stretch: 75% 112.5%;
  font-display: swap;
  src: url(../fonts/2698c4247f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400;
  font-stretch: 75% 112.5%;
  font-display: swap;
  src: url(../fonts/4f8dd0d2be.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 700;
  font-stretch: 75% 112.5%;
  font-display: swap;
  src: url(../fonts/2698c4247f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 700;
  font-stretch: 75% 112.5%;
  font-display: swap;
  src: url(../fonts/4f8dd0d2be.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --ink:#F5F2EA;--ink2:#FFFFFF;--panel:#FFFFFF;--panel2:#EEEADF;--line:#0A0B0D;--line2:#0A0B0D;
  --text:#0A0B0D;--mute:#3B3B3B;--dim:#6A675F;
  --lime:#0052FF;--coral:#E0401F;--sun:#0052FF;--aqua:#0052FF;--blue:#0052FF;--grape:#0052FF;--k:#0A0B0D;--paper:#F5F2EA;
  --holo:linear-gradient(#0052FF,#0052FF);
  --r:0;
  --fd:'Big Shoulders Display',Impact,sans-serif;--fs:'Bodoni Moda',Didot,serif;--fm:'Martian Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);color:var(--text);font-family:var(--fs);-webkit-font-smoothing:antialiased}
html,body{overflow-x:clip}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.d{font-family:var(--fd);letter-spacing:0;font-weight:900;line-height:.86;text-transform:uppercase}
.ac{font-family:var(--fs);font-style:italic;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--blue);line-height:.9;padding-right:.04em}
.wm b{font-family:var(--fs);font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.12em;margin-left:1px}
.m{font-family:var(--fm);font-size:12.5px;letter-spacing:.02em;color:var(--mute)}
.holo-text{background:linear-gradient(100deg,#0052FF 0%,#3D8BFF 30%,#0052FF 50%,#0052FF 75%,#7DFFC4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:holoShift 8s linear infinite}
@keyframes holoShift{to{background-position:200% 0}}
/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:0;font-weight:600;font-size:15px;cursor:pointer;border:0;overflow:hidden;white-space:nowrap;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-2px)}
.btn-lime{background:var(--lime);color:#10120A;box-shadow:0 0 0 1px rgba(20,241,149,.5),0 10px 40px -8px rgba(20,241,149,.55),inset 0 -3px 0 rgba(0,0,0,.18)}
.btn-lime::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 3.2s ease-in-out infinite}
@keyframes sheen{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.btn-holo{color:var(--text);background:linear-gradient(var(--ink2),var(--ink2)) padding-box,var(--holo) border-box;border:1.5px solid transparent}
.btn-holo:hover{box-shadow:0 10px 40px -10px rgba(153,69,255,.6)}
.btn-coral{background:var(--grape);color:#fff;box-shadow:0 10px 36px -8px rgba(153,69,255,.65),inset 0 -3px 0 rgba(0,0,0,.18)}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.chip{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:0;background:var(--panel);border:1px solid var(--line);font-size:13px;color:var(--mute)}
.dot{width:8px;height:8px;border-radius:0}
.grade{font-family:var(--fm);font-size:11px;font-weight:500;padding:4px 8px;border-radius:0;background:#fff;color:#111;letter-spacing:.02em}
.grade.g10{background:var(--lime)}
/* holo card */
.tcg{position:relative;border-radius:0;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.tcg img{width:100%}
.tcg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(153,69,255,.25) 40%,rgba(20,241,149,.25) 48%,rgba(0,194,255,.25) 56%,rgba(153,69,255,.25) 64%,transparent 72%);background-size:250% 250%;mix-blend-mode:color-dodge;animation:foil 6s ease-in-out infinite}
@keyframes foil{0%,100%{background-position:100% 100%}50%{background-position:0 0}}
/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in,.shot .rv{opacity:1;transform:none}
.shot *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}
.btn-purple{background:var(--grape);color:#fff;box-shadow:0 10px 36px -8px rgba(153,69,255,.65),inset 0 -3px 0 rgba(0,0,0,.18)}
/* wallet modal + toast */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(5,4,10,.6);backdrop-filter:blur(8px);padding:20px}
.modal.open{display:flex}
.sheet-m{width:100%;max-width:420px;border-radius:0;background:var(--panel);border:1px solid var(--line2);padding:26px;box-shadow:0 40px 80px -20px rgba(0,0,0,.7);animation:pop .35s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}
.sheet-m h3{font-size:30px}
.sheet-m p{color:var(--mute);font-size:14px;margin-top:8px;line-height:1.5}
.wl{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.wl button{display:flex;align-items:center;gap:14px;height:62px;padding:0 16px;border-radius:0;background:var(--panel2);border:1px solid var(--line);font-size:16px;font-weight:600;text-align:left;transition:.2s}
.wl button:hover{border-color:var(--line2);transform:translateY(-1px)}
.wl button img{width:34px;height:34px;border-radius:0}
.wl button span{margin-left:auto;font-size:12px;font-weight:500;color:var(--dim)}
.wl button span.ok{color:var(--lime)}
.field{width:100%;height:52px;border-radius:0;background:var(--ink2);border:1px solid var(--line2);color:var(--text);padding:0 16px;font-size:15px;margin-top:16px}
.mrow{display:flex;gap:8px;margin-top:18px}.mrow .btn{flex:1;justify-content:center}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(30px);opacity:0;z-index:300;padding:14px 20px;border-radius:0;background:var(--panel2);border:1px solid var(--line2);font-size:14px;font-weight:500;box-shadow:0 20px 40px -10px rgba(0,0,0,.6);transition:.35s cubic-bezier(.2,.8,.2,1);pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast.good{border-color:rgba(20,241,149,.5)}.toast.bad{border-color:rgba(255,94,58,.5)}
.skel{background:linear-gradient(90deg,var(--panel) 0%,var(--panel2) 50%,var(--panel) 100%);background-size:200% 100%;animation:sk 1.4s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.wal-btn{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px 0 6px;border-radius:0;background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--holo) border-box;border:1.5px solid transparent;font-family:var(--fm);font-size:13px;position:relative}
.wal-btn i{width:30px;height:30px;border-radius:0;background:conic-gradient(from 40deg,#0052FF,#0052FF,#0052FF,#0052FF)}
.wmenu{position:absolute;right:0;top:50px;min-width:200px;border-radius:0;background:var(--panel);border:1px solid var(--line2);padding:6px;display:none;z-index:60;box-shadow:0 20px 40px -10px rgba(0,0,0,.6)}
.wmenu.open{display:block}
.wmenu a,.wmenu button{display:flex;width:100%;height:40px;align-items:center;padding:0 12px;border-radius:0;font-size:14px;font-family:var(--fs)}
.wmenu a:hover,.wmenu button:hover{background:var(--panel2)}
.tcg img{height:auto}

.fld{position:relative;display:flex;align-items:center;flex:1;min-width:0;align-self:stretch}
.fld>input{flex:1;width:100%;min-width:0}
.fld .hint{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fld input:valid+.hint{visibility:hidden}
.code .fld .hint{left:17px;font-family:var(--fm);font-size:15px;letter-spacing:.12em}
.fld .inp+.hint{left:15px;font-size:15px}
