body{min-height:100svh;display:flex;flex-direction:column;background:var(--k-bg)}
.tt-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;border-bottom:var(--k-line)}
.tt-top h1{font-size:var(--k-step-1);margin:0;font-weight:700;flex:1}
.tt-brand{color:var(--k-muted);text-decoration:none;font-size:14px}
.tt-tabs{display:inline-flex;background:var(--k-surface-2);border-radius:999px;padding:3px;gap:2px}
.tt-tabs button{border:0;background:none;padding:8px 18px;border-radius:999px;font-weight:650;color:var(--k-ink-2);min-height:40px}
.tt-tabs button[aria-selected=true]{background:var(--k-surface);color:var(--k-accent-ink);box-shadow:var(--k-shadow-1)}
.tt-main{flex:1;display:flex;gap:16px;padding:16px;min-height:0;max-width:1400px;width:100%;margin:0 auto}
.tt-roster{flex:0 0 240px;display:flex;flex-direction:column;gap:8px}
.tt-roster[hidden]{display:none}
.tt-roster textarea{flex:1;min-height:200px;font-size:16px;line-height:1.5}
.tt-stage{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;align-items:stretch}
.tt-stage[hidden]{display:none}
.tt-center{justify-content:center;text-align:center}
.tt-inline{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.tt-inline input[type=number]{width:74px;inline-size:74px;min-block-size:40px;padding:6px 8px}
.tt-big{min-height:52px;padding:0 28px;font-size:18px}
.tt-clock{flex:1;display:flex;align-items:center;justify-content:center;font-size:clamp(5rem,24vw,22rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--k-ink);min-height:30vh}
.tt-clock.warn{color:var(--k-accent-ink)}
.tt-clock.done{color:var(--k-danger);animation:tt-flash 1s steps(2) 6}
@keyframes tt-flash{50%{opacity:.25}}
.tt-bar{height:8px;background:var(--k-surface-2);border-radius:999px;overflow:hidden}
.tt-bar i{display:block;height:100%;width:100%;background:var(--k-accent-fill);transition:width .25s linear}
:fullscreen #timer{background:var(--k-bg);padding:24px;justify-content:center}
:fullscreen #presets{display:none}
.tt-picked{flex:1;min-height:30vh;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(3rem,11vw,9rem);font-weight:800;letter-spacing:-.02em;word-break:keep-all}
.tt-picked.spin{color:var(--k-muted)}
.tt-history{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;margin:0;padding:0;color:var(--k-muted)}
.tt-history li{background:var(--k-surface-2);border-radius:999px;padding:3px 12px;font-size:14px}
.tt-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;overflow:auto}
.tt-group{border:var(--k-line);border-radius:var(--k-radius);padding:10px 14px;background:var(--k-surface)}
.tt-group b{display:block;color:var(--k-accent-ink);margin-bottom:4px}
.tt-group span{display:block;line-height:1.55}
.tt-front{margin:0 auto;padding:4px 40px;background:var(--k-surface-2);border-radius:8px;font-weight:700;color:var(--k-ink-2)}
.tt-seats{display:grid;gap:6px;overflow:auto}
.tt-seat{border:var(--k-line);background:var(--k-surface);border-radius:10px;min-height:52px;padding:4px;font-weight:650;word-break:keep-all;color:var(--k-ink)}
.tt-seat.empty{background:none;border-style:dashed;color:var(--k-muted);font-weight:400}
.tt-seat.sel{border-color:var(--k-accent);box-shadow:0 0 0 2px var(--k-accent)}
@media(max-width:760px){.tt-main{flex-direction:column;padding:12px}.tt-roster{flex:none}.tt-roster textarea{min-height:110px;flex:none}.tt-top h1{flex:1 1 100%}.tt-tabs{width:100%}.tt-tabs button{flex:1;padding:8px 4px}}
@media print{.tt-top,.tt-roster,.k-cluster,.k-hint{display:none!important}.tt-seat{border:1px solid #000}}
@media(prefers-reduced-motion:reduce){.tt-clock.done{animation:none}.tt-bar i{transition:none}}
