:root{--bg:#f1f1f1;--surface:#fff;--elevated:#d8d8d8;--line:#d3d3d3;--line2:#ececec;--off:#e9e9eb;--fg:#121212;--fg2:#4a4a4a;--muted:#666;--icon-off:#c7c5cc;--accent:#573d85;--accent-fg:#fff;--accent-muted:#9e91b6;--tile1:#e6e2ee;--tile2:#d6cfe3;--tile3:#c3b8d6;--hero:#3a3546;--hero2:#534c62;--hero-fg:#fff;--gold:#dfc642;--gold-bg:#faf3d1;--gold-line:#a58a12;--mauve:#9d6c94;--danger:#a4161a;--danger-bg:#fde2e2;--radius:16px;--radius-sm:12px;--radius-btn:14px;--touch:48px;--btn:56px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#121212;--elevated:#292929;--line:#2e2e30;--line2:#232323;--off:#1c1c1e;--fg:#fff;--fg2:#bdbac4;--muted:#9e9aa6;--icon-off:#716e79;--accent:#bda8df;--accent-fg:#1a1424;--accent-muted:#9b8ab6;--tile1:#3a3546;--tile2:#534c62;--tile3:#736b83;--hero:#3a3546;--hero2:#534c62;--hero-fg:#fff;--gold:#dfc642;--gold-bg:#3a3200;--gold-line:#dfc642;--danger:#ff9a9a;--danger-bg:#3a1b1d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#121212;--elevated:#292929;--line:#2e2e30;--line2:#232323;--off:#1c1c1e;--fg:#fff;--fg2:#bdbac4;--muted:#9e9aa6;--icon-off:#716e79;--accent:#bda8df;--accent-fg:#1a1424;--accent-muted:#9b8ab6;--tile1:#3a3546;--tile2:#534c62;--tile3:#736b83;--hero:#3a3546;--hero2:#534c62;--hero-fg:#fff;--gold:#dfc642;--gold-bg:#3a3200;--gold-line:#dfc642;--danger:#ff9a9a;--danger-bg:#3a1b1d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--card:var(--surface);--field:var(--surface);--primary:var(--accent);--primary-fg:var(--accent-fg);--ok:var(--accent);--ok-bg:var(--tile1);--warn-bg:var(--gold-bg);--warn-fg:var(--fg);--accent-line:var(--gold)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);font-size:18px}body{background:var(--bg);color:var(--fg);word-break:keep-all;margin:0;font-family:Gothic A1,system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.45}h1{letter-spacing:-.01em;margin:0 0 .75rem;font-size:28px;font-weight:800}h2{margin:1.25rem 0 .5rem;font-size:22px;font-weight:700}h3{margin:1rem 0 .4rem;font-size:19px;font-weight:700}p{margin:.4rem 0}a{color:var(--accent)}.muted{color:var(--fg2)}.big{letter-spacing:-.02em;font-size:32px;font-weight:800;line-height:1.2}.mid{font-size:22px;font-weight:700;line-height:1.3}.sub{color:var(--fg2);font-size:18px}.card{background:var(--surface);border-radius:var(--radius);margin:.75rem 0;padding:16px}.card.warn{background:var(--gold-bg);border:2px solid var(--gold);border-radius:18px}.card.ok{background:var(--tile1)}.card.hero{background:var(--hero);color:var(--hero-fg);border-radius:22px;padding:20px}.card.hero .muted{color:var(--hero-fg);opacity:.85}.card.hero a{color:var(--hero-fg)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row>*{flex:1 1 0}.actions{flex-wrap:wrap;gap:12px;margin-top:.75rem;display:flex}.actions>*{flex:40%}.rowline{border-top:1px solid var(--line2);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.rowline>.grow{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}button,.btn{min-height:var(--btn);font:inherit;border-radius:var(--radius-btn);border:2px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 1rem;font-size:18px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}button.sec,.btn.sec{background:var(--surface);color:var(--accent)}button.neutral,.btn.neutral{background:var(--surface);color:var(--fg);border-color:var(--line);font-weight:500}button.danger,.btn.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}button.ghost,.btn.ghost{color:var(--hero-fg);border-color:var(--hero-fg);background:0 0}button.dashed,.btn.dashed{background:var(--surface);color:var(--accent);border-style:dashed}button.sm,.btn.sm{border-radius:10px;width:auto;min-height:44px;padding:0 16px;font-size:16px}button.icon,.btn.icon{width:44px;min-height:44px;color:var(--accent);background:0 0;border:0;border-radius:8px;padding:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label:focus-within{outline:3px solid var(--gold);outline-offset:2px}button:disabled{opacity:.5;cursor:default}.seg{gap:8px;display:flex}.seg button{flex:1}.seg button[aria-pressed=false]{background:var(--surface);color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--touch);border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:24px;align-items:center;gap:6px;width:auto;padding:0 14px;font-size:17px;font-weight:500;text-decoration:none;display:inline-flex}.chip[aria-pressed=true],.chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:700}label{margin:.9rem 0 .3rem;font-weight:700;display:block}input,select,textarea{font:inherit;width:100%;min-height:var(--touch);border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);padding:.5rem .75rem}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{vertical-align:middle;width:28px;height:28px;min-height:0;accent-color:var(--accent);margin:0 10px 0 0}textarea{min-height:6rem}.check{min-height:var(--touch);align-items:center;margin:0;padding:6px 0;font-weight:500;display:flex}.stepper{border-top:1px solid var(--line2);align-items:center;gap:10px;min-height:64px;display:flex}.stepper .name{flex:1;font-size:18px;font-weight:500}.stepper button{width:var(--touch);min-height:var(--touch);flex:0 0 var(--touch);border-radius:12px;padding:0;font-size:26px}.stepper input{text-align:center;-moz-appearance:textfield;background:0 0;border:0;flex:0 0 3.2rem;width:3.2rem;min-height:0;padding:0;font-size:24px;font-weight:800}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.tile{border:2px dashed var(--line);background:var(--bg);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100px;margin:0;padding:6px;font-size:16px;font-weight:500;display:flex;position:relative}.tile input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.tile:has(:checked){border:2px solid var(--accent);background:var(--surface)}.tile .avatar{background:var(--off);color:var(--fg2)}.tile:has(:checked) .avatar{background:var(--tile1);color:var(--accent)}.tile .tick{background:var(--accent);width:22px;height:22px;color:var(--accent-fg);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;top:6px;right:6px}.tile:has(:checked) .tick{display:flex}.toggle{min-height:var(--touch);border:2px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.toggle input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.toggle svg{display:none}.toggle:has(:checked){background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.toggle:has(:checked) svg{display:block}.datebox{background:var(--surface);width:92px;height:104px;color:var(--fg);border-radius:18px;flex-direction:column;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.datebox .m{background:var(--accent);width:100%;height:28px;color:var(--accent-fg);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.datebox .d{font-size:44px;font-weight:800;line-height:1.15}.datebox .w{color:var(--accent);font-size:16px;font-weight:700}.datebox.md{border:2px solid var(--accent);border-radius:14px;width:64px;height:72px}.datebox.md .m{height:22px;font-size:14px}.datebox.md .d{font-size:26px;line-height:1.1}.datebox.md .w{font-size:15px}.datebox.sm{background:var(--bg);border-radius:12px;width:56px;height:60px}.datebox.sm .m{display:none}.datebox.sm .d{font-size:24px;line-height:1.1}.datebox.sm .w{font-size:16px}.datebox.on-hero{background:var(--surface)}.avatar{background:var(--tile1);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:inline-flex}.avatar.me{background:var(--accent);color:var(--accent-fg)}.avatar.empty{background:var(--surface);border:2px dashed var(--fg2);color:var(--fg2)}.avatar.lg{width:48px;height:48px;font-size:19px}.avatar.xl{width:68px;height:68px;font-size:28px}.avatars{gap:6px;display:flex}.member{background:var(--hero2);min-height:48px;color:var(--hero-fg);border-radius:24px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:18px;font-weight:700;display:inline-flex}.member .avatar{background:var(--surface);width:36px;height:36px;color:var(--accent);font-size:16px}.status{background:var(--bg);min-height:30px;color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:15px;font-weight:700;display:inline-flex}.status.confirmed{background:var(--accent);color:var(--accent-fg)}.status.pending,.status.cancel_requested{background:var(--gold);color:#121212}.status.need{border:2px dashed var(--fg2);color:var(--fg);background:0 0}.status.light{background:var(--surface);color:var(--accent);min-height:34px;font-size:16px}.tag{background:var(--bg);min-height:28px;color:var(--fg);border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:15px;font-weight:500;display:inline-flex}.tag.fit{background:var(--tile1);color:var(--accent);font-weight:700}.tag.warn{background:var(--gold-bg);font-weight:700}.tag.dim{color:var(--fg2)}.iconbox{background:var(--tile1);width:44px;height:44px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.iconbox.gold{background:var(--gold-bg);color:var(--fg)}.msg{border-radius:var(--radius);background:var(--tile1);color:var(--fg);margin:.75rem 0;padding:.9rem 1rem;font-weight:700}.msg.err{background:var(--danger-bg);color:var(--fg);border:2px solid var(--danger)}.empty{text-align:center;color:var(--fg2);padding:1.5rem 1rem}.sticky{bottom:calc(var(--tabbar,0px) + 8px);background:linear-gradient(transparent, var(--bg) 30%);padding-top:8px;position:sticky}.h-row{align-items:center;gap:8px;display:flex}.h-row h2{margin:0;font-size:20px}.sheet-backdrop{z-index:20;background:#1212128c;position:fixed;inset:0}.sheet{z-index:21;background:var(--surface);max-width:560px;padding:14px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:18px;max-height:92vh;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet:before{content:"";background:var(--line);border-radius:3px;align-self:center;width:44px;height:5px}.sheet h2{margin:0;font-size:26px;font-weight:800;line-height:1.35}.sheet .inner{background:var(--bg);border-radius:18px;flex-direction:column;gap:16px;padding:16px;display:flex}table{border-collapse:collapse;width:100%;font-size:16px}th,td{border-bottom:1px solid var(--line2);text-align:left;vertical-align:top;padding:8px 10px}th{background:var(--bg);font-weight:700}td.need{background:var(--gold-bg)}td.sel{outline:3px solid var(--accent);outline-offset:-3px}.inline{width:auto;display:inline}.grid-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem;display:grid}@media (width>=900px){.desk{max-width:1400px;margin:0 auto}}
