@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@700&family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap";.tcv2{--bg:#e3eae2;--fg:#14201a;--fg-2:#3d4f45;--fg-3:#5f7067;--glass:#ffffffbd;--glass-2:#fffffff2;--sky-pane:#ffffffe0;--edge:#14201a1a;--edge-2:#14201a38;--hi:#ffffffe6;--accent:#4b6600;--primary:linear-gradient(180deg,#e9fc78,#cfe93a);--primary-ink:#172108;--glow:#d8f34a8c;--good:#2d7a4f;--good-bg:#2d7a4f1f;--amber:#b9552f;--amber-bg:#b9552f1f;--bad:#a5322d;--bad-bg:#b9433b1a;--taken:#14201a14;--t-mint:#d2ecd4;--t-ink:#1d2b22;--shadow:0 18px 40px -30px #0a1e1461;--court-out:#387a601a;--court-in:#2f6f8f21;--court-line:#ffffffd9;--court-glow:#d8f34a4d;--coralglow:1;--a1:#6ebe8c6b;--a2:#5a96be57;--a3:#d8f34a33;--sky:#c8deec59;--font-display:"Be Vietnam Pro", "Manrope", system-ui, sans-serif;--font-ui:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.2,.8,.2,1);--spring-l:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);--r:16px;--r-ctl:10px;--rcpt-bg:#fff;--rcpt-ink:#182018;--rcpt-mute:#69736c;--rcpt-label:#505750;--rcpt-line:#eceeec;--rcpt-chip:#f0f2f3;--rcpt-detail:#3b7794;--rcpt-bad:#b3191f;--rcpt-warn:#9c6a10;--rcpt-ok:#276b4d;--rcpt-total:#b73535;--qr-bg:#fff;--qr-ink:#111;--hold-fill:#0000001f;--btn-hi:#ffffff80;--spin-track:#3a121340;--star:#fff9;--bloom:radial-gradient(circle, #d8f34a80, #2f6f8f47 50%, transparent 70%);--backdrop-glow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tcv2{--bg:#0b1512;--fg:#eef3ea;--fg-2:#bfcbc1;--fg-3:#8d9c92;--glass:#101e1acc;--glass-2:#182a24f2;--sky-pane:#101e1ae6;--edge:#ffffff1a;--edge-2:#ffffff38;--hi:#ffffff12;--accent:#d8f34a;--glow:#d8f34a52;--good:#7fd49a;--good-bg:#7fd49a24;--amber:#f0a37a;--amber-bg:#f0a37a24;--bad:#ff8c82;--bad-bg:#ff8c8224;--taken:#ffffff12;--t-mint:#24493a;--t-ink:#eef3ea;--shadow:0 18px 40px -30px #000000b3;--court-out:#1e5a3c38;--court-in:#1e466e42;--court-line:#ffffff29;--court-glow:#d8f34a29;--coralglow:1;--hold-fill:#ffffff24;--a1:#46a07842;--a2:#3c78b442;--a3:#d8f34a17;--sky:#1e3c5059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark] .tcv2{--bg:#0b1512;--fg:#eef3ea;--fg-2:#bfcbc1;--fg-3:#8d9c92;--glass:#101e1acc;--glass-2:#182a24f2;--sky-pane:#101e1ae6;--edge:#ffffff1a;--edge-2:#ffffff38;--hi:#ffffff12;--accent:#d8f34a;--glow:#d8f34a52;--good:#7fd49a;--good-bg:#7fd49a24;--amber:#f0a37a;--amber-bg:#f0a37a24;--bad:#ff8c82;--bad-bg:#ff8c8224;--taken:#ffffff12;--t-mint:#24493a;--t-ink:#eef3ea;--shadow:0 18px 40px -30px #000000b3;--court-out:#1e5a3c38;--court-in:#1e466e42;--court-line:#ffffff29;--court-glow:#d8f34a29;--coralglow:1;--hold-fill:#ffffff24;--a1:#46a07842;--a2:#3c78b442;--a3:#d8f34a17;--sky:#1e3c5059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tcv2,.tcv2 *,.tcv2 :before,.tcv2 :after{box-sizing:border-box}.tcv2{isolation:isolate;min-height:100vh;background:var(--bg);min-height:100dvh;color:var(--fg-2);font:400 16px/1.5 var(--font-ui);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}.tcv2 h1,.tcv2 h2,.tcv2 h3{font-family:var(--font-display);color:var(--fg);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700}.tcv2 p{margin:0}.tcv2 button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.tcv2 button:disabled{cursor:default}.tcv2 input{font:inherit}.tcv2 a{color:var(--accent);-webkit-tap-highlight-color:transparent;text-decoration:none}.tcv2 :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tcv2 .tcv2-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tcv2 svg.tcv2-i{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.tcv2 .tcv2-mono{font-family:var(--font-mono);font-weight:500}.tcv2-aurora{pointer-events:none;z-index:0;background:var(--bg);position:fixed;inset:0;overflow:hidden}.tcv2-aurora:before{content:"";background:linear-gradient(180deg, var(--sky), transparent 55%);position:absolute;inset:0}.tcv2-aurora .rb{will-change:transform, opacity;border-radius:50%;width:160%;position:absolute;left:-30%}.tcv2-aurora .r1{background:radial-gradient(50% 50% at 50% 50%, var(--a1), transparent 78%);height:44%;animation:26s ease-in-out infinite alternate tcv2-drift1;top:-8%}.tcv2-aurora .r2{background:radial-gradient(50% 50% at 50% 50%, var(--a2), transparent 78%);height:46%;animation:33s ease-in-out infinite alternate tcv2-drift2;top:22%}.tcv2-aurora .r3{background:radial-gradient(50% 50% at 50% 50%, var(--a3), transparent 78%);height:40%;animation:29s ease-in-out infinite alternate tcv2-drift3;top:52%}.tcv2-aurora .glow{display:none}.tcv2-aurora.quiet .rb{opacity:.7}@keyframes tcv2-drift1{0%{opacity:.85;transform:translate(-6%,-4%)rotate(-6deg)}to{opacity:1;transform:translate(6%,5%)rotate(5deg)}}@keyframes tcv2-drift2{0%{opacity:.9;transform:translate(5%,3%)rotate(4deg)}to{opacity:1;transform:translate(-7%,-5%)rotate(-5deg)}}@keyframes tcv2-drift3{0%{opacity:.8;transform:translate(-3%,6%)scale(1.02)}to{opacity:1;transform:translate(4%,-6%)scale(.98)}}.tcv2-stage{z-index:1;min-height:100vh;place-items:center;min-height:100dvh;padding:20px 16px;display:grid;position:relative}.tcv2-pane{-webkit-backdrop-filter:blur(18px)saturate(1.15);background:var(--sky-pane);border:1px solid var(--edge);border-radius:var(--r);box-shadow:inset 0 1px 0 var(--hi), var(--shadow);position:relative}.tcv2-card{width:100%;max-width:380px;animation:tcv2-rise .5s var(--ease) both;padding:26px 22px 22px}@keyframes tcv2-rise{0%{opacity:0;transform:translateY(10px)}}.tcv2-brand{color:var(--fg-3);align-items:center;gap:10px;margin-bottom:18px;font-size:13px;display:flex}.tcv2-brand b{color:var(--fg);font-weight:600}.tcv2-logo{background:var(--t-mint);width:32px;height:32px;color:var(--t-ink);border-radius:10px;flex:none;place-items:center;display:grid}.tcv2-logo svg{width:18px;height:18px}.tcv2-h1{font-size:26px;line-height:1.15}.tcv2-sub{color:var(--fg-3);margin-top:6px;font-size:14px}.tcv2-field{margin-top:14px;display:block}.tcv2-field .l{color:var(--fg);margin-bottom:6px;font-size:13.5px;font-weight:600;display:block}.tcv2-field .hint{color:var(--fg-3);margin-top:6px;font-size:12.5px;display:block}.tcv2-inp{position:relative}.tcv2-inp input{border-radius:var(--r-ctl);border:1px solid var(--edge-2);background:var(--glass-2);width:100%;min-height:48px;color:var(--fg);padding:0 14px;font-size:16px}.tcv2-inp input.pw{padding-right:56px}.tcv2-inp input::placeholder{color:var(--fg-3);opacity:1}.tcv2-inp input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.tcv2-inp input[aria-invalid=true]{border-color:var(--bad)}.tcv2-inp input:disabled{opacity:.6}.tcv2-eye{min-width:44px;min-height:44px;color:var(--fg-3);border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.tcv2-eye:hover{color:var(--fg)}.tcv2-alert{border-radius:var(--r-ctl);background:var(--bad-bg);color:var(--bad);align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.tcv2-alert svg{margin-top:2px}.tcv2-btn{border-radius:var(--r-ctl);min-height:44px;transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s, color .15s, border-color .15s;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.tcv2 .tcv2-btn{padding:0 18px}.tcv2-btn:active:not(:disabled){transition-duration:80ms;transform:scale(.96)}.tcv2-btn:not(:active){transition-timing-function:var(--spring-l);transition-duration:.45s}.tcv2-btn.block{width:100%;min-height:52px;margin-top:18px;font-size:16px}.tcv2-btn.primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 8px 20px -10px var(--glow), inset 0 1px 0 var(--btn-hi)}.tcv2-btn.primary:hover:not(:disabled){box-shadow:0 12px 26px -10px var(--glow), inset 0 1px 0 var(--btn-hi);transform:translateY(-1px)}.tcv2-btn.secondary{background:var(--glass-2);border-color:var(--edge-2);color:var(--fg)}.tcv2-btn.secondary:hover:not(:disabled){border-color:var(--fg-3)}.tcv2-btn:disabled{opacity:.55}.tcv2-spin{border:2px solid var(--spin-track);border-top-color:var(--primary-ink);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite tcv2-spin}@keyframes tcv2-spin{to{transform:rotate(360deg)}}.tcv2-consent{color:var(--fg-3);text-align:center;margin-top:16px;font-size:13px;line-height:1.45}.tcv2 details.tcv2-details{color:var(--fg-3);margin-top:6px;font-size:13px}.tcv2 details.tcv2-details>summary{cursor:pointer;text-align:center;color:var(--accent);min-height:36px;padding:8px 0;font-weight:600;list-style:none;display:block}.tcv2 details.tcv2-details>summary::-webkit-details-marker{display:none}.tcv2-details .body{padding:4px 2px 2px;line-height:1.5}.tcv2-details .body p+p{margin-top:10px}.tcv2-details .optout{min-height:44px;color:var(--fg-3);text-underline-offset:4px;margin-top:12px;padding:10px 0;font-size:13.5px;text-decoration:underline;display:block}.tcv2-details .optout:hover:not(:disabled){color:var(--fg)}.tcv2-other{border-top:1px solid var(--edge);color:var(--fg-3);margin-top:10px;padding-top:4px;font-size:13px}.tcv2-other>summary{cursor:pointer;text-align:center;min-height:40px;color:var(--fg-3);padding:10px 0 8px;font-weight:600;list-style:none}.tcv2-other>summary::-webkit-details-marker{display:none}.tcv2-other select{border-radius:var(--r-ctl);border:1px solid var(--edge-2);background:var(--glass-2);width:100%;min-height:44px;color:var(--fg);font:inherit;margin-top:6px;padding:0 12px}.tcv2-other .row{align-items:flex-start;gap:10px;margin-top:12px;line-height:1.4;display:flex}.tcv2-other .row input{width:18px;height:18px;accent-color:var(--accent);flex:none;min-height:0;margin-top:3px}.tcv2-other a.chat{margin-top:8px;padding:10px 0;font-weight:600;display:inline-block}.tcv2-done{text-align:center;overflow:hidden}.tcv2-done .tcv2-brand{text-align:left}.tcv2-check{background:var(--good-bg);width:72px;height:72px;color:var(--good);border-radius:50%;place-items:center;margin:4px auto 16px;display:grid;position:relative}.tcv2-check svg{stroke-width:2.2px;width:30px;height:30px;position:relative}.tcv2-check:before{content:"";background:var(--bloom);animation:tcv2-bloom 1.4s var(--ease) both;pointer-events:none;border-radius:50%;position:absolute;inset:-34px}@keyframes tcv2-bloom{0%{opacity:0;transform:scale(.6)}40%{opacity:1}to{opacity:0;transform:scale(1.4)}}.tcv2-done .ok{color:var(--good);margin-top:10px;font-weight:600}.tcv2-done .grey{color:var(--fg-3);margin-top:8px;font-size:14px}.tcv2-done .tcv2-btn.block{margin-top:22px}.tcv2-done .quiet{color:var(--fg-3);text-underline-offset:4px;margin-top:12px;padding:10px 0;font-size:13.5px;text-decoration:underline;display:block}.tcv2-done .quiet:hover{color:var(--fg)}.tcv2-wallet{z-index:1;min-height:100vh;min-height:100dvh;padding:18px 16px 40px;position:relative}.tcv2-col{width:100%;max-width:520px;margin:0 auto}.tcv2-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tcv2-bar a,.tcv2-bar button.tcv2-btn{min-height:44px}.tcv2-bar a.back{color:var(--fg-2);align-items:center;gap:6px;padding:0 4px;font-size:14px;font-weight:600;display:inline-flex}.tcv2-lane{font:600 10.5px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);justify-content:space-between;margin:22px 2px 8px;display:flex}.tcv2-list{padding:4px}.tcv2-rowbtn{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;transition:background .2s;display:flex}.tcv2-rowbtn:hover:not(:disabled){background:var(--taken)}.tcv2-rowbtn:disabled{opacity:.55}.tcv2-rowbtn+.tcv2-rowbtn{margin-top:2px}.tcv2-rowbtn .mark{background:var(--t-mint);width:40px;height:40px;color:var(--t-ink);border-radius:50%;flex:none;place-items:center;display:grid}.tcv2-rowbtn .name{color:var(--fg);white-space:nowrap;font-size:14px;font-weight:600;display:block}@media (max-width:440px){.tcv2-rowbtn .mark{display:none}.tcv2-rowbtn .go{font-size:13px}}.tcv2-rowbtn .name .tcv2-mono{font-weight:600}.tcv2-rowbtn .sub{color:var(--fg-3);margin-top:1px;font-size:13.5px;display:block}.tcv2-rowbtn .go{color:var(--accent);white-space:nowrap;margin-left:auto;font-size:13.5px;font-weight:600}.tcv2-note{color:var(--fg-3);padding:18px;font-size:14px;line-height:1.5}.tcv2-status{color:var(--fg-2);align-items:center;gap:10px;margin-top:14px;padding:14px 16px;font-size:14px;display:flex}.tcv2-help{text-align:center;margin-top:18px}.tcv2-help .lead{color:var(--fg);font-weight:600}.tcv2-help .small{color:var(--fg-3);margin-top:10px;font-size:12.5px}.tcv2-help .tcv2-btn{margin-top:12px}.tcv2-receipt{background:var(--rcpt-bg);color:var(--rcpt-ink);border:1px solid var(--edge);box-shadow:var(--shadow);font-family:var(--font-ui);animation:tcv2-rise .5s var(--ease) both;border-radius:12px;padding:22px 20px}.tcv2-receipt h1{color:var(--rcpt-ink);text-align:center;font-size:22px}.tcv2-receipt h2{color:var(--rcpt-ink);font:700 15px/1.3 var(--font-ui);letter-spacing:0;margin-top:22px}.tcv2-receipt h3{color:var(--rcpt-ink);font:700 15.5px/1.3 var(--font-ui);letter-spacing:0}.tcv2-receipt .src{text-align:center;color:var(--rcpt-mute);margin-top:6px;font-size:12px}.tcv2-receipt .cancelled{border:2px solid var(--rcpt-bad);text-align:center;color:var(--rcpt-bad);border-radius:6px;margin-top:16px;padding:10px;font-weight:700}.tcv2-receipt .slot{border-bottom:1px solid var(--rcpt-line);gap:14px;padding:16px 0;display:flex}.tcv2-receipt .slot .ic{background:var(--rcpt-chip);width:60px;height:60px;color:var(--rcpt-mute);border-radius:8px;flex:none;place-items:center;font-size:24px;display:grid}.tcv2-receipt .slot .qty{color:var(--rcpt-mute);white-space:nowrap;font-size:12px}.tcv2-receipt .slot .det{color:var(--rcpt-detail);margin-top:8px;font-size:14.5px;line-height:1.55}.tcv2-receipt .slot .det .tcv2-mono{font-weight:600}.tcv2-receipt .slot .amt{font-size:15px;font-weight:700;font-family:var(--font-mono);margin-top:10px}.tcv2-receipt dl{gap:14px;margin:14px 0 0;font-size:14.5px;display:grid}.tcv2-receipt dl>div{justify-content:space-between;gap:18px;display:flex}.tcv2-receipt dt{color:var(--rcpt-label)}.tcv2-receipt dd{text-align:right;overflow-wrap:anywhere;max-width:62%;margin:0;font-weight:600}.tcv2-receipt dd.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-weight:600}.tcv2-receipt dd.unpaid{color:var(--rcpt-warn)}.tcv2-receipt dd.cancelled-s{color:var(--rcpt-bad)}.tcv2-receipt dd.unknown{color:var(--rcpt-mute)}.tcv2-receipt dd.paid{color:var(--rcpt-ok)}.tcv2-receipt dd.fallback{color:var(--rcpt-mute)}.tcv2-receipt .total{border-top:1px solid var(--rcpt-line);background:var(--rcpt-chip);border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;margin-top:22px;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.tcv2-receipt .total .tcv2-mono{color:var(--rcpt-total);font-size:18px;font-weight:600}.tcv2-receipt .foot{text-align:center;color:var(--rcpt-mute);margin-top:14px;font-size:11px}.tcv2-handoff{z-index:100;position:fixed;inset:0;overflow-y:auto}.tcv2 .tcv2-quietbtn{width:100%;color:var(--fg-3);text-underline-offset:4px;margin-top:8px;font-weight:500;text-decoration:underline;display:flex}.tcv2 .tcv2-hold{border-radius:var(--r-ctl);border:1px dashed var(--edge-2);width:100%;min-height:44px;color:var(--fg-3);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:14px;font-size:13px;font-weight:600;display:block;position:relative;overflow:hidden}.tcv2-hold .fill{background:var(--hold-fill);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.tcv2-hold.holding .fill{transition:transform 1.1s linear;transform:scaleX(1)}.tcv2-hold .txt{position:relative}.tcv2-embed.tcv2{isolation:auto;background:0 0;min-height:0;overflow:visible}.tcv2-invite-pane{text-align:center;max-width:380px;margin:0 auto;padding:22px 20px}.tcv2-invite-title{font-size:20px}.tcv2-qr{background:var(--qr-bg);border:1px solid var(--edge);width:min(100%,264px);box-shadow:var(--shadow);border-radius:14px;margin:18px auto 0;padding:6px}.tcv2-qr svg{width:100%;height:auto;display:block}.tcv2-qr .qr-bg{fill:var(--qr-bg)}.tcv2-qr .qr-ink{fill:var(--qr-ink)}.tcv2-qr-hint{color:var(--fg-3);margin-top:10px;font-size:13px}.tcv2-linkline{color:var(--fg-2);overflow-wrap:anywhere;border-radius:var(--r-ctl);background:var(--taken);margin-top:12px;padding:8px 10px;font-size:12.5px}.tcv2-invite-actions{gap:10px;margin-top:14px;display:flex}.tcv2-invite-actions .tcv2-btn{flex:1;min-height:48px}.tcv2-qr-note{min-height:1.4em;color:var(--good);overflow-wrap:anywhere;margin-top:8px;font-size:13px}[data-calm] .tcv2,[data-calm] .tcv2 *,[data-calm] .tcv2 :before,[data-calm] .tcv2 :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.tcv2,.tcv2 *,.tcv2 :before,.tcv2 :after{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.tcv2-pane{background:var(--glass-2)}}@media print{.tcv2,.tcv2-wallet{background:var(--rcpt-bg)!important;min-height:0!important;padding:0!important}.tcv2-aurora,.tcv2-noprint{display:none!important}.tcv2-receipt{box-shadow:none!important;border:0!important;max-width:520px!important;animation:none!important}}.tcv2-done .tcv2-sub{margin-top:10px}@media (prefers-reduced-transparency:reduce){.tcv2-pane{-webkit-backdrop-filter:none;background:var(--glass-2)}}.tcv2{--control-stroke:#708277;--wallet-alert:#f5eae8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tcv2{--control-stroke:#849d90;--wallet-alert:#332b2a}}:root[data-theme=dark] .tcv2{--control-stroke:#849d90;--wallet-alert:#332b2a}.tcv2-inp input,.tcv2-other select{border-color:var(--control-stroke)}.tcv2-wallet .tcv2-sub,.tcv2-wallet .tcv2-lane,.tcv2-help .small,.tcv2-hold .txt{color:var(--fg-2)}.tcv2-wallet .tcv2-alert{background:var(--wallet-alert)}
