@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-DIxvyhka.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BScSeVwi.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-normal-CZLGqjJe.woff2) format("woff2"),url(/assets/playfair-display-latin-600-normal-CxxueQ0Z.woff) format("woff")}:root{color-scheme:light;--ground: #FAF8F4;--surface: #FFFFFF;--ink: #17130C;--body: #3F3A31;--muted: #6D675B;--hairline: #E7E2D7;--accent: #96660F;--accent-soft: #F5EDDC;--danger: #AE1E17;--warn: #9C5A00;--ok: #1E6E4B;--nav-bg: #FFFFFF;--snack-bg: #17130C;--snack-ink: #FAF8F4;--snack-accent: #E4C57C;--on-accent: #FFFFFF;--plan-line: #8C8578;--plan-fill: rgba(23, 19, 12, .03);--shadow: 0 1px 2px rgba(23, 19, 12, .05);--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=day]){color-scheme:dark;--ground: #0F0E0B;--surface: #191712;--ink: #F3EFE4;--body: #CBC4B2;--muted: #A49D8C;--hairline: #2C2920;--accent: #D8B96C;--accent-soft: #2A2418;--danger: #F5716A;--warn: #F0A93B;--ok: #5BC68F;--nav-bg: #12110D;--snack-bg: #F3EFE4;--snack-ink: #17130C;--snack-accent: #96660F;--on-accent: #17130C;--plan-line: #6E685B;--plan-fill: rgba(243, 239, 228, .05);--shadow: none}}:root[data-theme=night]{color-scheme:dark;--ground: #0F0E0B;--surface: #191712;--ink: #F3EFE4;--body: #CBC4B2;--muted: #A49D8C;--hairline: #2C2920;--accent: #D8B96C;--accent-soft: #2A2418;--danger: #F5716A;--warn: #F0A93B;--ok: #5BC68F;--nav-bg: #12110D;--snack-bg: #F3EFE4;--snack-ink: #17130C;--snack-accent: #96660F;--on-accent: #17130C;--plan-line: #6E685B;--plan-fill: rgba(243, 239, 228, .05);--shadow: none}*{box-sizing:border-box}html{touch-action:manipulation}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono-label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.app{min-height:100dvh}.workspace{max-width:1160px;margin:0 auto;padding:12px 16px calc(96px + env(safe-area-inset-bottom));display:grid;gap:14px;align-content:start}.rail{display:none}@media(min-width:1024px){.app{display:grid;grid-template-columns:232px minmax(0,1fr)}.workspace{padding:28px 32px 48px;gap:18px}.rail{display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100dvh;padding:26px 18px;border-right:1px solid var(--hairline);background:var(--nav-bg)}}.brand{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.01em;padding:0 12px 22px}.rail-item{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:12px;color:var(--muted);text-align:left;position:relative}.rail-item svg{width:22px;height:22px;flex-shrink:0}.rail-item span{font-size:15px;font-weight:500}.rail-item:hover{background:var(--accent-soft);color:var(--ink)}.rail-item.on{background:var(--accent-soft);color:var(--accent)}.rail-item .badge{margin-left:auto}.topbar{display:grid;gap:2px;padding:12px 4px 2px}.topbar-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.kicker{color:var(--accent)}.sync{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right}.topbar-meta{display:flex;align-items:center;gap:12px}.signout-form{margin:0}.signout-link{background:none;border:0;padding:4px 2px;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.signout-link:hover,.signout-link:focus-visible{color:var(--accent)}.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.page-title{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,6vw,40px);line-height:1.05;letter-spacing:-.01em}.theme-toggle{min-height:44px;padding:0 16px;border:1px solid var(--hairline);border-radius:999px;background:var(--surface);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;padding:14px 16px 12px;box-shadow:var(--shadow)}.kpi b{display:block;font-size:30px;font-weight:600;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi.crit b{color:var(--danger)}.kpi.warn b{color:var(--warn)}.kpi .mono-label{font-size:9.5px;letter-spacing:.14em}.kpi.crit .mono-label{color:var(--danger)}.kpi.warn .mono-label{color:var(--warn)}.sechead{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 0}.sechead .link{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--accent)}.note{color:var(--muted);font-size:14px;padding:4px}.task-list{display:grid;gap:8px}.task-row{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.task-row-main{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:72px;padding-right:10px}.stripe{align-self:stretch;background:transparent}.task-row.crit .stripe{background:var(--danger)}.task-row.warn .stripe{background:var(--warn)}.task-row.ok .stripe{background:var(--ok);opacity:.45}.task-body{text-align:left;padding:12px 0;min-height:72px;display:grid;align-content:center;gap:3px;border-radius:0}.task-body strong{font-size:16px;font-weight:600;line-height:1.3}.task-meta{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.6}.task-meta .flag{color:var(--danger);font-style:normal}.task-act{display:grid;justify-items:center;align-content:center;gap:5px;padding:8px 6px;width:96px}.done-ring{width:52px;height:52px;border-radius:999px;border:1.5px solid var(--accent);color:var(--accent);display:grid;place-items:center}.done-ring svg{width:22px;height:22px}.done-ring:hover{background:var(--accent-soft)}.due-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;max-width:88px;line-height:1.5}.task-row.crit .due-label{color:var(--danger)}.task-row.warn .due-label{color:var(--warn)}.task-detail{padding:0 16px 16px;display:grid;gap:6px}.task-detail p{font-size:14.5px;color:var(--body);max-width:62ch}.manual-links{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 4px}.chip{min-height:44px;padding:0 18px;border:1px solid var(--hairline);border-radius:999px;background:var(--surface);font-size:14px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.layer-layout{display:grid;gap:14px}@media(min-width:1024px){.layer-layout{grid-template-columns:300px minmax(0,1fr);align-items:start}}.layer-list{display:grid;gap:8px}.layer-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;min-height:60px;padding:10px 16px;text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;box-shadow:var(--shadow)}.layer-btn.on{border-color:var(--accent);background:var(--accent-soft)}.layer-btn .name{font-size:15px;font-weight:600}.layer-btn .count{grid-column:1 / -1}.status-word{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.status-word.crit{color:var(--danger)}.status-word.warn{color:var(--warn)}.status-word.ok{color:var(--ok)}.layer-detail{display:grid;gap:10px}.layer-detail-head{padding:4px;display:grid;gap:4px}.layer-detail-head h2{font-family:var(--font-display);font-weight:600;font-size:24px}.layer-detail-head p{color:var(--muted);font-size:14px}.vault-grid{display:grid;gap:14px}@media(min-width:1024px){.vault-grid{grid-template-columns:1fr 1fr;align-items:start}}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:grid;gap:10px}.panel h2{font-family:var(--font-display);font-weight:600;font-size:22px}.doc-row{border:1px solid var(--hairline);border-radius:14px;padding:14px 16px;display:grid;gap:3px}.doc-row strong{font-size:15px;font-weight:600}.doc-row span{font-size:13.5px;color:var(--muted)}.doc-row .when{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums}.vessel-layout{display:grid;gap:14px}.rail-spacer{flex:1}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{width:44px;height:44px;border:1px solid var(--hairline);border-radius:999px;background:var(--surface);display:grid;place-items:center;color:var(--muted)}.icon-button svg{width:20px;height:20px}.icon-button:hover,.icon-button.on{border-color:var(--accent);color:var(--accent)}.panel-head-row{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.unit-switch{display:flex;gap:6px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.field{display:grid;gap:6px;align-content:start}.field label{font-size:13px;font-weight:600}.field .req{color:var(--danger)}.field small{font-size:12px;color:var(--muted)}input[type=text],input[type=number],select{min-height:48px;width:100%;padding:0 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--ground);color:var(--ink);font:inherit;font-size:16px}input::placeholder{color:var(--muted);opacity:.7}.check-row{display:flex;align-items:center;gap:12px;min-height:48px;font-size:15px;cursor:pointer}.check-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.boat-row{display:flex;align-items:center;gap:10px;border:1px solid var(--hairline);border-radius:14px;padding:10px 10px 10px 16px}.boat-row-info{flex:1;display:grid;gap:1px;min-width:0}.boat-row-info strong{font-size:15px;font-weight:600}.boat-row-info span{font-size:13px;color:var(--muted)}.active-tag{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:8px 14px}.add-row{display:flex;gap:8px}.add-row input{flex:1}.add-row .chip,.boat-row .chip{flex-shrink:0}.save-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:2px 4px 8px}.save-row .sync{text-align:left}.btn-primary{min-height:52px;padding:0 26px;border-radius:14px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:15px}.btn-primary:hover{filter:brightness(1.08)}a.chip{display:inline-flex;align-items:center;text-decoration:none}.layer-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.layer-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;min-height:60px;padding:12px 16px;text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;box-shadow:var(--shadow)}.layer-card:hover{border-color:var(--accent)}.card-dot{width:12px;height:12px;border-radius:999px;background:var(--ok)}.card-dot.crit{background:var(--danger)}.card-dot.warn{background:var(--warn)}.card-name{font-size:15px;font-weight:600}.card-count{grid-column:2 / -1}.layer-card .status-word{text-align:right}.back-link{min-height:44px;display:inline-flex;align-items:center}.layer-detail-head .back-link{margin-bottom:4px}.plan-stage{position:relative;width:100%;max-width:560px;margin:4px auto 2px;border:1px solid var(--hairline);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.plan-stage.view-side-profile{max-width:640px}.boat-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.boat-svg path,.boat-svg line,.boat-svg circle,.boat-svg rect,.boat-svg ellipse{fill:none;stroke:var(--plan-line);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.boat-svg .hull{fill:var(--plan-fill);stroke-width:1.4}.boat-svg .band{fill:var(--accent-soft);stroke:none;opacity:.6}.boat-svg .waterline{stroke:var(--accent);stroke-dasharray:3 2.5;opacity:.8}.boat-svg .faint{stroke:var(--plan-line);opacity:.35}.boat-svg .spar{stroke:var(--plan-line);stroke-width:1.6}.boat-svg .rigging-line{opacity:.55;stroke-width:.8}.boat-svg .centreline{stroke-dasharray:2 2.5;opacity:.4}.boat-svg .detail,.boat-svg .cabin-part{opacity:.6}.boat-svg .appendage{fill:none}.boat-svg .appendage-fill{fill:var(--plan-fill)}.boat-svg .fitting{fill:var(--plan-line);stroke:none}.hotspot{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;display:grid;place-items:center;border-radius:999px;background:transparent}.hotspot-dot{width:20px;height:20px;border-radius:999px;border:2px solid var(--surface);background:var(--ok);box-shadow:0 0 0 1px #00000026}.hotspot.crit .hotspot-dot{background:var(--danger)}.hotspot.warn .hotspot-dot{background:var(--warn)}.hotspot.sel .hotspot-dot{box-shadow:0 0 0 3px var(--accent)}.hotspot-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ink);color:var(--ground);font-family:var(--font-mono);font-size:9px;font-weight:500;display:grid;place-items:center;font-variant-numeric:tabular-nums}.hotspot-side{position:absolute;bottom:2px;left:2px;font-family:var(--font-mono);font-size:8px;font-weight:500;color:var(--muted)}.plan-caption{text-align:center;padding:2px 4px 6px}.vault-panel{grid-column:1 / -1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.upload-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:2px 0 6px}.upload-row .note{flex:1;min-width:220px;padding:0}.vault-tree{display:grid;gap:8px}.tree-layer{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding:0 2px 6px;border-bottom:1px solid var(--hairline)}.tree-layer span{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}.tree-layer small{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}.tree-branch{margin-left:18px;padding:2px 2px 0;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.tree-doc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tree-doc.depth-1{margin-left:18px}.tree-doc.depth-2{margin-left:36px}p.note.depth-1{margin-left:18px;padding:0 2px}.tree-doc-info{flex:1;min-width:220px;display:grid;gap:2px}.tree-doc-actions{display:flex;gap:8px;flex-shrink:0}.tree-note{color:var(--warn);font-size:13px}@media(max-width:520px){.tree-doc.depth-1{margin-left:8px}.tree-doc.depth-2{margin-left:16px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--nav-bg);border-top:1px solid var(--hairline);padding:6px 8px calc(10px + env(safe-area-inset-bottom));z-index:40}.nav-item{display:grid;justify-items:center;gap:3px;min-height:56px;padding:8px 4px 4px;border-radius:14px;color:var(--muted);position:relative}.nav-item svg{width:24px;height:24px}.nav-item span{font-size:11px;font-weight:600;letter-spacing:.04em}.nav-item.on{color:var(--accent)}.badge{background:var(--danger);color:#fff;font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;font-variant-numeric:tabular-nums}.nav-item .badge{position:absolute;top:3px;right:50%;margin-right:-26px}.snackbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(88px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:4px;width:min(440px,calc(100vw - 32px));background:var(--snack-bg);color:var(--snack-ink);border-radius:16px;padding:6px 6px 6px 18px;box-shadow:0 12px 32px #00000040}.snackbar p{flex:1;font-size:14px;font-weight:500}.snackbar button{min-height:48px;padding:0 18px;color:var(--snack-accent);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;border-radius:12px}@media(min-width:1024px){.snackbar{bottom:28px}}@media(min-width:1024px){.bottom-nav{display:none}}@media(prefers-reduced-motion:no-preference){.done-ring,.chip,.rail-item,.nav-item,.theme-toggle{transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out}.done-ring:active{transform:scale(.95)}.snackbar{animation:snack-in .2s ease-out}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}}.event-hero p{color:var(--muted);max-width:62ch}.event-menu{display:grid;gap:14px}@media(min-width:860px){.event-menu{grid-template-columns:1fr 1fr;align-items:start}}.event-section{align-content:start}.event-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.event-card{min-height:104px;padding:18px;border:1px solid var(--hairline);border-radius:18px;background:var(--ground);text-align:left;display:grid;align-content:center;gap:5px;box-shadow:var(--shadow)}.event-card.wide{width:100%}.event-card:hover{border-color:var(--accent);background:var(--accent-soft)}.event-card strong{font-size:18px;font-weight:650}.event-card span{color:var(--muted);font-size:14px}.event-stat{min-height:40px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.event-stat.warn{color:var(--warn)}.event-log{display:grid;gap:8px}.event-log-row{border:1px solid var(--hairline);border-radius:14px;padding:12px 14px;display:grid;gap:2px}.event-log-row strong{font-size:15px}.event-log-row span{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#0a09067a;display:grid;place-items:end center;padding:16px}.modal-sheet{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--hairline);border-radius:24px;padding:18px;box-shadow:0 18px 50px #00000038;display:grid;gap:14px}@media(min-width:720px){.modal-backdrop{place-items:center}}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-head h2{font-family:var(--font-display);font-size:28px;font-weight:600}.modal-actions{display:flex;gap:10px;justify-content:space-between;align-items:center}.primary-action{min-height:52px;padding:0 22px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700}.primary-action:disabled{opacity:.5;cursor:not-allowed}.error-note{color:var(--danger)}input[type=date]{min-height:48px;width:100%;padding:0 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--ground);color:var(--ink);font:inherit;font-size:16px}.onboarding{display:grid;gap:14px;max-width:760px}.start-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.start-card{display:grid;gap:6px;align-content:start;text-align:left;min-height:96px;padding:14px 16px;border:1px solid var(--hairline);border-radius:16px;background:var(--surface)}.start-card strong{font-size:15px;font-weight:600;color:var(--ink)}.start-card span{font-size:13px;color:var(--muted)}.start-card .active-tag{justify-self:start;padding:4px 10px}.start-card.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.boat-row{flex-wrap:wrap}.template-row .active-tag{padding:3px 9px;margin-left:6px;font-style:normal;vertical-align:middle}textarea{width:100%;padding:12px 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--ground);color:var(--ink);font:inherit;font-size:16px;resize:vertical}.configure-chip{margin-left:auto;color:var(--accent);border-color:var(--accent)}.configurator{display:grid;gap:14px}.cfg-head{display:grid;gap:12px}.cfg-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.cfg-tree{display:grid;gap:8px}.cfg-node{border:1px solid var(--hairline);border-radius:14px;background:var(--surface)}.cfg-node>summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:52px;padding:8px 12px 8px 16px;cursor:pointer;list-style:none}.cfg-node>summary::-webkit-details-marker{display:none}.cfg-node>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.cfg-node[open]>summary:before{transform:rotate(90deg)}.cfg-title{font-weight:600;color:var(--ink)}.cfg-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);flex:1}.cfg-actions{display:flex;gap:6px;margin-left:auto}.cfg-children{display:grid;gap:6px;padding:0 10px 12px 22px}.cfg-node.spot,.cfg-node.component{background:var(--ground)}.cfg-node.archived,.cfg-task.archived{opacity:.55}.cfg-task{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border:1px solid var(--hairline);border-radius:12px;background:var(--surface)}.cfg-task-info{flex:1;display:grid;gap:2px;min-width:0}.cfg-task-info strong{font-size:14px;font-weight:500}.cfg-task-actions{display:flex;gap:6px;flex-shrink:0}.icon-button.small{width:36px;height:36px;font-size:15px}.cfg-add{justify-self:start;min-height:40px;color:var(--accent);font-weight:600;font-size:14px}.app.first-run{display:block}.first-run .onboarding{margin:0 auto;width:100%}.ai-tag{margin-left:8px;padding:2px 7px;border-radius:999px;vertical-align:middle;font-family:var(--font-mono);font-size:9px;font-style:normal;font-weight:600;letter-spacing:.12em;color:var(--accent);background:var(--accent-soft)}.ai-note{font-style:normal;color:var(--accent)}.tree-install{color:var(--accent);font-size:13px}.ai-toggle{min-height:44px;padding:0 10px 0 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hairline);border-radius:999px;background:var(--surface);color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em}.ai-toggle:hover{border-color:var(--accent)}.ai-toggle.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.switch-track{width:30px;height:18px;border-radius:999px;background:var(--hairline);position:relative;transition:background .18s}.switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);transition:transform .18s}.ai-toggle.on .switch-track{background:var(--accent)}.ai-toggle.on .switch-thumb{transform:translate(12px)}.ai-toggle.warn .switch-track{background:var(--warn)}.translate-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.task-detail .caution{margin:8px 0;padding:10px 12px;border:1px solid var(--warn);border-left-width:5px;border-radius:8px;background:var(--accent-soft);color:var(--ink)}.confirm-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.confirm-inline .confirm-text{font-size:13.5px;color:var(--ink);flex-basis:100%}.chip.danger{border-color:var(--danger);color:var(--danger)}
