@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-500-normal-CAxz3nsc.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-ext-600-normal-BsaQcF38.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-600-normal-DMks36a2.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-ext-700-normal-ClYbKGw-.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-700-normal-BQc-7cTM.woff) format("woff");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:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/instrument-sans-latin-700-normal-CYfAanHo.woff2) format("woff2"),url(/assets/instrument-sans-latin-700-normal-DfAjL1vF.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");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}:root{--brand: #1E5136;--color-accent: var(--brand);--color-accent-hover: color-mix(in srgb, var(--color-accent) 86%, #000);--color-accent-bg: color-mix(in srgb, var(--color-accent) 10%, var(--color-bg));--color-accent-border: color-mix(in srgb, var(--color-accent) 35%, var(--color-border));--color-on-accent: #ffffff;--color-brand: #1E5136;--color-brand-fg: #ffffff;--color-brand-tint: #A9D7B8;--color-brand-muted: #C9DED1;--color-brand-subtle: #93B9A2;--color-bg: #ffffff;--color-bg-subtle: #F3F8EF;--color-bg-elevated: #ffffff;--color-bg-inset: #EAF2E1;--color-fg: #16211A;--color-fg-strong: #2A3A31;--color-fg-muted: #54635A;--color-fg-subtle: #93A099;--color-border: #DCE7D3;--color-border-strong: #C6D8B9;--color-border-subtle: #EAF1E3;--color-neutral-bg: #EAF2E1;--color-neutral-fg: #54635A;--color-info-bg: #E4F0EA;--color-info-fg: #1E6B5A;--color-success-bg: #E4F0DA;--color-success-fg: #2A6B47;--color-warning-bg: #FBF0D8;--color-warning-fg: #B07A16;--color-danger-bg: #F6E9E7;--color-danger-fg: #A94442;--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-8: 16px;--space-10: 20px;--space-12: 24px;--space-16: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--font-sans: "Instrument Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-scale: 1.1;--text-xs: calc(11.5px * var(--font-scale));--text-sm: calc(13px * var(--font-scale));--text-md: calc(14px * var(--font-scale));--text-lg: calc(16px * var(--font-scale));--text-xl: calc(20px * var(--font-scale));--font-weight-medium: 500;--font-weight-semibold: 600;--leading-tight: 1.2;--leading: 1.45;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px rgb(22 33 26 / .06), 0 1px 1px rgb(22 33 26 / .04);--shadow-md: 0 2px 4px rgb(22 33 26 / .07), 0 1px 2px rgb(22 33 26 / .05);--shadow-lg: 0 12px 30px rgb(30 81 54 / .12), 0 2px 6px rgb(22 33 26 / .06);--transition: .12s ease;--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px color-mix(in srgb, var(--color-accent) 55%, transparent);--layout-max: min(1600px, 95vw);--z-overlay: 50}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading);color:var(--color-fg);background:var(--color-bg-subtle)}::selection{background:color-mix(in srgb,var(--color-accent) 20%,transparent)}.mono,code{font-family:var(--font-mono);font-feature-settings:"tnum" 1}input,textarea,select,button{font-family:inherit}html,body{height:100%}body{overflow:hidden}.app{max-width:var(--layout-max);margin:0 auto;padding:var(--space-8) var(--space-12) 0;height:100dvh;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.app-main{overflow-y:auto;min-height:0;padding-bottom:var(--space-16)}.app-main--fill{overflow:hidden;padding-bottom:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0 var(--space-6);margin-bottom:var(--space-8);border-bottom:var(--border-width) solid var(--color-border)}.brand{display:flex;align-items:center;gap:var(--space-4)}.brand__logo{height:30px;max-width:140px;object-fit:contain}.brand__name{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.015em;color:var(--color-fg)}.app-nav{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-bg-inset);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.nav-btn{font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-3) var(--space-6);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-fg-muted);cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.nav-btn:hover{color:var(--color-fg-strong)}.nav-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-btn--active{background:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-sm)}.nav-hamburger{font:inherit;font-size:var(--text-xl);line-height:1;cursor:pointer;padding:var(--space-3) var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-inset);color:var(--color-fg)}.nav-hamburger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-nav--drawer{flex-direction:column;gap:var(--space-2);background:none;border:none;padding:0}.app-nav--drawer .nav-btn{width:100%;text-align:left;padding:var(--space-4) var(--space-5)}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-weight-medium);letter-spacing:.11em;text-transform:uppercase;color:var(--color-accent)}.btn{font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-fg-strong);cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.btn:hover{background:var(--color-bg-inset);border-color:var(--color-fg-subtle)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:active{background:var(--color-border-subtle)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:disabled:hover{background:var(--color-bg);border-color:var(--color-border-strong)}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active{background:var(--color-accent-hover)}.btn--primary:disabled:hover{background:var(--color-accent);border-color:var(--color-accent)}.btn--sm{padding:var(--space-1) var(--space-4);font-size:var(--text-xs);border-radius:var(--radius-sm)}.card{background:var(--color-bg-elevated);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__header{padding:var(--space-5) var(--space-6);border-bottom:var(--border-width) solid var(--color-border)}.card__body{padding:var(--space-6)}.card__title{margin:0;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-fg-muted)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-fg-strong);letter-spacing:.01em}.field__hint{font-size:var(--text-xs);color:var(--color-fg-muted)}.input{font:inherit;font-size:var(--text-sm);width:100%;padding:var(--space-3) var(--space-5);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-fg);transition:border-color var(--transition),box-shadow var(--transition)}.input:hover{border-color:var(--color-fg-subtle)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.input::placeholder{color:var(--color-fg-subtle)}textarea.input{resize:vertical;min-height:64px}.color-control{display:flex;align-items:center;gap:var(--space-4)}.color-control input[type=color]{width:40px;height:32px;padding:0;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer}.dropzone{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-inset);color:var(--color-fg-muted);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.dropzone:hover{border-color:var(--color-accent-border);background:var(--color-accent-bg)}.dropzone input[type=file]{display:none}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-6);border:var(--border-width) solid transparent}.alert--error{background:var(--color-danger-bg);color:var(--color-danger-fg);border-color:color-mix(in srgb,var(--color-danger-fg) 22%,transparent)}.alert--success{background:var(--color-success-bg);color:var(--color-success-fg);border-color:color-mix(in srgb,var(--color-success-fg) 22%,transparent)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning-fg);border-color:color-mix(in srgb,var(--color-warning-fg) 22%,transparent)}.alert--info{background:var(--color-info-bg);color:var(--color-info-fg);border-color:color-mix(in srgb,var(--color-info-fg) 22%,transparent)}.muted{color:var(--color-fg-muted)}.subtle{color:var(--color-fg-subtle)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.grow{flex:1}@keyframes spin{to{transform:rotate(360deg)}}.busy{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-fg-muted);font-size:var(--text-xs)}.spinner{display:inline-block;border-radius:var(--radius-pill);border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);animation:spin .7s linear infinite}.busy__label{color:var(--color-fg-muted)}.icon-btn{font:inherit;font-size:var(--text-lg);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);border:var(--border-width) solid transparent;background:transparent;color:var(--color-fg-muted);transition:background var(--transition),color var(--transition)}.icon-btn:hover{background:var(--color-bg-inset);color:var(--color-fg)}.icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tabs{display:flex;gap:var(--space-6);border-bottom:var(--border-width) solid var(--color-border);margin-bottom:var(--space-8)}.tab{font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);border:0;background:transparent;color:var(--color-fg-muted);border-bottom:var(--border-width-thick) solid transparent;margin-bottom:-1px;cursor:pointer;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--color-fg-strong)}.tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.tab--active{color:var(--color-fg);border-bottom-color:var(--color-accent)}.tab__badge{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-fg-muted);background:var(--color-bg-inset);border-radius:var(--radius-pill);padding:0 var(--space-3)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:color-mix(in srgb,var(--color-fg) 35%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-16);overflow:auto}.modal{background:var(--color-bg-elevated);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;margin:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-5);border-bottom:var(--border-width) solid var(--color-border)}.modal__title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--color-fg)}.modal__body{padding:var(--space-6)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-top:var(--border-width) solid var(--color-border)}.drawer{position:fixed;top:0;bottom:0;width:min(480px,92vw);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.drawer--right{right:0;border-left:var(--border-width) solid var(--color-border)}.drawer--left{left:0;border-right:var(--border-width) solid var(--color-border)}.drawer__body{padding:var(--space-6);overflow:auto;flex:1}.toast-stack{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:var(--z-overlay);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:max-content;max-width:min(560px,92vw)}.toast{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);border-radius:var(--radius-md);border:var(--border-width) solid transparent;box-shadow:var(--shadow-md);font-size:var(--text-sm)}.toast__msg{flex:1}.toast--error{background:var(--color-danger-bg);color:var(--color-danger-fg);border-color:color-mix(in srgb,var(--color-danger-fg) 22%,transparent)}.toast--success{background:var(--color-success-bg);color:var(--color-success-fg);border-color:color-mix(in srgb,var(--color-success-fg) 22%,transparent)}.toast--warning{background:var(--color-warning-bg);color:var(--color-warning-fg);border-color:color-mix(in srgb,var(--color-warning-fg) 22%,transparent)}.toast--info{background:var(--color-info-bg);color:var(--color-info-fg);border-color:color-mix(in srgb,var(--color-info-fg) 22%,transparent)}.toast .icon-btn{color:inherit}.bronze-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:var(--space-8);align-items:start}.bronze-layout--collapsed{grid-template-columns:1fr}.bronze-list{position:sticky;top:0;max-height:100%;overflow:auto}.bronze-detail{min-width:0}@media (max-width: 900px){.bronze-layout{grid-template-columns:1fr}.bronze-list{position:static;max-height:none}}.embed-mount iframe{width:100%;height:100%;border:0;display:block}.split-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:var(--space-12);align-items:start}.split-layout>*{min-width:0}@media (max-width: 900px){.split-layout{grid-template-columns:1fr;gap:var(--space-8)}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.two-col>*{min-width:0}@media (max-width: 900px){.two-col{grid-template-columns:1fr;gap:var(--space-8)}}.work-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:var(--space-8);height:100%;min-height:0;align-items:stretch}.work-layout--wide{grid-template-columns:1fr}.work-layout>*{min-width:0;min-height:0}.work-pane{overflow-y:auto;min-height:0;padding-right:var(--space-2)}.work-split{display:grid;grid-template-columns:minmax(320px,1fr) 1.15fr;gap:var(--space-8);height:100%;min-height:0}.work-split--collapsed{grid-template-columns:1fr}.work-split>*{min-width:0;min-height:0}@media (max-width: 900px){.work-layout,.work-split{grid-template-columns:1fr;height:auto}.work-pane{overflow-y:visible}}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-6)}.chart-grid>.chart-grid__full{grid-column:1 / -1}.master-detail{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:var(--space-8);align-items:start}.master-detail--collapsed{grid-template-columns:1fr}.master-detail>*{min-width:0}@media (max-width: 900px){.master-detail{grid-template-columns:1fr}}.auth{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh;min-height:100dvh;background:var(--color-bg)}.auth>*{min-width:0}.auth__panel{position:relative;overflow:hidden;background:var(--color-brand);color:var(--color-brand-fg);padding:var(--space-16) var(--space-16) var(--space-12);display:flex;flex-direction:column}.auth__watermark{position:absolute;right:-8%;bottom:-14%;width:min(58%,330px);filter:brightness(0) invert(1);opacity:.085;pointer-events:none;-webkit-user-select:none;user-select:none}.auth__panel-inner{position:relative;display:flex;flex-direction:column;height:100%}.auth__logo{align-self:flex-start;height:42px;width:auto;display:block}.auth__pitch{margin:var(--space-16) 0 0;font-size:clamp(22px,2.4vw,30px);line-height:var(--leading-tight);font-weight:var(--font-weight-semibold);letter-spacing:-.025em}.auth__pitch em{font-style:normal;color:var(--color-brand-tint)}.auth__pitch-sub{margin:var(--space-6) 0 0;color:var(--color-brand-muted);font-size:var(--text-md);max-width:34ch}.auth__steps{list-style:none;margin:var(--space-16) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.auth__steps li{display:flex;gap:var(--space-5);align-items:baseline;font-size:var(--text-sm);color:var(--color-brand-muted)}.auth__steps li b{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--color-brand-tint);min-width:14px}.auth__footnote{margin:auto 0 0;font-size:var(--text-xs);color:var(--color-brand-subtle);border-top:var(--border-width) solid rgb(255 255 255 / .14);padding-top:var(--space-8)}.auth__form{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,56px);background:var(--color-bg)}.auth__form-inner{width:100%;max-width:380px}.auth__greet{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.auth__greet-sub{margin:var(--space-2) 0 var(--space-12);color:var(--color-fg-muted);font-size:var(--text-sm)}.auth__fields{display:flex;flex-direction:column;gap:var(--space-6)}.auth__submit{width:100%;margin-top:var(--space-10)}.auth__linkrow{margin-top:var(--space-8);text-align:center;font-size:var(--text-sm);color:var(--color-fg-muted)}.auth__sep{display:flex;align-items:center;gap:var(--space-6);margin:var(--space-10) 0 var(--space-8);color:var(--color-fg-subtle);font-size:var(--text-xs)}.auth__sep:before,.auth__sep:after{content:"";flex:1;height:1px;background:var(--color-border-subtle)}@media (max-width: 900px){.auth{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth__panel{padding:var(--space-10) var(--space-8) var(--space-12)}.auth__logo{height:34px}.auth__pitch{margin-top:var(--space-8);font-size:var(--text-xl)}.auth__pitch-sub,.auth__steps,.auth__footnote,.auth__watermark{display:none}.auth__form{align-items:flex-start;padding:var(--space-12) var(--space-8) var(--space-16)}.auth__form-inner{max-width:none}}img,svg,video,canvas{max-width:100%}input,select,textarea,button{max-width:100%;box-sizing:border-box}@media (max-width: 900px){.app{padding:var(--space-6) var(--space-5) 0}.app-main{padding-bottom:var(--space-12)}.app-header{flex-wrap:wrap;gap:var(--space-4)}.brand__name{font-size:var(--text-lg)}}@media (max-width: 560px){.app{padding:var(--space-5) var(--space-4) 0}.app-main{padding-bottom:var(--space-10)}.modal__footer{flex-wrap:wrap}}
