:root{--bg:#f3efe9;--bg-2:#eae4da;--bg-grad-a:#f6f2ec;--bg-grad-b:#efe9e0;--surface:#fff;--surface-2:#faf7f2;--surface-3:#f4efe7;--ink:#211b2c;--ink-2:#574f63;--ink-3:#8a8395;--ink-4:#aaa3b2;--line:#e7e1d7;--line-2:#f0ebe3;--line-3:#efe9f3;--gold:#c39a57;--gold-2:#d8b878;--gold-d:#a07e40;--gold-soft:#f7efe0;--plum:#4a3f63;--plum-2:#5d5079;--plum-d:#2f2746;--plum-soft:#efebf4;--rose:#c98a8a;--ok:#1f9d6b;--ok-bg:#e2f4ec;--ok-line:#b9e3d0;--warn:#cd831f;--warn-bg:#fbeed9;--warn-line:#efd6a8;--bad:#d05656;--bad-bg:#fbe7e7;--bad-line:#f0c3c3;--info:#4f72cf;--info-bg:#e8edfb;--info-line:#c5d2f3;--r-xs:7px;--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:26px;--sh-xs:0 1px 2px #211b2c0d;--sh-sm:0 1px 2px #211b2c0f, 0 2px 6px -2px #211b2c12;--sh:0 2px 4px #211b2c0a, 0 10px 24px -10px #211b2c29;--sh-md:0 4px 8px #211b2c0d, 0 18px 40px -16px #211b2c38;--sh-lg:0 8px 16px #211b2c0f, 0 32px 64px -24px #211b2c4d;--sh-gold:0 8px 22px -10px #a07e408c;--sh-plum:0 10px 24px -10px #2f274680;--ease:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.2,.9,.3,1.25);--font:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 12% -8%, #c39a5712, transparent 55%), radial-gradient(1000px 520px at 90% 0%, #4a3f630f, transparent 50%), linear-gradient(180deg, var(--bg-grad-a), var(--bg-grad-b));color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"tnum" 1, "cv11" 1;letter-spacing:-.005em;background-attachment:fixed;margin:0}button{cursor:pointer;color:inherit;font-family:inherit}input,select,textarea{font-family:inherit}::selection{background:var(--gold);color:#fff}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#d3ccbe padding-box content-box;border:3px solid #0000;border-radius:7px}::-webkit-scrollbar-thumb:hover{background:#c2baa9 padding-box content-box;border:3px solid #0000;border-radius:7px}::-webkit-scrollbar-track{background:0 0}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:40;-webkit-backdrop-filter:saturate(1.5)blur(16px);background:#fcfaf6c7;border-bottom:1px solid #e7e1d7e6;position:sticky;top:0}.topbar-inner{align-items:center;gap:18px;max-width:1280px;margin:0 auto;padding:12px 24px;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand-mark{background:linear-gradient(140deg, var(--plum-2), var(--plum-d));width:38px;height:38px;box-shadow:var(--sh-plum), inset 0 1px 0 #ffffff1f;border-radius:12px;flex:none;place-items:center;display:grid}.brand-name{letter-spacing:-.03em;font-size:18px;font-weight:800;line-height:1.1}.brand-name b{color:var(--gold-d);font-weight:800}.brand-sub{color:var(--ink-3);letter-spacing:0;margin-top:2px;font-size:11px;font-weight:600}.demo-badge{letter-spacing:-.01em;color:var(--gold-d);box-shadow:var(--sh-xs);white-space:nowrap;background:linear-gradient(#fcf7ec,#f6eedb);border:1px solid #ecdcb6;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:7px 13px;font-size:11.5px;font-weight:700;display:inline-flex}.demo-badge .dot{background:var(--gold);width:7px;height:7px;animation:pulse 2.4s var(--ease) infinite;border-radius:50%;box-shadow:0 0 0 3px #c39a5738}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #c39a5738}50%{box-shadow:0 0 0 5px #c39a570d}}.roletabs{border:1px solid var(--line);background:#eae4dab3;border-radius:999px;gap:4px;padding:5px;display:flex;box-shadow:inset 0 1px 2px #211b2c0a}.roletab{color:var(--ink-2);transition:background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease), transform .1s var(--ease);background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:9px 17px;font-size:13.5px;font-weight:700;display:inline-flex}.roletab svg{width:16px;height:16px}.roletab:hover{color:var(--ink)}.roletab:active{transform:scale(.97)}.roletab.active{background:var(--surface);color:var(--plum);box-shadow:var(--sh-sm)}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:26px 24px 72px}.fade-in{animation:fadeUp .4s var(--ease) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}.card-pad{padding:20px}.section-title{letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;font-size:11.5px;font-weight:800}.h1{letter-spacing:-.035em;margin:0;font-size:23px;font-weight:800}.h2{letter-spacing:-.025em;margin:0;font-size:19px;font-weight:800}.muted{color:var(--ink-3)}.tnum{font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);font-size:11px;font-weight:800}.pill{letter-spacing:-.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:700;line-height:1.6;display:inline-flex}.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.pill.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.pill.info{background:var(--info-bg);color:var(--info);border-color:var(--info-line)}.pill.neutral{background:var(--surface-3);color:var(--ink-2);border-color:var(--line)}.pill .pdot{background:currentColor;border-radius:50%;width:6px;height:6px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);transition:transform .12s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), filter .2s var(--ease);box-shadow:var(--sh-xs);justify-content:center;align-items:center;gap:8px;padding:10px 17px;font-size:14px;font-weight:700;display:inline-flex}.btn:hover{box-shadow:var(--sh-sm);border-color:#ddd5c7}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn svg{width:16px;height:16px}.btn.primary{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));color:#fff;border-color:var(--plum-d);box-shadow:var(--sh-sm)}.btn.primary:hover:not(:disabled){box-shadow:var(--sh-plum);filter:brightness(1.06)}.btn.gold{background:linear-gradient(180deg, var(--gold-2), var(--gold-d));color:#2c2410;border-color:var(--gold-d);box-shadow:var(--sh-sm)}.btn.gold:hover:not(:disabled){box-shadow:var(--sh-gold);filter:brightness(1.05)}.btn.ghost{box-shadow:none;background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-2);box-shadow:none}.btn.sm{border-radius:var(--r-xs);padding:7px 12px;font-size:13px}.btn.block{width:100%}.input,.select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--ink);box-shadow:var(--sh-xs);padding:11px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s}.input:focus,.select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c39a5729}.select{cursor:pointer}.grid{gap:16px;display:grid}.row{align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--line);background:var(--surface);z-index:1;padding:10px 13px;font-size:10.5px;font-weight:800;position:sticky;top:0}.table td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:12px 13px}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .15s var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.table.tight td,.table.tight th{padding:9px 11px}.table.zebra tbody tr:nth-child(2n){background:#faf7f299}.table.zebra tbody tr:hover{background:var(--surface-3)}.amt{font-variant-numeric:tabular-nums;font-weight:700}.amt.pos{color:var(--ok)}.amt.neg{color:var(--bad)}.stat{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm);transition:box-shadow .2s var(--ease), transform .15s var(--ease);padding:18px;position:relative;overflow:hidden}.stat:after{content:"";background:linear-gradient(90deg, var(--gold), transparent);opacity:.55;height:3px;position:absolute;top:0;left:0;right:0}.stat:hover{box-shadow:var(--sh);transform:translateY(-2px)}.stat .stat-top{justify-content:space-between;align-items:center;display:flex}.stat .stat-ic{background:var(--surface-3);width:32px;height:32px;color:var(--plum);border-radius:10px;place-items:center;display:grid}.stat .label{color:var(--ink-3);font-size:12px;font-weight:700}.stat .value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:27px;font-weight:800;line-height:1.05}.stat .value .unit{color:var(--ink-2);margin-left:1px;font-size:15px;font-weight:700}.stat .delta{align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:700;display:inline-flex}.stage{justify-content:center;padding:10px 0 0;display:flex}.phone{background:var(--surface);border:1px solid var(--line);width:414px;max-width:100%;box-shadow:var(--sh-lg), 0 0 0 9px #fff, 0 0 0 10px #e5ddd1;border-radius:42px;flex-direction:column;min-height:768px;display:flex;position:relative;overflow:hidden}.phone-notch{background:var(--surface);place-items:center;height:30px;display:grid}.phone-notch .bar{background:#e2dacd;border-radius:99px;width:116px;height:6px}.phone-screen{background:var(--surface-2);scrollbar-width:none;flex:1;overflow-y:auto}.phone-screen::-webkit-scrollbar{width:0}.app-head{background:var(--surface);border-bottom:1px solid var(--line-2);z-index:5;padding:16px 18px 13px;position:sticky;top:0}.app-head .t{letter-spacing:-.025em;font-size:17px;font-weight:800}.app-pad{padding:18px}.tabbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fffffff5;padding-bottom:2px;display:flex}.tabbar button{color:var(--ink-4);transition:color .18s var(--ease);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 0 12px;font-size:10.5px;font-weight:700;display:flex;position:relative}.tabbar button svg{width:22px;height:22px;transition:transform .2s var(--ease-spring)}.tabbar button.active{color:var(--plum)}.tabbar button.active svg{transform:translateY(-1px)scale(1.06)}.tabbar button.active:before{content:"";background:var(--plum);border-radius:99px;width:26px;height:3px;position:absolute;top:0}.dz-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:box-shadow .2s var(--ease), transform .14s var(--ease), border-color .2s var(--ease);box-shadow:var(--sh-xs);align-items:center;gap:14px;width:100%;padding:14px;display:flex}.dz-card:hover{box-shadow:var(--sh);border-color:#e0d2b9;transform:translateY(-2px)}.dz-card:active{transform:translateY(0)}.dz-card .av{width:56px;height:56px;box-shadow:var(--sh-sm);border-radius:17px;flex:none;overflow:hidden}.dz-name{letter-spacing:-.02em;font-size:15.5px;font-weight:800}.dz-role{color:var(--ink-3);margin-top:1px;font-size:12px}.dz-chev{color:var(--ink-4);transition:transform .2s var(--ease), color .2s var(--ease)}.dz-card:hover .dz-chev{color:var(--gold-d);transform:translate(3px)}.menu-item{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .12s var(--ease);width:100%;box-shadow:var(--sh-xs);align-items:center;gap:12px;padding:14px;display:flex}.menu-item.sel{border-color:var(--gold);box-shadow:0 0 0 3px #c39a5726, var(--sh-sm)}.menu-item:hover{box-shadow:var(--sh-sm)}.menu-ic{background:var(--plum-soft);border:1px solid var(--line-3);width:40px;height:40px;color:var(--plum);border-radius:12px;flex:none;place-items:center;display:grid}.menu-item.sel .menu-ic{background:linear-gradient(140deg, var(--gold-soft), #f1e4c8);color:var(--gold-d);border-color:#ecdcb6}.slot-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slot{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-align:center;font-variant-numeric:tabular-nums;transition:all .16s var(--ease);box-shadow:var(--sh-xs);padding:12px 4px;font-size:13.5px;font-weight:700;position:relative}.slot:hover:not(:disabled){border-color:var(--gold);box-shadow:var(--sh-sm);transform:translateY(-1px)}.slot.sel{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));color:#fff;border-color:var(--plum-d);box-shadow:var(--sh-plum)}.slot:disabled{background:var(--surface-3);color:var(--ink-4);cursor:not-allowed;box-shadow:none;text-decoration:line-through}.slot.held{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn);cursor:not-allowed;box-shadow:none;text-decoration:none}.date-row{scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.date-row::-webkit-scrollbar{height:0}.date-chip{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);text-align:center;width:58px;transition:all .16s var(--ease);box-shadow:var(--sh-xs);flex:none;padding:10px 0}.date-chip:hover{border-color:var(--gold);transform:translateY(-1px)}.date-chip .dow{color:var(--ink-3);font-size:11px;font-weight:700}.date-chip .dnum{letter-spacing:-.02em;margin-top:3px;font-size:17px;font-weight:800}.date-chip.sel{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));color:#fff;border-color:var(--plum-d);box-shadow:var(--sh-plum)}.date-chip.sel .dow{color:#ffffffc7}.date-chip.sun .dnum{color:var(--bad)}.date-chip.sel.sun .dnum{color:#fff}.legend{align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.legend .sw{border-radius:4px;width:13px;height:13px}.lab{border-radius:var(--r-xl);color:#f2eee6;box-shadow:var(--sh-lg), inset 0 1px 0 #ffffff0f;background:radial-gradient(1000px 340px at 82% -12%,#c39a5738,#0000 58%),radial-gradient(700px 360px at 5% 110%,#7c6aaa38,#0000 55%),linear-gradient(155deg,#2c2542,#1a1529);border:1px solid #ffffff12;padding:28px;position:relative;overflow:hidden}.lab-title{letter-spacing:-.03em;margin:0;font-size:21px;font-weight:800}.lab-ic{width:34px;height:34px;color:var(--gold-2);background:linear-gradient(140deg,#d8b87847,#c39a571f);border:1px solid #d8b87859;border-radius:11px;flex:none;place-items:center;display:grid}.lab-sub{color:#f2eee6b3;max-width:580px;margin:8px 0 0;font-size:13px;line-height:1.55}.lab-stage{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:16px;margin:22px 0 4px;display:grid;position:relative}@media (width<=760px){.lab-stage{grid-template-columns:1fr;gap:14px}}.racer{border-radius:var(--r);transition:border-color .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);background:#ffffff0b;border:1px solid #ffffff1c;padding:17px;position:relative}.racer.busy{border-color:#d8b87880;box-shadow:0 0 0 1px #d8b87833}.racer.win{border-color:var(--ok);box-shadow:0 0 0 1.5px var(--ok), 0 18px 48px -16px #1f9d6ba6;background:#1f9d6b1a;transform:translateY(-2px)}.racer.lose{opacity:.82;background:#d0565612;border-color:#d056568c}.racer h4{letter-spacing:-.02em;margin:0;font-size:16px}.racer .who{color:#f2eee694;margin-top:1px;font-size:12px}.racer-badge{box-shadow:var(--sh);animation:badgePop .35s var(--ease-spring) both;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:-11px;right:14px}.racer-badge.win{background:var(--ok);color:#fff}.racer-badge.lose{background:var(--bad);color:#fff}@keyframes badgePop{0%{opacity:0;transform:translateY(6px)scale(.8)}}.step-line{opacity:.32;transition:opacity .35s var(--ease);align-items:center;gap:11px;padding:7px 0;font-size:13px;display:flex}.step-line.on{opacity:1}.step-line .si{width:24px;height:24px;transition:background .3s var(--ease), transform .3s var(--ease-spring);background:#ffffff17;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.step-line.cur .si{color:var(--gold-2);animation:stepPulse 1.1s var(--ease) infinite;background:#d8b8784d;box-shadow:0 0 0 4px #d8b8781f}.step-line.done .si{background:var(--ok);color:#fff;transform:scale(1.04)}.step-line.fail .si{background:var(--bad);color:#fff}@keyframes stepPulse{0%,to{box-shadow:0 0 0 4px #d8b8781f}50%{box-shadow:0 0 0 7px #d8b87808}}.lab-result{border-radius:var(--r-sm);letter-spacing:-.01em;animation:fadeUp .3s var(--ease) both;align-items:center;gap:8px;margin-top:10px;padding:10px 13px;font-size:13.5px;font-weight:800;display:flex}.lab-result.win{color:#b3f0d3;background:#1f9d6b33}.lab-result.lose{color:#f6c8c8;background:#d056562e}.lab-vs{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:80px;display:flex}.lab-vs .vs-circle{letter-spacing:-.02em;color:#1a1529;background:linear-gradient(140deg, var(--gold-2), var(--gold-d));border-radius:50%;place-items:center;width:46px;height:46px;font-size:15px;font-weight:900;display:grid;box-shadow:0 8px 22px -8px #d8b87899}.lab-vs .vs-slot{color:#f2eee69e;text-align:center;font-size:11px;font-weight:700;line-height:1.45}.lab-vs .lab-lock{margin-top:4px}@media (width<=760px){.lab-vs{flex-direction:row;min-width:0}}.lab-lock{background:#00000047;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:12px;font-weight:700;transition:background .3s,border-color .3s;display:inline-flex}.lab-lock.locked{color:#b3f0d3;background:#1f9d6b2e;border-color:#1f9d6b80}.lab-lock.held{color:var(--gold-2);background:#d8b87829;border-color:#d8b87873}.ttl-wrap{border-radius:var(--r-sm);background:#0000002e;border:1px solid #ffffff12;margin-top:16px;padding:11px 14px}.ttl-bar{background:#ffffff1a;border-radius:99px;height:7px;margin-top:8px;overflow:hidden}.ttl-fill{background:linear-gradient(90deg, var(--gold-2), var(--rose));border-radius:99px;height:100%;transition:width .1s linear;box-shadow:0 0 12px #d8b87880}.lab-mech{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid}@media (width<=760px){.lab-mech{grid-template-columns:1fr 1fr}}.mech{border-radius:var(--r-sm);transition:border-color .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), transform .25s var(--ease);background:#ffffff0b;border:1px solid #ffffff17;padding:13px}.mech .mn{color:#f2eee68c;letter-spacing:.02em;font-size:11.5px;font-weight:800;transition:color .3s}.mech .md{color:#f2eee6b8;margin-top:5px;font-size:11.5px;line-height:1.5}.mech.active{background:#d8b87812;border-color:#d8b8788c;transform:translateY(-2px);box-shadow:0 0 0 1px #d8b8784d,0 14px 30px -16px #d8b87866}.mech.active .mn{color:var(--gold-2)}.mech.spent{border-color:#1f9d6b59}.mech.spent .mn{color:#88dcb4}.log{font-family:var(--mono);border-radius:var(--r-sm);background:#00000052;border:1px solid #ffffff14;max-height:176px;padding:13px 14px;font-size:11.5px;line-height:1.8;overflow-y:auto}.log::-webkit-scrollbar{width:8px}.log::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:6px}.log-line{animation:logIn .25s var(--ease) both}@keyframes logIn{0%{opacity:0;transform:translate(-4px)}}.log .lt{color:#f2eee659}.log .lk{color:var(--gold-2)}.log .lg{color:#8fe7ba}.log .lr{color:#f3a3a3}.log .la{color:#c9b6f2}.log .lb{color:#f0c79a}.why-box{color:#f2eee6bd;border-radius:var(--r-sm);background:#0003;border:1px solid #ffffff14;margin-top:16px;padding:14px 16px;font-size:12.5px;line-height:1.65}.why-box b.hi{color:#fff}.why-box b.gold{color:var(--gold-2)}.ledger-hero{color:#f2eee6;background:linear-gradient(135deg,#2c2542,#1a1529);border:1px solid #ffffff0f;position:relative;overflow:hidden}.ledger-hero:before{content:"";pointer-events:none;background:radial-gradient(700px 240px at 88% -20%,#c39a5733,#0000 60%);position:absolute;inset:0}.ledger-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.balance-chip{border-radius:var(--r-sm);color:var(--gold-d);font-variant-numeric:tabular-nums;box-shadow:var(--sh-xs);background:linear-gradient(#fcf7ec,#f3e8cf);border:1px solid #ecdcb6;align-items:center;gap:6px;padding:9px 15px;font-size:13px;font-weight:800;display:inline-flex}.formula{font-family:var(--mono);background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r-sm);color:var(--ink-2);padding:8px 13px;font-size:12px}.formula b{color:var(--gold-d)}.flash td{animation:flashRow 1.6s var(--ease)}@keyframes flashRow{0%{box-shadow:inset 3px 0 0 var(--gold);background:#fff2d6}60%{background:#fff8ea}to{background:0 0}}.bal-pop{animation:balPop .5s var(--ease-spring);display:inline-block}@keyframes balPop{0%{transform:scale(1)}40%{color:var(--gold-d);transform:scale(1.18)}}.modal-back{-webkit-backdrop-filter:blur(4px);z-index:100;animation:fade .22s var(--ease);background:#1a152985;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;max-width:460px;animation:pop .28s var(--ease-spring);border:1px solid var(--line);overflow:hidden}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(14px)scale(.96)}}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:9px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));color:#fff;box-shadow:var(--sh-lg);animation:toastIn .3s var(--ease-spring);border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:9px;padding:12px 19px;font-size:13.5px;font-weight:700;display:flex}.toast .ti{background:var(--ok);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.92)}}.divider{background:var(--line-2);height:1px;margin:14px 0}.kv{justify-content:space-between;gap:12px;padding:6px 0;font-size:13.5px;display:flex}.kv .k{color:var(--ink-3)}.kv .v{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.kv.big .v{font-size:16px}.photo-cell{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);transition:transform .18s var(--ease), box-shadow .2s var(--ease);box-shadow:var(--sh-xs);text-align:left;width:100%;overflow:hidden}.photo-cell:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}.photo-cell .meta{padding:11px 12px}.photo-cell .tags{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.tag{color:var(--plum);background:var(--plum-soft);border:1px solid var(--line-3);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700}.tag.click{cursor:pointer;transition:background .15s,transform .12s}.tag.click:hover{background:#e6def0;transform:translateY(-1px)}.empty{text-align:center;color:var(--ink-3);padding:44px 16px}.empty svg{opacity:.35;width:46px;height:46px;margin-bottom:12px}.cols-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cols-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cols-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1000px){.cols-3,.cols-4{grid-template-columns:1fr 1fr}}@media (width<=560px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}.scroll-x{overflow-x:auto}.steps{align-items:center;margin-bottom:6px;display:flex}.steps .st{color:var(--ink-4);transition:color .25s var(--ease);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.steps .st .n{background:var(--surface-3);border:1px solid var(--line);width:24px;height:24px;transition:all .25s var(--ease);border-radius:50%;place-items:center;font-size:11px;display:grid}.steps .st.on{color:var(--plum)}.steps .st.on .n{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));color:#fff;border-color:var(--plum-d);box-shadow:var(--sh-sm);transform:scale(1.05)}.steps .st.done{color:var(--ok)}.steps .st.done .n{background:var(--ok);color:#fff;border-color:var(--ok)}.steps .sep{background:var(--line);min-width:12px;height:2px;transition:background .3s var(--ease);border-radius:2px;flex:1;margin:0 7px}.steps .sep.done{background:var(--ok)}.chart{align-items:flex-end;gap:8px;height:124px;padding-top:6px;display:flex;position:relative}.chart-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:6px 0 22px}.chart-grid span{border-top:1px dashed var(--line-2);height:0}.chart-col{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex;position:relative}.chart-bar{background:linear-gradient(180deg, var(--gold-2), var(--gold-d));width:76%;max-width:30px;transition:height .5s var(--ease);border-radius:7px 7px 3px 3px;position:relative;box-shadow:0 4px 10px -4px #a07e4066}.chart-bar.today{background:linear-gradient(180deg, var(--plum-2), var(--plum-d));box-shadow:0 4px 10px -4px #2f274680}.chart-bar .cap{color:var(--ink-2);font-size:10.5px;font-weight:800;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.chart-x{color:var(--ink-3);font-size:10px;font-weight:600}.reveal-num{animation:reveal .3s var(--ease)}@keyframes reveal{0%{opacity:0;filter:blur(4px)}}@media (width<=540px){.topbar-inner{flex-wrap:wrap;gap:11px;padding:11px 16px}.roletabs{order:3;justify-content:space-between;width:100%}.roletab{flex:1;justify-content:center;padding:9px 6px}.demo-badge{order:2;margin-left:auto;padding:6px 10px;font-size:10.5px}.main{padding:18px 14px 64px}.lab{border-radius:var(--r-lg);padding:20px 16px}.phone{width:100%;min-height:auto;box-shadow:none;border:none;border-radius:0}.phone-notch{display:none}.stage{padding:0}.h1{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
