:root{--bg: #f6f7f9;--surface: #ffffff;--surface-raised: #ffffff;--text: #1a2130;--text-muted: #5c6675;--border: #e5e8ee;--primary: #4f46e5;--on-primary: #ffffff;--accent: #0d9488;--on-accent: #ffffff;--success: #157f4a;--on-success: #ffffff;--warn: #b45309;--on-warn: #ffffff;--danger: #d92d20;--on-danger: #ffffff;--radius: 8px;--radius-sm: 5px;--radius-lg: 12px;--radius-field: var(--radius-sm);--radius-selector: var(--radius-sm);--control-h: auto;--space-unit: 4px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--icon-size: 16px;--icon-size-sm: 14px;--icon-stroke: 2;--surface-alpha: 1;--blur: 0;--glow: none;--bg-image: none;--scrim: transparent;--bg-saturate: 1;--elevation-1: 0 1px 2px rgba(16, 24, 40, .05);--elevation-2: 0 2px 4px rgba(16, 24, 40, .05), 0 1px 2px rgba(16, 24, 40, .04);--elevation-3: 0 10px 28px rgba(16, 24, 40, .12);--contrast-mix: #000;--primary-hover: color-mix(in srgb, var(--primary) 86%, var(--contrast-mix));--primary-active: color-mix(in srgb, var(--primary) 74%, var(--contrast-mix));--primary-soft: color-mix(in srgb, var(--primary) 11%, var(--surface));--primary-soft-border: color-mix(in srgb, var(--primary) 26%, var(--border));--focus-ring: color-mix(in srgb, var(--primary) 40%, transparent);--s1: calc(var(--space-unit) * 1);--s2: calc(var(--space-unit) * 2);--s3: calc(var(--space-unit) * 3);--s4: calc(var(--space-unit) * 4);--s5: calc(var(--space-unit) * 5);--s6: calc(var(--space-unit) * 6);--s8: calc(var(--space-unit) * 8);--s10: calc(var(--space-unit) * 10);--s12: calc(var(--space-unit) * 12)}@media (prefers-color-scheme: dark){:root{--bg: #0f141d;--surface: #161d28;--surface-raised: #1b2331;--text: #e7ebf2;--text-muted: #97a2b4;--border: #273143;--primary: #818cf8;--on-primary: #0b1020;--accent: #2dd4bf;--on-accent: #04201c;--success: #45c98a;--on-success: #04160d;--warn: #eab24d;--on-warn: #241503;--danger: #f87171;--on-danger: #2a0710;--contrast-mix: #fff;--elevation-1: 0 1px 2px rgba(0, 0, 0, .4);--elevation-2: 0 2px 6px rgba(0, 0, 0, .45);--elevation-3: 0 12px 32px rgba(0, 0, 0, .55)}}:root[data-theme=light]{--bg: #f6f7f9;--surface: #fff;--surface-raised: #fff;--text: #1a2130;--text-muted: #5c6675;--border: #e5e8ee;--primary: #4f46e5;--on-primary: #fff;--accent: #0d9488;--on-accent: #fff;--success: #157f4a;--on-success: #fff;--warn: #b45309;--on-warn: #fff;--danger: #d92d20;--on-danger: #fff;--contrast-mix: #000;--elevation-1: 0 1px 2px rgba(16, 24, 40, .05);--elevation-2: 0 2px 4px rgba(16, 24, 40, .05), 0 1px 2px rgba(16, 24, 40, .04);--elevation-3: 0 10px 28px rgba(16, 24, 40, .12)}:root[data-theme=dark]{--bg: #0f141d;--surface: #161d28;--surface-raised: #1b2331;--text: #e7ebf2;--text-muted: #97a2b4;--border: #273143;--primary: #818cf8;--on-primary: #0b1020;--accent: #2dd4bf;--on-accent: #04201c;--success: #45c98a;--on-success: #04160d;--warn: #eab24d;--on-warn: #241503;--danger: #f87171;--on-danger: #2a0710;--contrast-mix: #fff;--elevation-1: 0 1px 2px rgba(0, 0, 0, .4);--elevation-2: 0 2px 6px rgba(0, 0, 0, .45);--elevation-3: 0 12px 32px rgba(0, 0, 0, .55)}@font-face{font-family:ABOS Fallback Segoe;src:local("Segoe UI");size-adjust:101.56%}@font-face{font-family:ABOS Fallback Helvetica;src:local("Helvetica Neue");size-adjust:98.22%}@font-face{font-family:ABOS Fallback Roboto;src:local("Roboto");size-adjust:96.12%}@font-face{font-family:ABOS Fallback Menlo;src:local("Menlo");size-adjust:96.3%}@font-face{font-family:ABOS Fallback Consolas;src:local("Consolas");size-adjust:104.42%}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;size-adjust:93.02%;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;size-adjust:93.02%;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;size-adjust:92.33%;src:url(/assets/jetbrains-mono-latin-ext-DBQx-q_a.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;size-adjust:92.33%;src:url(/assets/jetbrains-mono-latin-B9CIFXIH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-sans-latin-ext-CIII54If.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-sans-latin-IvpUvPa2.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-mono-400-latin-ext-BmRBH3aV.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-mono-400-latin-DMJ8VG8y.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-mono-600-latin-ext-D38SheWl.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;size-adjust:98.41%;src:url(/assets/plex-mono-600-latin-BgSNZQsw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;size-adjust:101.56%;src:url(/assets/figtree-latin-ext-DCwSJGxG.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;size-adjust:101.56%;src:url(/assets/figtree-latin-D_ZTVpCC.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;size-adjust:102.38%;src:url(/assets/atkinson-next-latin-ext-C6vrW8VD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;size-adjust:102.38%;src:url(/assets/atkinson-next-latin-BcXVPD7q.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:200 800;font-display:swap;size-adjust:102.38%;src:url(/assets/atkinson-mono-latin-ext-CXgNM06D.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:200 800;font-display:swap;size-adjust:102.38%;src:url(/assets/atkinson-mono-latin-CoA7y8X5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}code{font-family:var(--font-mono);font-size:12px;font-variant-ligatures:none;font-variant-numeric:tabular-nums lining-nums}.icon{width:var(--icon-size);height:var(--icon-size);stroke-width:var(--icon-stroke);flex:none;vertical-align:-.18em}.icon.sm{width:var(--icon-size-sm);height:var(--icon-size-sm)}button.link .icon{display:block}.errline{display:inline-flex;align-items:flex-start;gap:var(--s2);color:var(--danger)}.errline>.icon{margin-top:.15em;color:var(--danger)}header.app{position:sticky;top:0;z-index:20;padding:var(--s3) var(--s6);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:saturate(140%) blur(8px);display:flex;align-items:center;gap:var(--s4)}header.app h1{font-size:15px;margin:0;letter-spacing:.2px;font-weight:700}header.app .spacer{flex:1}header.app .who{font-size:12.5px;color:var(--text-muted)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:var(--s2) var(--s3);border-radius:var(--radius-field);transition:background .12s,border-color .12s;display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);white-space:nowrap}button:hover{border-color:var(--primary-soft-border);background:var(--primary-soft)}button.primary{background:var(--primary);color:var(--on-primary);border-color:transparent}button.primary:hover{background:var(--primary-hover)}button.link{border:none;background:none;color:var(--primary);padding:2px 4px}button.link:hover{background:none;text-decoration:underline}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}input,select{font:inherit;padding:var(--s2) var(--s2);border:1px solid var(--border);border-radius:var(--radius-field);background:var(--bg);color:var(--text)}input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--primary-soft-border)}.muted{color:var(--text-muted)}.wrap{padding:var(--s5) var(--s6);max-width:1100px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--s4);overflow:hidden;box-shadow:var(--elevation-1)}.card>.head{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.card>.head h2{font-size:14px;margin:0;font-weight:650}.card>.head .spacer{flex:1}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--s2) var(--s4);border-bottom:1px solid var(--border);vertical-align:top;font-variant-numeric:tabular-nums lining-nums}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600}tr:last-child td{border-bottom:none}.badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:999px;margin-left:6px;background:var(--primary-soft);color:var(--primary);text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}.badge.calc{background:color-mix(in srgb,var(--warn) 16%,var(--surface));color:var(--warn)}.badge.rel{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.badge.display{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.rowacts{display:flex;gap:2px;justify-content:flex-end;white-space:nowrap}.rowacts button.link{padding:2px 5px;line-height:1.1}.rowacts button.link.danger{color:var(--danger)}.rowacts button.link:disabled{color:var(--text-muted);cursor:default;text-decoration:none;opacity:.55}td.calc{color:var(--warn)}td.editable{cursor:text}td.editable:hover{background:var(--primary-soft)}td.editable input{width:100%}td.invalid{color:var(--danger);box-shadow:inset 2px 0 0 var(--danger)}span.editable{cursor:pointer;border-bottom:1px dotted currentColor}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--primary-soft)}.newform{padding:var(--s3) var(--s4);background:var(--bg);border-top:1px solid var(--border);display:flex;gap:var(--s2);flex-wrap:wrap;align-items:flex-end}.newform .fld{display:flex;flex-direction:column;gap:3px}.newform .fld label{font-size:11px;color:var(--text-muted)}.fail{color:var(--danger);font-size:12.5px;padding:var(--s2) var(--s4) 0}.access-row{padding:var(--s3) var(--s4);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s2)}.access-row:first-of-type{border-top:none}.access-who{display:flex;align-items:center;gap:var(--s2)}.access-assign{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.access-tag{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);min-width:52px}.access-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 4px 2px 8px;border-radius:999px;background:var(--primary-soft);border:1px solid var(--primary-soft-border);color:var(--text)}.access-chip.muted{background:var(--bg);border-color:var(--border);color:var(--text-muted)}.access-chip .chip-x{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:14px;line-height:1;padding:0 2px}.access-chip .chip-x:hover{color:var(--danger)}.access-add,.access-grantadd select{font-size:12px;padding:2px 4px}.access-grantadd{display:flex;align-items:center;gap:6px;padding-left:52px}.access-newform{padding:var(--s3) var(--s4);background:var(--bg);border-top:1px solid var(--border);display:flex;gap:var(--s2);align-items:center}.access-newform input{flex:1;max-width:260px}.filecell{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.filecelltd{white-space:nowrap}.filetree{padding:var(--s2) var(--s4)}.folderrow{border-left:1px solid var(--border)}.folderline,.fileline{display:flex;align-items:center;gap:var(--s2);padding:3px 0;flex-wrap:wrap}.folderline .fname{font-weight:600;font-size:13px}.fileline{font-size:13px}.folderacts{display:inline-flex;align-items:center;gap:6px}.folderacts select{font-size:12px;padding:1px 3px}.login{max-width:340px;margin:60px auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);box-shadow:var(--elevation-2)}.login h2{margin:0;font-size:16px}.login .row{display:flex;flex-direction:column;gap:4px}.login .err{color:var(--danger);font-size:12.5px;min-height:1em}.actcol{width:1%}.modal-scrim{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:50;padding:var(--s4)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:var(--s4);max-width:460px;width:100%;box-shadow:0 18px 48px #00000047}.modal h3{margin:0 0 var(--s3);font-size:15px}.modal p{margin:0 0 var(--s3);font-size:13px;line-height:1.5}.modal-acts{display:flex;justify-content:flex-end;gap:var(--s2)}button.link.danger{color:var(--danger)}button.primary.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.primary.danger:hover{filter:brightness(.93)}.impact-refs{margin:0 0 var(--s3);padding-left:18px;font-size:12.5px;max-height:140px;overflow-y:auto}.warn-text{color:var(--danger)}.retention input{width:68px;margin:0 6px}.pad{padding:var(--s3) var(--s4)}.runs{padding:4px var(--s4) var(--s3)}.runs .run{font-size:12.5px;padding:6px 0;border-bottom:1px dashed var(--border);color:var(--text-muted)}.runs .run:last-child{border-bottom:none}.runs .run b{color:var(--text);font-weight:600}.badge.run-done{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.badge.run-failed{background:color-mix(in srgb,var(--danger) 18%,var(--surface));color:var(--danger)}.runs .run-error{margin-top:3px;font-size:11.5px;color:var(--danger);word-break:break-word}.runs .run button.link{font-size:11px;margin-left:6px}.shell{display:grid;grid-template-columns:220px 1fr;align-items:start;min-height:calc(100vh - 53px)}.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:var(--s4) var(--s3);min-height:calc(100vh - 53px)}.menu-section{margin-bottom:var(--s5)}.menu-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600;padding:0 var(--s2) var(--s2)}.menu-item{display:block;width:100%;text-align:left;border:none;background:none;color:var(--text);padding:var(--s2) var(--s2);border-radius:var(--radius-sm);margin-bottom:2px}.menu-item:hover{background:var(--primary-soft)}.menu-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.stage{padding:var(--s5) var(--s6);max-width:900px}.crumbs{display:flex;align-items:center;gap:4px;margin-bottom:var(--s4);font-size:13px}.crumbs .crumb{border:none;background:none;color:var(--primary);padding:2px 4px}.crumbs .crumb:last-child{color:var(--text-muted);pointer-events:none}.crumbs .sep{color:var(--text-muted)}.stack{display:flex;flex-direction:column}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 var(--s4)}.note .note-body{padding:var(--s3) var(--s4);color:var(--warn);font-size:13px}.link-widget{padding:var(--s3) var(--s4)}dl.record{display:grid;grid-template-columns:170px 1fr;gap:0;margin:0}dl.record dt{padding:var(--s2) var(--s4);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12.5px}dl.record dd{padding:var(--s2) var(--s4);border-bottom:1px solid var(--border);margin:0}dl.record dd.calc{color:var(--warn)}dl.record dt:last-of-type,dl.record dd:last-of-type{border-bottom:none}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:var(--s2) var(--s4);border-radius:var(--radius);font-size:13px;box-shadow:var(--elevation-3);opacity:0;transition:opacity .2s;pointer-events:none}.toast.show{opacity:.97}.toast{display:flex;align-items:center;gap:var(--s2)}.toast.error{background:var(--danger);color:var(--on-danger)}.scheme-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-field);overflow:hidden;background:var(--surface)}.scheme-toggle .scheme-opt{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:0;background:transparent;color:var(--text-muted);padding:var(--s1) var(--s3);font-size:12px}.scheme-toggle .scheme-opt+.scheme-opt{border-left:1px solid var(--border)}.scheme-toggle .scheme-opt:hover{background:var(--primary-soft);color:var(--text)}.scheme-toggle .scheme-opt.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.scheme-toggle .scheme-ico{display:flex;align-items:center;line-height:1}@media (max-width: 720px){.scheme-toggle .scheme-lbl{display:none}}.settings{max-width:640px}.settings-card{display:flex;flex-direction:column;gap:var(--s5);padding:var(--s5)}.settings-head h2{margin:0 0 var(--s1);font-size:16px}.settings-head p{margin:0;font-size:12.5px}.settings-ro{margin:0;padding:var(--s2) var(--s3);border:1px dashed var(--border);border-radius:var(--radius-sm);font-size:12.5px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s5)}.settings-field{display:flex;flex-direction:column;gap:var(--s2)}.settings-lbl{font-size:12px;font-weight:600;color:var(--text-muted)}.settings-field input[type=text],.settings-field select{width:100%}.settings-color{display:inline-flex;align-items:center;gap:var(--s3)}.settings-color input[type=color]{width:42px;height:30px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.settings-color code{font-size:12px;color:var(--text-muted);text-transform:uppercase}.settings-preview{display:flex;flex-direction:column;gap:var(--s3)}.settings-schemes{display:flex;gap:var(--s3)}.settings-scheme{flex:1;display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--border);border-radius:var(--radius-sm)}.settings-scheme-name{font-size:11px;text-transform:uppercase;letter-spacing:.4px;opacity:.6;min-width:40px}.settings-demo-btn{border:0;padding:var(--s1) var(--s3);border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:default}.settings-demo-link{font-size:12px;font-weight:600}.settings-demo-chip{font-size:11px;font-weight:600;padding:1px var(--s2);border:1px solid;border-radius:999px}.settings-specimen{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4);margin-top:var(--s3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius)}.settings-specimen-row{line-height:1.5}.settings-specimen-icons{display:flex;align-items:center;gap:var(--s3);padding-top:var(--s2);border-top:1px solid var(--border);color:var(--text-muted)}.settings-adjust{margin:0;display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 30%,var(--border));color:var(--text);font-size:12px;line-height:1.45}.settings-hint{margin:0;font-size:12px}.tablectl{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:var(--s2) 0 var(--s3) var(--s3);font-size:12.5px}.tablectl .tablectl-role{min-width:112px;color:var(--text-muted);font-weight:600}.tablectl label{color:var(--text-muted)}.tablectl select{font-size:12.5px;padding:var(--s1) var(--s2)}.rowacts .openlink{margin-right:var(--s2);white-space:nowrap}.settings-actions{display:flex;align-items:center;gap:var(--s4)}@media (max-width: 560px){.settings-grid{grid-template-columns:1fr}}.node{display:contents}.tour-launcher{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s2)}.tour-fab{background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius-lg);padding:var(--s2) var(--s4);font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--elevation-3)}.tour-fab:hover{background:var(--primary-hover)}.tour-menu{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--elevation-3);overflow:hidden;max-width:320px}.tour-choice{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:var(--s3) var(--s4);font:inherit;font-size:13px;color:var(--text);cursor:pointer}.tour-choice:last-child{border-bottom:none}.tour-choice:hover{background:var(--primary-soft)}.tour-choice .muted{font-size:12px}.tour-ring{position:fixed;z-index:55;border:2px solid var(--primary);border-radius:var(--radius-sm);box-shadow:0 0 0 4px var(--primary-soft);pointer-events:none;transition:top .15s,left .15s,width .15s,height .15s}.tour-card{position:fixed;z-index:60;width:340px;max-width:calc(100vw - 24px);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--elevation-3);padding:var(--s3) var(--s4) var(--s3);font-size:13px}.tour-card.centred{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card p{margin:var(--s2) 0 var(--s3);line-height:1.5}.tour-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.tour-foot{display:flex;align-items:center;gap:var(--s2)}.tour-foot .muted{font-size:12px;margin-left:auto}.tour-dots{display:flex;gap:4px}.tour-dots .dot{width:7px;height:7px;padding:0;border-radius:50%;border:none;background:var(--border);cursor:pointer}.tour-dots .dot.on{background:var(--primary)}:root[data-style=forest]{--bg: oklch(16.203% .007 17.911);--surface: oklch(18.522% .007 17.911);--surface-raised: oklch(20.84% .008 17.911);--text: oklch(83.768% .001 17.911);--text-muted: oklch(64% .006 17.911);--border: oklch(28% .008 17.911);--primary: oklch(68.628% .185 148.958);--on-primary: oklch(0% 0 0);--accent: oklch(70.628% .119 185.713);--on-accent: oklch(14.125% .023 185.713);--success: oklch(64.8% .15 160);--on-success: oklch(0% 0 0);--warn: oklch(84.71% .199 83.87);--on-warn: oklch(0% 0 0);--danger: oklch(71.76% .221 22.18);--on-danger: oklch(0% 0 0);--contrast-mix: #fff;--surface-alpha: 1;--blur: 0;--glow: none;--elevation-1: 0 1px 2px rgba(0, 0, 0, .5);--elevation-2: 0 2px 6px rgba(0, 0, 0, .55);--elevation-3: 0 12px 32px rgba(0, 0, 0, .65);--primary-soft: color-mix(in srgb, var(--primary) 15%, var(--surface));--primary-soft-border: color-mix(in srgb, var(--primary) 34%, var(--border))}@media (prefers-color-scheme: light){:root[data-style=forest]:not([data-theme=dark]){--bg: oklch(97.5% .008 150);--surface: #ffffff;--surface-raised: #ffffff;--text: oklch(22% .02 160);--text-muted: oklch(48% .02 160);--border: oklch(90% .015 155);--primary: oklch(52% .16 148.958);--on-primary: #ffffff;--accent: oklch(48% .1 185.713);--on-accent: #ffffff;--success: oklch(52% .14 160);--on-success: #ffffff;--warn: oklch(58% .14 83.87);--on-warn: #ffffff;--danger: oklch(54% .2 22.18);--on-danger: #ffffff;--contrast-mix: #000;--elevation-1: 0 1px 2px rgba(20, 40, 28, .06);--elevation-2: 0 2px 4px rgba(20, 40, 28, .06), 0 1px 2px rgba(20, 40, 28, .04);--elevation-3: 0 10px 28px rgba(20, 40, 28, .14);--primary-soft: color-mix(in srgb, var(--primary) 9%, var(--surface));--primary-soft-border: color-mix(in srgb, var(--primary) 26%, var(--border))}}:root[data-style=forest][data-theme=light]{--bg: oklch(97.5% .008 150);--surface: #ffffff;--surface-raised: #ffffff;--text: oklch(22% .02 160);--text-muted: oklch(48% .02 160);--border: oklch(90% .015 155);--primary: oklch(52% .16 148.958);--on-primary: #ffffff;--accent: oklch(48% .1 185.713);--on-accent: #ffffff;--success: oklch(52% .14 160);--on-success: #ffffff;--warn: oklch(58% .14 83.87);--on-warn: #ffffff;--danger: oklch(54% .2 22.18);--on-danger: #ffffff;--contrast-mix: #000;--elevation-1: 0 1px 2px rgba(20, 40, 28, .06);--elevation-2: 0 2px 4px rgba(20, 40, 28, .06), 0 1px 2px rgba(20, 40, 28, .04);--elevation-3: 0 10px 28px rgba(20, 40, 28, .14);--primary-soft: color-mix(in srgb, var(--primary) 9%, var(--surface));--primary-soft-border: color-mix(in srgb, var(--primary) 26%, var(--border))}:root[data-style=forest] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)),:root[data-style=forest] input:not(:where([type=checkbox],[type=radio],[type=color])),:root[data-style=forest] select{height:var(--control-h);font-size:14px}:root[data-style=forest] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)){display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;font-weight:600;border-color:color-mix(in srgb,var(--text) 9%,var(--surface));background:color-mix(in srgb,var(--text) 9%,var(--surface));transition:color .2s,background-color .2s,border-color .2s,translate .2s}:root[data-style=forest] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)):hover{background:color-mix(in oklab,color-mix(in srgb,var(--text) 9%,var(--surface)),#000 7%);border-color:color-mix(in oklab,color-mix(in srgb,var(--text) 9%,var(--surface)),#000 7%)}:root[data-style=forest] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)):active{translate:0 .5px}:root[data-style=forest] button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}:root[data-style=forest] button.primary:hover{background:color-mix(in oklab,var(--primary),#000 7%);border-color:color-mix(in oklab,var(--primary),#000 7%)}:root[data-style=forest] button.primary.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}:root[data-style=forest] button.primary.danger:hover{background:color-mix(in oklab,var(--danger),#000 7%);border-color:color-mix(in oklab,var(--danger),#000 7%)}:root[data-style=forest] input:not(:where([type=checkbox],[type=radio],[type=color])),:root[data-style=forest] select,:root[data-style=forest] textarea{background:var(--surface-raised);border-color:color-mix(in oklab,var(--text) 20%,transparent);padding:0 12px}:root[data-style=forest] textarea{height:auto;min-height:80px;padding:8px 12px;border-radius:var(--radius-field)}:root[data-style=forest] :focus-visible,:root[data-style=forest] input:focus-visible,:root[data-style=forest] select:focus-visible,:root[data-style=forest] textarea:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-color:color-mix(in oklab,var(--text) 20%,transparent)}:root[data-style=forest] .badge,:root[data-style=forest] .chip,:root[data-style=forest] .access-chip,:root[data-style=forest] .access-tag{border-radius:var(--radius-selector);font-size:12.5px;padding:3px 10px}:root[data-style=forest] table th,:root[data-style=forest] table td{padding:12px 16px;vertical-align:middle}:root[data-style=forest] table th{font-size:14px;font-weight:600;color:color-mix(in oklab,var(--text) 60%,transparent);white-space:nowrap}:root[data-style=forest] .menu-item{border-radius:var(--radius-field);padding:6px 12px;gap:8px}:root[data-style=forest] header.app{background:var(--surface);backdrop-filter:none}:root[data-style=frosted]{--bg: oklch(19% .03 265);--surface: oklch(30% .028 265);--surface-raised: oklch(36% .028 265);--text: oklch(96% .01 265);--text-muted: oklch(80% .02 265);--border: color-mix(in srgb, var(--text) 16%, transparent);--primary: oklch(78% .14 292);--on-primary: oklch(16% .05 292);--accent: oklch(80% .115 205);--on-accent: oklch(18% .04 205);--success: oklch(78% .15 155);--on-success: oklch(17% .05 155);--warn: oklch(85% .15 80);--on-warn: oklch(18% .05 80);--danger: oklch(76% .15 22);--on-danger: oklch(17% .05 22);--surface-alpha: .65;--blur: 24px;--glow: 0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent), 0 0 24px color-mix(in srgb, var(--primary) 20%, transparent);--surface-alpha-raised: .72;--rim: inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent);--elevation-1: 0 1px 2px rgba(6, 10, 22, .28);--elevation-2: 0 4px 16px rgba(6, 10, 22, .34);--elevation-3: 0 18px 48px rgba(6, 10, 22, .46);--contrast-mix: #fff;--primary-soft: color-mix(in srgb, var(--primary) 18%, transparent);--primary-soft-border: color-mix(in srgb, var(--primary) 38%, transparent);--focus-ring: color-mix(in srgb, var(--primary) 55%, transparent);--bg-image: radial-gradient(80% 60% at 12% 8%, color-mix(in srgb, var(--primary) 85%, transparent), transparent 60%), radial-gradient(70% 55% at 88% 12%, color-mix(in srgb, var(--accent) 70%, transparent), transparent 62%), radial-gradient(90% 70% at 70% 95%, color-mix(in srgb, var(--primary) 60%, transparent), transparent 66%);--scrim: oklch(19% .03 265 / .62);--bg-saturate: .82}@media (prefers-color-scheme: light){:root[data-style=frosted]:not([data-theme=dark]){--bg: oklch(97% .012 255);--surface: oklch(99.6% .004 255);--surface-raised: oklch(100% 0 255);--text: oklch(26% .03 265);--text-muted: oklch(42% .03 265);--border: color-mix(in srgb, var(--text) 14%, transparent);--primary: oklch(48% .2 292);--on-primary: #ffffff;--accent: oklch(46% .11 210);--on-accent: #ffffff;--success: oklch(46% .13 155);--on-success: #ffffff;--warn: oklch(48% .13 72);--on-warn: #ffffff;--danger: oklch(50% .19 22);--on-danger: #ffffff;--surface-alpha: .62;--surface-alpha-raised: .7;--rim: inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent);--contrast-mix: #000;--elevation-1: 0 1px 2px rgba(20, 30, 60, .06);--elevation-2: 0 4px 16px rgba(20, 30, 60, .1);--elevation-3: 0 18px 48px rgba(20, 30, 60, .16);--primary-soft: color-mix(in srgb, var(--primary) 12%, transparent);--primary-soft-border: color-mix(in srgb, var(--primary) 30%, transparent);--scrim: oklch(97% .012 255 / .64);--bg-saturate: .9}}:root[data-style=frosted][data-theme=light]{--bg: oklch(97% .012 255);--surface: oklch(99.6% .004 255);--surface-raised: oklch(100% 0 255);--text: oklch(26% .03 265);--text-muted: oklch(42% .03 265);--border: color-mix(in srgb, var(--text) 14%, transparent);--primary: oklch(48% .2 292);--on-primary: #ffffff;--accent: oklch(46% .11 210);--on-accent: #ffffff;--success: oklch(46% .13 155);--on-success: #ffffff;--warn: oklch(48% .13 72);--on-warn: #ffffff;--danger: oklch(50% .19 22);--on-danger: #ffffff;--surface-alpha: .62;--surface-alpha-raised: .7;--rim: inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent);--contrast-mix: #000;--elevation-1: 0 1px 2px rgba(20, 30, 60, .06);--elevation-2: 0 4px 16px rgba(20, 30, 60, .1);--elevation-3: 0 18px 48px rgba(20, 30, 60, .16);--primary-soft: color-mix(in srgb, var(--primary) 12%, transparent);--primary-soft-border: color-mix(in srgb, var(--primary) 30%, transparent);--scrim: oklch(97% .012 255 / .64);--bg-saturate: .9}:root[data-style=frosted]{background-color:var(--bg)}:root[data-style=frosted] body{background:transparent}:root[data-style=frosted] body:before{content:"";position:fixed;inset:0;z-index:-2;background-image:var(--bg-image);background-size:cover;background-position:center;filter:saturate(var(--bg-saturate))}:root[data-style=frosted] body:after{content:"";position:fixed;inset:0;z-index:-1;background:var(--scrim);background-image:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 40%,transparent) 0%,transparent 22%,transparent 78%,color-mix(in srgb,var(--bg) 30%,transparent) 100%)}:root[data-style=frosted] .card{background:color-mix(in srgb,var(--surface) calc(var(--surface-alpha) * 100%),transparent);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);backdrop-filter:blur(var(--blur)) saturate(150%);box-shadow:var(--elevation-2),var(--rim)}:root[data-style=frosted] .card>.head{background:color-mix(in srgb,var(--surface-raised) 22%,transparent)}:root[data-style=frosted] header.app{background:color-mix(in srgb,var(--surface) calc(var(--surface-alpha) * 100%),transparent);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);box-shadow:var(--rim)}:root[data-style=frosted] .modal{background:var(--surface-raised);box-shadow:var(--elevation-3)}:root[data-style=frosted] .modal-scrim{background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}:root[data-style=frosted] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)){background:color-mix(in srgb,var(--surface-raised) 40%,transparent);border-color:var(--border);box-shadow:var(--rim)}:root[data-style=frosted] button:not(:where(.link,.menu-item,.crumb,.chip-x,.scheme-opt)):hover{background:color-mix(in srgb,var(--surface-raised) 62%,transparent);border-color:var(--primary-soft-border)}:root[data-style=frosted] button.primary{background:var(--primary);border-color:transparent;color:var(--on-primary);box-shadow:var(--elevation-1)}:root[data-style=frosted] button.primary:hover{background:var(--primary-hover);box-shadow:var(--glow)}:root[data-style=frosted] button.primary.danger{background:var(--danger);border-color:transparent;color:var(--on-danger);box-shadow:var(--elevation-1)}:root[data-style=frosted] button.primary.danger:hover{background:color-mix(in srgb,var(--danger) 86%,var(--contrast-mix))}:root[data-style=frosted] input:not(:where([type=checkbox],[type=radio],[type=color])),:root[data-style=frosted] select,:root[data-style=frosted] textarea{background:color-mix(in srgb,var(--bg) 30%,transparent);border-color:var(--border);box-shadow:inset 0 1px 2px #0000001a}:root[data-style=frosted] input:focus-visible,:root[data-style=frosted] select:focus-visible,:root[data-style=frosted] textarea:focus-visible{background:color-mix(in srgb,var(--bg) 42%,transparent);border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--focus-ring)}:root[data-style=frosted] .badge,:root[data-style=frosted] .access-chip,:root[data-style=frosted] .access-tag{border-radius:var(--radius-selector);background:color-mix(in srgb,var(--text) 10%,transparent);border-color:var(--border)}:root[data-style=frosted] .menu-item:hover{background:color-mix(in srgb,var(--text) 9%,transparent)}:root[data-style=frosted] .menu-item.active{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary-soft-border)}:root[data-style=frosted] h1,:root[data-style=frosted] h2,:root[data-style=frosted] h3,:root[data-style=frosted] .crumbs{text-shadow:0 1px 3px color-mix(in srgb,var(--bg) 55%,transparent)}:root[data-style=frosted] .card :is(h1,h2,h3),:root[data-style=frosted] .modal :is(h1,h2,h3),:root[data-style=frosted] header.app :is(h1,h2,h3){text-shadow:none}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root[data-style=frosted] .card,:root[data-style=frosted] header.app{background:var(--surface)}}@media (prefers-reduced-transparency: reduce){:root[data-style=frosted] .card,:root[data-style=frosted] header.app{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}:root[data-style=frosted] body:before{display:none}}
