.picker[data-v-52c534d4]{max-width:640px;margin:2rem auto}.project-list[data-v-52c534d4]{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.project-list button[data-v-52c534d4]{text-align:left;flex-direction:column;gap:.15rem;width:100%;padding:.75rem 1rem;display:flex}.meta[data-v-52c534d4]{opacity:.7;font-size:.85rem}.manual[data-v-52c534d4]{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2rem;display:flex}.manual input[data-v-52c534d4]{border:1px solid var(--color-divider);flex:1;min-width:200px;padding:.45rem .6rem}.error[data-v-52c534d4]{color:var(--color-bad-ink)}.tree[data-v-c57d3ae1]{overflow-y:auto}.phase h3[data-v-c57d3ae1],.batch h4[data-v-c57d3ae1]{text-transform:uppercase;opacity:.75;margin:.6rem 0 .25rem;font-size:.8rem}ul[data-v-c57d3ae1]{flex-direction:column;gap:.25rem;margin:0;padding:0 0 0 .5rem;list-style:none;display:flex}.assembly[data-v-c57d3ae1]{text-align:left;border:1px solid var(--color-divider);background:0 0;flex-direction:column;width:100%;padding:.4rem .6rem;display:flex}.assembly.active[data-v-c57d3ae1]{border-color:var(--md-primary,#333);background:var(--color-good-tint)}.assembly .meta[data-v-c57d3ae1]{opacity:.75;font-size:.8rem}.warn-badge[data-v-c57d3ae1]{color:var(--color-warn-ink);margin-left:.4rem}.detail[data-v-02f0b0ca]{overflow-y:auto}header .meta[data-v-02f0b0ca]{opacity:.8;margin-bottom:.75rem;font-size:.85rem;display:block}h3[data-v-02f0b0ca]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.kv th[data-v-02f0b0ca]{text-align:left;opacity:.8;padding-right:1rem;font-weight:500}.parts[data-v-02f0b0ca]{border-collapse:collapse;width:100%;font-size:.85rem}.parts th[data-v-02f0b0ca],.parts td[data-v-02f0b0ca]{text-align:left;border-bottom:1px solid var(--color-divider);padding:.25rem .5rem}.warnings[data-v-02f0b0ca]{border:1px solid var(--color-warn-ink);background:var(--color-warn-tint);padding:.5rem .75rem}.warnings ul[data-v-02f0b0ca]{margin:.25rem 0 0;padding-left:1.1rem}.warn[data-v-02f0b0ca]{color:var(--color-warn-ink)}.cut[data-v-02f0b0ca]{background:var(--color-purple-tint);color:var(--color-purple-ink);margin-right:.5rem;padding:0 .3rem;display:inline-block}.viewer[data-v-cdaeedf7]{border:1px solid var(--color-divider);width:100%;height:100%;min-height:420px}.edge-panel[data-v-d42a6ad1]{overflow-y:auto}h3[data-v-d42a6ad1]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.rules[data-v-d42a6ad1],.template-form[data-v-d42a6ad1],.template-apply[data-v-d42a6ad1]{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.rules label[data-v-d42a6ad1],.template-form label[data-v-d42a6ad1]{align-items:center;gap:.3rem;font-size:.85rem;display:flex}input[type=number][data-v-d42a6ad1],.template-form input[data-v-d42a6ad1]{border:1px solid var(--color-divider);width:5.5rem;padding:.25rem .4rem}.template-form input[data-v-d42a6ad1]:first-child{width:12rem}.walls[data-v-d42a6ad1]{border-collapse:collapse;width:100%;font-size:.83rem}.walls th[data-v-d42a6ad1],.walls td[data-v-d42a6ad1]{text-align:left;border-bottom:1px solid var(--color-divider);padding:.25rem .4rem}.overridden[data-v-d42a6ad1]{background:var(--color-warn-tint)}.reset[data-v-d42a6ad1]{color:var(--color-bad-ink);cursor:pointer;background:0 0;border:none}.generate-bar[data-v-5debd419]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.primary[data-v-5debd419]{font-weight:600}.summary[data-v-5debd419]{font-size:.85rem}.warn[data-v-5debd419]{color:var(--color-warn-ink)}.error[data-v-5debd419]{color:var(--color-bad-ink);font-size:.85rem}.recipes[data-v-55b3ffb5]{grid-template-columns:220px minmax(0,1fr) 420px;align-items:start;gap:1rem;display:grid}.recipes[data-v-55b3ffb5]>*{max-height:calc(100vh - 180px);overflow-y:auto}h3[data-v-55b3ffb5]{text-transform:uppercase;opacity:.75;margin:1rem 0 .35rem;font-size:.85rem}.list ul[data-v-55b3ffb5]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.recipe[data-v-55b3ffb5]{text-align:left;border:1px solid var(--color-divider);background:0 0;width:100%;padding:.4rem .6rem}.recipe.active[data-v-55b3ffb5]{background:var(--color-good-tint)}.default-badge[data-v-55b3ffb5]{color:var(--color-good-ink);margin-left:.4rem;font-size:.7rem}.list-actions[data-v-55b3ffb5]{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.row[data-v-55b3ffb5]{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.row label[data-v-55b3ffb5],.checkbox[data-v-55b3ffb5]{align-items:center;gap:.3rem;font-size:.85rem;display:flex}input.num[data-v-55b3ffb5]{border:1px solid var(--color-divider);width:4.2rem;padding:.2rem .3rem}input.text[data-v-55b3ffb5],select[data-v-55b3ffb5]{border:1px solid var(--color-divider);padding:.25rem .4rem}.members[data-v-55b3ffb5],.sheets[data-v-55b3ffb5]{border-collapse:collapse;width:100%;font-size:.83rem}.members th[data-v-55b3ffb5],.members td[data-v-55b3ffb5],.sheets th[data-v-55b3ffb5],.sheets td[data-v-55b3ffb5]{border-bottom:1px solid var(--color-divider);text-align:left;padding:.25rem .4rem}.options label[data-v-55b3ffb5]{gap:.2rem;margin-right:.5rem;font-size:.78rem;display:inline-flex}.insets[data-v-55b3ffb5]{white-space:nowrap}.opening-rule[data-v-55b3ffb5]{border:1px solid var(--color-divider);margin-bottom:.5rem;padding:.5rem .75rem}.opening-head[data-v-55b3ffb5]{justify-content:space-between;align-items:center;display:flex}.editor-actions[data-v-55b3ffb5]{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.primary[data-v-55b3ffb5]{font-weight:600}.preview select[data-v-55b3ffb5]{width:100%;margin-bottom:.5rem}.preview-warnings[data-v-55b3ffb5]{color:var(--color-warn-ink);padding-left:1rem;font-size:.8rem}.error[data-v-55b3ffb5]{color:var(--color-bad-ink)}@media (width<=1100px){.recipes[data-v-55b3ffb5]{grid-template-columns:1fr}}.login-screen[data-v-b60192a8]{text-align:center;border:1px solid var(--color-divider);background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);max-width:420px;margin:15vh auto 0;padding:2.75rem 2rem}.login-screen h1[data-v-b60192a8]{text-transform:uppercase}.login-screen .subtitle[data-v-b60192a8]{margin-bottom:2rem}.login-screen .hint[data-v-b60192a8]{opacity:.7;margin:1.5rem 0 0;font-size:.85rem}.app-header[data-v-b60192a8]{gap:.75rem}.toolbar-spacer[data-v-b60192a8]{flex:1}.session-label[data-v-b60192a8]{opacity:.8;font-size:.9rem}main[data-v-b60192a8]{padding:1rem 1.5rem}.session-toolbar[data-v-b60192a8]{margin-bottom:.75rem}.workspace[data-v-b60192a8]{grid-template-columns:260px minmax(0,1fr) 420px;align-items:start;gap:1rem;min-height:60vh;display:grid}.workspace[data-v-b60192a8]>*{max-height:calc(100vh - 180px)}.pick-hint[data-v-b60192a8]{text-align:center;align-self:center}.error[data-v-b60192a8]{color:var(--color-bad-ink)}@media (width<=1100px){.workspace[data-v-b60192a8]{grid-template-columns:1fr}}:root{--md-primary:#5980a6;--md-on-primary:#f2f2f3;--md-primary-container:#d6ebff;--md-on-primary-container:#2c455d;--md-secondary:#2b2b2d;--md-on-secondary:#f2f2f3;--md-accent:#728fab;--md-accent-container:#eef6ff;--md-error:oklch(58% .16 29);--md-error-container:oklch(93% .05 29);--md-on-error-container:oklch(34% .13 29);--md-info:#597ea3;--md-info-container:#d6ebff;--md-success:oklch(58% .11 150);--md-success-container:oklch(93% .045 150);--md-surface:#f2f2f3;--md-surface-dim:#f2f2f3;--md-surface-container:#e9e9ea;--md-surface-container-high:#d4d4d7;--md-on-surface:#1d1f20;--md-on-surface-variant:#5d5d60;--md-outline:#98989b;--md-outline-variant:#1d1f2029;--md-shadow-1:0 1px 2px #2b2b2d24;--md-shadow-2:0 3px 10px #2b2b2d29;--md-radius-s:0;--md-radius-m:0;--md-radius-l:0;--md-radius-full:0;--color-good:oklch(58% .11 150);--color-good-ink:oklch(32% .09 150);--color-good-tint:oklch(93% .045 150);--color-warn-ink:oklch(38% .09 70);--color-warn-tint:oklch(94% .05 85);--color-bad:oklch(58% .16 29);--color-bad-ink:oklch(34% .13 29);--color-bad-tint:oklch(93% .05 29);--color-purple:oklch(62% .08 300);--color-purple-ink:oklch(34% .07 300);--color-purple-tint:oklch(93% .03 300);--color-divider:#1d1f2029;--corner-mark-color:#1d1f208c;--corner-marks:linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color)), linear-gradient(var(--corner-mark-color), var(--corner-mark-color));--corner-mark-size:11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px, 11px 1px, 1px 11px;--corner-mark-position:left -6px top -6px, left -6px top -6px, right -6px top -6px, right -6px top -6px, left -6px bottom -6px, left -6px bottom -6px, right -6px bottom -6px, right -6px bottom -6px;color:var(--md-on-surface);background:var(--md-surface-dim);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--md-surface-dim);margin:0}h1,h2,h3,h4,.nav-brand,.settings-tabs button,.nav-tabs button,form.inline button,.plan-form button,.primary-btn,button.ghost,.ghost.import-btn{text-transform:uppercase;letter-spacing:.03em;font-weight:600}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,tr.clickable:focus-visible,.kanban-card:focus-visible,.mini-list li.clickable-li:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}#app{width:100%;margin:0;padding:1.25rem 1.75rem}header.app-header{border-bottom:1px solid var(--color-divider);box-shadow:none;background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 0 1rem;display:flex}h1{letter-spacing:.02em;color:var(--md-secondary);margin:0;font-size:1.4rem}h2{margin-top:0;font-size:1.05rem}p.subtitle{color:var(--md-on-surface-variant);margin:.1rem 0 0;font-size:.85rem}.nav-tabs{align-items:center;gap:.25rem;display:flex}.nav-tabs button{cursor:pointer;color:var(--md-on-surface);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.55rem 1.1rem;font-size:.82rem;transition:color .15s,border-color .15s}.nav-tabs button:hover{color:var(--md-primary);background:0 0}.nav-tabs button.active{color:var(--md-primary);border-bottom-color:var(--md-primary);background:0 0}.nav-tabs .star-btn{color:var(--md-outline);padding:.4rem .5rem;font-size:1rem}.nav-tabs .star-btn.active,.nav-tabs .star-btn:hover{color:var(--md-accent);background:0 0}.header-actions{align-items:center;gap:.75rem;display:flex}.locale-switch{border:1px solid var(--color-divider);border-radius:0;display:flex;overflow:hidden}.locale-switch button{cursor:pointer;color:var(--md-on-surface-variant);background:0 0;border:none;padding:.35rem .8rem;font-size:.75rem;font-weight:600}.locale-switch button.active{background:var(--md-primary);color:var(--md-on-primary)}.gear-btn{border:1px solid var(--color-divider);cursor:pointer;width:2.4rem;height:2.4rem;color:var(--md-on-surface-variant);background:0 0;border-radius:0;font-size:1.1rem}.gear-btn:hover{color:var(--md-primary);border-color:var(--md-primary)}.gear-btn.active{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary)}.page-head{margin-bottom:.75rem}.back-btn{border:1px solid var(--color-divider);cursor:pointer;color:var(--md-primary);background:0 0;border-radius:0;padding:.4rem 1rem;font-weight:600}.status{border:1px solid var(--color-divider);border-radius:0;margin:0 0 1rem;padding:.55rem 1rem;font-size:.85rem}.status.online{background:var(--color-good-tint);color:var(--color-good-ink);border-color:#0000}.status.offline{background:var(--color-bad-tint);color:var(--color-bad-ink);border-color:#0000}.status.checking{background:var(--color-warn-tint);color:var(--color-warn-ink);border-color:#0000}section.card{border:1px solid var(--color-divider);border-radius:var(--md-radius-l);box-shadow:none;background-color:#0000;background-image:var(--corner-marks);background-repeat:no-repeat;background-size:var(--corner-mark-size);background-position:var(--corner-mark-position);margin-bottom:1.25rem;padding:1.25rem 1.5rem}table{border-collapse:collapse;width:100%;margin-bottom:1rem}th,td{text-align:left;border-bottom:1px solid var(--color-divider);padding:.55rem .65rem}th{text-transform:uppercase;letter-spacing:.08em;color:var(--md-on-surface-variant);border-bottom:1px solid var(--md-outline);font-size:.68rem;font-weight:600}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--md-surface-container)}td.chevron{color:var(--md-outline);width:1.5rem}td.detail-cell{background:var(--md-surface-container);border-radius:0;padding:1rem 1.25rem}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){color:var(--md-on-surface);background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);padding:.35rem .5rem;font-family:inherit;font-size:.85rem}:where(input,select,textarea):focus-visible{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}form.inline input,form.inline select{border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-s);background:var(--md-surface);color:var(--md-on-surface);padding:.5rem .75rem;font-size:.9rem}form.inline input:focus,form.inline select:focus{outline:2px solid var(--md-primary);outline-offset:-1px;border-color:#0000}form.inline input.narrow{width:8rem}form.inline input[type=number]{width:6.5rem}form.inline button,.plan-form button,.primary-btn{border:1px solid var(--md-primary);background:var(--md-primary);color:var(--md-on-primary);cursor:pointer;box-shadow:none;border-radius:0;padding:.5rem 1.3rem;font-size:.8rem}form.inline button:hover:not(:disabled),.plan-form button:hover:not(:disabled),.primary-btn:hover{background:color-mix(in srgb, var(--md-primary) 82%, black)}form.inline button:disabled,.plan-form button:disabled{background:var(--md-outline-variant);border-color:var(--md-outline-variant);color:var(--md-on-surface-variant);box-shadow:none;cursor:not-allowed}.empty{color:var(--md-on-surface-variant);font-style:italic}.hint{color:var(--md-on-surface-variant);font-size:.78rem}button.ghost,.ghost.import-btn{border:1px solid var(--color-divider);color:var(--md-primary);cursor:pointer;background:0 0;border-radius:0;padding:.4rem .9rem;font-family:inherit;font-size:.75rem;text-decoration:none;display:inline-block}button.ghost:hover:not(:disabled),.ghost.import-btn:hover{border-color:var(--md-primary);background:color-mix(in srgb, var(--md-primary) 8%, transparent)}button.ghost:disabled{color:var(--md-outline);cursor:not-allowed}
