:root{--bg:#f3f0f7;--surface:#fff;--surface-2:#f8f6fb;--ink:#17131a;--ink-2:#57505f;--ink-3:#8a8293;--line:#e3dceb;--plum:#5b2a86;--plum-deep:#3f1c60;--plum-soft:#ebe1f6;--go:#ff6a3d;--on-go:#17131a;--ok:#13795b;--ok-soft:#e1f3eb;--bad:#b42318;--bad-soft:#fbe5e2;--radius:18px;--font:"SUIT Variable", "SUIT", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#141018;--surface:#1d1823;--surface-2:#231d2b;--ink:#f4f0f8;--ink-2:#b9b0c4;--ink-3:#8f8699;--line:#342c3e;--plum:#b08bd8;--plum-deep:#2e2340;--plum-soft:#2e2340;--go:#ff7a50;--ok:#6fd3ad;--ok-soft:#173126;--bad:#f59c93;--bad-soft:#3a1c1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid var(--go);outline-offset:2px;border-radius:8px}.shell{max-width:480px;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:18px;margin:0 auto;display:flex}.top{align-items:center;gap:10px;padding:4px 0;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:8px;font-size:19px;font-weight:800;text-decoration:none;display:inline-flex}.pilot{color:var(--plum);background:var(--plum-soft);border-radius:999px;margin-left:auto;padding:3px 9px;font-size:11.5px;font-weight:700}.hero{flex-direction:column;gap:12px;padding:10px 0 4px;display:flex}.hero h1{letter-spacing:-.03em;text-wrap:balance;font-size:30px;font-weight:800;line-height:1.25}.lede{color:var(--ink-2)}.chip{color:var(--ok);background:var(--ok-soft);border-radius:999px;align-self:flex-start;padding:4px 11px;font-size:13px;font-weight:700}.btn{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn.big{width:100%;padding:14px 18px;font-size:16.5px}.btn.primary{background:var(--go);border-color:var(--go);color:var(--on-go)}.link{color:var(--ink-2);font-size:14px;font-weight:700}.list-block{flex-direction:column;gap:10px;display:flex}.list-block h2,.origin h2{font-size:15px;font-weight:800}.venues{flex-direction:column;gap:8px;list-style:none;display:flex}.venues a{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name tail""meta tail";gap:2px 10px;padding:12px 14px;text-decoration:none;display:grid}.venues b{grid-area:name;font-size:16px}.venues .muted{grid-area:meta}.venues .pts,.venues .rate{color:var(--plum);text-align:right;grid-area:tail;align-self:center;max-width:11em;font-size:14px;font-weight:800}.venues .rate.off{color:var(--ink-3);font-size:12.5px;font-weight:600}.muted{color:var(--ink-3);font-size:13px}.fine{color:var(--ink-2);font-size:13.5px}.origin{background:var(--surface-2);border-radius:var(--radius);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.origin p{color:var(--ink-2);font-size:14px}.store-head{flex-direction:column;gap:4px;display:flex}.eyebrow{color:var(--plum);font-size:13px;font-weight:700}.store-head h1{letter-spacing:-.03em;text-wrap:balance;font-size:27px;font-weight:800;line-height:1.25}.card.stamp{background:linear-gradient(150deg, var(--plum) 0%, var(--plum-deep) 100%);color:#fff;border-radius:22px;flex-direction:column;gap:2px;padding:20px 20px 18px;display:flex;position:relative;overflow:hidden}.card.stamp:after{content:"";border:6px dashed #ffffff2e;border-radius:50%;width:120px;height:120px;position:absolute;top:-26px;right:-26px}.card-label{opacity:.8;font-size:13px;font-weight:700}.balance{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:800;line-height:1.15}.card-sub{opacity:.85;font-size:13px}.actions{flex-direction:column;gap:10px;display:flex}.use{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.use .btn.big{width:auto}.field{background:var(--surface);border:1px solid var(--line);width:100%;min-width:0;font:inherit;color:var(--ink);border-radius:14px;padding:13px 14px}.btn.reserve{background:var(--surface-2)}.entries{flex-direction:column;list-style:none;display:flex}.entries li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:10px 2px;font-size:14.5px;display:grid}.entries li:last-child{border-bottom:0}.entries .plus{color:var(--ok);font-variant-numeric:tabular-nums}.entries .minus{color:var(--ink-2);font-variant-numeric:tabular-nums}.foot{border-top:1px solid var(--line);color:var(--ink-2);flex-direction:column;gap:4px;padding-top:10px;font-size:13px;display:flex}.sheet-back{z-index:20;background:#0f0a1673;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;padding:16px max(16px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-radius:22px 22px 0 0;flex-direction:column;gap:12px;max-height:92vh;display:flex;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-head h2{font-size:18px;font-weight:800}.stack{flex-direction:column;gap:10px;display:flex}.lbl{color:var(--ink-2);font-size:13px;font-weight:700}.msg{border-radius:12px;padding:10px 12px;font-size:14px}.msg.err{background:var(--bad-soft);color:var(--bad)}.code-box{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:8px 0;display:flex}.code-digits{letter-spacing:.08em;font-variant-numeric:tabular-nums;background:var(--surface);border:2px dashed var(--plum);color:var(--plum);border-radius:18px;padding:10px 22px;font-size:52px;font-weight:800}.code-left{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.code-result{color:var(--ok);font-size:26px;font-weight:800}.code-result.muted{color:var(--ink-2);font-size:20px}.code-box.done .btn{margin-top:6px}@media (prefers-reduced-motion:no-preference){.sheet{animation:.18s ease-out rise}@keyframes rise{0%{opacity:.4;transform:translateY(24px)}to{opacity:1;transform:none}}}
