@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Unbounded:wght@500;700&display=swap";body{margin:0}:root{--cotton:#edeff7;--cotton-deep:#dfe3f2;--paper:#f9fafe;--indigo:#1d2a6e;--indigo-deep:#121b4d;--indigo-mid:#3b4ba6;--ink:#141a3c;--muted:#565e8c;--danfo:#f6b21a;--danfo-edge:#b57b00;--leaf:#12783a;--leaf-soft:#ddf1e4;--brick:#b8321f;--brick-soft:#f8e1dc;--font-display:"Unbounded", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--font-body:"Figtree", "Roboto", system-ui, sans-serif;--font-symbol:"Roboto", "Noto Sans", system-ui, sans-serif;--edge-indigo:0 1px 0 #ffffff29 inset, 0 6px 0 #0d1440, 0 7px 0 #080c2e, 0 22px 28px -12px #0d14408c;--raise:0 1px 0 #fff inset, 0 2px 0 #1d2a6e12, 0 14px 22px -14px #121b4d52;--sink:inset 0 2px 4px #121b4d24, inset 0 -1px 0 #ffffffe6;--r-slab:28px;--r-card:20px;--r-btn:16px;--r-field:14px;--nav-h:76px;--bg:var(--cotton);--bg2:var(--cotton-deep);--card:var(--paper);--fg:var(--ink);--white:var(--ink);--mid:var(--muted);--gold:var(--indigo);--gold-dim:#1d2a6e14;--gold-glow:#1d2a6e2e;--green:var(--leaf);--red:var(--brick);--border:#1d2a6e24;--glass-bg:#1d2a6e0d;--glass-bdr:#1d2a6e24;--radius:var(--r-card)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--cotton);height:100%;color:var(--ink);font-family:var(--font-body);text-align:left;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.4}#root{border:0;width:auto;max-width:none;display:block}button{font-family:inherit}:focus-visible{outline:3px solid var(--indigo-mid);outline-offset:2px}.cur{font-family:var(--font-symbol);font-weight:600}.app-shell{background:var(--cotton);flex-direction:column;max-width:430px;min-height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.page{padding:0 20px calc(var(--nav-h) + 36px);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.page-head{padding:30px 0 18px}.page-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700}.page-sub{color:var(--muted);margin-top:6px;font-size:14px}.glass,.raise{background:var(--paper);border-radius:var(--r-card);box-shadow:var(--raise);border:1px solid #1d2a6e14}.glass-gold{border-radius:var(--r-card);background:#1d2a6e12;border:1px solid #1d2a6e24}.slab{border-radius:var(--r-slab);color:#fff;box-shadow:var(--edge-indigo);background:repeating-radial-gradient(circle at 108% -18%,#0000 0 22px,#ffffff0e 22px 24px),repeating-radial-gradient(circle at -12% 130%,#0000 0 18px,#ffffff0a 18px 20px),linear-gradient(155deg,#2a3b93 0%,#1d2a6e 48%,#151f59 100%);position:relative;overflow:hidden}.slab:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,#ffffff24,#0000 38%);position:absolute;inset:0}.btn{border-radius:var(--r-btn);cursor:pointer;letter-spacing:.005em;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px 20px;font-size:16px;font-weight:700;transition:transform 90ms,box-shadow 90ms,filter .15s;display:flex}.btn:active:not(:disabled){transform:translateY(4px)}.btn:disabled{opacity:.45;cursor:not-allowed}.mobile-only-warning{color:#fff;text-align:center;background-color:#1a1b41;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.warning-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;max-width:400px;padding:40px 20px}.warning-content h1{color:#fff;margin-bottom:10px;font-size:2rem}.warning-content h2{color:#a4b0f5;margin-bottom:20px;font-size:1.2rem}.warning-content p{color:#d1d5db;margin-bottom:10px;font-size:.95rem;line-height:1.5}.btn-gold{color:#2a1d00;box-shadow:0 1px 0 #ffffffb3 inset, 0 5px 0 var(--danfo-edge), 0 6px 0 #8a5e00, 0 14px 18px -8px #121b4d73;background:linear-gradient(#ffc83b,#f6b21a)}.btn-gold:active:not(:disabled){box-shadow:0 1px 0 #fff9 inset, 0 1px 0 var(--danfo-edge), 0 2px 0 #8a5e00, 0 4px 8px -4px #121b4d66}.btn-ink{color:#fff;background:linear-gradient(#2a3b93,#1d2a6e);box-shadow:inset 0 1px #fff3,0 5px #0d1440,0 6px #080c2e,0 14px 18px -8px #121b4d80}.btn-ink:active:not(:disabled){box-shadow:inset 0 1px #fff3,0 1px #0d1440,0 4px 8px -4px #121b4d80}.btn-ghost{color:var(--indigo);background:var(--paper);box-shadow:inset 0 0 0 1.5px #1d2a6e33,0 4px #c9cee6,0 5px #b7bddb}.btn-ghost:active:not(:disabled){box-shadow:inset 0 0 0 1.5px #1d2a6e33,0 1px #c9cee6}.btn-danger{color:var(--brick);background:var(--brick-soft);box-shadow:inset 0 0 0 1.5px #b8321f47,0 4px #ebc3bb,0 5px #dda89e}.btn-danger:active:not(:disabled){box-shadow:inset 0 0 0 1.5px #b8321f47,0 1px #ebc3bb}.btn-sm{border-radius:12px;width:auto;padding:9px 14px;font-size:13px}.link-btn{cursor:pointer;color:var(--indigo);text-underline-offset:3px;background:0 0;border:0;padding:10px 6px;font-size:14px;font-weight:700;-webkit-text-decoration:underline #1d2a6e4d;text-decoration:underline #1d2a6e4d;text-decoration-thickness:2px}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.input,select.input{background:var(--cotton-deep);border-radius:var(--r-field);width:100%;box-shadow:var(--sink);color:var(--ink);border:1.5px solid #0000;outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .15s,background .15s}.input:focus{border-color:var(--indigo-mid);background:#fff}.input::placeholder{color:#8890b8}select.input{cursor:pointer}.tag{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.tag-green{background:var(--leaf-soft);color:var(--leaf)}.tag-gold{color:#7a5200;background:#fbebc3}.tag-red{background:var(--brick-soft);color:var(--brick)}.tag-mid{color:var(--muted);background:#1d2a6e14}.section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-title{color:var(--ink);font-size:15px;font-weight:700}.section-link{color:var(--indigo);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:14px;font-weight:700}.row{align-items:center;gap:12px;padding:14px 0;display:flex}.row+.row{border-top:1px solid #1d2a6e17}.overlay{z-index:200;background:#0e14408c;justify-content:center;align-items:flex-end;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:430px;padding:14px 22px calc(28px + env(safe-area-inset-bottom));text-align:left;border-radius:28px 28px 0 0;animation:.26s cubic-bezier(.2,.8,.3,1) sheet-up;box-shadow:0 -18px 40px -10px #0d144066}.sheet-handle{background:#1d2a6e2e;border-radius:3px;width:40px;height:5px;margin:0 auto 18px}.sheet-title{font-family:var(--font-display);margin-bottom:4px;font-size:18px;font-weight:700}.sheet-sub{color:var(--muted);margin-bottom:18px;font-size:14px}.err-msg{color:var(--brick);text-align:center;margin-top:10px;font-size:14px;font-weight:600}.notice{color:var(--ink);background:#1d2a6e12;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.notice-bad{background:var(--brick-soft);color:#7c1f12}.notice-good{background:var(--leaf-soft);color:#0b5127}.divider{border:0;border-top:1px solid #1d2a6e1a;margin:20px 0}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid #1d2a6e33;border-top-color:var(--indigo);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.btn-gold .spinner,.btn-ink .spinner{border-color:currentColor #0000002e #0000002e}.btn-ink .spinner{border-color:#fff #ffffff4d #ffffff4d}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.bottom-nav{width:100%;max-width:430px;height:var(--nav-h);padding:0 6px calc(8px + env(safe-area-inset-bottom));background:var(--paper);z-index:100;border-radius:24px 24px 0 0;grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -1px #1d2a6e14,0 -16px 30px -18px #0d144059}.nav-item{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 4px;font-size:12px;font-weight:600;display:flex}.nav-item svg{width:24px;height:24px}.nav-item.active{color:var(--indigo)}.nav-item.active .nav-dot{opacity:1;transform:scale(1)}.nav-dot{background:var(--danfo);opacity:0;border-radius:50%;width:5px;height:5px;margin-top:1px;transition:all .2s;transform:scale(.4)}.nav-pay{cursor:pointer;color:var(--indigo);background:0 0;border:0;flex-direction:column;align-self:start;align-items:center;gap:4px;margin-top:-26px;padding:0;font-size:12px;font-weight:700;display:flex;position:relative}.nav-pay .coin{color:#fff;background:radial-gradient(circle at 32% 26%,#4a5cc4,#1d2a6e 58%,#121b4d);border-radius:50%;place-items:center;width:62px;height:62px;transition:transform 90ms,box-shadow 90ms;display:grid;box-shadow:inset 0 2px #fff3,0 5px #0d1440,0 6px #080c2e,0 14px 16px -6px #0d144099}.nav-pay:active .coin{transform:translateY(4px);box-shadow:inset 0 2px #fff3,0 1px #0d1440,0 4px 8px -4px #0d144099}.nav-pay .coin svg{width:30px;height:30px}.more-sheet{bottom:calc(var(--nav-h) + 8px);z-index:300;background:var(--paper);width:calc(100% - 32px);max-width:398px;box-shadow:var(--raise), 0 20px 40px -10px #0d144066;border-radius:22px;padding:12px;position:fixed;left:50%;transform:translate(-50%)}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{cursor:pointer;height:58px;font-family:var(--font-display);color:var(--ink);background:var(--paper);touch-action:manipulation;border:0;border-radius:16px;place-items:center;font-size:22px;font-weight:500;transition:transform 70ms,box-shadow 70ms;display:grid;box-shadow:inset 0 1px #fff,0 4px #c9cee6,0 5px #b7bddb}.key:active{transform:translateY(3px);box-shadow:inset 0 1px #fff,0 1px #c9cee6}.key svg{width:24px;height:24px}.key-quiet{box-shadow:none;color:var(--muted);background:0 0;font-size:18px}.key-quiet:active{box-shadow:none;transform:scale(.94)}.pin-dots{justify-content:center;gap:16px;margin:6px 0 18px;display:flex}.pin-dot{background:var(--cotton-deep);width:18px;height:18px;box-shadow:var(--sink);border-radius:50%;transition:transform .12s,background .12s}.pin-dot.on{background:var(--indigo);box-shadow:0 2px 0 var(--indigo-deep);transform:translateY(-1px)}.pin-dots.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.disc-stage{perspective:760px;place-items:center;width:100%;height:300px;display:grid;position:relative}.disc-plane{width:0;height:0;transform-style:preserve-3d;position:absolute;top:50%;left:50%;transform:translateY(26px)rotateX(64deg)}.ripple{border:3px solid var(--indigo-mid);opacity:0;border-radius:50%;width:480px;height:480px;position:absolute;top:-240px;left:-240px}.disc-stage.live .ripple{animation:3s cubic-bezier(.2,.55,.3,1) infinite ripple}.disc-stage.live .ripple:nth-child(2){animation-delay:.75s}.disc-stage.live .ripple:nth-child(3){animation-delay:1.5s}.disc-stage.live .ripple:nth-child(4){animation-delay:2.25s}.disc-stage.done .ripple{border-color:var(--leaf)}.disc-stage.done .ripple:first-child{opacity:.5;transform:scale(.52)}.disc-stage.done .ripple:nth-child(2){opacity:.3;transform:scale(.74)}.disc-stage.idle .ripple:first-child{opacity:.35;transform:scale(.52)}.disc-stage.idle .ripple:nth-child(2){opacity:.2;transform:scale(.72)}.disc-stage.idle .ripple:nth-child(3){opacity:.1;transform:scale(.94)}@keyframes ripple{0%{opacity:0;transform:scale(.38)}12%{opacity:.75}to{opacity:0;transform:scale(1)}}.disc-hold{z-index:2;position:relative}.disc-stage.compact{height:210px}.disc-stage.compact .disc-hold{transform:scale(.66)}.disc-stage.compact .disc-plane{transform:translateY(18px)rotateX(64deg)scale(.66)}.disc{cursor:pointer;color:#fff;background:radial-gradient(circle,#0000 0 30px,#ffffff12 30px 32px,#0000 32px 46px,#ffffff0f 46px 48px,#0000 48px 62px,#ffffff0d 62px 64px,#0000 64px),radial-gradient(circle at 32% 24%,#5367d1 0%,#2b3c98 34%,#1d2a6e 62%,#121b4d 100%);border:0;border-radius:50%;place-items:center;width:172px;height:172px;transition:transform .1s,box-shadow .1s,background .3s;display:grid;position:relative;box-shadow:inset 0 2px #ffffff38,0 10px #0d1440,0 12px #080c2e,0 34px 38px -10px #0d144099}.disc:active:not(:disabled){transform:translateY(8px);box-shadow:inset 0 2px #ffffff38,0 2px #0d1440,0 4px #080c2e,0 14px 22px -8px #0d144099}.disc:disabled{cursor:default}.disc svg{filter:drop-shadow(0 3px #080c2e8c);width:64px;height:64px}.disc.is-done{background:radial-gradient(circle at 32% 24%,#34b866 0%,#12783a 58%,#0a4f26 100%);box-shadow:inset 0 2px #ffffff40,0 10px #073a1b,0 12px #042612,0 34px 38px -10px #0426128c}.disc.is-bad{background:radial-gradient(circle at 32% 24%,#db5b45 0%,#b8321f 58%,#7c1f12 100%);box-shadow:inset 0 2px #ffffff40,0 10px #55120a,0 12px #3a0a05,0 34px 38px -10px #3c0a0580}.disc .tick{stroke-dasharray:40;stroke-dashoffset:40px;animation:.45s .15s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.match{background:var(--cotton-deep);box-shadow:var(--sink);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.match-code{font-family:var(--font-display);letter-spacing:.12em;color:var(--indigo);font-size:32px;font-weight:700}.amount{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.05}.amount .cur{vertical-align:.14em;opacity:.85;margin-right:.12em;font-size:.62em}.amount .dec{opacity:.65;font-size:.55em}.avatar{font-family:var(--font-display);color:#fff;background:linear-gradient(145deg,#3b4ba6,#1d2a6e);border-radius:16px;flex-shrink:0;place-items:center;font-weight:700;display:grid;box-shadow:inset 0 1px #fff3,0 3px #0d1440}.seg{background:var(--cotton-deep);box-shadow:var(--sink);border-radius:20px;gap:6px;padding:6px;display:grid}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:15px;padding:11px 6px;font-size:15px;font-weight:700;transition:all .15s}.seg button.on{color:var(--indigo);background:var(--paper);box-shadow:inset 0 1px #fff,0 3px #c3c9e4,0 4px 6px -2px #121b4d33}@media (prefers-reduced-motion:reduce){.disc-stage.live .ripple{opacity:.3;animation:none;transform:scale(.6)}.sheet,.overlay{animation:none}.btn,.key,.disc{transition:none}}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.sheet{max-height:100dvh;overflow-y:auto}@media (height<=720px){.key{border-radius:14px;height:48px;font-size:20px}.keypad{gap:8px}.disc-stage{height:250px}}.chips{scrollbar-width:none;gap:8px;margin:0 -2px 12px;padding:2px 2px 8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{font:inherit;cursor:pointer;white-space:nowrap;color:var(--muted);background:#fff;border:0;border-radius:999px;flex-shrink:0;padding:9px 16px;font-size:14px;font-weight:600;box-shadow:0 1px #1d2a6e1f,inset 0 0 0 1px #1d2a6e14}.chip.on{background:var(--indigo);color:#fff;box-shadow:0 2px 0 var(--indigo-deep,#101a5c)}.kv{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.kv+.kv{border-top:1px solid #1d2a6e17}.kv .k{color:var(--muted);flex-shrink:0;font-size:14px}.kv .v{text-align:right;word-break:break-all;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.copy-btn{font:inherit;color:var(--indigo);cursor:pointer;background:#1d2a6e14;border:0;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:700}.gate{background:radial-gradient(900px 500px at 50% -10%, #3b4ba68c, transparent 70%), radial-gradient(circle at 1px 1px, #ffffff12 1px, transparent 0) 0 0 / 22px 22px, var(--indigo-deep);min-height:100dvh;color:var(--paper);place-items:center;padding:40px 24px;display:grid}.gate-card{text-align:center;background:var(--paper);width:min(460px,100%);color:var(--ink);border-radius:var(--r-slab);padding:34px 32px 30px;box-shadow:inset 0 1px #fff,0 8px #080c2e8c,0 38px 60px -20px #0009}.gate-word{font-family:var(--font-display);letter-spacing:-.01em;color:var(--indigo);font-size:26px;font-weight:700}.gate-stage{place-items:center;height:190px;margin:6px 0 2px;display:grid}.gate h1{font-family:var(--font-display);letter-spacing:-.01em;margin:6px 0 10px;font-size:22px;font-weight:700;line-height:1.25}.gate p{max-width:34ch;color:var(--muted);margin:0 auto;font-size:15px;line-height:1.55}.gate-link{background:var(--cotton-deep);border-radius:var(--r-field);box-shadow:var(--sink);text-align:left;align-items:center;gap:10px;margin:22px 0 0;padding:10px 10px 10px 16px;display:flex}.gate-link code{min-width:0;font:600 14px/1.3 var(--font-body);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gate-foot{color:var(--muted);margin-top:18px;font-size:13px}.gate-foot button{font:inherit;color:var(--indigo);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}
