:root{color-scheme:light dark;--bg: #f6f7f9;--surface: #ffffff;--border: #e3e6eb;--text: #1c2330;--muted: #6b7484;--accent: #2563eb;--accent-soft: #e8efff;--danger: #d63c3c;--ok: #1f8a4c;--radius: 10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}@media(prefers-color-scheme:dark){:root{--bg: #14171c;--surface: #1c2027;--border: #2c323c;--text: #e6e9ee;--muted: #9099a8;--accent: #5b8cff;--accent-soft: #1f2a44;--danger: #ef6464;--ok: #46c27f}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid transparent;padding:8px 14px;background:var(--surface);color:var(--text)}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.progress{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s linear}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}.loading{padding:40px;color:var(--muted)}.app{max-width:760px;margin:0 auto;padding:20px 20px 32px}.chains{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chain{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.chain-label,.chain-best{color:var(--muted);font-size:13px}.chain-value{font-size:34px;font-weight:600;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px;margin:18px 0 12px;border-bottom:1px solid var(--border)}.tab{background:none;border-radius:8px 8px 0 0;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.badge{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.page{display:grid;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;gap:12px}.card.accent{border-color:var(--accent)}.card h2{margin:0;font-size:16px}.hint{margin:0;color:var(--muted);line-height:1.6}.hint strong{color:var(--text)}.field{display:grid;gap:6px}.field>span{font-size:13px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border-color:var(--border);padding:6px 12px}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip-input{width:80px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.primary{background:var(--accent);color:#fff}.secondary{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.danger{background:var(--danger);color:#fff}.ghost{background:none;border-color:var(--border);color:var(--muted)}.ghost.danger{color:var(--danger);background:none}.small{padding:3px 10px;font-size:12px}.countdown{font-size:40px;font-weight:600;font-variant-numeric:tabular-nums}.countdown.big{font-size:64px;text-align:center}.focus-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.focus-task{text-align:center;font-size:20px!important}.overlay{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:16px}.dialog{width:min(520px,100%);background:var(--surface);border-radius:var(--radius);padding:20px;display:grid;gap:12px}.dialog h2{margin:0}.notice{margin:0;padding:8px 10px;border-radius:8px}.notice.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.notice.inline{padding:4px 10px}.related{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:13px}.tag{padding:2px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.list-main{flex:1}.list-meta{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}.entry.main .dot{background:var(--danger)}.entry.reserve .dot{background:var(--muted)}.empty{color:var(--muted);margin:0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.summary{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.summary-label,.muted{color:var(--muted);font-size:13px;font-weight:400}.summary-title{font-size:20px;font-weight:600}.summary-tracks{display:flex;gap:24px}.counters{display:inline-flex;gap:8px;flex-wrap:wrap}.counter{font-variant-numeric:tabular-nums;font-weight:600;font-size:18px}.badge{font-size:12px;font-weight:400;vertical-align:middle}.kbd{margin-left:8px;font-size:11px;opacity:.75;font-family:ui-monospace,Consolas,monospace}.card.warn{border-color:var(--danger)}.card h3{margin:4px 0 0;font-size:13px;color:var(--muted);font-weight:600}.meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.breadcrumb{font-size:13px;color:var(--muted)}.seat-title{display:flex;justify-content:center;align-items:center;gap:10px;font-size:20px;font-weight:600}.virtual-badge{border:2px dashed var(--accent);color:var(--accent);border-radius:8px;padding:2px 10px;font-variant-numeric:tabular-nums}.center{text-align:center;justify-content:center}.grow{flex:1}.node-tree,.node-tree ul{list-style:none;margin:0;padding-left:18px}.node-tree{padding-left:0}.node-label{display:inline-block;margin:3px 0;padding:3px 10px;border-radius:6px;border:1px solid var(--border);font-variant-numeric:tabular-nums}.node.kept>.node-label{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.node.virtual>.node-label{border:1.5px dashed var(--accent);color:var(--accent)}.node.pending>.node-label{color:var(--muted);opacity:.6}.node-task{color:var(--muted)}.form{display:grid;gap:12px}.parts{margin:0;padding-left:20px;display:grid;gap:4px}.parts li{display:flex;align-items:center;gap:6px}.list-sub{display:block;color:var(--muted);font-size:12px}.list li.editing{display:block}.entry.bad .dot{background:var(--danger)}.entry.neutral .dot{background:var(--muted)}.path{margin:6px 0;font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all;-webkit-user-select:text;user-select:text}.entry.voided .dot{background:transparent;border:1px dashed var(--muted)}.entry.voided .list-main{color:var(--muted);text-decoration:line-through}.voided-tag{margin-left:8px;font-size:11px;display:inline-block}.connect{padding-top:15vh}code{font-size:.92em}@media(max-width:600px){.app{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.chains,.grid2{grid-template-columns:1fr}.chain{padding:10px 14px}.chain-value{font-size:28px}.tabs{margin:12px -12px 10px;padding:0 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;padding:10px 12px}.card{padding:14px}input,select,textarea{font-size:16px}button{min-height:40px}.dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 48px);overflow-y:auto}}.day-header{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:12px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;min-width:0}.stat-label,.stat-sub{color:var(--muted);font-size:12px}.stat-value{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}.stat-value.small{font-size:18px;padding:6px 0 4px}.warn-text{color:var(--danger)}.slots{list-style:none;margin:0;padding:0;display:grid;gap:10px}.slot,.practice{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:grid;gap:8px}.slot.kept{border-color:color-mix(in srgb,var(--ok) 55%,var(--border))}.slot.released{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.slot.frozen,.slot.auto{opacity:.75}.slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.slot-name{font-weight:600;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.slot-name .list-sub{font-weight:400}.slot-status{font-size:12px;color:var(--muted)}.slot-status.pending{color:var(--danger)}.slot-status.kept{color:var(--ok)}.slot-rule{margin:0;color:var(--muted);font-size:13px}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree ul{margin-left:10px;padding-left:14px;border-left:1px solid var(--border)}.tree-row{display:flex;align-items:center;gap:8px;padding:3px 0}.tree-label{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--ok) 55%,var(--border));background:color-mix(in srgb,var(--ok) 8%,transparent);min-width:0}.tree-label.mechanism{border-style:dashed;border-color:var(--border);background:none}.tree-label.bundle{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft)}.tree-meta{color:var(--muted);font-size:12px;white-space:nowrap}.members{display:flex;flex-wrap:wrap;gap:4px;flex-basis:100%}.member{font-size:12px;padding:1px 8px;border-radius:9px;background:var(--surface);border:1px solid var(--border)}.member.out{text-decoration:line-through;color:var(--muted)}.frozen-tag{background:color-mix(in srgb,#4aa3df 18%,transparent);color:#2b7bb5}.lit-tag{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.tiers{margin:0;padding-left:18px;color:var(--muted);font-size:13px;list-style:none}.progress-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.list.compact li{padding:4px 0}.field.narrow{max-width:240px}.entry.good .dot{background:var(--ok)}@media(max-width:600px){.day-header{grid-template-columns:1fr 1fr;gap:8px}.day-header .stat:first-child{grid-column:1 / -1}.stat{padding:8px 12px}.stat-value{font-size:24px}.tree ul{margin-left:6px;padding-left:10px}.tree-meta{display:none}}
