@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3efe6;--surface:#fffdf8;--surface-2:#f8f4ec;--ink:#1d1b16;--muted:#6d675b;--line:#e2dbcc;--accent:#d93f35;--pos:#19804a;--pos-bg:#e3f2e8;--neg:#c4362c;--neg-bg:#fae6e3;--warn-bg:#fbf0d6;--warn-line:#e9cf8c;--on-ink:#fffdf8;--shadow:0 1px 2px #281e0a0f, 0 4px 16px #281e0a0f;--radius:16px;--font:"Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121110;--surface:#1b1a18;--surface-2:#232220;--ink:#f2eee6;--muted:#a19b90;--line:#2f2d29;--accent:#ff6157;--pos:#4cc38a;--pos-bg:#15291e;--neg:#ff7066;--neg-bg:#33191a;--warn-bg:#2d2412;--warn-line:#5c4a1f;--on-ink:#121110;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--ink);font-family:var(--font);min-height:100dvh;margin:0;font-size:16px;line-height:1.45}h1,h2,h3{margin:0;font-stretch:112%;line-height:1.15}h2{letter-spacing:-.005em;font-size:1.05rem;font-weight:750}h3{font-size:.95rem;font-weight:700}p{margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}input,select{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;min-height:44px;padding:0 12px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input[aria-invalid=true]{border-color:var(--neg)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{max-width:620px;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.page.has-dock{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.stack{flex-direction:column;gap:16px;display:flex}.stack>section+section,.stack>section{margin-top:8px}.stack-sm{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.center,.center-text{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:16px}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar{z-index:5;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);align-items:center;gap:8px;margin-bottom:8px;display:flex;position:sticky;top:0}.topbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:1.15rem;font-weight:800;overflow:hidden}.topbar-right{gap:4px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.list>li.row,.list .row{min-height:60px;padding:12px 16px}.row.link{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;text-decoration:none}.row.link:hover{background:var(--surface-2)}.list>li:first-child .row.link{border-radius:var(--radius) var(--radius) 0 0}.list>li:last-child .row.link{border-radius:0 0 var(--radius) var(--radius)}.chev{color:var(--muted);font-size:1.4rem;line-height:1}.plain{gap:4px;margin:0;padding:0;list-style:none;display:grid}.note{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:12px;padding:12px 14px}.pill{background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:650;display:inline-flex}.pill.pos{background:var(--pos-bg);color:var(--pos);border-color:#0000}.pill.neg{background:var(--neg-bg);color:var(--neg);border-color:#0000}.pill .num{color:inherit}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:650;text-decoration:none;transition:transform .12s,background .15s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn.ok{background:var(--pos-bg);color:var(--pos);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--neg)}.btn.big{border-radius:14px;width:100%;min-height:54px;font-size:1.05rem}.btn.small{min-height:40px;padding:0 12px;font-size:.9rem}.icon-btn{cursor:pointer;width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:12px;flex-shrink:0;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn.small{width:40px;height:40px;color:var(--muted);font-size:1.3rem}.link-btn{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;min-height:40px;padding:8px 0;text-decoration:underline}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:3px;display:inline-flex}.seg button{cursor:pointer;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:.875rem;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}.pos{color:var(--pos)}.neg{color:var(--neg)}.big-amount{letter-spacing:-.01em;font-size:1.6rem;font-weight:800;font-stretch:112%;display:block}.chip{--c:#888;background:var(--c);color:#fff;text-shadow:0 1px 1px #00000040;background-image:repeating-conic-gradient(from 0deg, #ffffffd9 0 14deg, transparent 14deg 45deg);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:inline-grid;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.chip:before{content:"";background:var(--c);border-radius:50%;position:absolute;inset:16%;box-shadow:0 0 0 1.5px #ffffff8c}.chip{z-index:0;isolation:isolate}.chip:before{z-index:-1}.signin{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.signin-card{flex-direction:column;gap:22px;width:100%;max-width:420px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:-.02em;font-size:2.2rem;font-weight:850;font-stretch:125%}.lede{color:var(--muted);font-size:1.1rem}.demo-ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:8px 16px;list-style:none}.demo-ledger li{grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:9px 0;animation:.5s cubic-bezier(.2,.9,.3,1.2) both rise;display:grid}.demo-ledger li+li{border-top:1px dashed var(--line)}.demo-ledger .sum{font-weight:750;border-top:2px solid var(--ink)!important;animation-delay:.42s!important}.hint{text-align:center;color:var(--muted);font-size:.85rem}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field>span,.field>legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:.85rem;font-weight:650}.field>legend+*{margin-top:0}.check{align-items:center;gap:10px;min-height:44px;display:flex}.check input{width:22px;height:22px;min-height:0;accent-color:var(--ink)}.amount{align-items:center;min-width:0;display:inline-flex;position:relative}.amount-euro{color:var(--muted);pointer-events:none;font-weight:600;position:absolute;left:12px}.amount input{font-variant-numeric:tabular-nums;text-align:right;width:7.5em;padding-left:28px;font-weight:650}.field .amount input{width:100%}.bad input{border-color:var(--neg)}.pick{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.pick-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:99px;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 8px;font-weight:600;display:inline-flex}.pick-item[aria-pressed=true]{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:3px solid var(--surface);width:40px;height:40px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}code.invite{background:var(--surface-2);overflow-wrap:anywhere;border-radius:10px;padding:10px 12px;font-size:.8rem}.live-dot{color:var(--accent);align-items:center;gap:6px;font-size:.85rem;font-weight:750;display:inline-flex}.live-dot:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent)}}.live-card{background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:transform .15s;display:flex}.live-card:active{transform:scale(.99)}.live-card .muted{color:color-mix(in srgb, var(--on-ink) 65%, transparent)}.live-top{justify-content:space-between;display:flex}.live-title{font-size:1.4rem;font-weight:800;font-stretch:115%}.live-bottom{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:6px;display:flex}.live-bank{text-align:right}.chips-row{display:flex}.chips-row .chip+.chip{margin-left:-8px}.chips-row .chip{box-shadow:0 0 0 2px var(--ink)}.pay{align-items:center;gap:4px;padding:6px 10px 6px 6px;display:flex}.pay-main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;padding:6px 10px;display:flex}.pay-main:hover:not(:disabled){background:var(--surface-2)}.pay-main:disabled{cursor:default;color:inherit}.pay-chips{flex-shrink:0;display:flex}.pay-chips .chip+.chip{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}.pay-names{flex-direction:column;flex:1;min-width:0;display:flex}.pay-names>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pay-amount{font-size:1.05rem;font-weight:800}.tick{border:2px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s,color .15s,border-color .15s,transform .12s;display:grid}.tick:hover{border-color:var(--pos);color:var(--pos)}.tick:active{transform:scale(.92)}.tick.on{background:var(--pos);border-color:var(--pos);color:var(--on-ink)}.pay.is-paid .pay-amount{color:var(--muted);text-decoration:line-through}.pay.is-paid .pay-chips,.pay.is-paid .pay-names{opacity:.6}.winner{align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:inline-flex}.rank{text-align:center;width:1.4em;color:var(--muted);font-weight:700}.board-bar{background:var(--surface-2);border-radius:3px;flex-shrink:0;width:100%;max-width:220px;height:6px;margin-top:6px;overflow:hidden}.board-bar.wide{width:100%;max-width:220px;margin-top:6px}.board-bar span{border-radius:3px;height:100%;display:block}.board-bar .pos{background:var(--pos)}.board-bar .neg{background:var(--neg)}.board-net,.result-net{text-align:right;min-width:5.5em;font-weight:800}.result-net{font-size:1.1rem}.claim{border:2px solid var(--ink)}.claim-list{flex-wrap:wrap;gap:8px;display:flex}.bank{flex-direction:column;gap:4px;padding:4px 2px;display:flex}.bank-main{justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;display:flex}.bank-amount{letter-spacing:-.02em;font-size:clamp(2.2rem,10vw,3rem);font-weight:850;font-stretch:118%;line-height:1}.tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.tabs button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:650;display:inline-flex}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tab-badge{background:var(--line);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 6px;font-size:.72rem}.seat{align-items:center;gap:8px;padding:8px 12px 8px 8px;display:flex}.seat-main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;padding:6px 8px;display:flex}.seat-main:hover{background:var(--surface-2)}.seat-text{flex-direction:column;min-width:0;display:flex}.seat-text strong{font-size:1.05rem}.seat.is-out .chip{filter:grayscale(.8);opacity:.6}.btn.buy{background:var(--ink);min-width:84px;min-height:52px;color:var(--on-ink);border-color:var(--ink);font-size:1.05rem;font-weight:800}.dock{z-index:4;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.dock .btn{max-width:588px;margin:0 auto;display:flex}.player-head{align-items:center;gap:20px;display:flex}.mini-log{background:var(--surface-2);border-radius:12px;margin:0;padding:4px 12px;list-style:none}.mini-log li{align-items:center;gap:10px;font-size:.9rem;display:flex}.mini-log li+li{border-top:1px solid var(--line)}.action{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.action select{flex:1}.count-row .amount input{width:6.5em;font-size:1.05rem}.check-sum{flex-direction:column;gap:6px;display:flex}.check-sum.ok{background:var(--pos-bg);border-color:#0000}.check-sum.ok .total{color:var(--pos)}.check-sum.warn{background:var(--warn-bg);border-color:var(--warn-line)}.sum-line{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.sum-line.total{border-top:1px solid;border-color:color-mix(in srgb, var(--ink) 20%, transparent);padding-top:6px;font-weight:800}.log-time{width:3.2em;font-size:.85rem}.token{--c:#888;isolation:isolate;background-color:var(--c);background-image:repeating-conic-gradient(from 0deg, #fffc 0 12deg, transparent 12deg 45deg);box-shadow:inset 0 0 0 1px #00000026, 0 0 0 1px var(--line), 0 1px 2px #00000026;color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;font-weight:850;display:inline-grid;position:relative}.token:before{content:"";z-index:-1;background:var(--c);border-radius:50%;position:absolute;inset:17%;box-shadow:0 0 0 1.5px #fff9}.token.light{color:#1d1b16;background-image:repeating-conic-gradient(from 0deg, #1d1b168c 0 12deg, transparent 12deg 45deg);box-shadow:inset 0 0 0 1px #00000040,0 1px 2px #00000026}.token.light:before{box-shadow:0 0 0 1.5px #1d1b164d}.chip-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:0 16px}.chip-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;list-style:none;display:flex}.chip-card summary::-webkit-details-marker{display:none}.chip-card summary:after{content:"›";color:var(--muted);font-size:1.4rem;transition:transform .2s}.chip-card[open] summary:after{transform:rotate(90deg)}.chip-card summary .muted{text-align:right;flex:1}.chip-card[open]>div{padding-bottom:16px}.chip-card.empty{min-height:52px;color:var(--muted);box-shadow:none;background:0 0;border-style:dashed;justify-content:space-between;align-items:center;text-decoration:none;display:flex}.token-row{display:flex}.token-row .token+.token{margin-left:-6px}.chip-values{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 16px;margin:0;padding:0;list-style:none;display:grid}.chip-values li{align-items:center;gap:10px;min-height:36px;display:flex}.stack-hand{flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}.stack-hand li{align-items:center;gap:6px;font-size:1.1rem;font-weight:800;display:flex}.counter{margin:0;padding:0;list-style:none}.counter li{align-items:center;gap:12px;padding:10px 0;display:flex}.counter li+li{border-top:1px solid var(--line)}.stepper{border:1px solid var(--line);border-radius:12px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.stepper button{background:var(--surface-2);cursor:pointer;border:0;width:44px;height:46px;font-size:1.3rem;font-weight:700}.stepper button:disabled{opacity:.35}.stepper input{text-align:center;font-variant-numeric:tabular-nums;border:0;border-radius:0;width:3.2em;min-height:46px;padding:0 4px;font-weight:750}.counter-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;padding-top:10px;display:flex}.chip-editor{gap:8px;margin:0;padding:0;list-style:none;display:grid}.chip-editor li{align-items:center;gap:8px;display:flex}.chip-editor select{flex:1;min-width:0}.chip-editor .amount input{width:6.2em}.count-chips{color:var(--muted);margin-left:-6px}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;color:var(--ink);border:0;border-radius:22px 22px 0 0;margin:auto auto 0;padding:0;box-shadow:0 -10px 40px #0003}.sheet[open]{animation:.28s cubic-bezier(.2,.9,.3,1) sheet-up}.sheet::backdrop{background:#0a080473;animation:.2s fade}@media (width>=700px){.sheet{border-radius:22px;margin:auto}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes fade{0%{opacity:0}}.sheet-body{padding:8px 18px calc(20px + env(safe-area-inset-bottom))}.sheet-head{z-index:1;background:var(--surface);justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 0;display:flex;position:sticky;top:0}.sheet-head h2{font-size:1.25rem;font-weight:800}.pay-headline{flex-direction:column;align-items:center;font-weight:650;display:flex}.qr{aspect-ratio:1;background:#fff;border-radius:16px;place-items:center;width:min(280px,100%);margin:0 auto;padding:8px;display:grid}.qr img{width:100%;height:100%;image-rendering:pixelated}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:50;background:var(--ink);max-width:calc(100vw - 32px);color:var(--on-ink);border-radius:14px;align-items:center;gap:14px;padding:10px 10px 10px 18px;font-size:.95rem;animation:.25s rise;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.toast:not(:has(button)){padding-right:18px}.toast button{background:color-mix(in srgb, var(--on-ink) 16%, transparent);color:inherit;cursor:pointer;border:0;border-radius:10px;min-height:40px;padding:0 14px;font-weight:750}.loading{min-height:60dvh;color:var(--muted);align-content:center;place-items:center;gap:12px;display:grid}.spinner{border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.display{font-size:1.8rem;font-weight:850;font-stretch:120%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
