/* Paranoia "The Source" — shared shell: tokens, iOS-glass header, bag sheet, footer */
:root{
  --void:#050506; --void-2:#0E0E10; --void-3:#16161A; --bone:#ECEAE4; --ash:#8B8A86; --line:rgba(236,234,228,.12);
  --signal:#CA0013; --volt:#2F5BFF; --acid:#B4FF2E;
  --ease:cubic-bezier(.32,.72,0,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --glass:rgba(40,40,46,.42); --glass-hi:rgba(255,255,255,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--void);color:var(--bone);font-family:Geist,system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:1.5px solid var(--signal);outline-offset:4px}
.disp{font-family:Anybody,sans-serif;font-stretch:150%;font-weight:850;text-transform:uppercase;letter-spacing:-.01em}
.mono{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.jp{font-family:"Noto Sans JP",sans-serif;font-weight:900}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.07;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- top group: ticker + floating glass bar ---------- */
.top{position:fixed;left:0;right:0;top:0;z-index:80;transition:transform .6s var(--ease);pointer-events:none}
.top>*{pointer-events:auto}
.top.tucked{transform:translateY(-34px)}
.ann{height:34px;overflow:hidden;display:flex;align-items:center;background:rgba(5,5,6,.92);border-bottom:1px solid var(--line)}
.ann .t{display:flex;gap:38px;width:max-content;animation:slide 38s linear infinite;white-space:nowrap}
.ann span{font-family:"JetBrains Mono";font-size:11px;letter-spacing:.22em}
.ann i{font-style:normal;color:var(--signal)}
@keyframes slide{to{transform:translateX(-50%)}}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;pointer-events:none}
.bar>*{pointer-events:auto}

/* liquid-glass surface */
.glass{position:relative;background:var(--glass);backdrop-filter:blur(22px) saturate(1.9) brightness(1.05);-webkit-backdrop-filter:blur(22px) saturate(1.9) brightness(1.05);
  box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 -1px 0 rgba(255,255,255,.05),0 0 0 .5px rgba(255,255,255,.14),0 10px 30px -12px rgba(0,0,0,.65)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,0) 42%,rgba(255,255,255,0) 70%,rgba(255,255,255,.06))}

/* segmented control nav */
.seg{justify-self:start;display:flex;gap:2px;padding:4px;border-radius:999px;position:relative}
.seg a{position:relative;z-index:1;font-size:13px;font-weight:500;padding:7px 14px;border-radius:999px;color:rgba(236,234,228,.66);transition:color .4s var(--ease)}
.seg a:hover{color:var(--bone)}
.seg a[aria-current]{color:var(--void)}
.seg .thumb{position:absolute;z-index:0;top:4px;bottom:4px;border-radius:999px;background:rgba(236,234,228,.94);
  box-shadow:0 2px 10px rgba(0,0,0,.35),inset 0 1px 0 #fff;transition:left .55s var(--spring),width .55s var(--spring)}

.brand{justify-self:center;display:grid;place-items:center;width:58px;height:58px;border-radius:20px}
.brand img{width:46px;height:46px;object-fit:contain}

.tools{justify-self:end;display:flex;gap:8px;align-items:center}
.ib{all:unset;cursor:pointer;position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;transition:transform .4s var(--spring)}
.ib:active{transform:scale(.9)}
.ib svg{width:20px;height:20px;fill:none;stroke:var(--bone);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ib:focus-visible{outline:1.5px solid var(--signal);outline-offset:3px}
.badge{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--signal);color:#fff;
  font:600 11px/19px Geist,system-ui;text-align:center;box-shadow:0 0 0 2px var(--void);transform:scale(0);transition:transform .45s var(--spring)}
.badge.on{transform:scale(1)}
.badge.pop{animation:pop .5s var(--spring)}
@keyframes pop{40%{transform:scale(1.35)}}
.cur{font-size:12px;color:rgba(236,234,228,.7);padding:0 14px;height:42px;display:flex;align-items:center;border-radius:999px}
.menu-btn{display:none}
@media (max-width:860px){.seg,.cur{display:none}.menu-btn{display:grid}.bar{padding:8px 12px}.brand{width:50px;height:50px;border-radius:17px}.brand img{width:40px;height:40px}}

/* ---------- sheets (bag + menu): iOS bottom/side sheet ---------- */
.scrim{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:101;top:10px;right:10px;bottom:10px;width:min(420px,calc(100% - 20px));border-radius:30px;display:flex;flex-direction:column;
  background:rgba(22,22,26,.82);backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 .5px rgba(255,255,255,.12),0 40px 80px -20px rgba(0,0,0,.8);
  transform:translateX(calc(100% + 30px));transition:transform .6s var(--ease)}
.sheet.on{transform:none}
.sheet .grab{width:38px;height:5px;border-radius:9px;background:rgba(255,255,255,.25);margin:10px auto 0;display:none}
.sheet header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px}
.sheet h3{font-family:Anybody;font-stretch:130%;font-weight:800;font-size:22px;text-transform:uppercase}
.sheet .x{all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.sheet .x svg{width:14px;height:14px;stroke:var(--bone);stroke-width:2;stroke-linecap:round}
.sheet .body{flex:1;overflow:auto;padding:4px 14px}
.sheet .foot{padding:16px 20px 20px;border-top:.5px solid rgba(255,255,255,.12)}
@media (max-width:600px){.sheet{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:86dvh;transform:translateY(calc(100% + 20px))}.sheet .grab{display:block}}

.li{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:18px;background:rgba(255,255,255,.04);margin-bottom:8px}
.li img{width:72px;height:90px;object-fit:cover;border-radius:12px}
.li b{display:block;font-weight:500;font-size:14.5px;line-height:1.25}
.li small{color:var(--ash);font-size:12.5px}
.qty{display:flex;align-items:center;gap:2px;margin-top:8px;background:rgba(255,255,255,.08);border-radius:999px;width:max-content;padding:2px}
.qty button{all:unset;cursor:pointer;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:15px}
.qty span{min-width:20px;text-align:center;font-size:13px}
.li .p{font-family:"JetBrains Mono";font-size:13px}
.empty{padding:40px 10px;text-align:center;color:var(--ash)}
.empty b{display:block;font-family:Anybody;font-stretch:130%;font-weight:800;font-size:26px;color:var(--bone);text-transform:uppercase;margin-bottom:6px}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.tot b{font-family:Anybody;font-stretch:120%;font-weight:800;font-size:24px}
.note{font-size:12px;color:var(--ash);margin-bottom:14px}
.checkout{all:unset;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;width:100%;box-sizing:border-box;height:54px;border-radius:999px;background:var(--bone);color:var(--void);font-weight:600;font-size:15.5px;transition:transform .4s var(--spring)}
.checkout:active{transform:scale(.97)}
.checkout[disabled]{opacity:.35;pointer-events:none}

.mnav{display:grid;gap:6px;padding:8px 6px}
.mnav a{font-family:Anybody;font-stretch:140%;font-weight:800;font-size:34px;text-transform:uppercase;padding:6px 10px;border-radius:14px;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .6s var(--ease),background .3s}
.mnav a[aria-current]{color:var(--signal)}
.sheet.on .mnav a{opacity:1;transform:none}
.sheet.on .mnav a:nth-child(2){transition-delay:.05s}.sheet.on .mnav a:nth-child(3){transition-delay:.1s}.sheet.on .mnav a:nth-child(4){transition-delay:.15s}.sheet.on .mnav a:nth-child(5){transition-delay:.2s}

/* toast (iOS banner) */
.toast{position:fixed;left:50%;top:14px;z-index:120;transform:translate(-50%,-140%);display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:22px;
  background:rgba(30,30,34,.78);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 20px 40px -14px rgba(0,0,0,.7);
  transition:transform .6s var(--spring)}
.toast.on{transform:translate(-50%,0)}
.toast img{width:40px;height:40px;border-radius:10px;object-fit:cover}
.toast b{display:block;font-size:13.5px;font-weight:600}.toast small{font-size:12px;color:var(--ash)}

/* ---------- shared bits ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:7px 7px 7px 20px;border-radius:999px;font-size:14px;font-weight:500;transition:transform .5s var(--ease),background .5s var(--ease);border:0;cursor:pointer}
.btn:active{transform:scale(.98)}
.btn .ic{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;transition:transform .6s var(--ease)}
.btn:hover .ic{transform:translate(3px,-2px) scale(1.06)}
.btn-bone{background:var(--bone);color:var(--void)}.btn-bone .ic{background:var(--signal);color:var(--bone)}
.btn-line{box-shadow:inset 0 0 0 1px rgba(236,234,228,.3);padding:7px 20px;color:var(--bone);background:none}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ash)}

footer.site{border-top:1px solid var(--line);padding:40px 22px 90px;display:grid;gap:22px}
footer.site .links{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13.5px;color:var(--ash)}
footer.site .big{font-family:Anybody;font-stretch:150%;font-weight:850;font-size:clamp(34px,10vw,150px);line-height:.85;text-transform:uppercase;color:#1a1a1c}
footer.site .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--ash)}
.proto{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:70;background:rgba(236,234,228,.92);color:var(--void);font:11px/1.3 Geist;padding:7px 14px;border-radius:999px;width:max-content;max-width:calc(100% - 24px);text-align:center}

.rv{opacity:0;transform:translateY(40px);filter:blur(8px);transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease)}
.rv.in{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none;filter:none}}

/* Todo símbolo en japonés (混乱源) en el rojo de marca */
.jp{color:var(--signal)!important}
