@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.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+2074,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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.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+2074,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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.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+2074,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-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BURdOHSV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DB8GrNuW.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-KNc67_qc.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-DH4-ctVk.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-BoLTwK2U.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-v1ZS-zG7.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-Blw1EEi-.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-N1itUhP2.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-IsFYRIfa.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-D97e-FUQ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-BiUoxtWd.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-BmphL1LA.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+2074,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-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.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-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.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-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.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+2074,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-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.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-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.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-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.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+2074,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-6-AWF9yE.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-BZFL66GJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,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-DqTcxLwU.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-C8N-B5AP.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-D7hk9wLv.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-BifMsNUA.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-5raxGPWx.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-C5zKQMXr.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-rgB1DpUr.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DeXYNBV7.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#eef0f3;--surface:#ffffff;--surface-2:#f7f8fa;--line:#dde1e7;--line-2:#e8ebef;--ink:#161a20;--ink-2:#4a5260;--ink-3:#828b99;--accent:#2b59c3;--accent-ink:#1c3f93;--primary:#1b2129;--st-dev:#c98a2b;--st-test:#3f7ad6;--st-rel:#2e9e83;--radius:7px;--radius-sm:5px;--row-h:54px;--shadow:0 1px 2px rgba(20,26,32,.06), 0 1px 1px rgba(20,26,32,.04);--shadow-pop:0 12px 40px rgba(18,24,33,.22), 0 2px 8px rgba(18,24,33,.12);--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}.unit{color:var(--ink-3);font-weight:400;font-size:.85em;white-space:nowrap}.muted{color:var(--ink-3)}.ic{display:inline-block;vertical-align:middle;flex:none}button{font-family:inherit}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:54px;flex:none;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;flex:none}.brand-name{white-space:nowrap}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--primary);color:#fff}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-tag{color:var(--ink-3);font-size:12px;border-left:1px solid var(--line);padding-left:10px;margin-left:2px}.topbar-right{display:flex;align-items:center;gap:18px}.env-pill{font-family:var(--mono);font-size:11px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);padding:4px 9px;border-radius:20px}.user-wrap{position:relative}.user{display:flex;align-items:center;gap:9px;background:none;border:none;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;color:inherit;text-align:left}.user:hover{background:var(--surface-2)}.user-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600}.user-meta{display:flex;flex-direction:column;line-height:1.15;font-size:12px}.user-meta b{font-weight:600}.user-meta span{color:var(--ink-3);font-size:11px}.user-chev{color:var(--ink-3)}.user-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:41;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:6px}.user-menu-head{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:6px}.user-menu-head b{font-size:13px;font-weight:600}.user-menu-head span{font-size:11.5px;color:var(--ink-3)}.user-menu-role{font-family:var(--mono)}.user-menu-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:var(--sans);color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}.user-menu-item:hover{background:var(--surface-2)}.crumbbar{flex:none;height:38px;display:flex;align-items:center;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--line)}.crumbs{display:flex;align-items:center;gap:5px;font-size:12.5px}.crumb{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);border:none;background:none;padding:2px 4px;border-radius:4px}.crumb-link{color:var(--ink-2);cursor:pointer}.crumb-link:hover{color:var(--accent);background:var(--surface-2)}.crumb-cur{color:var(--ink);font-weight:600}.crumb-sep{color:var(--ink-3);opacity:.7}.main{flex:1;overflow:auto}.page{max-width:1280px;margin:0 auto;padding:26px 30px 60px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.page-title{font-size:23px;font-weight:600;letter-spacing:-.02em;margin:0}.page-sub{margin:3px 0 0;color:var(--ink-3);font-size:12.5px}.page-head-actions{display:flex;align-items:center;gap:10px}.search{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;height:34px;width:230px;color:var(--ink-3)}.search input{border:none;outline:none;background:none;font-size:13px;width:100%;color:var(--ink)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:#cfd4db}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:#283039;border-color:#283039}.btn-danger{background:var(--surface);border-color:#e3b3af;color:#b0392f}.btn-danger:hover{background:#fbeeee;border-color:#d98b84;color:#9c2f27}.btn-danger .ic{color:#c0433a}.btn-sm{height:28px;padding:0 9px;font-size:12px}.btn-dis{opacity:.45;cursor:not-allowed;pointer-events:none}.icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;border:none;background:none;color:var(--ink-3);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.stat-strip{display:flex;align-items:center;gap:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 22px;margin-bottom:18px;box-shadow:var(--shadow)}.stat{display:flex;flex-direction:column;gap:1px}.stat-num{font-size:21px;font-weight:600;font-family:var(--mono);letter-spacing:-.02em}.stat-lab{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.stat-div{width:1px;height:30px;background:var(--line)}.st-rel-c{color:var(--st-rel)}.st-test-c{color:var(--st-test)}.st-dev-c{color:var(--st-dev)}.drafts{margin-bottom:18px}.drafts-head{display:flex;align-items:center;gap:12px;margin:0 2px 10px}.drafts-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink)}.drafts-count{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.drafts-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.search-sm{height:30px;width:180px}.search-sm input{font-size:12.5px}.drafts-sort{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.drafts-sort select{height:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:12.5px;font-family:var(--sans);padding:0 26px 0 9px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a828c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.drafts-sort select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.drafts-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.draft-item{display:grid;grid-template-columns:16px minmax(120px,1.3fr) minmax(180px,2fr) auto auto 16px;align-items:center;gap:13px;text-align:left;cursor:pointer;background:none;border:none;border-bottom:1px solid var(--line-2);border-left:3px solid var(--st-dev);padding:0 14px;height:48px;transition:background .1s}.draft-item:last-child{border-bottom:none}.draft-item:hover{background:var(--surface-2)}.draft-mat{font-weight:600;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-cfg{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-ver{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--st-dev);white-space:nowrap}.draft-when{font-size:11.5px;color:var(--ink-3);white-space:nowrap;text-align:right;min-width:78px}.draft-chev{color:var(--ink-3)}.draft-item:hover .draft-chev{color:var(--accent)}.draft-empty{padding:22px;text-align:center;color:var(--ink-3);font-size:12.5px}.drafts-more{display:inline-flex;align-items:center;gap:7px;margin:10px auto 0;cursor:pointer;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);font-size:12.5px;font-weight:500;height:32px;padding:0 14px;transition:background .12s,border-color .12s}.drafts-more:hover{background:var(--surface-2);border-color:#cfd4db}.drafts-more-n{font-family:var(--mono);font-size:11px;color:#fff;background:var(--st-dev);border-radius:10px;padding:1px 7px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.table-card{overflow:hidden}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.tbl tbody td{padding:0 14px;border-bottom:1px solid var(--line-2);height:var(--row-h);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.row-link{cursor:pointer;transition:background .1s}.row-link:hover{background:var(--surface-2)}.col-num,.col-n{text-align:right;white-space:nowrap}.col-chev,.col-row-act{width:36px;text-align:right}.row-chev{color:var(--ink-3)}.row-link:hover .row-chev{color:var(--accent)}.num-big{font-family:var(--mono);font-size:14px;font-weight:500}.empty-row,.empty-row td{text-align:center;color:var(--ink-3);padding:30px}.mat-cell{display:flex;align-items:center;gap:12px}.mat-swatch{width:26px;height:26px;border-radius:6px;flex:none;box-shadow:inset 0 0 0 1px #0000001f,inset 0 -8px 10px #0000001f}.mat-swatch.lg{width:34px;height:34px;border-radius:8px}.mat-swatch.sm{width:16px;height:16px;border-radius:4px}button.mat-swatch{padding:0;border:none;cursor:default}.mat-swatch.editable{cursor:pointer}.mat-swatch.editable:hover{box-shadow:inset 0 0 0 1px #0000001f,inset 0 -8px 10px #0000001f,0 0 0 2px var(--accent)}.swatch-wrap{position:relative;display:inline-flex}.swatch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.swatch-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:41;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:10px;width:max-content}.swatch-grid{display:grid;grid-template-columns:repeat(6,20px);gap:7px}.swatch-opt{width:20px;height:20px;border-radius:5px;border:none;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f}.swatch-opt:hover{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px var(--ink-3)}.swatch-opt.on{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px var(--ink)}.swatch-custom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line-2);font-size:12px;color:var(--ink-2)}.swatch-custom input[type=color]{width:30px;height:24px;padding:0;border:1px solid var(--line);border-radius:4px;background:none;cursor:pointer}.mat-name{font-weight:600;font-size:13.5px}.mat-meta{color:var(--ink-3);font-size:11.5px;font-family:var(--mono);white-space:nowrap}.act-cell{display:flex;flex-direction:column;line-height:1.25}.act-when{font-size:12.5px;color:var(--ink)}.act-who{font-size:11px;color:var(--ink-3);font-family:var(--mono)}.statbars{display:flex;flex-direction:column;gap:5px;min-width:150px}.statbar{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--line-2)}.sb{display:block;height:100%}.sb-rel{background:var(--st-rel)}.sb-test{background:var(--st-test)}.sb-dev{background:var(--st-dev)}.statbar-nums{display:flex;gap:11px;font-size:10.5px;color:var(--ink-3);font-family:var(--mono)}.sbn b{color:var(--ink-2)}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px 0 8px;border-radius:20px;font-size:11.5px;font-weight:500;border:1px solid}.pill-sm{height:20px;font-size:11px;padding:0 8px 0 7px}.pill-dot{width:7px;height:7px;border-radius:50%;flex:none}.st-dev{background:#fbf2e2;border-color:#eedcb6;color:#946018}.st-test{background:#e9f1fc;border-color:#cadef6;color:#2b5aa6}.st-rel{background:#e6f5ef;border-color:#bfe6d6;color:#1f7a5f}.lifecycle{display:flex;align-items:center;gap:0}.lc-node{display:flex;align-items:center;gap:7px;opacity:.4}.lc-node.on{opacity:1}.lc-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.lc-node.on .lc-dot{box-shadow:none}.lc-lab{font-size:12px;font-weight:500}.lc-bar{width:40px;height:2px;background:var(--line);margin:0 8px;border-radius:2px}.lc-bar.on{background:var(--st-rel)}.workspace{display:flex;min-height:100%}.rail{width:228px;flex:none;border-right:1px solid var(--line);background:var(--surface);padding:16px 12px}.rail-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:0 8px 8px}.rail-all{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;text-align:left;font-size:13px;color:var(--ink);padding:8px;border-radius:6px;cursor:pointer;font-weight:500}.rail-all .rail-count{margin-left:auto}.rail-all:hover{background:var(--surface-2)}.rail-all.sel{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-ink)}.rail-group{margin-top:12px}.rail-machine{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);padding:4px 8px}.rail-cfg{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;text-align:left;cursor:pointer;padding:6px 8px 6px 22px;border-radius:6px;font-size:12.5px;color:var(--ink-2)}.rail-cfg:hover{background:var(--surface-2)}.rail-cfg.sel{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);font-weight:600}.rail-layer{font-family:var(--mono)}.rail-dots{display:flex;gap:3px;margin-left:auto}.rd{width:7px;height:7px;border-radius:50%}.rd-rel{background:var(--st-rel)}.rd-test{background:var(--st-test)}.rd-dev{background:var(--st-dev)}.rail-count{font-family:var(--mono);font-size:11px;color:var(--ink-3);min-width:16px;text-align:right}.rail-cfg.sel .rail-count,.rail-all.sel .rail-count{color:var(--accent-ink)}.ws-main{flex:1;min-width:0;padding:24px 30px 60px}.ws-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 20px;margin-bottom:18px;flex-wrap:wrap}.ws-title-wrap{display:flex;gap:13px;align-items:center;flex:1 1 260px;min-width:0}.ws-head .page-head-actions{flex:none;flex-wrap:wrap;justify-content:flex-end}.tbl-sets td{font-size:12.5px}.col-state2{width:104px}.col-cfg{color:var(--ink-2);white-space:nowrap}.muted-cell{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.tv-cell{display:flex;align-items:center;gap:7px}.tv-ic{color:var(--ink-3)}.tv-tool{font-weight:600}.tv-ver{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);padding:1px 6px;border-radius:4px;font-size:11.5px}.based-link{display:inline-flex;align-items:center;gap:5px;border:none;background:none;cursor:pointer;color:var(--accent);font-size:11.5px;font-family:var(--mono);padding:2px 4px;border-radius:4px}.based-link:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.auth-cell{color:var(--ink-2);font-size:12px}.when-cell{color:var(--ink-3);font-size:12px}.mini-btn{display:grid;place-items:center;width:26px;height:26px;border-radius:5px;border:1px solid transparent;background:none;color:var(--ink-3);cursor:pointer}.row-link:hover .mini-btn{border-color:var(--line);background:var(--surface)}.mini-btn:hover{color:var(--accent);border-color:var(--accent)!important}.grp-row td{background:var(--surface-2);height:32px;padding:0 14px;border-bottom:1px solid var(--line)}.grp-tool td{background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));height:36px;border-top:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}.grp-tool .grp-lab{font-size:12.5px;color:var(--accent-ink)}.grp-tool .grp-lab .ic{color:var(--accent)}.grp-layer td{background:var(--surface-2);height:30px;border-top:1px solid var(--line-2)}.grp-layer .grp-lab{font-size:11.5px;color:var(--ink-2);font-weight:600}.grp-layer .grp-lab .ic{color:var(--ink-3)}.grp-layer .grp-count{text-transform:none;letter-spacing:0}.tbl-sets .grp-tool:first-child td{border-top:none}.grp-lab{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-2);text-transform:none}.grp-sep{color:var(--ink-3);margin:0 3px}.grp-count{float:right;font-size:11px;color:var(--ink-3);font-family:var(--mono);white-space:nowrap}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}.seg-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:none;background:none;border-radius:6px;font-family:inherit;font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}.seg-btn .ic{color:var(--ink-3)}.seg-btn:hover{color:var(--ink)}.seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg-btn.on .ic{color:var(--accent)}.matrix-card{padding:0;overflow:hidden}.matrix-scroll{overflow-x:auto}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.matrix th,.matrix td{padding:0;text-align:left}.matrix thead th{position:sticky;top:0;background:var(--surface-2);border-bottom:1px solid var(--line);z-index:1}.mx-corner{padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;position:sticky;left:0;z-index:2;background:var(--surface-2);min-width:170px;border-right:1px solid var(--line)}.mx-tool{padding:11px 16px;font-weight:600;font-size:12.5px;color:var(--ink-2);white-space:nowrap;min-width:150px;border-right:1px solid var(--line-2)}.mx-tool .ic{color:var(--accent);margin-right:6px;vertical-align:-2px}.matrix tbody tr.mx-newmachine td,.matrix tbody tr.mx-newmachine th{border-top:2px solid var(--line)}.mx-cfg{position:sticky;left:0;z-index:1;background:var(--surface);padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line-2);vertical-align:top}.mx-cfg-machine{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--ink);font-size:12.5px}.mx-cfg-machine .ic{color:var(--ink-3)}.mx-cfg-layer{display:block;font-size:11.5px;color:var(--ink-3);margin-top:2px;padding-left:19px}.mx-cell{padding:9px 14px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);vertical-align:top}.mx-cell.empty{background:repeating-linear-gradient(45deg,transparent,transparent 6px,color-mix(in srgb,var(--line-2) 50%,transparent) 6px,color-mix(in srgb,var(--line-2) 50%,transparent) 7px)}.mx-dash{color:var(--ink-3);opacity:.5}.mx-chips{display:flex;flex-direction:column;gap:5px}.vchip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:5px 9px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s,box-shadow .12s,transform .08s;width:fit-content}.vchip:hover{border-color:#cfd4db;box-shadow:var(--shadow)}.vchip:active{transform:translateY(1px)}.vchip-v{font-size:12.5px;font-weight:600;color:var(--ink)}.vchip-cfg{font-size:11px;color:var(--ink-3)}.vchip-released{border-left:3px solid var(--st-rel)}.vchip-testing{border-left:3px solid var(--st-test)}.vchip-develop{border-left:3px solid var(--st-dev)}.matrix-legend{display:flex;align-items:center;gap:16px;padding:11px 16px;border-top:1px solid var(--line);background:var(--surface-2);font-size:11.5px;color:var(--ink-2)}.matrix-legend span{display:inline-flex;align-items:center;gap:6px}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.kb-col{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 10px;min-height:120px}.kb-col-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.kb-col-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink)}.kb-col-n{font-size:12px;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1px 9px}.kb-col-note{font-size:11px;color:var(--ink-3);padding:2px 4px 10px}.kb-col-body{display:flex;flex-direction:column;gap:9px}.kb-col-develop{border-top:2px solid var(--st-dev)}.kb-col-testing{border-top:2px solid var(--st-test)}.kb-col-released{border-top:2px solid var(--st-rel)}.kb-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 12px;cursor:pointer;box-shadow:var(--shadow);transition:border-color .12s,box-shadow .12s,transform .1s}.kb-card:hover{border-color:#cfd4db;box-shadow:var(--shadow-pop);transform:translateY(-1px)}.kb-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.kb-ver{font-size:14px;font-weight:700;color:var(--ink)}.kb-fork{opacity:0;transition:opacity .12s}.kb-card:hover .kb-fork{opacity:1}.kb-cfg,.kb-tool{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);margin-bottom:3px}.kb-cfg .ic,.kb-tool .ic{color:var(--ink-3);flex:none}.kb-tool{color:var(--ink);font-weight:500}.kb-params{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0;padding:8px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);font-size:11px;color:var(--ink-3)}.kb-params b{color:var(--ink);font-size:12px;font-weight:600}.kb-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.kb-foot .based-link{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%}.kb-orig{font-size:11px}.kb-when{font-size:11px;color:var(--ink-3);white-space:nowrap;flex:none}.kb-empty{font-size:12px;color:var(--ink-3);text-align:center;padding:18px 0;opacity:.7}@media (max-width:1080px){.kanban{grid-template-columns:1fr}}.detail-page{max-width:1140px}.detail-head{align-items:flex-start}.detail-eyebrow{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-3);font-family:var(--mono);margin-bottom:3px;white-space:nowrap;flex-wrap:wrap}.detail-title{display:flex;align-items:baseline;gap:10px}.dt-ver{font-size:18px;color:var(--ink-2);font-weight:500}.detail-status{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin-bottom:16px}.ds-meta{display:flex;gap:18px}.ds-meta-i{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.ds-meta-i .ic{color:var(--ink-3)}.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.spec-card{padding:6px 20px 16px}.spec-group{padding:14px 0 4px;border-bottom:1px solid var(--line-2)}.spec-group:last-child{border-bottom:none}.spec-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;margin-bottom:6px}.spec-row{display:flex;align-items:baseline;justify-content:space-between;padding:5px 0;gap:24px}.spec-k{color:var(--ink-2);font-size:12.5px;flex:none;white-space:nowrap}.spec-v{font-size:13px;text-align:right;flex:1;min-width:0;overflow-wrap:anywhere}.file-card{margin-top:16px;overflow:hidden}.file-toggle{display:flex;align-items:center;gap:9px;width:100%;border:none;background:var(--surface-2);padding:11px 16px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--ink)}.file-toggle:hover{background:#eef0f3}.file-size{margin-left:8px;color:var(--ink-3);font-size:11.5px;font-weight:400}.file-chev{margin-left:auto;color:var(--ink-3)}.xml{margin:0;padding:16px;font-size:11.5px;line-height:1.65;color:var(--ink-2);background:#12151a;color:#cdd6e3;overflow:auto;border-top:1px solid var(--line)}.files-card{margin-top:16px;overflow:hidden}.files-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.files-head-l{display:flex;flex-direction:column;gap:1px}.files-title{font-size:13px;font-weight:600}.files-sub{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.files-head-r{display:flex;gap:8px;flex:none}.file-list{display:flex;flex-direction:column}.file-item{border-bottom:1px solid var(--line-2)}.file-item:last-child{border-bottom:none}.file-item.editing{background:var(--surface-2)}.file-row{display:flex;align-items:center;gap:13px;padding:11px 16px}.file-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;flex:none;border:1px solid var(--line)}.fk-xml{background:#eef1fb;color:#3550b0;border-color:#d7defa}.fk-md{background:#eef6f2;color:#2e7d63;border-color:#d3eadf}.fk-pdf{background:#fbeeee;color:#b8453d;border-color:#f3d8d6}.fk-bin{background:#f0eef6;color:#5b4ba8;border-color:#ddd8ee}.fk-other{background:var(--surface-2);color:var(--ink-2)}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:13px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:8px}.file-edited{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--st-dev);background:#fbf2e2;border:1px solid #eedcb6;border-radius:10px;padding:1px 7px;font-family:var(--sans)}.file-meta{font-size:11.5px;color:var(--ink-3)}.file-actions{display:flex;align-items:center;gap:6px;flex:none}.fa-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:inherit}.fa-btn:hover{background:var(--surface-2);border-color:#cfd4db;color:var(--ink)}.fa-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.fa-btn.primary:hover{background:#283039}.fa-btn.danger{color:#b23a4a}.fa-btn.danger:hover{background:#fbecee;border-color:#e7b6bd;color:#9e2f3e}.file-item.editing .file-row{background:transparent}.editor{border-top:1px solid var(--line);background:#12151a}.editor-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#1b1f27;border-bottom:1px solid #2a303b}.editor-lang{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8b94a3;font-weight:600}.editor-err{font-size:11.5px;color:#f0a3a0;font-family:var(--mono);max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-spacer{flex:1}.editor-bar .fa-btn{background:#262c36;border-color:#363d49;color:#cdd6e3;height:28px}.editor-bar .fa-btn:hover{background:#2f3641;color:#fff}.editor-bar .fa-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.editor-ta{display:block;width:100%;min-height:300px;max-height:520px;border:none;outline:none;resize:vertical;background:#12151a;color:#cdd6e3;padding:14px 16px;font-size:12px;line-height:1.7;-moz-tab-size:2;tab-size:2}.editor-ta::selection{background:#2b59c366}.detail-col-side{position:sticky;top:16px}.lineage-card{padding:16px 18px}.side-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:14px}.link-sm{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:var(--accent);font-size:11.5px;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500}.link-sm:hover{text-decoration:underline}.lin-list{display:flex;flex-direction:column}.lin-node{display:flex;gap:12px;border:none;background:none;text-align:left;cursor:pointer;padding:0;width:100%}.lin-node:not(.cur):hover .lin-lab{color:var(--accent)}.lin-rail{position:relative;width:14px;flex:none;display:flex;justify-content:center}.lin-line{position:absolute;top:0;bottom:0;width:2px;background:var(--line)}.lin-node:first-child .lin-line{top:50%}.lin-node.child:last-child .lin-line,.lin-node.cur:last-child .lin-line{bottom:50%}.child-line{background:repeating-linear-gradient(var(--line) 0 4px,transparent 4px 8px)}.lin-dot{position:relative;width:11px;height:11px;border-radius:50%;margin-top:5px;border:2px solid var(--surface);box-shadow:0 0 0 1px #00000014}.lin-dot.big{width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.lin-body{display:flex;flex-direction:column;padding:3px 0 14px;line-height:1.3;min-width:0}.lin-lab{font-size:12.5px;color:var(--ink);transition:color .1s}.lin-when{font-size:11px;color:var(--ink-3);font-family:var(--mono)}.lin-this{font-size:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:1px 6px;border-radius:10px;margin-left:4px}.lin-forkic{color:var(--ink-3);margin-left:3px}.lin-node.anc{--depth:0}.lin-empty{font-size:12px;color:var(--ink-3);margin:0}.asana-card{padding:16px 18px;margin-bottom:16px}.asana-head{margin-bottom:8px}.asana-head-l{display:inline-flex;align-items:center;gap:7px}.asana-head-l .ic{color:var(--ink-2)}.asana-count{text-transform:none;letter-spacing:0;font-weight:500;font-size:11px;color:var(--ink-3);white-space:nowrap}.asana-note{font-size:11.5px;line-height:1.5;color:var(--ink-3);margin:0 0 12px}.asana-note b{color:var(--ink-2);font-weight:600}.asana-list{display:flex;flex-direction:column;gap:8px}.asana-item{border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:var(--surface);transition:border-color .12s,box-shadow .12s}.asana-item:not(.editing):hover{border-color:#cfd4db;box-shadow:var(--shadow)}.asana-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.as-pill{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px 0 7px;border-radius:20px;font-size:10.5px;font-weight:600;border:1px solid;white-space:nowrap}.as-dot{width:7px;height:7px;border-radius:50%;flex:none}.as-todo{background:#f1f3f6;border-color:#e0e4ea;color:#5b636f}.as-prog{background:#e9f1fc;border-color:#cadef6;color:#2b5aa6}.as-rev{background:#f1ebfa;border-color:#ddd0f2;color:#6b41b0}.as-block{background:#fbecee;border-color:#f3ccd2;color:#b23a4a}.as-done{background:#e6f5ef;border-color:#bfe6d6;color:#1f7a5f}.asana-row-actions{display:flex;align-items:center;gap:2px;flex:none}.as-act{display:grid;place-items:center;width:26px;height:26px;border-radius:5px;border:none;background:none;color:var(--ink-3);cursor:pointer;transition:background .1s,color .1s}.as-act:hover{background:var(--surface-2);color:var(--ink)}.as-act.danger:hover{background:#fbecee;color:#b23a4a}.asana-title{display:block;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.35;text-wrap:pretty}.asana-title:hover{color:var(--accent);text-decoration:underline}.asana-meta{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:11px;color:var(--ink-3)}.asana-gid{font-size:11px;color:var(--ink-3)}.asana-dotsep{color:var(--line)}.asana-assignee{display:inline-flex;align-items:center;gap:4px}.asana-assignee .ic{color:var(--ink-3)}.asana-empty{font-size:12px;color:var(--ink-3);margin:2px 0 0;line-height:1.5}.asana-item.editing{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.asana-input{width:100%;font-family:var(--sans);font-size:12.5px;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:7px 9px;outline:none;margin-bottom:7px;background:var(--surface)}.asana-input:focus{border-color:var(--accent)}.asana-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.as-select-wrap{position:relative;display:flex;align-items:center}.as-select-wrap .as-dot{position:absolute;left:9px;pointer-events:none}.as-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--sans);font-size:12px;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 22px;outline:none;cursor:pointer;background:var(--surface)}.as-select.solo{padding-left:9px}.as-select:focus{border-color:var(--accent)}.as-select-chev{position:absolute;right:6px;color:var(--ink-3);pointer-events:none}.asana-edit-actions{display:flex;align-items:center;gap:7px}.asana-spacer{flex:1}.asana-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:11px;height:34px;border:1px dashed var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink-2);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.asana-add-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.lineage-page{max-width:1100px}.lg-legend{display:flex;align-items:center;gap:14px;font-size:11.5px;color:var(--ink-2)}.lg-leg{display:inline-flex;align-items:center;gap:5px}.lineage-graph-card{padding:4px 0;overflow:hidden}.lg-wrap{position:relative}.lg-svg{position:absolute;top:0;left:0;z-index:1}.lg-edge{fill:none;stroke:var(--line);stroke-width:2}.lg-edge.cross{stroke:var(--ink-3);stroke-dasharray:1 0;opacity:.55}.lg-focus-ring{fill:none;stroke:var(--accent);stroke-width:2;opacity:.5}.lg-rows{position:absolute;top:0;right:0}.lg-row{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;text-align:left;cursor:pointer;padding:0 22px 0 6px;border-radius:6px}.lg-row:hover{background:var(--surface-2)}.lg-row.focus{background:color-mix(in srgb,var(--accent) 8%,transparent)}.lg-lane-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;min-width:210px}.lg-ver{font-size:12px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:1px 7px;border-radius:4px}.lg-fork{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-3);font-family:var(--mono);white-space:nowrap}.lg-orig{font-size:11px;color:var(--ink-3);font-style:italic}.lg-spacer{flex:1}.lg-auth{font-size:12px;color:var(--ink-2)}.lg-when{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);min-width:78px;text-align:right}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1218216b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100;padding:24px}.modal{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-pop);width:min(540px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .16s ease}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600}.based-banner{display:flex;align-items:center;gap:10px;padding:11px 20px;background:color-mix(in srgb,var(--st-dev) 10%,transparent);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-2);flex-wrap:wrap}.based-banner b{color:var(--ink)}.bb-note{color:var(--ink-3);font-size:11.5px;flex-basis:100%}.bb-note b{color:var(--st-dev)}.modal-body{display:grid;grid-template-columns:1fr;gap:0;overflow:auto}.modal-col{padding:18px 22px}.modal-col-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;margin-bottom:14px}.fld{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.fld-lab{font-size:12px;font-weight:500;color:var(--ink-2);display:flex;align-items:center;gap:8px}.fld-hint{color:var(--ink-3);font-weight:400;font-size:11px}.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inp{height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--surface);width:100%;outline:none}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.inp.sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23828b99' stroke-width='2'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}.mt6{margin-top:6px}.pick-add{display:flex;gap:6px}.pick-back{flex:none;width:34px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-3);cursor:pointer;display:grid;place-items:center}.pick-back:hover{color:var(--ink)}.pick-name{font-size:11px;color:var(--ink-3);font-family:var(--mono)}.locked-val{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;font-weight:500}.state-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:10px 12px;margin-top:6px;line-height:1.4}.derived-box{margin-top:8px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:12px 14px}.derived-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;margin-bottom:8px}.derived-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;padding:3px 0;color:var(--ink-2);white-space:nowrap;gap:16px}.derived-row b{font-size:14px;color:var(--ink)}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface-2)}.modal-target{font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-foot-btns{display:flex;gap:10px;flex:none}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:9px;background:var(--primary);color:#fff;padding:11px 18px;border-radius:8px;box-shadow:var(--shadow-pop);font-size:13px;font-weight:500;animation:toastin .22s ease}.toast .ic{color:var(--st-rel)}@keyframes toastin{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.main::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.xml::-webkit-scrollbar{width:10px;height:10px}.main::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{background:#cdd2da;border-radius:6px;border:2px solid var(--bg)}.sb-mat-list::-webkit-scrollbar,.cmd-list::-webkit-scrollbar{width:9px}.sb-mat-list::-webkit-scrollbar-thumb,.cmd-list::-webkit-scrollbar-thumb{background:#cdd2da;border-radius:6px;border:2px solid var(--surface)}.app-body{flex:1;display:flex;min-height:0}.app-content{flex:1;display:flex;flex-direction:column;min-width:0}.app-content .main{flex:1;overflow:auto}.topbar-cmd{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px 0 11px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-family:inherit;font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s}.topbar-cmd:hover{border-color:#cfd4db;color:var(--ink-2)}.sb-kbd{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.sidebar{width:252px;flex:none;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}.sb-section{padding:12px 12px 0;flex:none}.sb-section+.sb-section{padding-top:8px}.sb-cmd{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 10px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-family:inherit;font-size:13px;cursor:pointer;transition:border-color .12s}.sb-cmd:hover{border-color:#cfd4db}.sb-cmd span{flex:1;text-align:left}.nav-link{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:none;background:none;border-radius:7px;color:var(--ink-2);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;transition:background .1s,color .1s}.nav-link .ic{color:var(--ink-3);flex:none}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link:hover .ic{color:var(--ink-2)}.nav-link.active{background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-ink)}.nav-link.active .ic{color:var(--accent)}.nav-new{color:var(--ink-2)}.nav-new .ic{color:var(--accent)}.sb-mats{flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:0}.sb-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.sb-head-n{color:var(--ink-3);font-size:11px}.sb-mat-search{display:flex;align-items:center;gap:7px;margin:0 2px 6px;padding:0 9px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink-3)}.sb-mat-search input{border:none;outline:none;background:none;font-size:12.5px;width:100%;color:var(--ink);font-family:inherit}.sb-mat-search:focus-within{border-color:var(--accent)}.sb-mat-list{flex:1;overflow-y:auto;min-height:0;padding:0 2px 8px}.nav-mat-wrap{border-radius:7px}.nav-mat-wrap.cur{background:color-mix(in srgb,var(--accent) 5%,transparent)}.nav-mat-row{display:flex;align-items:center}.nav-mat-twist{flex:none;width:22px;height:32px;display:grid;place-items:center;border:none;background:none;cursor:pointer;color:var(--ink-3);border-radius:6px}.nav-mat-twist:hover{color:var(--ink)}.nav-twist-ic{transition:transform .14s ease}.nav-twist-ic.open{transform:rotate(90deg)}.nav-mat{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:32px;padding:0 8px 0 2px;border:none;background:none;cursor:pointer;border-radius:6px;font-family:inherit;font-size:13px;color:var(--ink);text-align:left}.nav-mat:hover{background:var(--surface-2)}.nav-mat.active{color:var(--accent-ink);font-weight:600}.nav-mat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-mat-dots{display:flex;gap:3px;flex:none}.nav-cfg-list{padding:0 0 4px 24px;display:flex;flex-direction:column;gap:1px}.nav-cfg{display:flex;align-items:center;gap:7px;width:100%;height:28px;padding:0 8px;border:none;background:none;cursor:pointer;border-radius:5px;font-family:inherit;font-size:12px;color:var(--ink-2);text-align:left}.nav-cfg:hover{background:var(--surface-2);color:var(--ink)}.nav-cfg.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);font-weight:600}.nav-cfg-ic{color:var(--ink-3);flex:none}.nav-cfg-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-cfg-layer{font-size:11px;color:var(--ink-3)}.nav-cfg.active .nav-cfg-layer{color:var(--accent-ink)}.nav-cfg-count{font-size:10.5px;color:var(--ink-3);min-width:12px;text-align:right}.nav-cfg-empty{font-size:11.5px;color:var(--ink-3);padding:6px 10px}.sb-foot{flex:none;border-top:1px solid var(--line);padding:10px 12px}.sb-guide{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink-2);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .12s,color .12s}.sb-guide:hover{border-color:var(--accent);color:var(--accent)}.sb-guide .ic{color:var(--accent)}.sb-legend{display:flex;gap:12px;margin-top:9px;padding:0 2px;font-size:10.5px;color:var(--ink-3)}.sb-legend span{display:inline-flex;align-items:center;gap:5px}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#12182157;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.cmd-box{width:min(620px,92vw);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden;animation:cmdin .14s ease}@keyframes cmdin{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}.cmd-input-row{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line)}.cmd-search-ic{color:var(--ink-3);flex:none}.cmd-input{flex:1;border:none;outline:none;background:none;font-family:inherit;font-size:16px;color:var(--ink)}.cmd-input::placeholder{color:var(--ink-3)}.cmd-esc{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:2px 6px}.cmd-list{max-height:46vh;overflow-y:auto;padding:6px}.cmd-group{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;padding:10px 10px 4px}.cmd-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:none;background:none;border-radius:7px;cursor:pointer;text-align:left}.cmd-row.sel{background:color-mix(in srgb,var(--accent) 11%,transparent)}.cmd-ic{width:20px;display:grid;place-items:center;flex:none;color:var(--ink-2)}.cmd-row.sel .cmd-ic{color:var(--accent)}.cmd-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--ink)}.cmd-hint{font-size:11px;color:var(--ink-3);font-family:var(--mono);flex:none}.cmd-empty{padding:26px;text-align:center;color:var(--ink-3);font-size:13px}.cmd-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--line);background:var(--surface-2);font-size:11px;color:var(--ink-3)}.cmd-foot kbd{font-family:var(--mono);font-size:10px;background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:1px 4px;margin-right:2px}.guide-box{width:min(720px,94vw);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop);padding:30px 32px;position:relative;animation:cmdin .16s ease}.guide-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:grid;place-items:center;border:none;background:none;color:var(--ink-3);border-radius:7px;cursor:pointer}.guide-close:hover{background:var(--surface-2);color:var(--ink)}.guide-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.guide-title{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:8px 0 4px}.guide-sub{color:var(--ink-2);font-size:13.5px;margin:0 0 4px;max-width:54ch}.guide-steps{display:flex;align-items:stretch;gap:6px;margin:22px 0}.guide-step{flex:1;position:relative;border:1px solid var(--line);border-radius:10px;padding:16px 14px 14px;background:var(--surface-2)}.guide-step-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#fff;margin-bottom:10px}.guide-step-n{position:absolute;top:14px;right:14px;font-size:11px;color:var(--ink-3)}.guide-step-title{font-size:14.5px;font-weight:600;margin-bottom:4px}.guide-step-body{font-size:12px;color:var(--ink-2);line-height:1.5}.guide-arrow{display:grid;place-items:center;color:var(--ink-3);flex:none}.guide-lifecycle{border-top:1px solid var(--line-2);padding-top:18px}.guide-lc-head{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;margin-bottom:12px}.guide-lc-row{display:flex;align-items:center;gap:22px}.guide-lc-note{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:0;max-width:48ch}.guide-foot{display:flex;justify-content:flex-end;margin-top:22px}.home-page{max-width:1180px}.welcome{position:relative;display:flex;gap:30px;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow)}.welcome-x{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border:none;background:none;color:var(--ink-3);border-radius:6px;cursor:pointer}.welcome-x:hover{background:var(--surface);color:var(--ink)}.welcome-l{flex:1;min-width:0}.welcome-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.welcome-h{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:8px 0 6px}.welcome-p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin:0 0 16px;max-width:62ch}.welcome-p b{color:var(--ink);font-weight:600}.welcome-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.welcome-link{display:inline-flex;align-items:center;gap:6px;border:none;background:none;color:var(--accent);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:4px}.welcome-link:hover{text-decoration:underline}.welcome-steps{flex:none;width:200px;display:flex;flex-direction:column;gap:6px;justify-content:center}.welcome-step{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center}.welcome-step-ic{grid-row:1 / span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff}.welcome-step-t{font-size:13px;font-weight:600;align-self:end;line-height:1.1}.welcome-step-s{font-size:11px;color:var(--ink-3);align-self:start;line-height:1.2}.welcome-step-arrow{color:var(--ink-3);transform:rotate(90deg);margin:0 0 0 11px}.qtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.qtile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 16px 15px;cursor:pointer;text-align:left;box-shadow:var(--shadow);transition:border-color .12s,box-shadow .12s,transform .12s}.qtile:hover{border-color:#cfd4db;box-shadow:var(--shadow-pop);transform:translateY(-1px)}.qtile-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--surface-2);margin-bottom:7px}.qtile-t{font-size:14.5px;font-weight:600;white-space:nowrap}.qtile-s{font-size:12px;color:var(--ink-3)}.home-grid{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}.home-col-main,.home-col-side{display:flex;flex-direction:column;gap:16px}.home-card{padding:14px 16px 12px}.home-card-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.home-card-t{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink)}.home-card-t .ic{color:var(--ink-2)}.home-card-t .att-ic{color:var(--st-dev)}.home-card-n{font-size:11px;color:var(--ink-3)}.home-card-link{display:inline-flex;align-items:center;gap:3px;border:none;background:none;color:var(--accent);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;padding:2px 4px;border-radius:4px}.home-card-link:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.home-list{display:flex;flex-direction:column}.home-empty{font-size:12.5px;color:var(--ink-3);padding:14px 6px;text-align:center}.home-draft{display:grid;grid-template-columns:16px minmax(80px,1.1fr) minmax(120px,1.8fr) auto auto 14px;align-items:center;gap:11px;border:none;background:none;border-top:1px solid var(--line-2);padding:0 4px;height:44px;cursor:pointer;text-align:left;transition:background .1s;border-radius:5px}.home-draft:first-child{border-top:none}.home-draft:hover{background:var(--surface-2)}.hd-mat{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-cfg{font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd-ver{font-size:12px;font-weight:600;color:var(--st-dev)}.hd-when{font-size:11px;color:var(--ink-3);white-space:nowrap;text-align:right}.hd-chev{color:var(--ink-3)}.home-draft:hover .hd-chev{color:var(--accent)}.att-item{display:grid;grid-template-columns:auto 1fr auto 14px;align-items:center;gap:11px;border:none;background:none;border-top:1px solid var(--line-2);padding:0 4px;height:44px;cursor:pointer;text-align:left;transition:background .1s;border-radius:5px}.att-item:first-child{border-top:none}.att-item:hover{background:var(--surface-2)}.att-title{font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-ctx{font-size:11px;color:var(--ink-3);white-space:nowrap}.att-item .hd-chev{color:var(--ink-3)}.att-item:hover .hd-chev{color:var(--accent)}.home-list.tight .myt-item{height:auto}.myt-item{display:flex;align-items:flex-start;gap:9px;border:none;background:none;border-top:1px solid var(--line-2);padding:9px 4px;cursor:pointer;text-align:left;transition:background .1s;border-radius:5px}.myt-item:first-child{border-top:none}.myt-item:hover{background:var(--surface-2)}.myt-item .as-dot{margin-top:5px;flex:none}.myt-body{display:flex;flex-direction:column;gap:1px;min-width:0}.myt-title{font-size:12.5px;color:var(--ink);line-height:1.35;text-wrap:pretty}.myt-ctx{font-size:10.5px;color:var(--ink-3)}.myt-more{font-size:11px;color:var(--ink-3);text-align:center;padding-top:9px;border-top:1px solid var(--line-2);margin-top:2px}.statrow{display:grid;grid-template-columns:16px minmax(70px,1fr) auto;align-items:center;gap:11px;border:none;background:none;border-top:1px solid var(--line-2);padding:8px 4px;cursor:pointer;text-align:left;transition:background .1s;border-radius:5px}.statrow:first-child{border-top:none}.statrow:hover{background:var(--surface-2)}.statrow-name{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statrow-bar{flex:none}.statrow .statbars{min-width:130px}@media (max-width:980px){.home-grid,.qtiles{grid-template-columns:1fr}.welcome{flex-direction:column;gap:18px}.welcome-steps{width:100%;flex-direction:row}.welcome-step-arrow{transform:none}}.tool-dot{display:inline-block;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #0000001f}.tool-badge{display:inline-flex;align-items:center;gap:6px;font-weight:600}.tool-badge-name{font-size:12.5px}.tchip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.tchip .ic{color:var(--ink-3)}.tchip.rd-yes{background:#eef6f2;border-color:#d3eadf;color:#2e7d63}.tchip.rd-yes .ic{color:#2e9e83}.tchip.rd-no{background:#f4f1ec;border-color:#e6dfd2;color:#8a6d33}.tchip.rd-no .ic{color:#b08a3e}.tchip.rd-cloud{background:#eef2fb;border-color:#d7defa;color:#3550b0}.tchip.rd-cloud .ic{color:var(--accent)}.tool-strip{display:flex;align-items:center;gap:16px;padding:14px 16px;margin-bottom:16px;flex-wrap:wrap}.ts-id{display:flex;align-items:center;gap:11px;min-width:0}.ts-swatch{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:#fff;flex:none}.ts-id-txt{min-width:0}.ts-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.ts-vendor{font-size:11.5px;color:var(--ink-3)}.ts-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:1}.ts-ref{margin-left:auto;flex:none}.tool-panels{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tp-grid.single{grid-template-columns:1fr}@media (max-width:720px){.tp-grid{grid-template-columns:1fr}}.tp-card,.tp-wide{padding:14px 16px}.tp-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;margin-bottom:11px}.tp-ic{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);flex:none}.tp-head-n{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:1px 8px}.tp-lead{display:flex;align-items:center;gap:9px;margin-bottom:9px;flex-wrap:wrap}.tp-lead-lab{font-weight:600;font-size:13.5px}.tp-hash{font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 7px}.tp-compat{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#2e7d63;background:#eef6f2;border:1px solid #d3eadf;border-radius:6px;padding:5px 9px;margin-bottom:9px}.tp-compat .ic{color:#2e9e83}.tp-compat.neutral{color:var(--ink-2);background:var(--surface-2);border-color:var(--line)}.tp-compat.neutral .ic{color:var(--ink-3)}.tp-rows{display:flex;flex-direction:column}.tp-note{font-size:11.5px;color:var(--ink-3);line-height:1.5;margin:10px 0 0}.tp-note.warn{color:#a23c34}.layer-bundle{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px}.layer-bundle .ic{color:var(--ink-3);flex:none}.layer-bundle.multi{background:#eef2fb;border-color:#d7defa;color:#31468f}.layer-bundle.multi .ic{color:var(--accent)}.fk-blob{background:#f1eef4;color:#6b4b8a;border-color:#e2d9ec}.fk-img{background:#eef6f2;color:#2e7d63;border-color:#d3eadf}.tool-tag{display:inline-flex;align-items:center;height:19px;padding:0 8px;border-radius:20px;font-size:10.5px;font-weight:600;margin-left:8px;vertical-align:middle;border:1px solid}.tool-tag.tag-enc{background:#f4f1ec;border-color:#e6dfd2;color:#8a6d33}.tool-tag.tag-cloud{background:#eef2fb;border-color:#d7defa;color:#3550b0}.grp-tool .grp-lab .tool-dot{margin-right:2px}.tools-page .ws-head{margin-bottom:10px}.tools-sec-h{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:24px 0 11px}.tools-sec-h .ic{color:var(--accent)}.tools-matrix-card{overflow:hidden}.tm-scroll{overflow-x:auto}.tools-matrix{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap}.tools-matrix thead th{text-align:left;font-weight:500;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:11px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.tools-matrix tbody td,.tools-matrix tbody th{padding:11px 12px;border-bottom:1px solid var(--line-2);text-align:left;font-weight:400;vertical-align:middle}.tools-matrix tbody tr:last-child td,.tools-matrix tbody tr:last-child th{border-bottom:none}.tm-tool{min-width:170px}.tm-tool-txt{display:inline-flex;flex-direction:column;line-height:1.25;margin-left:8px;vertical-align:middle}.tm-tool-txt b{font-weight:600}.tm-tool-txt span{font-size:11px;color:var(--ink-3)}.tm-ext{color:var(--ink-2)}.tool-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:11px;border-top:3px solid var(--tool-c,var(--accent))}.tc-head{display:flex;align-items:center;gap:10px}.tc-swatch{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--tool-c,var(--accent));color:#fff;flex:none}.tc-title{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.tc-title b{font-weight:600;font-size:14px}.tc-title span{font-size:11px;color:var(--ink-3)}.tc-blurb{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin:0}.tc-req{font-size:12px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:9px 11px;line-height:1.45}.tc-req-lab{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin-bottom:4px}.tc-req-lab .ic{color:var(--accent)}.tc-foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--ink-3);margin-top:auto;padding-top:2px}.app-version{position:fixed;right:10px;bottom:8px;z-index:60;font:500 11px/1 var(--mono);color:var(--ink-3);opacity:.65;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.feedback-fab{position:fixed;right:10px;bottom:26px;z-index:61;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink-3);font-family:var(--sans);font-size:11.5px;font-weight:500;cursor:pointer;box-shadow:var(--shadow);opacity:.72;transition:opacity .12s,color .12s,border-color .12s}.feedback-fab:hover{opacity:1;color:var(--ink);border-color:#cfd4db}.feedback-fab .ic{color:var(--st-dev)}.fb-todo{background:#fbf2e2;border-color:#eedcb6;color:#946018}.fb-solved{background:#e6f5ef;border-color:#bfe6d6;color:#1f7a5f}.fb-rejected{background:#fdecec;border-color:#f3c9c6;color:#9c2f27}.fb-modal{width:min(560px,100%)}.fb-loc{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-3)}.fb-loc b{color:var(--ink-2);font-weight:600}.fb-loc .ic{color:var(--ink-3);flex:none}.fb-area{height:auto;min-height:64px;padding:8px 10px;line-height:1.45;resize:vertical;font-family:inherit}.fb-counts{display:flex;align-items:center;gap:14px;flex:none}.fb-count{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.fb-count b{color:var(--ink-2)}.fb-table-card{overflow:hidden}.fb-scroll{overflow-x:auto}.fb-table{width:100%;border-collapse:collapse;font-size:12.5px}.fb-table thead th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.fb-table tbody td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:top}.fb-row:last-child td{border-bottom:none}.fb-c-user{width:120px}.fb-c-loc{width:200px;color:var(--ink-2)}.fb-c-date{width:96px;color:var(--ink-3);font-family:var(--mono);font-size:11.5px;white-space:nowrap}.fb-c-text{min-width:260px}.fb-c-status{width:150px}.fb-c-actions{width:88px;white-space:nowrap;text-align:right}.fb-user{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--ink)}.fb-user .ic{color:var(--ink-3)}.fb-body{margin:0;color:var(--ink);line-height:1.5;white-space:pre-wrap}.fb-expected{margin:6px 0 0;color:var(--ink-2);line-height:1.5;font-size:12px;white-space:pre-wrap}.fb-expected-lab{display:inline-block;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:1px 7px;margin-right:7px}.fb-edit{display:flex;flex-direction:column;gap:8px}.fb-edit-btns{display:flex;gap:8px;justify-content:flex-end}.fb-status-set{display:flex;flex-direction:column;gap:5px}.fb-status-btn{text-align:left;border:1px solid;border-radius:14px;padding:2px 10px;font-size:11px;font-weight:500;font-family:var(--sans);cursor:pointer;opacity:.55;transition:opacity .1s}.fb-status-btn:hover:not(:disabled){opacity:.85}.fb-status-btn.on{opacity:1;font-weight:600}.fb-status-btn:disabled{cursor:default}.fb-confirm{display:inline-flex;gap:6px;align-items:center}.fb-empty{text-align:center;color:var(--ink-3);padding:26px 14px;font-size:12.5px}.set-card{padding:16px 18px;margin-bottom:16px}.set-sec-h{display:flex;align-items:center;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;margin-bottom:12px}.set-sec-h .ic{color:var(--accent)}.set-rows{display:flex;flex-direction:column;gap:2px}.set-row{display:flex;gap:16px;font-size:13px;padding:5px 0}.set-k{width:180px;color:var(--ink-3);flex:none}.set-v{color:var(--ink);font-weight:500}.set-note{font-size:12px;color:var(--ink-3);margin:-6px 0 12px}.set-row:has(.set-choice){align-items:center;padding:7px 0}.set-choice{display:flex;align-items:center;gap:6px}.set-swatch{width:24px;height:24px;padding:0;border:0;border-radius:6px;cursor:pointer;box-shadow:0 0 0 1px #0000001f;transition:transform .12s,box-shadow .12s}.set-swatch:hover{transform:translateY(-1px)}.set-swatch.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentColor}.set-seg{font:inherit;font-size:12px;text-transform:capitalize;padding:4px 11px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:6px}.set-seg:hover{border-color:var(--ink-3)}.set-seg.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.set-toggle{width:38px;height:22px;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);cursor:pointer;display:flex;transition:background .14s,border-color .14s}.set-toggle.on{background:var(--accent);border-color:var(--accent);justify-content:flex-end}.set-toggle-knob{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040}.fb-mine{display:flex;flex-direction:column;gap:10px}.fb-mine-item{border:1px solid var(--line);border-radius:8px;padding:11px 13px;background:var(--surface-2)}.fb-mine-top{display:flex;align-items:center;gap:10px;margin-bottom:7px;flex-wrap:wrap}.fb-mine-loc{font-size:12px;color:var(--ink-2)}.fb-mine-when{font-size:11px;color:var(--ink-3);margin-left:auto}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg);padding:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:28px 26px 24px;display:flex;flex-direction:column;gap:16px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;flex:none}.login-titles h1{font-size:16px;font-weight:600;margin:0;color:var(--ink)}.login-titles p{font-size:12px;margin:2px 0 0;color:var(--ink-3)}.login-field{display:flex;flex-direction:column;gap:6px}.login-field span{font-size:12px;font-weight:500;color:var(--ink-2)}.login-field input{font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;outline:none}.login-field input:focus{border-color:var(--accent);background:var(--surface)}.login-field input:disabled{opacity:.6}.login-error{font-size:12.5px;color:#b3261e;background:#fbeceb;border:1px solid #f3c9c5;border-radius:var(--radius-sm);padding:8px 10px}.login-submit{font-family:var(--sans);font-size:14px;font-weight:600;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;margin-top:2px}.login-submit:hover:not(:disabled){filter:brightness(1.12)}.login-submit:disabled{opacity:.55;cursor:default}.login-reset{font-size:12px;color:var(--accent);text-decoration:none;text-align:center}.login-reset:hover{text-decoration:underline}.login-foot{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin:0}
