:root{--bg-0:#08070b;--bg-1:#110509;--bg-2:#1a0309;--panel:#14060cd9;--panel-line:#ff3c642e;--blood:#f03;--blood-soft:#ff3d6e;--blood-deep:#b8001f;--cyan:#00fff0;--cyan-soft:#6effff;--acid:#d6ff2a;--warn:#ffb400;--ink:#f5f0ed;--ink-dim:#b8a8b0;--ink-mute:#6a5b64;--ink-ghost:#3a2c34;--f-display:"Russo One", "Orbitron", "Segoe UI", sans-serif;--f-mono:"Share Tech Mono", "JetBrains Mono", ui-monospace, monospace;--f-tech:"Orbitron", "Russo One", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg-0);color:var(--ink);font-family:var(--f-mono);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:16px}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0;padding:0}body{-webkit-user-select:none;user-select:none;background-color:#0000;background-image:radial-gradient(1100px 600px at 90% -10%,#ff00332e,#0000 60%),radial-gradient(900px 500px at -10% 110%,#00fff014,#0000 60%),linear-gradient(#0c0408 0%,#08070b 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;overflow-x:hidden}#root{isolation:isolate;flex-direction:column;display:flex;position:relative}#root:before{content:"";pointer-events:none;z-index:100;mix-blend-mode:overlay;opacity:.55;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:fixed;inset:0}#root:after{content:"";pointer-events:none;z-index:101;background:radial-gradient(#0000 55%,#0000008c 100%);position:fixed;inset:0}h1,h2,h3{font-family:var(--f-display);letter-spacing:.06em;text-transform:uppercase;margin:0}a{color:var(--cyan);text-decoration:none}button{font-family:var(--f-tech);letter-spacing:.08em;text-transform:uppercase}input,select,textarea{font-family:var(--f-mono);color:var(--ink)}::selection{background:var(--blood);color:#000}.app{min-height:100svh;padding-top:calc(env(safe-area-inset-top,0px));padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.topbar{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#08070bf2,#08070b99 70%,#0000);align-items:center;gap:12px;padding:14px 18px 10px;display:flex;position:sticky;top:0}.topbar__brand{font-family:var(--f-display);letter-spacing:.14em;align-items:center;gap:10px;font-size:18px;display:flex}.topbar__brand .dot{background:var(--blood);width:10px;height:10px;box-shadow:0 0 12px var(--blood);border-radius:50%;animation:1.4s infinite pulse}.topbar__meta{font-family:var(--f-mono);color:var(--ink-mute);letter-spacing:.12em;margin-left:auto;font-size:11px}.screen{flex-direction:column;flex:1;gap:18px;padding:6px 16px 24px;display:flex}.hero{border:1px solid var(--panel-line);background:linear-gradient(135deg, #ff00331f, transparent 55%), linear-gradient(0deg, #00fff00a, transparent 70%), var(--panel);clip-path:polygon(0 14px,14px 0,calc(100% - 28px) 0,100% 22px,100% calc(100% - 14px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 22px));padding:22px 18px 26px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;opacity:.6;background:repeating-linear-gradient(90deg,#0000 0 38px,#ff00330f 38px 39px);position:absolute;inset:0}.hero__tag{font-family:var(--f-mono);letter-spacing:.4em;color:var(--cyan);text-shadow:0 0 6px #00fff08c;font-size:11px}.hero__title{font-family:var(--f-display);color:var(--ink);text-shadow:2px 0 #f039,-2px 0 #00fff073;letter-spacing:.04em;margin:8px 0 4px;font-size:clamp(36px,11vw,56px);line-height:.9;position:relative}.hero__sub{font-family:var(--f-mono);color:var(--ink-dim);letter-spacing:.22em;text-transform:uppercase;font-size:12px}.hero__stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.stat{clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);background:#ff00330a;border:1px solid #ff003340;padding:10px 12px}.stat__label{font-family:var(--f-mono);letter-spacing:.25em;color:var(--ink-mute);text-transform:uppercase;font-size:10px}.stat__value{font-family:var(--f-display);color:var(--ink);margin-top:4px;font-size:22px}.stat--cyan{background:#00fff00a;border-color:#00fff052}.stat--cyan .stat__value{color:var(--cyan);text-shadow:0 0 8px #00fff066}.stat--blood .stat__value{color:var(--blood-soft);text-shadow:0 0 8px #ff003380}.section__head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.section__head h2{letter-spacing:.32em;color:var(--ink);font-size:14px}.section__head .bar{background:linear-gradient(90deg, var(--blood) 0%, transparent 70%);flex:1;height:1px}.section__head .num{font-family:var(--f-mono);color:var(--ink-mute);letter-spacing:.2em;font-size:11px}.card{border:1px solid var(--panel-line);background:var(--panel);clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.card--accent{background:linear-gradient(135deg, #ff003314, transparent 60%), var(--panel);border-color:#f036}.list{flex-direction:column;gap:10px;display:flex}.row{border:1px solid var(--panel-line);background:var(--panel);clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,transform .1s;display:flex}.row:active{transform:translateY(1px)}.row:hover,.row--selected{border-color:var(--blood);box-shadow:inset 0 0 0 1px #ff003340}.row__tag{width:44px;height:44px;font-family:var(--f-display);color:var(--cyan);letter-spacing:.06em;clip-path:polygon(0 5px,5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);background:#00fff00d;border:1px solid #00fff066;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.row__main{flex:1;min-width:0}.row__name{font-family:var(--f-tech);letter-spacing:.08em;color:var(--ink);font-size:15px}.row__meta{font-family:var(--f-mono);color:var(--ink-mute);letter-spacing:.16em;text-transform:uppercase;margin-top:2px;font-size:11px}.row__price{font-family:var(--f-display);color:var(--blood-soft);text-shadow:0 0 8px #f036;white-space:nowrap;font-size:16px}.row--locked{opacity:.5;cursor:not-allowed}.row--locked .row__tag{color:var(--blood);background:#ff00330f;border-color:#f036}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{appearance:none;color:var(--cyan);font-family:var(--f-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;clip-path:polygon(0 4px,4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%);background:0 0;border:1px solid #00fff059;padding:8px 12px;font-size:12px;transition:background .15s,color .15s}.chip:hover{background:#00fff01a}.chip--active{background:var(--cyan);color:#000;border-color:var(--cyan);box-shadow:0 0 14px #00fff08c}.chip--blood{color:var(--blood-soft);border-color:#ff003380}.chip--blood:hover{background:#ff00331a}.chip--blood.chip--active{background:var(--blood);color:#000;box-shadow:0 0 14px #ff003380}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-family:var(--f-mono);letter-spacing:.25em;color:var(--ink-mute);text-transform:uppercase;font-size:11px}.input{appearance:none;color:var(--ink);font-family:var(--f-mono);letter-spacing:.06em;clip-path:polygon(0 5px,5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%);background:#00000073;border:1px solid #00fff059;outline:none;width:100%;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #00fff059}.input::placeholder{color:var(--ink-ghost)}.btn{appearance:none;border:1px solid var(--blood);background:linear-gradient(135deg, var(--blood-deep) 0%, var(--blood) 100%);color:#fff;font-family:var(--f-tech);letter-spacing:.18em;cursor:pointer;text-transform:uppercase;clip-path:polygon(0 8px,8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-size:14px;font-weight:700;transition:transform 80ms,box-shadow .2s,filter .15s;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #0009,0 0 18px #ff003359}.btn:active{transform:translateY(1px)}.btn:hover{filter:brightness(1.1);box-shadow:inset 0 0 0 1px #0009,0 0 26px #ff00338c}.btn--block{width:100%}.btn--ghost{color:var(--cyan);box-shadow:none;background:0 0;border-color:#00fff080}.btn--ghost:hover{background:#00fff014;box-shadow:0 0 16px #00fff059}.btn:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.4);box-shadow:none}.summary{gap:8px;display:grid}.summary__row{font-family:var(--f-mono);border-bottom:1px dashed #ff00332e;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.summary__row:last-child{border-bottom:none}.summary__key{color:var(--ink-mute);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.summary__val{color:var(--ink);text-align:right}.summary__total{font-family:var(--f-display);color:var(--blood-soft);text-shadow:0 0 8px #f036;font-size:18px}.fortune-label{font-family:var(--f-display);letter-spacing:.08em;text-transform:uppercase}.fortune-spinning{animation:.7s ease-in-out infinite alternate fortune-pulse}@keyframes fortune-pulse{0%{box-shadow:0 0 28px #00fff080,0 0 60px #00fff01f,inset 0 0 30px #000000bf}to{box-shadow:0 0 44px #00fff0bf,0 0 90px #00fff038,inset 0 0 30px #000000bf}}.alert{font-family:var(--f-mono);letter-spacing:.04em;clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);border:1px solid;padding:12px 14px;font-size:13px}.alert--err{border-color:var(--blood);color:var(--blood-soft);background:#ff00331a}.alert--ok{border-color:var(--acid);color:var(--acid);background:#d6ff2a12}.alert--info{color:var(--cyan-soft);background:#00fff00d;border-color:#00fff066}.nav{z-index:60;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0000,#06050aeb 20%,#06050a 100%);border-top:1px solid #ff00334d;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav__btn{appearance:none;color:var(--ink-mute);font-family:var(--f-mono);letter-spacing:.22em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:10px;transition:color .15s;display:flex}.nav__btn svg{width:22px;height:22px}.nav__btn--active{color:var(--blood-soft);text-shadow:0 0 8px #f039}.nav__btn--active svg{filter:drop-shadow(0 0 6px #ff0033b3)}.empty{text-align:center;color:var(--ink-mute);font-family:var(--f-mono);letter-spacing:.16em;padding:40px 20px;font-size:13px}.loader{color:var(--cyan);font-family:var(--f-mono);letter-spacing:.3em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:12px;display:flex}.loader .spin{border:2px solid #00fff033;border-top-color:var(--cyan);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.mark{font-family:var(--f-display);letter-spacing:.14em;color:var(--ink);align-items:center;gap:6px;font-size:18px;display:inline-flex}.mark__blade{width:22px;height:22px;position:relative}.mark__blade svg{width:100%;height:100%;animation:6s linear infinite blade-spin}.glitch{display:inline-block;position:relative}.glitch:before,.glitch:after{content:attr(data-text);pointer-events:none;position:absolute;inset:0}.glitch:before{color:var(--blood);mix-blend-mode:screen;clip-path:inset(0 0 60%);animation:3.4s steps(2,end) infinite glitch-a;transform:translate(2px)}.glitch:after{color:var(--cyan);mix-blend-mode:screen;clip-path:inset(60% 0 0);animation:4.2s steps(2,end) infinite glitch-b;transform:translate(-2px)}.foot{text-align:center;font-family:var(--f-mono);letter-spacing:.4em;color:var(--ink-ghost);text-transform:uppercase;margin-top:6px;font-size:10px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blade-spin{to{transform:rotate(360deg)}}@keyframes glitch-a{0%,80%,to{clip-path:inset(0 0 60%);transform:translate(2px)}82%{clip-path:inset(10% 0 50%);transform:translate(-3px,1px)}85%{clip-path:inset(30% 0);transform:translate(2px,-1px)}88%{clip-path:inset(45% 0 20%);transform:translate(-2px)}92%{clip-path:inset(0 0 60%);transform:translate(2px)}}@keyframes glitch-b{0%,80%,to{clip-path:inset(60% 0 0);transform:translate(-2px)}82%{clip-path:inset(50% 0 10%);transform:translate(3px,-1px)}85%{clip-path:inset(30% 0);transform:translate(-2px,1px)}88%{clip-path:inset(20% 0 45%);transform:translate(2px)}92%{clip-path:inset(60% 0 0);transform:translate(-2px)}}
