:root{--ink:#14110d;--ink2:#3a332a;--paper:#f7f2e7;--card:#fffdf8;--muted:#7a7060;--line:#14110d1f;--marigold:#e8b23a;--marigold-ink:#7a5504;--chili:#d6452b;--green:#2f7d52;--serif:"Bodoni Moda", Georgia, serif;--sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono:"Space Mono", ui-monospace, Menlo, monospace;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:18px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--paper);overscroll-behavior:none;margin:0}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input{font:inherit}.app{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.pad{padding:24px}.muted{color:var(--muted)}.fine{color:var(--muted);margin-top:12px;font-size:.78rem}.error{color:var(--chili);font-weight:600}.header{padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--card);z-index:10;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.headerLeft{padding:6px 0}.brand,.back{font-family:var(--mono);letter-spacing:.22em;font-size:.72rem}.brand{color:var(--muted)}.back{color:var(--marigold-ink);font-weight:700}.headerRight{align-items:center;gap:12px;display:flex}.venue{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:40vw;font-size:.85rem;overflow:hidden}.iconBtn{min-width:44px;min-height:44px;color:var(--muted);font-size:1.4rem}.dot{border-radius:999px;flex:none;width:9px;height:9px;display:inline-block}.dot-live{background:var(--green)}.dot-connecting{background:var(--marigold);animation:1.2s ease-in-out infinite pulse}.dot-offline{background:var(--chili)}@keyframes pulse{50%{opacity:.3}}.pair{place-items:center;min-height:100dvh;padding:24px;display:grid}.pairCard{background:var(--card);border:1px solid var(--line);border-radius:18px;width:min(460px,100%);padding:32px}.kicker{font-family:var(--mono);letter-spacing:.3em;color:var(--chili);margin:0 0 12px;font-size:.7rem}.pairCard h1{font-family:var(--serif);margin:0 0 8px;font-size:2rem;font-weight:400}.lead{color:var(--muted);margin:0 0 24px;line-height:1.5}.codeInput{width:100%;font-family:var(--mono);letter-spacing:.35em;text-align:center;border:2px solid var(--marigold);background:var(--paper);border-radius:12px;margin-bottom:12px;padding:16px 12px;font-size:2.4rem}.textInput{border:1px solid var(--line);background:var(--paper);border-radius:12px;width:100%;margin-bottom:16px;padding:14px 16px}.primary{background:var(--marigold);width:100%;min-height:56px;color:var(--ink);border-radius:12px;padding:0 24px;font-weight:700}.primary:disabled{opacity:.45}.ghost{border:1px solid var(--line);min-height:56px;color:var(--ink2);background:var(--card);border-radius:12px;padding:0 22px}.ghost.small{min-height:40px;padding:0 14px;font-size:.85rem}.danger{min-height:56px;color:var(--chili);border:1px solid #d6452b59;border-radius:12px;margin-left:12px;padding:0 22px}.statusBar{border-bottom:1px solid var(--line);padding:14px 20px;font-weight:600}.statusWaiting{color:var(--chili)}.statusClear{color:var(--muted)}.floor{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;padding:20px;display:grid}.table{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:128px;padding:18px;transition:transform 80ms;display:flex;position:relative}.table:active{transform:scale(.98)}.tableLabel{font-family:var(--serif);font-size:2rem;line-height:1}.tableMeta{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);font-size:.7rem}.table-free{opacity:.6}.table-open{border-color:#14110d40}.table-pending{border:2px solid var(--marigold);background:#fff8e6}.table-pending .tableMeta{color:var(--marigold-ink);font-weight:700}.table-stale{border-style:dashed}.staleHint{font-family:var(--mono);letter-spacing:.1em;color:var(--chili);text-transform:uppercase;font-size:.62rem}.badge{background:var(--chili);color:#fff;border-radius:999px;place-items:center;min-width:34px;height:34px;padding:0 8px;font-weight:700;display:grid;position:absolute;top:12px;right:12px}.ticket{max-width:900px;margin:0 auto;padding:20px}.ticketHead{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.ticketHead h1{font-family:var(--serif);margin:0 0 4px;font-size:2rem;font-weight:400}.langChip{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--line);color:var(--ink2);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.66rem}.sectionTitle{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:24px 0 12px;font-size:.72rem}.round{border:1px solid var(--line);border-left:4px solid var(--marigold);background:var(--card);border-radius:14px;margin-bottom:14px;padding:18px}.roundHead{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:.82rem;display:flex}.roundSeq{font-family:var(--mono);letter-spacing:.1em;color:var(--ink2);font-weight:700}.roundWho{color:var(--ink);font-weight:600}.guestTag{font-family:var(--mono);letter-spacing:.14em;border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:.6rem}.line,.aggLine{border-bottom:1px dashed var(--line);grid-template-columns:46px 1fr auto;align-items:baseline;gap:10px;padding:8px 0;display:grid}.line:last-of-type{border-bottom:none}.lineQty,.aggQty{font-family:var(--mono);font-size:1.05rem;font-weight:700}.lineName,.aggName{font-size:1.05rem}.lineVariant,.aggVariant{color:var(--muted);font-size:.85rem}.linePrice,.aggPrice{font-family:var(--mono);color:var(--muted);font-size:.9rem}.lineNote,.aggNotes{color:var(--chili);grid-column:2/-1;font-size:.85rem;font-weight:600}.lineNote-auto{color:var(--ink2);font-weight:400}.lineNoteOriginal{color:var(--muted);font-size:.78rem}.roundNote{color:var(--chili);margin:10px 0 0;font-size:.9rem}.roundActions{gap:12px;margin-top:16px;display:flex}.roundActions .primary{flex:1;width:auto}.aggHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.aggregate{font-family:var(--mono);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.aggLine:last-child{border-bottom:none}.settings{grid-template-columns:auto 1fr;align-items:baseline;gap:10px 24px;margin:20px 0 28px;display:grid}.settings dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.settings dd{margin:0}
