@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--paper-bright: #ffffff;--paper-cream: #f8f7f3;--paper-shadow: #eae8e1;--ink: #16232a;--ink-soft: #33454e;--ink-muted: #5e6d75;--ink-faint: #dcdbd4;--cobalt: #0f5f70;--cobalt-deep: #0a4653;--fleck-rust: #b4531f;--fleck-ochre: #b07d12;--fleck-moss: #0e7a54;--fleck-blue: #0f5f70;--c-positive: #0e7a54;--c-warning: #96690e;--c-danger: #be3227;--ink-secondary: #5e6d75;--tint-select: #e2f0f2;--tint-active: #e3f3eb;--surface-pop: #ffffff;--accent-contrast: #ffffff;--hairline-warm: #e3e1d9;--divider-soft: #edebe4;--scrim: rgba(12, 25, 30, .48);--shadow-pop: 0 8px 24px rgba(11, 30, 36, .12);--grain-rgb: 0, 0, 0;--grain-inverse-rgb: 255, 255, 255;--page: #f3f2ee;--f-display: "Inter", system-ui, sans-serif;--f-body: "Inter", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--f-mono-draft: "JetBrains Mono", ui-monospace, monospace;--fs-micro: 12px;--fs-meta: 13px;--fs-body: 14px;--fs-lead: 16px;--fs-title: 20px;--fs-page: 30px;--fw-body: 400;--fw-ui: 500;--fw-mid: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-body: 1.5;--h-sm: 32px;--h-md: 36px;--rule: 1px solid var(--ink-faint);--rule-soft: 1px solid var(--ink-faint);--rule-thick: 2px solid var(--ink);--t-fast: .12s;--t: .18s;--t-slow: .3s;--ease: cubic-bezier(.4, 0, .2, 1);--shadow-1: 0 1px 2px rgba(11, 30, 36, .04), 0 1px 3px rgba(11, 30, 36, .08);--shadow-2: 0 10px 30px rgba(11, 30, 36, .14);--ring: 0 0 0 3px rgba(15, 95, 112, .24);--radius: 8px;--radius-sm: 6px;--radius-pill: 999px}:root{color-scheme:light}@media screen{:root[data-theme=dark]{color-scheme:dark;--page: #0c1418;--paper-bright: #121f25;--paper-cream: #17282f;--paper-shadow: #1f343c;--ink: #e4ebed;--ink-soft: #c2cdd1;--ink-muted: #94a6ad;--ink-faint: #26383f;--cobalt: #3fb6c9;--cobalt-deep: #62c9d9;--c-positive: #35c48d;--c-warning: #e5b341;--c-danger: #f0796b;--ink-secondary: #94a6ad;--tint-select: #102e36;--tint-active: #0e2e26;--surface-pop: #1f343c;--accent-contrast: #06181d;--hairline-warm: #26383f;--divider-soft: #1f343c;--scrim: rgba(0, 0, 0, .62);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .4);--shadow-2: 0 12px 36px rgba(0, 0, 0, .6);--shadow-pop: 0 8px 24px rgba(0, 0, 0, .5);--ring: 0 0 0 3px rgba(63, 182, 201, .45);--grain-rgb: 255, 255, 255;--grain-inverse-rgb: 0, 0, 0}}.paper-cream{background-color:var(--paper-cream)}.paper-bright,.paper-terrazzo{background-color:var(--paper-bright)}.ink-panel{background-color:var(--ink);color:var(--paper-bright)}.t-display{font-family:var(--f-display);font-weight:var(--fw-mid);letter-spacing:-.022em;line-height:var(--lh-tight)}.t-display-italic{font-family:var(--f-display);font-weight:var(--fw-mid);letter-spacing:-.022em;line-height:1.1}.t-body{font-family:var(--f-body);font-weight:var(--fw-body);line-height:var(--lh-body)}.t-mono{font-family:var(--f-mono);font-weight:var(--fw-ui);letter-spacing:.01em}.t-mono-data{font-family:var(--f-mono);font-weight:var(--fw-ui)}.t-label{font-family:var(--f-mono);font-weight:var(--fw-mid);letter-spacing:.08em;text-transform:uppercase;font-size:var(--fs-micro);color:var(--ink-muted)}.pip{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--cobalt);vertical-align:middle}.pip-sm{display:inline-block;width:5px;height:5px;border-radius:1px;background:var(--cobalt);vertical-align:middle}.dot-leader{flex:1;border-bottom:1px dotted var(--ink-faint);margin:0 8px;align-self:end;height:.8em}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--page);color:var(--ink);font-family:var(--f-body);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}button{font-family:var(--f-body);cursor:pointer}a{color:inherit;text-decoration:none}input,textarea,select{font-family:var(--f-body);font-size:var(--fs-body)}.btn-primary,.btn-ghost{min-height:var(--h-md);padding:8px 16px;font-size:var(--fs-body);letter-spacing:.01em;font-weight:var(--fw-mid);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:8px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn-primary{background:var(--cobalt);color:var(--accent-contrast);border:1px solid var(--cobalt);box-shadow:var(--shadow-1)}.btn-primary:hover{background:var(--cobalt-deep);border-color:var(--cobalt-deep)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{background:var(--paper-bright);color:var(--ink);border:1px solid var(--ink-faint)}.btn-ghost:hover{background:var(--paper-shadow);border-color:var(--ink-muted)}.btn-ghost:active{transform:translateY(1px)}.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:none;box-shadow:var(--ring)}.btn-primary:disabled,.btn-ghost:disabled{opacity:.45;cursor:not-allowed;transform:none;background:transparent;color:var(--ink-muted);border-color:var(--ink-faint)}.btn-primary:disabled{background:var(--paper-shadow)}.field-label{font-family:var(--f-mono);font-size:var(--fs-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-weight:var(--fw-mid)}.text-input,.field-input{width:100%;min-height:var(--h-md);padding:8px 12px;border:1px solid var(--ink-faint);border-radius:var(--radius-sm);background:var(--paper-bright);font-size:var(--fs-body);color:var(--ink);font-family:var(--f-body);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.field-input[type=number],.t-mono,.t-mono-data{font-variant-numeric:tabular-nums}.text-input:hover,.field-input:hover{border-color:var(--ink-muted)}.text-input:focus,.field-input:focus{outline:none;border-color:var(--cobalt);box-shadow:var(--ring)}.card{background:var(--paper-bright);border:1px solid var(--ink-faint);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}.card.is-clickable:hover{border-color:var(--cobalt);box-shadow:var(--shadow-2)}.card.is-clickable:active{transform:translateY(1px)}.panel{background:var(--paper-bright);border:1px solid var(--ink-faint);border-radius:var(--radius)}.row{transition:background var(--t-fast) var(--ease)}.row:hover{background:var(--paper-bright)}.badge,.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid currentColor;border-radius:var(--radius-pill);font-family:var(--f-mono);font-size:var(--fs-micro);font-weight:var(--fw-mid);letter-spacing:.05em;text-transform:uppercase;line-height:1.3}.status-dot{width:6px;height:6px;display:inline-block;background:var(--ink-muted)}.status-dot.is-live{animation:pulse 1.6s ease-in-out infinite}.skeleton{position:relative;overflow:hidden;background:var(--paper-shadow);color:transparent}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:shimmer 1.4s var(--ease) infinite}.fade-in{animation:fadeUp var(--t) var(--ease)}.fade-in-slow{animation:fadeUp var(--t-slow) var(--ease)}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.tbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--f-body);font-weight:var(--fw-ui);font-size:var(--fs-body);letter-spacing:.01em;min-height:var(--h-md);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.tbtn:active{transform:translateY(1px)}.tbtn:focus-visible{outline:none;box-shadow:var(--ring)}.tbtn:disabled{opacity:.45;cursor:not-allowed;transform:none}.tbtn--sm{min-height:var(--h-sm);padding:6px 10px;font-size:var(--fs-meta);gap:6px}.tbtn--icon{padding:8px}.tbtn--icon.tbtn--sm{padding:6px}.tbtn--primary{background:var(--cobalt);color:var(--accent-contrast);border-color:var(--cobalt);box-shadow:var(--shadow-1);font-weight:var(--fw-mid)}.tbtn--primary:hover{background:var(--cobalt-deep);border-color:var(--cobalt-deep)}.tbtn--ghost{background:var(--paper-bright);color:var(--ink);border-color:var(--ink-faint)}.tbtn--ghost:hover{background:var(--paper-shadow);border-color:var(--ink-muted)}.tbtn--subtle{background:transparent;color:var(--ink-soft)}.tbtn--subtle:hover{background:var(--paper-shadow);color:var(--ink)}.tbtn--danger{background:transparent;color:var(--c-danger);border-color:transparent}.tbtn--danger:hover{background:color-mix(in srgb,var(--c-danger) 12%,transparent)}.tbtn--active{background:var(--cobalt);color:var(--accent-contrast);border-color:var(--cobalt);font-weight:var(--fw-mid)}.tbtn--active:hover{background:var(--cobalt-deep)}.tbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tbar-group{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.tbar-div{width:1px;align-self:stretch;min-height:20px;background:var(--ink-faint);margin:0 4px}.tbar-sect{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tbar-label{font-family:var(--f-mono);font-size:var(--fs-micro);font-weight:var(--fw-mid);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:2px 6px 2px 0;border-right:1px solid var(--ink-faint);align-self:center}.railbar{flex-shrink:0;width:198px;align-self:stretch;display:flex;flex-direction:column;gap:14px;padding:12px 10px;overflow-y:auto;overflow-x:hidden;background:var(--paper-bright);border-right:1px solid var(--ink-faint)}.railbar .tbar-sect,.railbar .tbar-group{display:flex;flex-direction:column;align-items:stretch;gap:5px;width:100%}.railbar .tbar-label{border-right:none;border-bottom:1px solid var(--ink-faint);padding:0 2px 5px;margin:0;align-self:stretch;white-space:normal}.railbar .tbar-div{display:none}.railbar .tbtn{width:100%;justify-content:flex-start}.railbar .tbtn--icon{justify-content:center}.railbar label{justify-content:space-between;width:100%}.railbar label select{flex:1;min-width:0}.appbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--paper-bright);border-bottom:1px solid var(--ink-faint)}.crumb{display:flex;align-items:center;gap:7px;font-size:var(--fs-body);color:var(--ink-muted);min-width:0}.crumb .sep{color:var(--ink-faint)}.crumb .here{color:var(--ink);font-weight:var(--fw-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb button{background:none;border:none;padding:0;cursor:pointer;color:var(--ink-muted);font:inherit;display:inline-flex;align-items:center;gap:6px}.crumb button:hover{color:var(--cobalt)}.save-ind{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta);color:var(--ink-muted);font-family:var(--f-mono)}.save-ind .dot{width:7px;height:7px;border-radius:50%;background:var(--c-positive)}.save-ind.is-saving .dot{background:var(--c-warning);animation:pulse 1.2s ease-in-out infinite}.menu{position:absolute;z-index:60;min-width:190px;padding:6px;background:var(--paper-bright);border:1px solid var(--ink-faint);border-radius:var(--radius);box-shadow:var(--shadow-2);animation:fadeUp var(--t-fast) var(--ease)}.menu-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-body);color:var(--ink);cursor:pointer}.menu-item:hover{background:var(--paper-shadow)}.menu-item.is-active{color:var(--cobalt)}.modalx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--scrim);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;animation:fadeUp var(--t-fast) var(--ease)}.modalx{width:min(720px,100%);background:var(--paper-bright);border:1px solid var(--ink-faint);border-radius:var(--radius);box-shadow:var(--shadow-2);overflow:hidden;animation:modalIn var(--t) var(--ease)}.modalx-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ink-faint)}.modalx-title{font-family:var(--f-display);font-weight:var(--fw-mid);font-size:var(--fs-title);letter-spacing:-.015em;line-height:var(--lh-tight);color:var(--ink)}.modalx-body{padding:18px}.modalx-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--ink-faint)}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.toastwrap{position:fixed;z-index:600;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;min-width:220px;max-width:360px;padding:11px 14px;background:var(--ink);color:var(--page);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);font-size:var(--fs-body);display:flex;align-items:center;gap:9px;animation:toastIn var(--t) var(--ease)}.toast--success{background:var(--c-positive)}.toast--error{background:var(--c-danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
