:root{--bg:#f7f4ec;--surface:#ffffff;--text:#1d1d1b;--muted:#6b6a63;--accent:#1f5c4a;--accent-text:#ffffff;--border:#d9d4c5;--danger:#a33a2b;--open:#eef5f1;--taken:#f1ece0;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161714;--surface:#22231f;--text:#f1efe8;--muted:#a6a398;--accent:#5fb596;--accent-text:#0f1b16;--border:#3a3c35;--danger:#e0715f;--open:#1f2b25;--taken:#2a2a24}}:root[data-theme=dark]{--bg:#161714;--surface:#22231f;--text:#f1efe8;--muted:#a6a398;--accent:#5fb596;--accent-text:#0f1b16;--border:#3a3c35;--danger:#e0715f;--open:#1f2b25;--taken:#2a2a24}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent;padding-bottom:env(safe-area-inset-bottom)}a{color:var(--accent)}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:1.6rem}h2{font-size:1.2rem;margin-top:1.5rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + .75rem) 1rem .75rem;background:var(--accent)}.topbar,.topbar a{color:var(--accent-text)}.topbar a{font-weight:600;text-decoration:none}.container{max-width:640px;margin:0 auto;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin:.75rem 0}.muted{color:var(--muted);font-size:.92rem}.error{background:#fbe9e6;color:#7a2115;border-radius:8px;padding:.6rem .8rem;margin:.75rem 0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .error{background:#3a1f1a;color:#f5c1b8}}.notice{background:var(--open);border-radius:8px;padding:.6rem .8rem;margin:.75rem 0}form{margin:0}label{display:block;font-weight:600;margin:.75rem 0 .25rem}input,select,textarea{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.row{display:flex;gap:.5rem;align-items:flex-end}.row>*{flex:1 1}.radio-group{display:flex;gap:.5rem}.radio-group label{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.45rem;font-weight:500;border:1px solid var(--border);border-radius:8px;padding:.8rem .9rem;text-align:center;margin:0;cursor:pointer;white-space:nowrap}.radio-group input{width:auto;margin:0;flex:none}.button,button{display:inline-block;font:inherit;font-weight:600;padding:.7rem 1rem;border-radius:10px;border:none;background:var(--accent);color:var(--accent-text);cursor:pointer;text-decoration:none;text-align:center}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.5;cursor:default}.link-button{background:none;border:none;color:var(--accent-text);font:inherit;padding:.25rem;cursor:pointer}.block{display:block;width:100%;margin-top:.75rem}.small{font-size:.85rem;padding:.35rem .6rem}.inline{display:inline}.list{list-style:none;padding:0;margin:0}.card.list{padding:.25rem 1rem}.list li{padding:.7rem 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:none}.spread{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.1em}.table{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:". north ." "west center east" ". south .";grid-gap:.6rem;gap:.6rem;margin:.75rem 0}.table .seat{background:var(--open);border:1px solid var(--border);border-radius:12px;padding:.7rem .5rem;text-align:center;min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:.35rem}.table .seat.taken{background:var(--taken)}.table .seat.me{outline:2px solid var(--accent)}.table .seat-north{grid-area:north}.table .seat-west{grid-area:west}.table .seat-east{grid-area:east}.table .seat-south{grid-area:south}.table .seat-north,.table .seat-south{min-height:80px}.table .seat-east,.table .seat-west{min-height:150px}.table .center{grid-area:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:.9rem;border:2px dashed var(--border);border-radius:12px;aspect-ratio:1;min-height:110px}.list-plain{padding-left:1.25rem;margin:0}.radio-group.stacked{flex-direction:column}.radio-group.stacked label{justify-content:flex-start}.time-headline{font-weight:600;margin:.75rem 0 .25rem}.time-row{display:flex;align-items:center;gap:.4rem}.time-row select{width:auto;flex:1 1}.time-colon{font-weight:700}.seat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.badge{display:inline-block;font-size:.75rem;padding:.1rem .45rem;border-radius:999px;background:var(--border);color:var(--text)}