/* MESH UP — login (ticket gate). Same tokens, type and motifs as the LP. */
:root{
  --ink:#0A0A0B;--paper:#FFFFFF;--mist:#EEF0F4;--grey:#545B6B;--soft:#C9CDD6;--mesh:#939AAA;--lime:#C8FF2E;
  --jp:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;
  --en:"Montserrat","Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  --gut-l:max(clamp(16px,4vw,48px),env(safe-area-inset-left,0px));
  --gut-r:max(clamp(16px,4vw,48px),env(safe-area-inset-right,0px));
  --spring:cubic-bezier(.3,1.5,.5,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper)}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--jp);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
:is(h1,h2,.nex-say,.stub-title){word-break:auto-phrase;text-wrap:balance}
p{text-wrap:pretty}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mesh,.burst{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none}
.mesh{z-index:0}
.burst{z-index:80}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}

/* header / footer (as on the LP) */
.hd{position:relative;z-index:3;padding-top:env(safe-area-inset-top,0px);background:var(--paper);border-bottom:2px solid var(--ink)}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.hd-logo{display:block;height:36px;width:auto}
.hd-mini{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--grey)}
.ft{position:relative;z-index:3;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:2px solid var(--ink)}
.ft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 24px;padding-block:14px}
.ft p{margin:0;font-size:13px;font-weight:700;line-height:1.6;color:var(--grey)}

/* stage + tapes */
.stage{position:relative;z-index:1;flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding:clamp(72px,10vh,112px) var(--gut-r) clamp(72px,10vh,112px) var(--gut-l);overflow:hidden}
.tapes{position:absolute;inset:0;pointer-events:none}
.tape{position:absolute;left:-6%;width:112%;border-block:3px solid var(--ink);overflow:hidden}
.tape-ink{top:30%;background:var(--ink);color:var(--paper);transform:rotate(-4deg)}
.tape-lime{top:62%;background:var(--lime);color:var(--ink);transform:rotate(2.6deg)}
.tape-track{display:flex;width:max-content;padding-block:12px;font-family:var(--en);font-weight:900;font-size:clamp(28px,3.4vw,48px);line-height:1;white-space:nowrap}
.tape-track span{padding-inline:clamp(16px,2vw,30px)}
.tape-lime .tape-track{padding-block:10px;font-family:var(--jp);font-size:clamp(18px,2vw,28px)}
.tape-lime .tape-track span:nth-child(even){font-family:var(--en)}

/* gate = ticket + sticker + Nex */
.gate{position:relative;z-index:2;width:min(100%,1010px);margin-left:40px;margin-right:170px}
.ticket{--n:20px;--stub:404px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--stub)}
.tk{position:relative;isolation:isolate;min-width:0}
.tk-shade,.tk-face{-webkit-mask:var(--m);mask:var(--m)}
.tk-shade{position:absolute;inset:0;z-index:-1;transform:translate(10px,10px)}
.tk-face{position:relative;height:100%;border:3px solid var(--ink);background-origin:border-box}
/* notches: half-circles cut where body and stub meet (seam on the right of the body / left of the stub) */
.tk-body{
  --m:radial-gradient(circle at 100% 0,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 0/100% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 100%/100% 51% no-repeat;
  --ring:radial-gradient(circle at 100% 0,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px)),radial-gradient(circle at 100% 100%,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px));
}
.tk-stub{
  --m:radial-gradient(circle at 0 0,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 0/100% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 100%/100% 51% no-repeat;
  --ring:radial-gradient(circle at 0 0,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px)),radial-gradient(circle at 0 100%,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px));
}
.tk-body .tk-shade{border:3px solid var(--ink);background:var(--ring),var(--lime);background-origin:border-box}
.tk-stub .tk-shade{background:var(--ink)}
.tk-perf{position:absolute;z-index:3;left:-5px;top:calc(var(--n) + 10px);bottom:calc(var(--n) + 10px);width:10px;background:radial-gradient(circle,var(--paper) 2.4px,var(--ink) 2.9px 3.9px,#0000 4.4px) 50% 0/10px 15px repeat-y;pointer-events:none;transition:opacity .2s ease}

/* ticket body (ink, faint lime dot grid like the LP's dark band) */
.tk-body .tk-face{display:flex;flex-direction:column;align-items:flex-start;padding:40px 52px 38px 60px;background:radial-gradient(rgba(200,255,46,.2) 1.3px,#0000 1.7px) 0 0/22px 22px,var(--ink);color:var(--paper)}
.tk-admit{align-self:flex-end;margin:0;padding:3px 12px;border:2px solid var(--lime);color:var(--lime);font-family:var(--en);font-weight:800;font-size:12px;line-height:1.5;letter-spacing:.26em}
.tk-title{margin:16px 0 0;font-family:var(--en);font-weight:900;font-size:clamp(60px,6.9vw,100px);line-height:.92;letter-spacing:-.02em;color:var(--lime);white-space:nowrap}
.tk-sub{margin:18px 0 0;font-weight:900;font-size:clamp(16px,1.5vw,21px);line-height:1.5;word-break:auto-phrase}
.tk-sub .nw{white-space:nowrap}
.hl{background-image:linear-gradient(var(--lime),var(--lime));background-repeat:no-repeat;background-position:0 62%;background-size:100% 74%;padding-inline:.14em;margin-inline:.04em;color:var(--ink)}
.tk-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2px clamp(20px,3vw,40px);width:100%;margin:auto 0 0;padding-top:16px;border-top:2px dashed rgba(201,205,214,.35)}
.tk-sub{margin-bottom:26px}
.tk-meta dt{font-family:var(--en);font-weight:800;font-size:11px;line-height:1.6;letter-spacing:.22em;color:var(--mesh)}
.tk-meta dd{margin:0;font-weight:700;font-size:15px;line-height:1.6}
.tk-stamp{position:absolute;right:34px;bottom:24px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:138px;height:138px;margin:0;border-radius:50%;background:var(--lime);color:var(--ink);box-shadow:inset 0 0 0 6px var(--lime),inset 0 0 0 8.5px var(--ink),6px 6px 0 var(--ink),6px 6px 0 2.5px var(--lime);font-weight:900;font-size:26px;line-height:1.1;text-align:center;opacity:0;transform:rotate(-12deg) scale(.5);pointer-events:none}
.tk-stamp span{font-family:var(--en);font-size:15px;letter-spacing:.06em;margin-bottom:4px}

/* stub (lime) */
.tk-stub .tk-face{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 30px 30px 34px;border-left-width:0;background:var(--ring),var(--lime);text-align:center}
.stub-chip{margin:0;padding:3px 12px;background:var(--ink);color:var(--lime);font-family:var(--en);font-weight:900;font-size:12px;line-height:1.5;letter-spacing:.18em;transform:rotate(-2.5deg)}
.stub-msg{width:100%;margin-top:12px}
.stub-title{margin:0;font-size:clamp(24px,2.3vw,31px);font-weight:900;line-height:1.3}
.stub-text{margin:8px auto 0;max-width:22em;font-size:14px;font-weight:700;line-height:1.75;word-break:auto-phrase;text-wrap:balance}
.gsi-slot{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:20px;transition:opacity .2s ease}
.gsi-skel{display:block;width:min(100%,300px);height:40px;border:2px dashed var(--ink);border-radius:999px;opacity:.45}
.gsi-demo{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:40px;border-radius:999px;background:#202124;color:#FFFFFF;font-size:13px;font-weight:700;line-height:1;outline:1.5px dashed rgba(255,255,255,.55);outline-offset:-6px}
.gsi-demo i{display:block;width:20px;height:20px;border-radius:50%;background:#FFFFFF}
.stub-ok{display:none;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;height:44px;margin:20px 0 0;border-radius:999px;background:var(--ink);color:var(--lime);font-family:var(--en);font-weight:900;font-size:17px;letter-spacing:.14em}
.stub-ok svg{width:22px;height:22px;fill:none;stroke:var(--lime);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.stub-soon{display:none;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;height:44px;margin:20px 0 0;border:2px dashed var(--ink);border-radius:999px;font-weight:900;font-size:15px;letter-spacing:.06em}
.stub-soon i{display:block;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px var(--lime),0 0 0 5px var(--ink)}
.stub-note{margin:14px 0 0;font-size:12.5px;font-weight:700;line-height:1.55;word-break:auto-phrase;text-wrap:balance}
.stub-note svg{display:inline-block;width:14px;height:14px;margin-right:5px;vertical-align:-2px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}
.stub-noscript{margin:12px 0 0;padding:8px 12px;border:2px dashed var(--ink);font-size:13px;font-weight:700;line-height:1.6}

/* LP button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:20px;padding:0 26px;background:var(--ink);color:var(--lime);border:2px solid var(--ink);border-radius:0;font-family:var(--jp);font-weight:900;font-size:16px;line-height:1.3;letter-spacing:.02em;cursor:pointer;box-shadow:5px 5px 0 var(--paper),5px 5px 0 2px var(--ink);transition:transform .16s cubic-bezier(.3,.7,.4,1),box-shadow .16s cubic-bezier(.3,.7,.4,1);-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--paper),7px 7px 0 2px var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--paper),1px 1px 0 2px var(--ink)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.btn[hidden]{display:none}
/* quieter retry while the gate is still being set up */
[data-state="pending"] .btn{min-height:32px;margin-top:10px;padding:2px 6px;background:none;color:var(--ink);border:0;box-shadow:none;font-size:13px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
[data-state="pending"] .btn:hover{transform:none;box-shadow:none;text-decoration-color:var(--grey)}
[data-state="pending"] .btn:active{transform:translateY(1px);box-shadow:none}
[data-state="pending"] .btn:focus-visible{outline-offset:3px}

/* round sticker */
.sticker{position:absolute;z-index:4;left:-56px;top:-54px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:128px;height:128px;border:3px solid var(--ink);border-radius:50%;background:var(--lime);box-shadow:4px 4px 0 var(--ink);font-family:var(--en);font-weight:900;line-height:1;transform:rotate(-9deg)}
.sticker b{display:block;font-size:15px;letter-spacing:.04em}
.sticker b+b{margin-top:2px;font-size:30px;letter-spacing:-.01em}
.sticker small{margin-top:7px;padding:2px 8px;background:var(--ink);color:var(--lime);font-family:var(--jp);font-size:11px;font-weight:900;line-height:1.4;letter-spacing:.08em}

/* Nex */
.nex{position:absolute;z-index:5;right:-206px;bottom:-26px;width:236px;pointer-events:none}
.nex-img{--r:3deg;display:block;width:100%;height:auto;filter:drop-shadow(3px 4px 0 rgba(10,10,11,.18));transform:rotate(var(--r));-webkit-user-select:none;user-select:none}
.nex-say{position:absolute;left:14%;bottom:calc(100% - 4px);width:max-content;max-width:230px;margin:0;padding:9px 16px;border:3px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--lime),5px 5px 0 2px var(--ink);font-weight:900;font-size:18px;line-height:1.45;white-space:pre-line;transform:rotate(-3deg);transform-origin:20% 100%}
.nex-say::before{content:"";position:absolute;left:30px;top:100%;border-top:16px solid var(--ink);border-right:16px solid transparent}
.nex-say::after{content:"";position:absolute;left:33px;top:calc(100% - 1px);border-top:10px solid var(--paper);border-right:10px solid transparent}
.nex-say:empty{display:none}

/* demo badge (localhost only) */
.ft .demo-chip{position:absolute;left:max(8px,env(safe-area-inset-left,0px));bottom:calc(100% + 8px);max-width:calc(100% - 16px);margin:0;padding:2px 10px;background:var(--ink);color:var(--lime);font-family:var(--en);font-size:11px;font-weight:800;line-height:1.6;letter-spacing:.08em}

/* ---------- states ---------- */
[data-state="checking"] .gsi-slot{opacity:.35;pointer-events:none}
[data-state="pending"] .gsi-slot,[data-state="offline"] .gsi-slot,[data-state="success"] .gsi-slot{display:none}
[data-state="pending"] .stub-soon{display:flex}
.btn[disabled]{cursor:progress;opacity:.7}
[data-state="success"] .stub-ok{display:flex}
[data-state="success"] .stub-note{visibility:hidden}
.is-admitted .tk-stub{transform:translate(46px,20px) rotate(7deg);transform-origin:0 100%}
.is-admitted .tk-perf{opacity:0}
.is-admitted .tk-stamp{opacity:1;transform:rotate(-12deg)}

/* ---------- motion (only when the visitor has not asked for less) ---------- */
@keyframes mu-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mu-unroll{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mu-drop{0%{opacity:.1;transform:translateY(-70px) rotate(-6deg)}65%{opacity:1;transform:translateY(8px) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes mu-pop{0%{opacity:0;transform:scale(.3) rotate(calc(var(--r,0deg) - 28deg))}70%{opacity:1;transform:scale(1.08) rotate(var(--r,0deg))}100%{opacity:1;transform:scale(1) rotate(var(--r,0deg))}}
@keyframes mu-bob{0%,100%{transform:rotate(var(--r,0deg)) translateY(0)}50%{transform:rotate(var(--r,0deg)) translateY(-10px)}}
@keyframes mu-hlw{from{background-size:0% 74%}to{background-size:100% 74%}}
@keyframes mu-wobble{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(-3deg) scale(1.04)}}
@keyframes mu-swap{0%{transform:rotate(var(--r,0deg)) scale(.82) translateY(14px)}60%{transform:rotate(var(--r,0deg)) scale(1.06) translateY(-4px)}100%{transform:rotate(var(--r,0deg))}}
@keyframes mu-say{0%{opacity:0;transform:rotate(-12deg) scale(.4)}70%{opacity:1;transform:rotate(-2deg) scale(1.06)}100%{opacity:1;transform:rotate(-3deg)}}
@keyframes mu-tear{0%{transform:none}22%{transform:translate(3px,-3px) rotate(-1.4deg)}100%{transform:translate(46px,20px) rotate(7deg)}}
@keyframes mu-tear-v{0%{transform:none}22%{transform:translate(-2px,-3px) rotate(1.2deg)}100%{transform:translate(10px,34px) rotate(-5deg)}}
@keyframes mu-stamp{0%{opacity:0;transform:rotate(-4deg) scale(1.9)}55%{opacity:1;transform:rotate(-13deg) scale(.92)}78%{transform:rotate(-11.5deg) scale(1.03)}100%{opacity:1;transform:rotate(-12deg)}}
@keyframes mu-jump{0%,100%{transform:rotate(var(--r,0deg)) translateY(0)}35%{transform:rotate(calc(var(--r,0deg) - 6deg)) translateY(-34px)}60%{transform:rotate(var(--r,0deg)) translateY(0)}78%{transform:rotate(var(--r,0deg)) translateY(-12px)}}
@keyframes mu-perf{to{background-position:50% 15px}}
@keyframes mu-perf-h{to{background-position:15px 50%}}
@keyframes mu-skel{0%,100%{opacity:.25}50%{opacity:.6}}
@keyframes mu-ping{0%,100%{transform:scale(1)}50%{transform:scale(.55)}}

@media (prefers-reduced-motion:no-preference){
  .tape-ink{animation:mu-unroll 1s .15s cubic-bezier(.65,0,.25,1) backwards}
  .tape-lime{animation:mu-unroll 1s .3s cubic-bezier(.65,0,.25,1) backwards}
  .tape-ink .tape-track{animation:mu-marquee 32s linear infinite}
  .tape-lime .tape-track{animation:mu-marquee 40s linear infinite reverse}
  .tk-body{animation:mu-drop .85s .1s cubic-bezier(.3,1.2,.5,1) backwards}
  .tk-stub{animation:mu-drop .85s .24s cubic-bezier(.3,1.2,.5,1) backwards}
  .sticker{--r:-9deg;animation:mu-pop .7s .7s var(--spring) backwards,mu-wobble 4.4s 1.6s ease-in-out infinite}
  .nex{animation:mu-pop .7s .85s var(--spring) backwards}
  .nex-img{animation:mu-bob 5s 1.6s ease-in-out infinite}
  .nex-say{animation:mu-say .5s 1.25s var(--spring) backwards}
  .hl{animation:mu-hlw .9s 1.05s cubic-bezier(.65,0,.25,1) backwards}
  .gsi-skel{animation:mu-skel 1.4s ease-in-out infinite}
  .stub-soon i{animation:mu-ping 1.6s ease-in-out infinite}
  .nex.is-swap .nex-img{animation:mu-swap .5s var(--spring)}
  .nex.is-swap .nex-say{animation:mu-say .45s .08s var(--spring) backwards}
  [data-state="checking"] .tk-perf{animation:mu-perf .6s linear infinite}
  .is-admitted .tk-stub{animation:mu-tear .62s cubic-bezier(.3,1.25,.5,1) both}
  .is-admitted .tk-stamp{animation:mu-stamp .55s .28s cubic-bezier(.3,.8,.4,1) both}
  .is-admitted .nex-img{animation:mu-jump .9s .15s cubic-bezier(.3,.9,.4,1)}
  .btn,.gsi-slot,.tk-perf{transition-duration:.16s}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- responsive ---------- */
@media (max-width:1359px){
  .gate{width:min(100%,880px);margin-left:40px;margin-right:130px}
  .ticket{--n:18px;--stub:350px}
  .tk-body .tk-face{padding:34px 38px 32px 50px}
  .tk-stub .tk-face{padding:30px 24px 26px 28px}
  .tk-title{font-size:clamp(56px,6.2vw,80px)}
  .nex{width:200px;right:-168px}
  .nex-say{font-size:16px;max-width:200px}
}
@media (max-width:959px){
  .stage{padding-top:84px;padding-bottom:172px}
  .gate{width:min(100%,460px);margin-left:0;margin-right:0}
  .ticket{--n:16px;grid-template-columns:minmax(0,1fr)}
  /* seam is horizontal: body bottom / stub top */
  .tk-body{
    --m:radial-gradient(circle at 0 100%,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 0/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--n),#000 calc(var(--n) + .5px)) 100% 0/51% 100% no-repeat;
    --ring:radial-gradient(circle at 0 100%,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px)),radial-gradient(circle at 100% 100%,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px));
  }
  .tk-stub{
    --m:radial-gradient(circle at 0 0,#0000 var(--n),#000 calc(var(--n) + .5px)) 0 0/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--n),#000 calc(var(--n) + .5px)) 100% 0/51% 100% no-repeat;
    --ring:radial-gradient(circle at 0 0,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px)),radial-gradient(circle at 100% 0,#0000 var(--n),var(--ink) calc(var(--n) + .5px) calc(var(--n) + 3px),#0000 calc(var(--n) + 3.5px));
  }
  .tk-shade{transform:translate(8px,8px)}
  .tk-perf{left:calc(var(--n) + 10px);right:calc(var(--n) + 10px);top:-5px;bottom:auto;width:auto;height:10px;background-position:0 50%;background-size:15px 10px;background-repeat:repeat-x}
  .tk-body .tk-face{padding:26px 26px 24px 30px}
  .tk-stub .tk-face{padding:28px 24px 24px;border-left-width:3px;border-top-width:0}
  .tk-title{font-size:clamp(52px,15vw,76px)}
  .tk-sub{margin:12px 0 20px;font-size:16px}
  .tk-meta{padding-top:12px}
  .tk-meta dd{font-size:14px}
  .tk-stamp{right:14px;bottom:14px;width:100px;height:100px;font-size:19px;box-shadow:inset 0 0 0 5px var(--lime),inset 0 0 0 7px var(--ink),4px 4px 0 var(--ink),4px 4px 0 2px var(--lime)}
  .tk-stamp span{font-size:11px;margin-bottom:2px}
  .sticker{left:-10px;top:-52px;width:92px;height:92px;border-width:2.5px}
  .sticker b{font-size:11px}
  .sticker b+b{font-size:22px}
  .sticker small{margin-top:5px;font-size:9.5px;padding:1px 6px}
  /* Nex stands below the ticket, on the tapes, so nothing sits over the button */
  .nex{right:-24px;top:calc(100% - 14px);bottom:auto;width:150px}
  .nex-say{left:auto;right:calc(100% - 10px);bottom:auto;top:34px;font-size:15px;max-width:min(220px,calc(100vw - 170px));padding:7px 12px;transform:rotate(-3deg);transform-origin:100% 50%}
  .nex-say::before{left:auto;right:-16px;top:12px;border-top:0;border-right:0;border-left:16px solid var(--ink);border-bottom:14px solid transparent}
  .nex-say::after{left:auto;right:-9px;top:15px;border-top:0;border-right:0;border-left:10px solid var(--paper);border-bottom:9px solid transparent}
  .tape-ink{top:auto;bottom:62px;transform:rotate(-3deg)}
  .tape-lime{top:auto;bottom:16px;transform:rotate(2deg)}
  .tape-track{font-size:28px;padding-block:10px}
  .tape-lime .tape-track{font-size:17px;padding-block:8px}
  .is-admitted .tk-stub{transform:translate(10px,30px) rotate(-5deg);transform-origin:0 0}
}
@media (max-width:959px) and (prefers-reduced-motion:no-preference){
  [data-state="checking"] .tk-perf{animation-name:mu-perf-h}
  .is-admitted .tk-stub{animation-name:mu-tear-v}
}
@media (max-width:520px){
  .hd-in{padding-block:10px}
  .hd-logo{height:30px}
  .hd-mini{font-size:12px;letter-spacing:.04em}
  .stage{padding-top:68px;padding-bottom:132px}
  .nex{right:-6px;top:calc(100% - 10px);width:122px}
  .tk-stamp{right:10px;bottom:10px;width:90px;height:90px;font-size:17px}
  .tk-stamp span{font-size:10px}
  .tk-body .tk-face{padding:20px 20px 18px 22px}
  .tk-stub .tk-face{padding:24px 16px 18px}
  .tk-admit{font-size:11px;padding:2px 10px;letter-spacing:.2em}
  .tk-title{margin-top:12px}
  .tk-sub{margin:10px 0 16px}
  .tk-meta{gap:0 18px;padding-top:10px}
  .tk-meta dd{font-size:13px}
  .stub-msg{margin-top:10px}
  .stub-title{font-size:23px}
  .stub-text{font-size:13.5px;margin-top:4px}
  .gsi-slot,.stub-ok,.stub-soon{margin-top:14px}
  .stub-note{margin-top:12px;font-size:12px}
  [data-state="pending"] .btn{min-height:30px;margin-top:6px}
  .ft-in{padding-block:10px;justify-content:center;text-align:center}
  .ft p{font-size:12px}
  .ft p:first-child{display:none}
}
