:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--rail-bg: #0a1628;--rail-w: 56px;--sb-bg: #111c2d;--sb-w: 220px;--content-bg: #16243a;--card-bg: #1e2f47;--card-hover: #243650;--cobalt: #2563eb;--cobalt-soft:rgba(37,99,235,.15);--cobalt-ink: #93c5fd;--ink: #e2eaf4;--ink-2: #b4c0d0;--ink-3: #a0afc1;--ink-4: #8595a8;--ink-5: #263447;--hairline: rgba(255,255,255,.06);--hairline-strong: rgba(255,255,255,.1);--surface: #1e2f47;--surface-2: #243650;--rose: #ef4444;--amber: #f59e0b;--sage: #22c55e;--violet:#a855f7;--r-2: 6px;--r-3: 10px;--r-4: 16px}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;height:100dvh;overflow:hidden}body{font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;background:#0d1b2e;color:#c8d6e5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:3px}code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:1px 5px;border-radius:4px}button{font-family:var(--font-sans)}.app-wrap{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--rail-bg);overflow:hidden;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box}.app-frame{display:flex;flex-direction:column;flex:1;overflow:hidden}.app-chrome{display:none!important}.app-body{display:flex;flex:1;overflow:hidden;min-height:0}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--content-bg);min-width:0}.app-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 12px;border-bottom:1px solid var(--hairline);flex-shrink:0;background:var(--content-bg);gap:12px}.app-head .t .date{font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.app-head .t h2{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.app-head .t h2 span{color:var(--ink-4);font-weight:400;font-size:14px}.app-head .actions{display:flex;gap:8px;align-items:center}.app-head-row1{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0}.app-head-row2{display:flex;align-items:center;flex-shrink:0}.app-head-actions-row{display:flex;gap:8px;align-items:center;flex-shrink:0}.app-main-scroll{flex:1;overflow-y:auto;padding:12px 20px 20px}.app-main-scroll::-webkit-scrollbar{width:5px}.app-main-scroll::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:3px}.app-section-label{display:flex;align-items:center;gap:10px;padding:0 4px 8px;font-size:11px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}.app-section-label .line{flex:1;height:1px;background:var(--hairline)}.app-section-label .count{color:var(--ink-4)}.sort-switch{position:relative;display:inline-flex}.sort-switch-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--ink-4);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.sort-switch-btn:hover,.sort-switch-btn[aria-expanded=true]{background:var(--card-hover);color:var(--ink-2);border-color:var(--hairline-strong)}.sort-switch-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:8px;box-shadow:0 8px 24px #00000059;padding:4px;z-index:1500;display:flex;flex-direction:column;gap:2px}.sort-switch-item{display:block;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:5px;color:var(--ink);font-size:12px;font-family:var(--font-sans);font-weight:500;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;transition:background .12s}.sort-switch-item:hover{background:var(--card-hover)}.sort-switch-item.is-active{background:var(--cobalt-soft);color:var(--cobalt-ink)}@media(max-width:768px){.app-head{flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px}.app-head-row1{flex:unset}.app-head-row2{flex-shrink:unset}.app-head-actions-row{width:100%;justify-content:flex-end;gap:4px}.app-head .t .date{font-size:10px;margin-bottom:1px}.app-head .t h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn .btn-label{display:none}}.nav-rail{width:var(--rail-w);min-width:var(--rail-w);background:var(--rail-bg);display:flex;flex-direction:column;align-items:center;padding:12px 0 16px;gap:2px;flex-shrink:0;border-right:1px solid var(--hairline)}.nav-rail-logo{width:36px;height:36px;border-radius:10px;overflow:hidden;margin-bottom:16px;flex-shrink:0}.nav-rail-logo img{width:100%;height:100%;object-fit:cover}.nav-rail-btn{width:38px;height:38px;border-radius:10px;border:none;background:none;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.nav-rail-btn:hover{background:#ffffff0f;color:var(--ink-2)}.nav-rail-btn.active{background:var(--cobalt-soft);color:var(--cobalt)}.nav-rail-spacer{flex:1}.nav-rail-version{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);opacity:.7;margin-top:8px;padding:4px 2px;letter-spacing:.3px;-webkit-user-select:text;user-select:text;cursor:default;text-align:center;line-height:1}.nav-rail-version:hover{opacity:1;color:var(--ink-2)}.nav-rail-menu-btn{display:none;width:38px;height:38px;border-radius:10px;border:none;background:none;color:var(--ink-3);align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.nav-rail-menu-btn:hover{background:#ffffff0f;color:var(--ink-2)}@media(max-width:768px){.nav-rail-menu-btn{display:flex}}.sb{width:var(--sb-w);min-width:var(--sb-w);background:var(--sb-bg);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;border-right:1px solid var(--hairline)}.sb-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:8px;min-height:0}.sb-scroll::-webkit-scrollbar{width:4px}.sb-scroll::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:2px}.sb-footer{flex-shrink:0;padding:10px 8px 12px;border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:max(16px,env(safe-area-inset-bottom,16px));padding-left:max(8px,env(safe-area-inset-left,8px))}.sb-brand{display:flex;align-items:center;padding:14px;border-bottom:1px solid var(--hairline);margin-bottom:6px;flex-shrink:0}.sb-brand .name{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.sb-ws-badge{margin-left:auto;width:18px;height:18px;background:var(--cobalt-soft);color:var(--cobalt);border-radius:5px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.sb-group{display:flex;flex-direction:column;gap:1px;padding:0 8px;margin-bottom:8px}.sb-group-title{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 4px;font-size:10px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.1em}.sb-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:7px;font-size:13px;color:var(--ink-3);cursor:pointer;transition:background .1s,color .1s;-webkit-user-select:none;user-select:none;min-height:32px}.sb-item:hover{background:#ffffff0a;color:var(--ink-2)}.sb-item.active{background:#2563eb1f;color:var(--ink)}.sb-item.active .ico{color:var(--cobalt)}.sb-item .ico{width:14px;height:14px;flex-shrink:0;color:var(--ink-4)}.sb-item .cnt{margin-left:auto;font-size:11px;color:var(--ink-4)}.sb-item .swatch-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sb-item--project{position:relative}.sb-item--project .sb-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-add-btn{width:18px;height:18px;background:none;border:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.sb-add-btn:hover{background:#ffffff12;color:var(--ink-2)}.sb-add-form{padding:4px 6px 8px}.sb-add-error{font-size:11px;color:var(--color-danger,#e05);padding:4px 2px 2px}.sb-add-input{width:100%;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--ink);font-family:var(--font-sans);outline:none}.sb-add-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.sb-add-actions{display:flex;gap:6px;margin-top:6px;justify-content:flex-end}.sb-empty-hint{padding:6px 10px;font-size:12px;color:var(--ink-4)}.ws-dot{width:22px;height:22px;background:var(--cobalt-soft);color:var(--cobalt);border-radius:6px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-role-mini{font-size:10px;color:var(--amber);margin-left:auto}.sb-user,.sb-user-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.sb-user-avatar{width:26px;height:26px;background:var(--cobalt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.sb-user-details{min-width:0;flex:1}.sb-user-name{font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user-email{font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-logout-btn{width:26px;height:26px;background:none;border:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0}.sb-logout-btn:hover{background:#ffffff0f;color:var(--ink-2)}.sb-group-block{display:flex;flex-direction:column;margin-bottom:2px}.sb-group-header{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:7px;font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s,color .1s}.sb-group-header:hover{background:#ffffff0a;color:var(--ink-2)}.sb-group-header:focus-visible{outline:2px solid var(--cobalt);outline-offset:-2px}.sb-group-header--ungrouped{color:var(--ink-4);cursor:default}.sb-group-header--ungrouped:hover{background:transparent;color:var(--ink-4)}.sb-group-header-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-group-count{font-size:10px;color:var(--ink-4);font-weight:600}.sb-group-chevron{flex-shrink:0;color:var(--ink-4);transition:transform .15s ease}.sb-group-chevron.open{transform:rotate(90deg)}.sb-group-body{display:flex;flex-direction:column;gap:1px;padding-left:4px}@media(max-width:768px){.sb{display:none}}.mob-bar,.mob-search-bar{display:none!important}.mob-drawer{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.mob-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mob-drawer-sheet{position:absolute;left:0;top:0;bottom:0;width:min(300px,85vw);background:var(--sb-bg);border-right:1px solid var(--hairline-strong);display:flex;flex-direction:column;box-shadow:8px 0 32px #00000080;transform:translate(-100%);animation:drawerSlideIn .22s cubic-bezier(.32,.72,0,1) forwards}@keyframes drawerSlideIn{to{transform:translate(0)}}.mob-drawer-top{display:flex;align-items:center;justify-content:flex-end;padding:10px 12px 4px;flex-shrink:0}.mob-drawer-close{width:30px;height:30px;background:#ffffff0d;border:1px solid var(--hairline-strong);border-radius:8px;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.mob-drawer-close:hover{background:#ffffff1a;color:var(--ink)}.mob-drawer-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom,16px)}.mob-drawer-scroll::-webkit-scrollbar{width:4px}.mob-drawer-scroll::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:2px}.mob-ctx-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:none;border:none;border-radius:8px;color:var(--ink-3);cursor:pointer;padding:0}.mob-ctx-btn:hover{background:#ffffff0f;color:var(--ink-1)}.mob-ctx-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:80;display:flex;align-items:flex-end;justify-content:center}.mob-ctx-sheet{background:var(--sb-bg);border-radius:16px 16px 0 0;width:100%;max-width:480px;padding:12px 0;padding-bottom:max(12px,env(safe-area-inset-bottom,12px))}.mob-ctx-title{padding:10px 20px 14px;font-size:13px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--hairline)}.mob-ctx-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 20px;background:none;border:none;font-size:14px;color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);text-align:left}.mob-ctx-item:hover{background:#ffffff0a}.mob-ctx-item--danger{color:var(--rose)}@media(max-width:768px){.mob-drawer{display:block}.mob-drawer-sheet .sb{display:flex;min-width:0;width:100%;border-right:none;flex:1;min-height:0}.mob-drawer-scroll{display:flex;flex-direction:column}.mob-drawer-extras{flex-shrink:0;border-top:1px solid var(--hairline);padding-top:12px}.search-bar{width:100%}.search-input{width:100%!important;min-width:0}.mob-ctx-btn{display:inline-flex}}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:none;transition:all .12s;white-space:nowrap;line-height:1}.btn-primary{background:var(--cobalt);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:#ffffff0f;color:var(--ink-2);border:1px solid var(--hairline-strong)}.btn-ghost:hover{background:#ffffff1a;color:var(--ink)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:var(--rose);color:#fff;border:1px solid var(--rose)}.btn-danger:hover:not(:disabled){background:color-mix(in oklch,var(--rose) 90%,black)}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.i{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.input,.field-input{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:7px;padding:8px 12px;font-size:13px;color:var(--ink);font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus,.field-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.input::placeholder,.field-input::placeholder{color:var(--ink-4)}textarea.input{resize:vertical}select.input{cursor:pointer}.input,.field-input{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:8px;padding:9px 12px;font-size:13px;color:var(--ink-2);font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.input:-webkit-autofill,.field-input:-webkit-autofill,.input:-webkit-autofill:hover,.field-input:-webkit-autofill:hover,.input:-webkit-autofill:focus,.field-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset!important;-webkit-text-fill-color:var(--ink)!important;caret-color:var(--ink);transition:background-color 9999s ease-in-out 0s}.field-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft);color:var(--ink)}input.input::placeholder,textarea.input::placeholder,.field-input::placeholder{color:var(--ink-4)}textarea.input,textarea.field-input{resize:vertical;line-height:1.6}select.input,select.field-input{cursor:pointer}select.input option,select.field-input option{background:#131f33}.field-readonly{padding:8px 12px;font-size:13px;color:var(--ink-2);font-family:var(--font-sans);line-height:1.5}.field-readonly-rel{color:var(--ink-4)}.cb{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--ink-4);background:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block}.cb:checked{border-color:var(--sage);background:var(--sage)}.cb.prio{border-color:var(--amber)}.fd-select{position:relative;width:100%}.fd-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 32px 9px 12px;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:8px;font-size:13px;font-family:var(--font-sans);color:var(--ink);cursor:pointer;outline:none;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;position:relative}.fd-select__trigger:hover:not(:disabled){border-color:var(--cobalt-soft)}.fd-select__trigger:focus-visible,.fd-select__trigger[aria-expanded=true]{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.fd-select__trigger:disabled{opacity:.5;cursor:not-allowed}.fd-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-select__value--placeholder{color:var(--ink-4)}.fd-select__chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:12px;height:12px;color:var(--ink-3);transition:transform .18s,color .15s;pointer-events:none;flex-shrink:0}.fd-select__trigger:hover:not(:disabled) .fd-select__chevron{color:var(--ink-2)}.fd-select__trigger[aria-expanded=true] .fd-select__chevron{transform:translateY(-50%) rotate(180deg);color:var(--cobalt)}.fd-select__menu{position:absolute;left:0;right:0;z-index:1500;margin:4px 0 0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;box-shadow:0 8px 24px #00000059,0 2px 6px #00000040;max-height:280px;overflow-y:auto;overscroll-behavior:contain;animation:fd-select-pop-in .12s ease-out}.fd-select__menu--up{top:auto;bottom:100%;margin:0 0 4px;transform-origin:bottom center;animation:fd-select-pop-in-up .12s ease-out}.fd-select__menu--down{top:100%;transform-origin:top center}@keyframes fd-select-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fd-select-pop-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fd-select__option{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .08s,color .08s}.fd-select__option--active{background:color-mix(in oklch,var(--cobalt) 14%,transparent);color:var(--ink)}.fd-select__option--selected{color:var(--cobalt);font-weight:500}.fd-select__option--selected.fd-select__option--active{background:color-mix(in oklch,var(--cobalt) 18%,transparent)}.fd-select__option--disabled{opacity:.4;cursor:not-allowed}.fd-select__check{margin-left:auto;width:13px;height:13px;color:var(--cobalt);flex-shrink:0}.fd-select__empty{padding:10px 12px;font-size:12px;color:var(--ink-4);text-align:center}.fd-select__menu::-webkit-scrollbar{width:8px}.fd-select__menu::-webkit-scrollbar-track{background:transparent}.fd-select__menu::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:4px;border:2px solid var(--surface)}.fd-select__menu::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.card{background:var(--card-bg);border-radius:12px;border:1px solid var(--hairline);padding:16px 20px}.progress-grid{display:flex;gap:12px;padding:16px 20px 0;flex-wrap:wrap;flex-shrink:0}.progress-card{display:flex;align-items:center;gap:16px;flex:1;min-width:220px}.progress-card .ring{position:relative;width:56px;height:56px;flex-shrink:0}.progress-card .ring svg{width:56px;height:56px;transform:rotate(-90deg)}.progress-card .ring svg circle.bg{fill:none;stroke:var(--ink-5);stroke-width:4}.progress-card .ring svg circle.fg{fill:none;stroke:var(--cobalt);stroke-width:4;stroke-linecap:round}.progress-card .ring .pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--ink-2)}.progress-card .info{flex:1;min-width:0}.progress-card .info .t{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px}.progress-card .info .s{font-size:11px;color:var(--ink-4)}.progress-card .bars{display:flex;gap:3px;align-items:flex-end;height:36px}.progress-card .bars i{width:5px;border-radius:2px;background:var(--ink-5);display:block}.progress-card .bars i.md{background:#2563eb66}.progress-card .bars i.hi{background:var(--cobalt)}.add-row{flex:1;min-width:200px;background:var(--card-bg);border:1px dashed var(--hairline-strong);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--ink-4);font-size:13px}.add-row:hover{background:var(--card-hover);border-color:var(--cobalt);color:var(--ink-2)}.skeleton{background:linear-gradient(90deg,var(--card-bg) 25%,var(--card-hover) 50%,var(--card-bg) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.task-table-wrap{overflow:hidden}.empty{padding:24px;text-align:center;color:var(--ink-4)}.mono{font-family:var(--font-mono);font-size:12px}.task-card-list{display:flex;flex-direction:column;gap:6px}.task-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border-radius:10px;cursor:pointer;border:1px solid transparent;transition:background .1s,border-color .1s;min-width:0}.task-card:hover{background:var(--card-hover);border-color:var(--hairline)}.task-card.done{opacity:.6}.task-card.done .task-title-text{text-decoration:line-through;color:var(--ink-3)}.type-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-card-body{flex:1;min-width:0;overflow:hidden}.task-card-title{display:flex;align-items:baseline;gap:6px;overflow:hidden}.ticket-nr{font-size:11px;color:var(--ink-2);font-family:var(--font-mono);flex-shrink:0}.task-title-text{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-subtitle{font-size:11px;color:var(--ink-3);margin-top:2px}.task-card-badge{flex-shrink:0}.task-card-skeleton{height:64px;border-radius:10px;background:linear-gradient(90deg,var(--card-bg) 25%,var(--card-hover) 50%,var(--card-bg) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0}.pag-btn{background:var(--surface);border:1px solid var(--hairline-strong);color:var(--ink-2);border-radius:6px;padding:5px 14px;font-size:12px;cursor:pointer;font-family:var(--font-sans)}.pag-btn:hover:not(:disabled){background:var(--surface-2)}.pag-btn:disabled{opacity:.4;cursor:not-allowed}.pag-info{font-size:12px;color:var(--ink-3)}.task-assignees{display:flex;align-items:center;flex-shrink:0}.task-assignee-avatar{width:26px;height:26px;border-radius:50%;background:var(--cobalt);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 2px var(--card-bg),0 1px 3px #00000047;margin-left:-8px;transition:transform .13s ease,box-shadow .13s ease}.task-assignee-avatar:first-child{margin-left:0}.task-assignee-avatar--more{background:var(--surface-2);color:var(--ink-2);font-weight:700}.task-card:hover .task-assignee-avatar{transform:translateY(-1px)}.task-card:hover .task-assignee-avatar:hover{transform:translateY(-2px) scale(1.1);z-index:2;box-shadow:0 0 0 2px var(--card-hover),0 3px 8px #00000059}.asgn-body{display:flex;flex-direction:column;gap:2px;padding:8px;max-height:50vh;overflow-y:auto}.asgn-member{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;font-family:var(--font-sans)}.asgn-member:hover{background:var(--card-hover)}.asgn-member--active{background:color-mix(in oklab,var(--cobalt) 10%,transparent)}.asgn-avatar{width:28px;height:28px;border-radius:50%;background:var(--cobalt);color:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;box-shadow:0 1px 3px #00000040}.asgn-name{flex:1;font-size:13px;color:var(--ink);min-width:0}.asgn-checkbox{width:18px;height:18px;border-radius:5px;flex-shrink:0;border:1.5px solid var(--hairline-strong);display:flex;align-items:center;justify-content:center;color:#fff}.asgn-checkbox--on{background:var(--cobalt);border-color:var(--cobalt)}.asgn-empty{padding:16px;text-align:center;color:var(--ink-4);font-size:13px}.asgn-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--hairline)}.asgn-count{font-size:12px;color:var(--ink-3)}.asgn-footer-actions{display:flex;gap:8px}.panel-overlay.asgn-overlay{z-index:10050}.assignee-trigger{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;padding:8px 10px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;cursor:pointer;font-family:var(--font-sans);min-height:38px}.assignee-trigger:hover{border-color:var(--cobalt)}.assignee-trigger .asgn-avatar{width:24px;height:24px;font-size:10px}.assignee-trigger-empty{color:var(--ink-4);font-size:13px}.assignee-trigger-edit{margin-left:auto;font-size:12px;color:var(--cobalt-ink, var(--cobalt));font-weight:600}.assignee-chip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:600;background:#ffffff12;color:var(--ink-2);border:1px solid rgba(255,255,255,.08)}.tag.cobalt{background:var(--cobalt-soft);color:var(--cobalt-ink);border-color:#2563eb4d}.tag.amber{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b33}.tag.sage{background:#22c55e1f;color:#4ade80;border-color:#22c55e33}.tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.swatch-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.search-bar{position:relative;display:flex;align-items:center;gap:0}.search-bar>svg{position:absolute;left:10px;color:var(--ink-4);pointer-events:none;flex-shrink:0}.search-input{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;padding:7px 32px;font-size:13px;color:var(--ink-2);font-family:var(--font-sans);outline:none;width:220px;transition:border-color .15s,box-shadow .15s,width .2s}.search-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft);width:280px}.search-input::placeholder{color:var(--ink-3)}.search-clear{position:absolute;right:8px;background:none;border:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;transition:color .12s}.search-clear:hover{color:var(--ink-2)}.inbox-bell-btn{width:32px;height:32px;background:none;border:none;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:7px}.inbox-bell-btn:hover{background:#ffffff0f;color:var(--ink)}.field-label{font-size:12px;font-weight:600;color:var(--ink-3)}.ws-invite-banner{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:10px;padding:16px 20px;margin:16px}.ws-invite-banner{background:#2563eb12;border:1px solid rgba(37,99,235,.15);border-radius:10px;padding:14px 16px;font-size:13px;color:var(--ink-2);line-height:1.6}.ws-loading{padding:20px;text-align:center;color:var(--ink-4);font-size:13px}.ws-loading{padding:32px;text-align:center;color:var(--ink-4);font-size:13px}.toast-host{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,24px));right:max(24px,env(safe-area-inset-right,24px));z-index:10001;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:calc(100vw - 48px)}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:420px;padding:12px 14px 12px 16px;background:var(--surface);border:1px solid var(--hairline-strong);border-left:3px solid var(--ink-3);border-radius:var(--r-3);box-shadow:0 8px 24px #00000059;font-size:13px;color:var(--ink);animation:toast-in .18s ease-out}.toast--leaving{animation:toast-out .16s ease-in forwards}.toast--success{border-left-color:var(--sage)}.toast--error{border-left-color:var(--rose)}.toast--info{border-left-color:var(--cobalt)}.toast-body{flex:1;line-height:1.4;word-break:break-word}.toast-close{flex:none;background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:16px;line-height:1;padding:0;margin-top:2px;transition:color .12s}.toast-close:hover{color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@media(max-width:640px){.toast-host{right:16px;left:16px;bottom:max(16px,env(safe-area-inset-bottom,16px));max-width:none}.toast{min-width:0;max-width:none}}.cs{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff05;transition:border-color .15s,background .15s}.cs+.cs{margin-top:10px}.cs:hover{border-color:#ffffff1f}.cs.cs--open{background:#ffffff06;border-color:#ffffff1c}.cs-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--ink-2);font-family:var(--font-sans);transition:color .12s,background .12s;min-height:44px;border-radius:10px}.cs-header:hover{color:var(--ink);background:#ffffff08}.cs-header:focus-visible{outline:2px solid var(--cobalt);outline-offset:-2px}.cs-title{flex:1;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cs-chevron{flex-shrink:0;color:var(--ink-4);transition:transform .18s ease,color .12s}.cs.cs--open .cs-chevron{transform:rotate(90deg);color:var(--ink-2)}.cs-empty-badge{font-size:10px;font-weight:600;text-transform:lowercase;letter-spacing:.04em;color:var(--ink-3);background:#ffffff0f;border:1px solid rgba(255,255,255,.09);padding:1px 7px;border-radius:999px}.cs-body{padding:4px 14px 14px}.cs.cs--empty{background:#ffffff03}.cs.cs--empty .cs-title{color:var(--ink-3);font-weight:600}.cs.cs--empty .cs-chevron{color:var(--ink-5)}.cs.cs--empty:hover .cs-title{color:var(--ink-2)}.cs.cs--unfilled .cs-title{color:var(--ink-3)}.cs.cs--unfilled:hover .cs-title{color:var(--ink)}.cs-empty-state{font-size:12px;font-style:italic;color:var(--ink-4);padding:4px 0 2px}@media(max-width:640px){.cs-header{padding:13px 12px;gap:9px}.cs-body{padding:4px 12px 14px}.cs+.cs{margin-top:8px}}.panel-body--sectioned{gap:0}@media(max-width:640px){.panel-overlay{padding:12px;padding-top:max(12px,env(safe-area-inset-top,12px));padding-bottom:max(12px,env(safe-area-inset-bottom,12px))}.panel{max-height:92dvh;border-radius:14px}.panel-header{padding:14px 16px 12px}.panel-body{padding:14px}.panel-body.panel-body--sectioned{padding:14px 12px}.panel-footer{padding:12px 14px}}.panel-title-nr{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink-4);margin-left:6px;letter-spacing:.02em}.md-editor{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--cobalt);border-radius:8px;box-shadow:0 0 0 2px var(--cobalt-soft);overflow:hidden;transition:border-color .12s,box-shadow .12s}.md-editor-toolbar{display:flex;align-items:center;gap:2px;padding:4px 6px;background:#ffffff08;border-bottom:1px solid var(--hairline-strong);flex-wrap:wrap}.md-editor-toolbar-sep{width:1px;height:18px;background:var(--hairline-strong);margin:0 4px}.md-editor-tb-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;font-size:12px;font-family:var(--font-sans);color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.md-editor-tb-btn:hover:not(:disabled){background:#ffffff0f;color:var(--ink)}.md-editor-tb-btn:disabled{opacity:.4;cursor:not-allowed}.md-editor-tb-btn.is-active{background:var(--cobalt-soft);color:var(--cobalt-ink);border-color:#2563eb4d}.md-editor-tb-btn strong{font-weight:700}.md-editor-tb-btn em{font-style:italic}.md-editor-content{padding:9px 12px;font-size:13px;color:var(--ink-2);line-height:1.7;outline:none;min-height:inherit;flex:1}.md-editor-content p.is-empty:before{content:attr(data-placeholder);color:var(--ink-4);font-style:italic;float:left;height:0;pointer-events:none}.md-editor-content p{font-size:13px;color:var(--ink-2);line-height:1.7;margin:0 0 6px}.md-editor-content p:last-child{margin-bottom:0}.md-editor-content h2,.md-editor-content h3{font-size:13px;font-weight:700;color:var(--ink);margin:10px 0 4px}.md-editor-content h2:first-child,.md-editor-content h3:first-child{margin-top:0}.md-editor-content strong{color:var(--ink);font-weight:600}.md-editor-content em{font-style:italic}.md-editor-content ul,.md-editor-content ol{padding-left:18px;margin:6px 0}.md-editor-content li{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:3px}.md-editor-content li p{margin:0}.md-editor-content code{font-family:var(--font-mono);font-size:11px;background:#2563eb1f;color:var(--cobalt-ink);padding:1px 6px;border-radius:4px;border:1px solid rgba(37,99,235,.2)}.md-editor-content pre{font-family:var(--font-mono);font-size:12px;background:#0000004d;color:var(--ink-2);padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.07);overflow-x:auto;line-height:1.6;margin:6px 0}.md-editor-content pre code{background:transparent;border:none;padding:0;color:inherit;font-size:12px}.md-editor-content .ProseMirror-selectednode{outline:2px solid var(--cobalt)}.md-rawedit{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--cobalt);border-radius:8px;box-shadow:0 0 0 2px var(--cobalt-soft);overflow:hidden}.md-rawedit-hint{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;background:#ffffff08;border-bottom:1px solid var(--hairline-strong)}.md-rawedit-area{width:100%;box-sizing:border-box;resize:vertical;border:0;outline:none;background:transparent;color:var(--ink-2);font-family:var(--font-mono);font-size:12.5px;line-height:1.6;padding:10px 12px;white-space:pre;overflow-wrap:normal;overflow-x:auto}.md-editor-content .tableWrapper{overflow-x:auto;margin:8px 0}.md-editor-content table{border-collapse:collapse;width:100%;font-size:12.5px;table-layout:fixed}.md-editor-content th,.md-editor-content td{border:1px solid var(--hairline-strong);padding:6px 9px;vertical-align:top;text-align:left;min-width:3em;position:relative}.md-editor-content th{background:#ffffff0a;font-weight:600;color:var(--ink)}.md-editor-content .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--cobalt-soft);pointer-events:none}.md-editor-content ul[data-type=taskList]{list-style:none;padding-left:4px}.md-editor-content ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.md-editor-content ul[data-type=taskList] li>label{margin-top:2px;-webkit-user-select:none;user-select:none}.md-editor-content ul[data-type=taskList] li>div{flex:1}.md-editor-content ul[data-type=taskList] li>div>p{margin:0}.md-table-menu{position:relative;display:inline-flex}.md-table-pop{position:absolute;top:100%;left:0;z-index:30;margin-top:4px;min-width:172px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;box-shadow:0 8px 24px #0006;padding:8px}.md-table-pop-actions{display:flex;flex-direction:column;gap:1px}.md-table-act{text-align:left;background:none;border:0;color:var(--ink-2);font-size:12px;padding:6px 8px;border-radius:5px;cursor:pointer}.md-table-act:hover{background:#ffffff12;color:var(--ink)}.md-table-act--danger{color:var(--crimson, #f87171)}.md-table-pop-insert{display:flex;flex-direction:column;gap:8px}.md-table-stepper{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.md-table-stepper>span{flex:1}.md-table-stepper>b{min-width:20px;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.md-table-stepper>button{width:24px;height:24px;border-radius:5px;border:1px solid var(--hairline-strong);background:#ffffff0a;color:var(--ink);cursor:pointer;line-height:1;font-size:14px}.md-table-stepper>button:hover{background:#ffffff1f}.md-table-header-toggle{font-size:11px;cursor:pointer;background:none;border:1px solid var(--hairline-strong);border-radius:5px;color:var(--ink-3);padding:5px 8px}.md-table-header-toggle.is-on{color:var(--ink);border-color:var(--cobalt)}.md-table-insert-btn{background:var(--cobalt);color:#fff;border:0;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer}.md-table-insert-btn:hover{filter:brightness(1.08)}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:24px;padding-top:max(24px,env(safe-area-inset-top,24px));padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}.panel{background:var(--sb-bg);border:1px solid var(--hairline-strong);border-radius:16px;box-shadow:0 24px 64px #0009;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;width:100%}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--hairline);flex-shrink:0}.panel-title{font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}.panel-close{width:28px;height:28px;background:none;border:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px}.panel-close:hover{background:#ffffff12;color:var(--ink-2)}.panel-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.panel-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050c1ab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;padding-top:max(20px,env(safe-area-inset-top,20px));padding-bottom:max(20px,env(safe-area-inset-bottom,20px))}.panel{background:#131f33;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 32px 80px #000000b3,0 0 0 1px #ffffff0a;width:100%;max-width:560px;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.panel-title{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.panel-close{width:30px;height:30px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--ink-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.panel-close:hover{background:#ffffff1a;color:var(--ink)}.panel-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:2px}.panel-footer{display:flex;gap:8px;align-items:center;padding:14px 24px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.panel-footer .btn:first-child{margin-right:auto}@keyframes fd-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes fd-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes fd-panel-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes fd-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.99)}}.panel-overlay{animation:fd-overlay-in .18s ease both}.panel{animation:fd-panel-in .2s cubic-bezier(.16,1,.3,1) both}.panel-overlay--closing{animation:fd-overlay-out .16s ease both}.panel--closing{animation:fd-panel-out .16s ease both}@media(prefers-reduced-motion:reduce){.panel-overlay,.panel,.panel-overlay--closing,.panel--closing{animation:none}}.panel--tabbed{width:50vw;min-width:480px;max-width:800px;height:80vh;max-height:80vh}@media(max-width:600px){.panel--tabbed{width:96vw;min-width:0;max-width:96vw;height:88dvh;max-height:88dvh}}.panel--tabbed .tabbed-panel-body{flex:1;min-height:0;overflow-y:auto}.ws-tab{flex-shrink:0;padding:12px 16px;font-size:13px;font-weight:500;color:var(--ink-3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .12s;margin-bottom:-1px;font-family:var(--font-sans);line-height:1}.ws-tab:hover{color:var(--ink-2)}.ws-tab--active{color:var(--ink);border-bottom-color:var(--cobalt);font-weight:600}.tabbed-panel--sidebar{display:flex;flex:1;min-height:0}.tabbed-sidebar-nav{flex-shrink:0;width:232px;border-right:1px solid var(--hairline);background:var(--surface);overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.tabbed-sidebar-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:9px 12px;border-radius:var(--r-2);font-size:13px;font-weight:500;color:var(--ink-3);background:none;border:none;cursor:pointer;font-family:var(--font-sans);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s,color .12s}.tabbed-sidebar-item:hover{background:var(--card-hover);color:var(--ink-2)}.tabbed-sidebar-item--active{background:var(--cobalt-soft);color:var(--cobalt-ink);font-weight:600}.tabbed-sidebar-group{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:10px;border-top:1px solid var(--hairline)}.tabbed-sidebar-item--child{padding-left:22px}.tabbed-sidebar-group-toggle{font-weight:600;color:var(--ink-2)}.tabbed-sidebar-chevron{flex-shrink:0;transition:transform .15s ease}.tabbed-sidebar-group-toggle[aria-expanded=true] .tabbed-sidebar-chevron{transform:rotate(90deg)}.tabbed-sidebar-group--collapsed .tabbed-sidebar-item--child{display:none}.tabbed-sidebar-group-label{padding:6px 12px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-4);-webkit-user-select:none;user-select:none}.tabbed-sidebar-group--static:first-child{margin-top:0;padding-top:0;border-top:none}@media(max-width:600px){.tabbed-sidebar-group{flex-direction:row;align-items:center;flex-shrink:0;margin-top:0;padding:2px 6px;gap:4px;border:1px solid var(--hairline);border-radius:var(--r-2);background:color-mix(in oklch,var(--hairline) 22%,transparent)}.tabbed-sidebar-group-toggle{padding:6px 2px 6px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-4);pointer-events:none}.tabbed-sidebar-group-toggle:hover{background:none;color:var(--ink-4)}.tabbed-sidebar-chevron{display:none}.tabbed-sidebar-group--collapsed .tabbed-sidebar-item--child{display:flex}.tabbed-sidebar-item--child{padding-left:12px}}.tabbed-sidebar-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}@media(max-width:600px){.tabbed-panel--sidebar{flex-direction:column}.tabbed-sidebar-nav{width:auto;flex-direction:row;border-right:none;border-bottom:1px solid var(--hairline);overflow-x:auto;overflow-y:hidden;gap:4px}.tabbed-sidebar-item{flex-shrink:0;width:auto}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#0f2044,#0a1628 60%);padding:24px}.auth-card{background:var(--sb-bg);border:1px solid var(--hairline-strong);border-radius:18px;padding:36px 32px;width:100%;max-width:400px;box-shadow:0 24px 64px #00000080}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-header{text-align:center;margin-bottom:8px}.auth-logo-img{width:56px;height:56px;border-radius:14px;margin-bottom:14px}.auth-title{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:4px}.auth-subtitle{font-size:13px;color:var(--ink-3)}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:12px;font-weight:600;color:var(--ink-3)}.auth-input{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;padding:10px 14px;font-size:14px;color:var(--ink);font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.auth-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.auth-input::placeholder{color:var(--ink-4)}.auth-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:8px;font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:none;background:var(--cobalt);color:#fff;transition:background .15s;width:100%}.auth-btn:hover{background:#1d4ed8}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--ghost{background:#ffffff0f;color:var(--ink-2);border:1px solid var(--hairline-strong)}.auth-btn--ghost:hover{background:#ffffff1a;color:var(--ink)}.auth-btn--microsoft{background:#ffffff0f;color:var(--ink);border:1px solid var(--hairline-strong)}.auth-btn--microsoft:hover{background:#ffffff1a}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:10px 12px;font-size:13px;color:#f87171}.auth-error--banned{padding:14px 14px 12px;line-height:1.5}.auth-error--banned strong{display:block;font-size:14px;margin-bottom:2px}.auth-banned-mail{display:inline-block;margin-top:2px;color:#f87171;font-weight:600;text-decoration:underline;word-break:break-all}.auth-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:10px 12px;font-size:13px;color:#fbbf24}.auth-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:10px 12px;font-size:13px;color:#4ade80}.auth-invite-banner{background:#4a7cf01a;border:1px solid rgba(74,124,240,.25);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--ink);line-height:1.5}.auth-invite-banner strong{color:var(--cobalt-ink)}.auth-invite-banner--success{background:#22a05e1f;border-color:#22a05e4d}.auth-links{display:flex;justify-content:space-between;gap:8px}.auth-link{background:none;border:none;color:var(--cobalt-ink);font-size:13px;cursor:pointer;padding:0;font-family:var(--font-sans)}.auth-link:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--ink-4);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.auth-verify-box{text-align:center;padding:16px;background:var(--surface);border-radius:10px}.auth-verify-icon{font-size:32px;margin-bottom:10px}.auth-verify-text{font-size:14px;color:var(--ink-2);line-height:1.6;margin-bottom:8px}.auth-verify-hint{font-size:12px;color:var(--ink-4)}.auth-verify-spinner{width:28px;height:28px;border:3px solid var(--hairline);border-top-color:var(--cobalt);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.auth-hint{font-size:13px;color:var(--ink-3);line-height:1.6}.auth-resend-inline{background:none;border:none;color:var(--cobalt-ink);cursor:pointer;font-size:13px;margin-left:6px;font-family:var(--font-sans);text-decoration:underline}.auth-login-row{display:flex;gap:8px;align-items:stretch}.auth-login-row .auth-btn{flex:1}.auth-passkey-icon-btn{background:#ffffff0f;color:var(--ink-2);border:1px solid var(--hairline-strong);border-radius:8px;padding:0;width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.auth-passkey-icon-btn:hover:not(:disabled){background:#ffffff1a;color:var(--ink);border-color:var(--cobalt)}.auth-passkey-icon-btn:disabled{opacity:.5;cursor:default}.confirm-dialog{background:var(--sb-bg);border:1px solid var(--hairline-strong);border-radius:14px;padding:24px;max-width:360px;width:100%}.confirm-dialog h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:10px}.confirm-dialog p{font-size:13px;color:var(--ink-3);line-height:1.6;margin-bottom:20px}.add-task-modal{background:var(--sb-bg);border:1px solid var(--hairline-strong);border-radius:14px;width:100%;max-width:420px;box-shadow:0 24px 64px #0009;overflow:hidden}.add-task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--hairline);font-size:14px;font-weight:700;color:var(--ink)}.add-task-modal-body{padding:16px 20px}.add-task-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--hairline)}.field-row{display:flex;flex-direction:column;gap:6px;margin-top:14px}.field-row:first-child{margin-top:0}.field-row--inline{flex-direction:row;align-items:center;justify-content:space-between}.field-label-row{display:flex;align-items:center;gap:6px}.field-label{font-size:11px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.07em}.field-required{color:var(--rose);margin-left:2px}.field-edit-btn{background:none;border:none;color:var(--ink-3);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;opacity:.55;transition:opacity .12s,color .12s,background .12s}.field-row:hover .field-edit-btn{opacity:1}.field-edit-btn:hover{color:var(--ink);opacity:1;background:#ffffff0f}.field-edit-btn--raw{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 4px;letter-spacing:-.04em}.field-title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}.field-render{padding:9px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;min-height:40px}.rich-placeholder{color:var(--ink-4);font-size:13px;font-style:italic}.rich-text p{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:6px}.rich-text p:last-child{margin-bottom:0}.rich-list{padding-left:18px}.rich-text a,.md-editor-content a{color:var(--ink);text-decoration:underline;text-decoration-color:#ffffff73;text-underline-offset:2px;word-break:break-word;overflow-wrap:anywhere;transition:text-decoration-color .12s,color .12s}.rich-text a:hover,.md-editor-content a:hover{color:#fff;text-decoration-color:#fff}.rich-text code,.field-render code{font-family:var(--font-mono);font-size:11px;background:#2563eb1f;color:var(--cobalt-ink);padding:1px 6px;border-radius:4px;border:1px solid rgba(37,99,235,.2)}.rich-text pre,.field-render pre{font-family:var(--font-mono);font-size:12px;background:#0000004d;color:var(--ink-2);padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.07);overflow-x:auto;line-height:1.6;margin:6px 0}.platform-toggle-group{display:flex;gap:6px;flex-wrap:wrap}.platform-toggle-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--ink-3);cursor:pointer;transition:all .12s;font-family:var(--font-sans)}.platform-toggle-btn:hover{background:#ffffff17;color:var(--ink-2)}.platform-toggle-btn--active{background:var(--cobalt-soft);border-color:#2563eb66;color:var(--cobalt-ink)}.tag-editor{display:flex;flex-direction:column;gap:8px}.tag-editor-list{display:flex;gap:6px;flex-wrap:wrap}.tag-editor-input-row{display:flex;gap:8px;align-items:center}.tag-editor-input{flex:1}.tag-color-swatches{display:flex;gap:4px}.tag-color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s}.tag-color-swatch span{width:8px;height:8px;border-radius:50%}.tag-color-swatch.active{transform:scale(1.2);border-color:#fff}.tag-remove-btn{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;margin-left:4px;font-size:14px;line-height:1;padding:0}.tag-remove-btn:hover{opacity:1}.field-toggle-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);cursor:pointer}.rich-p{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:6px}.rich-p:last-child{margin-bottom:0}.rich--after-blank{margin-top:14px}.rich-text>*:first-child.rich--after-blank{margin-top:0}.rich-blank{display:block;min-height:1.7em;width:100%}.rich-p strong{color:var(--ink);font-weight:600}.rich-p code{font-family:var(--font-mono);font-size:11px;background:#2563eb1f;color:var(--cobalt-ink);padding:1px 6px;border-radius:4px;border:1px solid rgba(37,99,235,.2)}.rich-heading{font-size:13px;font-weight:700;color:var(--ink);margin:10px 0 4px}.rich-heading strong{color:var(--ink)}.rich-code-block{position:relative;background:#00000059;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:12px 14px;margin:8px 0;overflow-x:auto}.rich-code-block code{font-family:var(--font-mono);font-size:12px;color:#93c5fd;line-height:1.6;white-space:pre;background:none;border:none;padding:0}.rich-code-lang{display:block;font-size:10px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.rich-list{padding-left:18px;margin:6px 0}.rich-list li{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:3px}.rich-list li strong{color:var(--ink);font-weight:600}.rich-list li code{font-family:var(--font-mono);font-size:11px;background:#2563eb1f;color:var(--cobalt-ink);padding:1px 5px;border-radius:4px}.rich-table-wrap{margin:8px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.rich-table{border-collapse:collapse;width:100%;font-size:12.5px}.rich-table th,.rich-table td{border:1px solid var(--line, rgba(255,255,255,.1));padding:6px 10px;text-align:left;vertical-align:top;color:var(--ink-2);line-height:1.55}.rich-table th{background:var(--surface-2);color:var(--ink);font-weight:600;white-space:nowrap}.rich-table tbody tr:nth-child(2n) td{background:#ffffff06}.rich-table strong{color:var(--ink);font-weight:600}.rich-table code{font-family:var(--font-mono);font-size:11px;background:#2563eb1f;color:var(--cobalt-ink);padding:1px 5px;border-radius:4px}.rich-hr{border:0;height:1px;background:var(--line, rgba(255,255,255,.12));margin:14px 0}.rich-list--task{list-style:none;padding-left:2px}.rich-task{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:3px}.rich-task>input[type=checkbox]{margin:3px 0 0;flex-shrink:0;accent-color:var(--cobalt);cursor:default}.rich-task>span{flex:1}.rich-task>span strong{color:var(--ink);font-weight:600}.panel.fsp{max-width:360px;max-height:80dvh}.fp-section{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.05)}.fp-section:last-child{border-bottom:none}.fp-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.fp-section-title{font-size:11px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px}.fp-section-badge{background:var(--cobalt-soft);color:var(--cobalt-ink);font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px}.fp-clear{background:none;border:none;font-size:11px;color:var(--ink-4);cursor:pointer;font-family:var(--font-sans);padding:2px 6px;border-radius:4px;transition:color .12s}.fp-clear:hover{color:var(--ink-2)}.fp-option-list{display:flex;flex-direction:column;gap:4px}.fsp-opt{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1px solid transparent;background:#ffffff08;font-size:13px;color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);text-align:left;width:100%;transition:all .12s}.fsp-opt:hover{background:#ffffff0f}.fsp-opt--include{background:#2563eb1a;border-color:#2563eb40;color:var(--cobalt-ink)}.fsp-opt--exclude{background:#ef444414;border-color:#ef444433;color:#f87171}.fsp-icon{width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0a}.fsp-opt--include .fsp-icon{border-color:var(--cobalt);background:var(--cobalt);color:#fff}.fsp-opt--exclude .fsp-icon{border-color:var(--rose);background:var(--rose);color:#fff}.gim-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.gim-modal{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--ink);box-shadow:0 20px 60px #0006}.gim-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--hairline);flex-shrink:0}.gim-header h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.gim-close{background:transparent;border:none;color:var(--ink-3);font-size:22px;line-height:1;cursor:pointer;padding:0 6px;border-radius:var(--r-2);transition:background .12s,color .12s}.gim-close:hover{background:var(--card-hover);color:var(--ink)}.gim-body{padding:18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.gim-pathrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.gim-pathvalue{font-family:var(--font-mono);font-size:12px;background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-2);padding:2px 6px;color:var(--ink);word-break:break-all;flex:1;min-width:0}.gim-section{display:flex;flex-direction:column;gap:8px}.gim-label{font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.gim-suggestions{display:flex;flex-direction:column;gap:6px}.gim-suggestion{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-2);cursor:pointer;transition:background .12s,border-color .12s}.gim-suggestion:hover{background:var(--card-hover)}.gim-suggestion.is-active{border-color:var(--cobalt);background:var(--cobalt-soft)}.gim-suggestion input[type=radio]{margin-top:3px;flex-shrink:0}.gim-suggestion-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.gim-suggestion-text code{font-family:var(--font-mono);font-size:12px;color:var(--cobalt-ink);word-break:break-all}.gim-suggestion-label{font-size:11px;color:var(--ink-3)}.gim-text-input{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-2);color:var(--ink);font-family:var(--font-mono);font-size:12px;padding:6px 8px;flex:1;min-width:0}.gim-text-input:focus{outline:none;border-color:var(--cobalt)}.gim-text-input--full{width:100%}.gim-hint{font-size:11px;color:var(--ink-3);line-height:1.5;margin:0}.gim-hint code{font-family:var(--font-mono);background:var(--card-bg);padding:1px 4px;border-radius:3px}.gim-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.gim-checkbox input[type=checkbox]{width:14px;height:14px}.gim-checkbox code{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.gim-info{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}.gim-info code{font-family:var(--font-mono);background:var(--card-bg);border:1px solid var(--hairline);border-radius:3px;padding:1px 5px;font-size:12px;color:var(--cobalt-ink)}.gim-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--r-2);padding:10px 12px;color:var(--rose);font-size:12px}.gim-success{background:#22c55e14;border:1px solid rgba(34,197,94,.3);border-radius:var(--r-2);padding:10px 12px}.gim-output{font-family:var(--font-mono);font-size:11px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;margin:0}.gim-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--hairline);flex-shrink:0}.gim-btn-secondary,.gim-btn-primary{padding:7px 14px;border-radius:var(--r-2);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s}.gim-btn-secondary{background:transparent;border:1px solid var(--hairline);color:var(--ink-2)}.gim-btn-secondary:hover:not(:disabled){background:var(--card-hover);color:var(--ink)}.gim-btn-primary{background:var(--cobalt);border:1px solid var(--cobalt);color:#fff}.gim-btn-primary:hover:not(:disabled){background:#1d4ed8}.gim-btn-primary:disabled,.gim-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ft-mode-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:transparent;border:1px solid var(--hairline);border-radius:var(--r-2);color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);font-size:12px;transition:all .12s ease;margin-right:6px}.ft-mode-toggle:hover{background:var(--card-hover);color:var(--ink)}.ft-mode-toggle.is-active{background:var(--cobalt-soft);border-color:var(--cobalt);color:var(--cobalt-ink)}.ft-ignore-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0;margin-left:4px;border:1px solid currentColor}.ft-ignore-badge--ignored{color:var(--ink-3)}.ft-ignore-badge--ignored-tracked{color:var(--rose)}.ft-ignore-badge--internal{color:var(--ink-4)}.ft-row--gitignore-mode{cursor:pointer}.ft-row--gitignore-mode:hover{background:var(--card-hover)}.ft-push-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:var(--cobalt-soft);border:1px solid var(--cobalt);border-radius:var(--r-2);color:var(--cobalt-ink);cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:600;transition:all .12s ease;margin-right:6px;flex-shrink:0}.ft-push-btn:hover:not(:disabled){background:var(--cobalt);color:#fff}.ft-push-btn:disabled{opacity:.55;cursor:not-allowed}.ft-pushmodal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px;animation:ftFadeIn .12s ease-out}@keyframes ftFadeIn{0%{opacity:0}to{opacity:1}}.ft-pushmodal{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-3);width:100%;max-width:540px;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px #00000059;font-family:var(--font-sans)}.ft-pushmodal-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline);background:var(--surface-2);color:var(--ink);font-size:13px}.ft-pushmodal-summary{padding:14px 16px 8px;font-size:13px;color:var(--ink-2);line-height:1.5}.ft-pushmodal-summary strong{color:var(--ink)}.ft-pushmodal-files{margin:0 16px 8px}.ft-pushmodal-files summary{cursor:pointer;color:var(--ink-3);font-size:11.5px;padding:4px 0;-webkit-user-select:none;user-select:none}.ft-pushmodal-files summary:hover{color:var(--ink-2)}.ft-pushmodal-filelist{list-style:none;margin:6px 0 0;padding:8px;background:var(--surface-2);border-radius:var(--r-2);border:1px solid var(--hairline);max-height:180px;overflow:auto;font-size:11.5px}.ft-pushmodal-filelist li{display:flex;align-items:center;gap:6px;padding:2px 0}.ft-pushmodal-filelist code{font-family:var(--font-mono);font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-pushmodal-status{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid currentColor;border-radius:3px;font-family:var(--font-mono);font-size:9px;font-weight:700;flex-shrink:0;line-height:1}.ft-pushmodal-status--M{color:var(--amber)}.ft-pushmodal-status--A{color:var(--sage)}.ft-pushmodal-status--D{color:var(--rose)}.ft-pushmodal-status--R,.ft-pushmodal-status--C{color:var(--cobalt)}.ft-pushmodal-status--U{color:var(--rose)}.ft-pushmodal-status--T{color:var(--amber)}.ft-pushmodal-status--\?{color:var(--cobalt)}.ft-pushmodal-more{color:var(--ink-3);font-style:italic;padding-left:22px!important}.ft-pushmodal-msgwrap{padding:8px 16px 12px;display:flex;flex-direction:column;gap:6px}.ft-pushmodal-label{font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.ft-pushmodal-input{width:100%;box-sizing:border-box;padding:8px 10px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-2);color:var(--ink);font-family:var(--font-mono);font-size:12.5px;line-height:1.5;resize:vertical;min-height:64px;outline:none;transition:border-color .12s ease}.ft-pushmodal-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px color-mix(in oklch,var(--cobalt) 18%,transparent)}.ft-pushmodal-hint{font-size:11px;color:var(--ink-3);line-height:1.4}.ft-pushmodal-error{margin:0 16px 12px;padding:8px 10px;background:color-mix(in oklch,var(--rose) 10%,var(--surface));border:1px solid color-mix(in oklch,var(--rose) 35%,transparent);border-radius:var(--r-2);color:var(--rose);font-size:12px;white-space:pre-wrap}.ft-pushmodal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--hairline);background:var(--surface-2)}.ft-pushmodal-cancel,.ft-pushmodal-confirm{padding:7px 16px;border-radius:var(--r-2);font-family:var(--font-sans);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .12s ease}.ft-pushmodal-cancel{background:transparent;border:1px solid var(--hairline);color:var(--ink-2)}.ft-pushmodal-cancel:hover:not(:disabled){border-color:var(--hairline-strong);color:var(--ink)}.ft-pushmodal-confirm{background:var(--cobalt);border:1px solid var(--cobalt);color:#fff}.ft-pushmodal-confirm:hover:not(:disabled){background:color-mix(in oklch,var(--cobalt) 85%,black)}.ft-pushmodal-confirm:disabled,.ft-pushmodal-cancel:disabled{opacity:.55;cursor:not-allowed}@media(max-width:560px){.ft-push-btn{padding:5px 8px}.ft-push-btn span{display:none}.ft-pushmodal-backdrop{padding:12px}}.ws-members-list{display:flex;flex-direction:column;gap:6px}.ws-member-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface);transition:background .12s,border-color .12s}.ws-member-row:hover{background:var(--surface-2);border-color:var(--hairline-strong)}.ws-invite-row{opacity:.85}.ws-member-avatar{width:36px;height:36px;border-radius:50%;background:var(--cobalt-soft);color:var(--cobalt-ink);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;line-height:1}.ws-member-avatar--pending{background:var(--surface-2);color:var(--ink-3)}.ws-member-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ws-member-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ws-member-you{font-size:11px;color:var(--ink-3);font-weight:400}.ws-member-email{font-size:11px;color:var(--ink-3);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-member-role-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}.ws-role-badge{font-family:var(--font-mono);font-size:10px;padding:3px 8px;border-radius:9999px;background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink-2);white-space:nowrap;letter-spacing:.02em}.ws-role-badge--owner{background:#f59e0b1f;color:var(--amber);border-color:#f59e0b47}.ws-role-badge--admin{background:var(--cobalt-soft);color:var(--cobalt-ink);border-color:#2563eb4d}.ws-role-select{font-family:var(--font-mono);font-size:11px;padding:4px 22px 4px 8px;border-radius:9999px;background-color:var(--surface-2);background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;border:1px solid var(--hairline-strong);color:var(--ink);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;line-height:1.2}.ws-role-select:hover{border-color:var(--cobalt)}.ws-role-select:focus{border-color:var(--cobalt)}.ws-role-select option{background:var(--surface);color:var(--ink)}.ws-member-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-2);background:transparent;border:1px solid transparent;cursor:pointer;color:var(--ink-2);padding:0;flex-shrink:0;opacity:.6;transition:background .12s,color .12s,border-color .12s,opacity .12s}.ws-member-row:hover .ws-member-remove-btn{opacity:1}.ws-member-remove-btn:hover,.ws-member-remove-btn:focus-visible{background:#ef444424;color:var(--rose);border-color:#ef444452;opacity:1;outline:none}.ws-member-action-btn--transfer{color:var(--cobalt-ink)}.ws-member-action-btn--transfer:hover,.ws-member-action-btn--transfer:focus-visible{background:var(--cobalt-soft);color:var(--cobalt-ink);border-color:#2563eb52}.ws-member-action-btn--deactivate{color:var(--amber)}.ws-member-action-btn--deactivate:hover,.ws-member-action-btn--deactivate:focus-visible{background:#f59e0b24;color:var(--amber);border-color:#f59e0b52}.ws-member-action-btn--reactivate{color:var(--sage)}.ws-member-action-btn--reactivate:hover,.ws-member-action-btn--reactivate:focus-visible{background:#22c55e24;color:var(--sage);border-color:#22c55e52}@media(hover:none),(pointer:coarse){.ws-member-remove-btn{opacity:1;width:36px;height:36px}.ws-member-row{padding:12px}}@media(max-width:560px){.ws-member-row{flex-wrap:wrap;row-gap:8px}.ws-member-info{flex:1 1 calc(100% - 48px)}.ws-member-role-wrap{flex:1 1 100%;justify-content:flex-end;gap:6px}}.ws-member-row--deactivated{opacity:.6}.ws-member-avatar--deactivated{background:var(--surface-2);color:var(--ink-3)}.ws-badge{display:inline-block;font-size:10px;font-family:var(--font-mono);padding:1px 6px;border-radius:9999px;vertical-align:middle}.ws-badge--deactivated{background:#ef44441f;color:var(--rose);border:1px solid rgba(239,68,68,.28)}.ws-badge--pending{background:color-mix(in oklch,var(--amber) 14%,transparent);color:var(--amber);border:1px solid color-mix(in oklch,var(--amber) 32%,transparent)}.ws-badge--pending-account{background:var(--surface-2, rgba(120, 120, 120, .12));color:var(--ink-3);border:1px solid color-mix(in oklch,var(--ink-3) 28%,transparent)}.ws-badge--pending,.ws-badge--pending-account{margin-left:6px}.ws-member-approve-btn{margin-left:4px;white-space:nowrap}.ws-audit-list{display:flex;flex-direction:column;gap:4px}.ws-audit-row{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface);font-size:12.5px;line-height:1.5;transition:background .12s,border-color .12s,transform .15s,box-shadow .15s}.ws-audit-row:hover{background:var(--surface-2);border-color:var(--hairline-strong)}.ws-audit-actor{flex:0 0 160px;min-width:0;display:flex;align-items:center;gap:8px}.ws-audit-actor-avatar{width:24px;height:24px;border-radius:50%;background:var(--cobalt-soft);color:var(--cobalt-ink);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase;line-height:1;font-family:var(--font-sans)}.ws-audit-actor-name{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ws-audit-body{flex:1 1 auto;min-width:0;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px}.ws-audit-action{font-family:var(--font-mono);font-size:11px;padding:2px 7px;border-radius:9999px;background:var(--cobalt-soft);color:var(--cobalt-ink);border:1px solid rgba(37,99,235,.28);white-space:nowrap;letter-spacing:.02em}.ws-audit-entity{color:var(--ink-2);font-weight:500}.ws-audit-row--clickable{cursor:pointer;position:relative;padding-left:16px}.ws-audit-row--clickable:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--cobalt);opacity:.35;transition:opacity .15s,top .15s,bottom .15s}.ws-audit-row--clickable:hover{background:var(--surface-2);border-color:#2563eb73;transform:translate(1px)}.ws-audit-row--clickable:hover:before{opacity:1;top:4px;bottom:4px}.ws-audit-row--clickable:focus-visible{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.ws-audit-row--clickable:active{transform:translate(1px) scale(.998)}.ws-audit-time{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);white-space:nowrap;padding-top:2px}.ws-audit-diff{display:inline-flex;flex-wrap:wrap;gap:4px 8px;margin-left:4px;font-family:var(--font-mono);font-size:11px}.ws-audit-diff-field{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:var(--r-2);background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink-2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ws-audit-diff-key{color:var(--ink-3);font-weight:500}.ws-audit-diff-key:after{content:":";margin-right:2px}.ws-audit-diff-old{color:var(--rose);text-decoration:line-through;text-decoration-thickness:1px;opacity:.85;max-width:220px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}.ws-audit-diff-new{color:var(--sage);font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:bottom}@media(max-width:560px){.ws-audit-row{flex-wrap:wrap;row-gap:4px}.ws-audit-actor{flex:1 1 auto}.ws-audit-time{flex:0 0 auto;margin-left:auto}.ws-audit-body{flex:1 1 100%;order:3}}.ws-audit-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.ws-audit-detail-summary{font-size:14px;color:var(--ink);margin-bottom:18px}.ws-audit-detail-changes{border-top:1px solid var(--hairline);padding-top:14px}.ws-audit-change-row{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px solid var(--hairline)}.ws-audit-change-row:last-child{border-bottom:none}.ws-audit-change-key{flex:0 0 120px;color:var(--ink-3);font-weight:500}.ws-audit-change-vals{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:12px;word-break:break-word}.ws-audit-change-enc{flex:1 1 auto;color:var(--ink-4);font-style:italic}.ad-wizard{display:flex;flex-direction:column;gap:16px}.ad-wizard-body{padding:16px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface)}.ad-edit-form{margin-top:16px;padding:16px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface)}.ad-wizard-steps{display:flex;align-items:center;gap:0;padding:4px 2px}.ad-wizard-step{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);transition:color .15s}.ad-wizard-step+.ad-wizard-step{margin-left:12px;position:relative;padding-left:20px}.ad-wizard-step+.ad-wizard-step:before{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--hairline-strong)}.ad-wizard-step-num{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--surface-2);border:1px solid var(--hairline-strong);color:var(--ink-3);font-size:11px;font-weight:600;font-family:var(--font-mono);flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.ad-wizard-step--done{color:var(--ink);font-weight:500}.ad-wizard-step--done .ad-wizard-step-num{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.ad-permission-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-3);background:#f59e0b14;border:1px solid rgba(245,158,11,.28);color:var(--ink);font-size:12.5px;line-height:1.55;margin-bottom:14px}.ad-permission-banner>svg{color:var(--amber)}.ad-permission-banner code{font-family:var(--font-mono);font-size:11px;padding:1px 5px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:4px;color:var(--ink)}.ad-link{color:var(--cobalt-ink);text-decoration:none;border-bottom:1px dashed rgba(147,197,253,.4);transition:color .12s,border-color .12s}.ad-link:hover{color:var(--cobalt);border-bottom-color:var(--cobalt)}.ad-status-card{padding:16px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface);display:flex;flex-direction:column;gap:12px}.ad-status-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.ad-status-header>div:first-child{flex:1 1 auto;min-width:0}.ad-status-header code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--hairline);border-radius:4px;padding:1px 5px;color:var(--ink-2)}.ad-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4);vertical-align:middle;margin-right:4px;flex-shrink:0}.ad-status-dot--success{background:var(--sage);box-shadow:0 0 0 2px #22c55e2e}.ad-status-dot--partial{background:var(--amber);box-shadow:0 0 0 2px #f59e0b2e}.ad-status-dot--failed{background:var(--rose);box-shadow:0 0 0 2px #ef44442e}.ad-last-sync{font-size:12px;color:var(--ink-3);padding-top:10px;border-top:1px solid var(--hairline)}.ad-last-sync strong{color:var(--ink-2);font-weight:600}.ad-sync-status-text{font-family:var(--font-mono);font-size:11px;padding:1px 7px;border-radius:9999px;border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-2)}.ad-sync-status-text--success{color:var(--sage);background:#22c55e1f;border-color:#22c55e47}.ad-sync-status-text--partial{color:var(--amber);background:#f59e0b1f;border-color:#f59e0b47}.ad-sync-status-text--failed{color:var(--rose);background:#ef44441f;border-color:#ef444447}.ad-stats-row{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--hairline);flex-wrap:wrap}.ad-stat{flex:1 1 0;min-width:90px;padding:10px 12px;border-radius:var(--r-2);background:var(--surface-2);border:1px solid var(--hairline);text-align:center}.ad-stat-value{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--ink);line-height:1.2}.ad-stat-value--added{color:var(--sage)}.ad-stat-value--deactivated{color:var(--amber)}.ad-stat-label{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:2px}.ad-summary-box{padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--surface-2);display:flex;flex-direction:column;gap:6px}.ad-summary-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2)}.ad-summary-row>span:first-child{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.ad-summary-row code{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--hairline);border-radius:4px;padding:1px 5px;color:var(--ink)}.ad-spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ad-spin .7s linear infinite;vertical-align:-1px;margin-right:4px}@keyframes ad-spin{to{transform:rotate(360deg)}}.ad-checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--r-2);background:var(--surface-2);transition:border-color .12s,background .12s}.ad-checkbox-row:hover{border-color:var(--hairline-strong)}.ad-checkbox-row input[type=checkbox]{margin:1px 0 0;width:16px;height:16px;accent-color:var(--cobalt);cursor:pointer;flex-shrink:0}.ad-log-table{display:flex;flex-direction:column;gap:1px;border:1px solid var(--hairline);border-radius:var(--r-3);overflow:hidden;background:var(--hairline)}.ad-log-header,.ad-log-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(80px,1fr) 70px 70px 70px;gap:8px;padding:8px 12px;align-items:center;background:var(--surface);font-size:12px}.ad-log-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);background:var(--surface-2)}.ad-log-row{color:var(--ink-2);transition:background .12s}.ad-log-row:hover{background:var(--surface-2)}.ad-log-time{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-log-status{font-family:var(--font-mono);font-size:11px;padding:1px 7px;border-radius:9999px;border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;text-align:center;justify-self:start}.ad-log-status--success{color:var(--sage);background:#22c55e1f;border-color:#22c55e47}.ad-log-status--partial{color:var(--amber);background:#f59e0b1f;border-color:#f59e0b47}.ad-log-status--failed{color:var(--rose);background:#ef44441f;border-color:#ef444447}.ad-log-num{text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.ad-log-num--added{color:var(--sage)}.ad-log-num--deact{color:var(--ink-4)}.ad-log-num--deact-active{color:var(--amber)}.ad-log-num--skip{color:var(--ink-3)}@media(max-width:560px){.ad-status-header{flex-direction:column;align-items:stretch}.ad-status-header>button{width:100%;justify-content:center}.ad-stats-row{flex-direction:column;gap:6px}.ad-stat{flex:1 1 100%;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 14px}.ad-stat-value{font-size:18px;min-width:32px}.ad-stat-label{margin-top:0;font-size:11px}.ad-wizard-steps{flex-wrap:wrap;gap:8px 0}.ad-wizard-step+.ad-wizard-step{margin-left:0;padding-left:0}.ad-wizard-step+.ad-wizard-step:before{display:none}.ad-log-header{display:none}.ad-log-row{grid-template-columns:1fr auto;grid-template-areas:"time    status" "nums    nums";row-gap:4px;padding:10px 12px}.ad-log-time{grid-area:time}.ad-log-status{grid-area:status;justify-self:end}.ad-log-num{grid-area:nums;text-align:left;font-size:11px}.ad-log-num--added:before{content:"+ "}.ad-log-num--deact:before{content:" · − "}.ad-log-num--skip:before{content:" · "}.ad-log-num--added,.ad-log-num--deact,.ad-log-num--skip{display:inline}}.proj-color-btn{width:22px;height:22px;border-radius:50%;background:var(--dot-color);border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.proj-color-btn.selected{border-color:#fff;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--dot-color)}.proj-color-grid{display:flex;gap:8px;flex-wrap:wrap}.proj-color-btn{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.proj-color-btn:hover{transform:scale(1.15)}.proj-color-btn.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff26}.fc-fields-list{display:flex;flex-direction:column;gap:4px}.fc-embedded{display:flex;flex-direction:column;gap:0}.fc-drag-handle{color:var(--ink-5);cursor:grab;padding:2px 0;flex-shrink:0;margin-top:2px}.fc-drag-handle:active{cursor:grabbing}.fc-field-info{flex:1;min-width:0}.fc-field-label{display:flex;align-items:center;gap:8px;margin-bottom:4px}.fc-label-input{font-size:13px;font-weight:600;color:var(--ink);background:none;border:none;outline:none;font-family:var(--font-sans);flex:1;min-width:0;padding:2px 4px;border-radius:4px;transition:background .12s}.fc-label-input:hover{background:#ffffff0d}.fc-label-input:focus{background:#ffffff12}.fc-field-type-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:#ffffff17;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.fc-field-type-select{font-size:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--ink-3);padding:3px 8px;cursor:pointer;font-family:var(--font-sans);outline:none}.fc-field-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.fc-options-wrap{margin-top:8px}.fc-options-editor{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.fc-option-row{display:flex;align-items:center;gap:6px;padding:4px 0}.fc-option-label-input{flex:1;font-size:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:5px 8px;color:var(--ink-2);font-family:var(--font-sans);outline:none}.fc-option-label-input:focus{border-color:var(--cobalt)}.fc-option-color-wrap{position:relative}.fc-option-color-select{font-size:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--ink-3);padding:4px 6px;cursor:pointer;font-family:var(--font-sans);outline:none}.fc-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle}.fc-option-remove{width:24px;height:24px;background:none;border:none;color:var(--ink-4);cursor:pointer;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fc-option-remove:hover{background:#ef44441a;color:var(--rose)}.fc-add-option-row{display:flex;align-items:center;gap:8px;padding:4px 0}.fc-option-add-btn{font-size:11px;color:var(--cobalt-ink);background:none;border:none;cursor:pointer;font-family:var(--font-sans);padding:4px 0}.fc-option-add-btn:hover{text-decoration:underline}.fc-add-field-btn{margin-top:8px;width:100%;justify-content:center;border-style:dashed}.fc-new-color-select{font-size:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--ink-3);padding:4px 8px;cursor:pointer;font-family:var(--font-sans);outline:none}.fc-field-row{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;margin-bottom:4px;transition:background .1s}.fc-field-row:hover{background:#ffffff0d}.fc-field-row--dragging{opacity:.5}.fc-field-row--dragover{border-color:var(--cobalt);background:var(--cobalt-soft)}.fc-field-row--hidden{opacity:.45}.fc-field-row--readonly{cursor:default}.fc-field-row--locked{border-color:#f59e0b33}.fc-visibility-btn{width:28px;height:28px;background:none;border:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;transition:color .12s,background .12s}.fc-visibility-btn:hover{background:#ffffff12;color:var(--ink-2)}.fc-visibility-btn--on{color:var(--cobalt)}.fc-field-info{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.fc-field-label{font-size:13px;font-weight:600;color:var(--ink);cursor:text;display:flex;align-items:center;gap:5px;white-space:nowrap}.fc-field-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.fc-action-btn{width:28px;height:28px;background:none;border:none;cursor:pointer;color:var(--ink-4);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.fc-action-btn:hover{background:#ffffff12;color:var(--ink-2)}.fc-action-btn--delete:hover{background:#ef44441f;color:var(--rose)}.fc-add-field-btn{margin-top:8px;width:100%;justify-content:center;border-style:dashed!important}.stats-view{display:flex;flex-direction:column;gap:20px;padding:20px 24px;height:100%;overflow-y:auto}.stats-view.stats-empty{align-items:center;justify-content:center;color:var(--ink-3)}.stats-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}.stats-title{font-size:20px;font-weight:600;color:var(--ink);margin:0}.stats-scope{margin:4px 0 0;font-size:13px;color:var(--ink-3)}.stats-range-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:2px;gap:2px}.stats-range-btn{background:transparent;border:none;padding:6px 12px;font-size:12px;color:var(--ink-2);border-radius:calc(var(--r-2) - 2px);cursor:pointer;transition:background .12s,color .12s}.stats-range-btn:hover{color:var(--ink)}.stats-range-btn.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000026}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.stats-grid{grid-template-columns:1fr}}.stats-card{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-height:280px}.stats-card-wide{grid-column:1 / -1}.stats-card-head h2{font-size:14px;font-weight:600;color:var(--ink);margin:0}.stats-card-sub{margin:2px 0 0;font-size:11px;color:var(--ink-3)}.stats-card-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:13px;padding:32px 0}.stats-card-state.stats-error{color:var(--rose)}.stats-card-content{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.stats-card-refetching{position:absolute;top:0;right:0;font-size:10px;font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.5px;text-transform:uppercase;pointer-events:none;animation:stats-refetch-pulse 1.2s ease-in-out infinite}.stats-card-refetching.stats-error{color:var(--rose);animation:none}@keyframes stats-refetch-pulse{0%,to{opacity:.4}50%{opacity:.9}}.stats-chart-wrap{display:flex;flex-direction:column;gap:8px;flex:1}.stats-chart{width:100%;height:auto;max-height:260px}.stats-axis-label{font-size:10px;fill:var(--ink-3);font-family:var(--font-mono)}.stats-axis-label-sub{font-size:9px;fill:var(--ink-3);font-family:var(--font-mono)}.stats-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--ink-2)}.stats-legend-item{display:inline-flex;align-items:center;gap:6px}.stats-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.stats-mttr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;flex:1}.stats-mttr-tile{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stats-mttr-prio{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stats-mttr-value{font-size:22px;font-weight:600;color:var(--ink);font-family:var(--font-mono)}.stats-mttr-sub{font-size:10px;color:var(--ink-3);font-family:var(--font-mono)}.deploy-view{display:flex;flex-direction:column;gap:20px;padding:20px 24px 40px;height:100%;overflow-y:auto;min-height:0}.deploy-view>*{flex-shrink:0}.deploy-view.deploy-empty{align-items:center;justify-content:center;text-align:center;color:var(--ink-3)}.deploy-empty-hint{margin-top:8px;font-size:13px}.deploy-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}.deploy-title{font-size:20px;font-weight:600;color:var(--ink);margin:0}.deploy-scope{margin:4px 0 0;font-size:13px;color:var(--ink-2)}.deploy-scope-ws{color:var(--ink-3)}.deploy-targets{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);overflow:hidden}.deploy-targets-head,.deploy-target-row{display:grid;grid-template-columns:minmax(220px,280px) 140px minmax(180px,1fr) auto;gap:16px;align-items:center;padding:14px 16px}.deploy-targets-head{background:var(--surface-2);border-bottom:1px solid var(--hairline-strong);font-size:10px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.5px}.deploy-target-row{border-bottom:1px solid var(--hairline);font-size:13px;transition:background .12s}.deploy-target-row:last-child{border-bottom:none}.deploy-target-row:hover{background:var(--surface-2)}.deploy-target-name{color:var(--ink);font-weight:500}.deploy-target-type{color:var(--ink-2);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.deploy-target-path{color:var(--ink-3);font-family:var(--font-mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deploy-target-actions{text-align:right;display:inline-flex;justify-content:flex-end;align-items:center;gap:8px}.deploy-empty-targets{padding:24px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);color:var(--ink-3);font-size:13px;text-align:center}.deploy-no-perm-banner{padding:12px 16px;background:color-mix(in oklch,var(--amber) 12%,var(--surface));border-bottom:1px solid color-mix(in oklch,var(--amber) 30%,transparent);color:var(--ink-2);font-size:12px;line-height:1.5}.deploy-modal{width:100%;max-width:440px}.deploy-modal--with-log{max-width:min(900px,92vw);height:min(720px,85vh);max-height:min(720px,85vh);overflow:hidden;display:flex;flex-direction:column}.deploy-modal--with-log .deploy-modal-body{flex:1;min-height:0;overflow:hidden}.deploy-modal--with-log .logviewer{min-height:320px;flex:1;min-height:0;overflow:hidden}.deploy-modal--gh-steps .deploy-modal-body{overflow-y:auto;min-height:0}.deploy-modal--gh-steps .deploy-modal-body::-webkit-scrollbar{width:4px}.deploy-modal--gh-steps .deploy-modal-body::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:2px}.deploy-modal-body{display:flex;flex-direction:column;gap:14px}.deploy-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.deploy-select{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 10px;font-size:13px;color:var(--ink);font-family:var(--font-sans);font-weight:400;text-transform:none;letter-spacing:normal;outline:none;cursor:pointer}.deploy-select:focus{border-color:var(--cobalt)}.deploy-select:disabled{opacity:.5;cursor:not-allowed}.deploy-hint{font-size:12px;color:var(--ink-3);margin:0;line-height:1.5}.deploy-skip-build-label{display:flex;align-items:flex-start;gap:8px;margin-top:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.deploy-skip-build-label input[type=checkbox]{margin:2px 0 0;accent-color:var(--accent);width:14px;height:14px;flex-shrink:0;cursor:pointer}.deploy-skip-build-text{display:flex;flex-direction:column;gap:2px}.deploy-skip-build-label>.deploy-skip-build-text>span:first-child{font-size:13px;color:var(--ink);line-height:1.4}.deploy-skip-build-hint{font-size:11px;color:var(--ink-3);line-height:1.4}.deploy-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;background:var(--surface-2);color:var(--ink);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.deploy-btn-small{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;padding:4px 12px;font-size:12px;min-width:90px}.deploy-btn:hover:not(:disabled){background:var(--card-hover)}.deploy-btn:disabled{opacity:.5;cursor:not-allowed}.deploy-btn-primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.deploy-btn-primary:hover:not(:disabled){background:color-mix(in oklch,var(--cobalt) 85%,white)}.deploy-btn-ghost{background:var(--surface-2);color:var(--ink);border-color:var(--hairline-strong)}.deploy-btn-ghost:hover:not(:disabled){background:var(--card-hover);border-color:var(--cobalt)}.deploy-btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.deploy-btn-link:hover:not(:disabled){text-decoration:none}.deploy-result{font-size:12px;padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--hairline-strong);background:var(--surface-2);line-height:1.5}.deploy-result-ok{border-color:color-mix(in oklch,var(--sage) 35%,transparent);color:var(--sage);background:color-mix(in oklch,var(--sage) 10%,var(--surface))}.deploy-result-ok a{color:var(--sage);text-decoration:underline}.deploy-result-error{border-color:color-mix(in oklch,var(--rose) 35%,transparent);color:var(--rose);background:color-mix(in oklch,var(--rose) 10%,var(--surface))}.deploy-result-header{font-weight:600;margin-bottom:6px}.deploy-state{display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:12px;text-align:center;padding:32px 16px}.deploy-error{color:var(--rose)}.deploy-progress{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2);padding:8px 0}.deploy-spinner{width:14px;height:14px;border:2px solid var(--hairline-strong);border-top-color:var(--cobalt);border-radius:50%;animation:deploy-spin .8s linear infinite;flex-shrink:0}@keyframes deploy-spin{to{transform:rotate(360deg)}}.deploy-output{margin:8px 0 0;padding:8px 10px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-2);font-family:var(--font-mono);font-size:11px;white-space:pre-wrap;max-height:200px;overflow-y:auto;color:var(--ink-2)}.deploy-runs{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);padding:16px 18px}.deploy-runs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.deploy-runs-head h2{font-size:14px;font-weight:600;color:var(--ink);margin:0}.deploy-runs-refresh{background:transparent;border:1px solid var(--hairline-strong);color:var(--ink-2);border-radius:var(--r-2);padding:4px 10px;font-size:11px;font-family:var(--font-mono);cursor:pointer}.deploy-runs-refresh:hover:not(:disabled){color:var(--ink)}.deploy-runs-refresh:disabled{opacity:.5;cursor:not-allowed}.deploy-runs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.deploy-runs-item{display:grid;grid-template-columns:48px 80px 64px 1fr 80px 160px 110px minmax(124px,auto);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--hairline);font-size:12px}.deploy-runs-item:last-child{border-bottom:none}.deploy-runs-number{font-family:var(--font-mono);font-weight:600;font-size:12px;color:var(--ink-2)}.deploy-runs-status{font-family:var(--font-mono);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.5px}.deploy-runs-action{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:3px;text-align:center;border:1px solid var(--hairline);color:var(--ink-2);background:transparent}.deploy-runs-action--build{color:var(--sage);border-color:var(--sage)}.deploy-runs-action--deploy{color:var(--ink-2);border-color:var(--hairline)}.deploy-runs-action-placeholder{display:block}.deploy-runs-kind{color:var(--ink)}.deploy-runs-version{color:var(--ink-2);font-family:var(--font-mono);font-size:11px;text-align:right;white-space:nowrap}.deploy-runs-kind-action-suffix{display:none}.deploy-runs-by{color:var(--ink-2);font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deploy-runs-time{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);text-align:right;white-space:nowrap}.deploy-runs-download{display:flex;justify-content:flex-end;gap:8px;align-items:center}.deploy-runs-download-wrap{position:relative;display:inline-flex}.deploy-runs-download-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-2);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.deploy-runs-download-btn:hover:not(:disabled){background:color-mix(in oklch,var(--cobalt) 10%,transparent);border-color:color-mix(in oklch,var(--cobalt) 25%,transparent);color:var(--cobalt)}.deploy-runs-download-btn:focus-visible{outline:none;border-color:var(--cobalt)}.deploy-runs-download-btn.is-disabled,.deploy-runs-download-btn:disabled{opacity:.35;cursor:not-allowed;background:transparent;border-color:transparent;color:var(--ink-3)}@media(hover:none)and (pointer:coarse){.deploy-runs-download-btn{width:36px;height:36px}}.deploy-runs-download-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:10;background:var(--surface);border:1px solid var(--hairline);border-radius:6px;box-shadow:0 4px 12px color-mix(in oklch,var(--ink) 12%,transparent);display:flex;flex-direction:column;min-width:140px;padding:4px;gap:1px}.deploy-runs-download-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border:none;background:transparent;border-radius:4px;color:var(--ink);font-family:inherit;font-size:12px;cursor:pointer;text-align:left}.deploy-runs-download-menu button:hover{background:color-mix(in oklch,var(--ink) 4%,transparent)}.deploy-runs-download-format{font-weight:500}.deploy-runs-download-hint{color:var(--ink-3);font-family:var(--font-mono);font-size:11px}@media(max-width:1200px){.deploy-targets-head,.deploy-target-row{grid-template-columns:minmax(160px,1fr) 100px minmax(140px,1.5fr) auto;gap:12px;padding:12px 14px}.deploy-btn-small{min-width:unset;padding:4px 10px;font-size:11.5px}.deploy-target-actions{gap:6px}}@media(max-width:700px){.deploy-btn-small{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;font-size:13px;min-width:unset}}@media(max-width:700px){.deploy-targets-head{display:none}.deploy-target-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px}.deploy-target-name{font-size:13px}.deploy-target-type,.deploy-target-path{display:none}.deploy-target-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}.deploy-runs-item{grid-template-columns:44px 72px 1fr auto;grid-template-rows:auto auto;row-gap:4px;column-gap:8px}.deploy-runs-number{grid-column:1;grid-row:1}.deploy-runs-status{grid-column:2;grid-row:1}.deploy-runs-kind{grid-column:3;grid-row:1}.deploy-runs-time{grid-column:4;grid-row:1;text-align:right}.deploy-runs-download{grid-column:1 / -1;grid-row:2;justify-content:flex-end;gap:6px}.deploy-runs-action,.deploy-runs-action-placeholder,.deploy-runs-by,.deploy-runs-version,.deploy-runs-apk-qr-btn{display:none}.deploy-runs-download-btn{width:32px;height:32px}}@media(max-width:560px){.deploy-view{padding:12px 12px 32px;gap:14px}.deploy-title{font-size:17px}.deploy-target-row{padding:10px 12px}.deploy-targets-head>:nth-child(2),.deploy-target-row>.deploy-target-type{display:none}.deploy-runs-item{grid-template-columns:40px 64px 1fr auto;grid-template-rows:auto auto;row-gap:4px;gap:8px}.deploy-runs-number{grid-column:1;grid-row:1}.deploy-runs-status{grid-column:2;grid-row:1}.deploy-runs-kind{grid-column:3;grid-row:1}.deploy-runs-time{grid-column:4;grid-row:1;text-align:right;font-size:10px}.deploy-runs-download{grid-column:1 / -1;grid-row:2;justify-content:flex-end;gap:6px}.deploy-runs-action,.deploy-runs-action-placeholder{display:none}.deploy-runs-kind-action-suffix{display:inline;color:var(--ink-3);font-size:11px}.deploy-runs-time{font-size:10px}.deploy-runs{padding:12px}.deploy-modal--with-log{height:min(640px,90vh)}.deploy-modal--gh-steps{height:min(90dvh,90vh)}}.deploy-gh-run{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--r-2);background:var(--surface);font-size:12px}.deploy-gh-run-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--hairline)}.deploy-gh-run-title{font-weight:500;color:var(--ink)}.deploy-gh-run-link{font-size:11px;color:var(--ink-3);text-decoration:none}.deploy-gh-run-link:hover{color:var(--cobalt)}.deploy-gh-checking{display:flex;align-items:center;gap:10px;padding:32px 20px;justify-content:center;color:var(--ink-3);font-size:13px}.deploy-gh-checking-spinner{width:16px;height:16px;border:2px solid var(--hairline-strong);border-top-color:var(--cobalt);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.deploy-gh-warning{display:flex;flex-direction:column;gap:20px;padding:8px 0}.deploy-gh-warning-icon{font-size:28px;line-height:1;text-align:center}.deploy-gh-warning-body{display:flex;flex-direction:column;gap:8px;text-align:center}.deploy-gh-warning-title{font-size:15px;font-weight:600;color:var(--ink)}.deploy-gh-warning-text{font-size:13px;color:var(--ink-2);line-height:1.5}.deploy-gh-warning-link{font-size:12px;color:var(--ink-3);text-decoration:underline;margin-top:2px}.deploy-gh-warning-link:hover{color:var(--cobalt)}.deploy-gh-job{display:flex;flex-direction:column;gap:4px}.deploy-gh-job-head{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--ink-2)}.deploy-gh-job-name{color:var(--ink)}.deploy-gh-steps{list-style:none;margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:2px}.deploy-gh-step{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3);padding:2px 0}.deploy-gh-step-name{color:var(--ink-2)}.apk-qr-modal{max-width:360px;width:100%}.apk-qr-body{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}.apk-qr-image{display:block;background:#fff;padding:12px;border-radius:8px;min-width:280px;min-height:280px}.apk-qr-status{margin:0;color:var(--ink-3);font-size:13px;text-align:center}.apk-qr-status-error{color:var(--rose)}.apk-qr-hint{margin:0;color:var(--ink-2);font-size:13px;line-height:1.5;text-align:center;max-width:280px}.apk-qr-meta{margin:0;color:var(--ink-4);font-size:11px;text-align:center;font-family:var(--font-mono)}.apk-download-overlay{position:fixed;left:0;right:0;bottom:0;z-index:9900;display:flex;justify-content:center;pointer-events:none;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,#0a16288c,#0a162800)}.apk-download-overlay-inner{pointer-events:auto;width:100%;max-width:720px;background:var(--surface-1, #1a2236);border:1px solid var(--hairline-strong, rgba(255, 255, 255, .12));border-radius:12px;padding:12px 14px;box-shadow:0 10px 30px #0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.apk-download-overlay-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.apk-download-overlay-label{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.apk-download-overlay-label strong{font-size:14px;color:var(--ink-1, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apk-download-overlay-phase{font-size:12px;color:var(--ink-2)}.apk-download-overlay-cancel{flex-shrink:0;background:transparent;border:1px solid var(--hairline-strong, rgba(255, 255, 255, .18));color:var(--ink-2);font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer;min-height:32px;touch-action:manipulation}.apk-download-overlay-cancel:hover,.apk-download-overlay-cancel:focus{border-color:var(--rose, #ef4444);color:var(--rose, #ef4444)}.apk-download-overlay-bar{position:relative;height:4px;border-radius:2px;background:#ffffff14;overflow:hidden}.apk-download-overlay-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent, #7c3aed),var(--sage, #84cc16));border-radius:2px;transition:width .2s ease-out}.apk-download-overlay-bar.is-indeterminate:before{content:"";position:absolute;left:0;top:0;height:100%;width:35%;background:linear-gradient(90deg,var(--accent, #7c3aed),var(--sage, #84cc16));border-radius:2px;animation:apk-dl-indeterminate 1.4s ease-in-out infinite}@keyframes apk-dl-indeterminate{0%{left:-35%}to{left:100%}}.apk-download-overlay-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.integrations-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.integrations-title{font-size:16px;font-weight:600;color:var(--ink);margin:0}.integrations-intro{font-size:12px;color:var(--ink-3);line-height:1.5;margin:0}.integrations-card{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);overflow:hidden}.integrations-card-head{padding:14px 16px;border-bottom:1px solid var(--hairline);background:var(--surface-2)}.integrations-card-head h3{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 4px}.integrations-card-sub{margin:0;font-size:12px;color:var(--ink-3);line-height:1.5}.integrations-card-body{padding:16px}.integrations-empty{margin:0 0 12px;font-size:13px;color:var(--ink-2);line-height:1.5}.integrations-meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 16px;font-size:13px}.integrations-meta dt{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.5px;align-self:center}.integrations-meta dd{margin:0;color:var(--ink);font-family:var(--font-mono);font-size:12px}.integrations-meta-ok{color:var(--sage)!important;font-family:var(--font-sans)!important;font-weight:600}.integrations-actions{display:flex;gap:8px}.integrations-banner{padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--hairline-strong);font-size:12px;line-height:1.5}.integrations-banner-error{border-color:color-mix(in oklch,var(--rose) 35%,transparent);color:var(--rose);background:color-mix(in oklch,var(--rose) 10%,var(--surface))}.integrations-banner-ok{border-color:color-mix(in oklch,var(--sage) 35%,transparent);color:var(--sage);background:color-mix(in oklch,var(--sage) 10%,var(--surface))}.integrations-state{text-align:center;padding:24px;color:var(--ink-3);font-size:12px}.integrations-modal{width:100%;max-width:480px}.integrations-rotate-warning{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-2);background:color-mix(in oklch,var(--amber) 12%,var(--surface));border:1px solid color-mix(in oklch,var(--amber) 30%,transparent);color:var(--ink-2);font-size:12px;line-height:1.5}.integrations-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.integrations-input{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 10px;font-size:13px;color:var(--ink);font-family:var(--font-sans);font-weight:400;text-transform:none;letter-spacing:normal;outline:none}.integrations-input:focus{border-color:var(--cobalt)}.integrations-input:disabled{opacity:.5}.integrations-input-mono{font-family:var(--font-mono);font-size:12px}.integrations-hint{margin:0 0 12px;font-size:11px;color:var(--ink-3);line-height:1.5}.perm-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.perm-search{flex:1;min-width:200px;position:relative}.perm-search input{width:100%;padding:8px 12px 8px 32px;font-size:13px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-2);color:var(--ink);outline:none;transition:border-color .12s ease}.perm-search input:focus{border-color:var(--cobalt)}.perm-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-4);pointer-events:none}.perm-table-wrap{border:1px solid var(--hairline-strong);border-radius:var(--r-3);overflow:hidden;background:var(--surface)}.perm-table{width:100%;border-collapse:collapse;font-size:13px}.perm-table thead{background:var(--surface-2)}.perm-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--hairline);white-space:nowrap}.perm-table td{padding:12px 14px;border-bottom:1px solid var(--hairline);color:var(--ink);vertical-align:middle}.perm-table tbody tr:last-child td{border-bottom:none}.perm-table tbody tr{transition:background .1s ease}.perm-table tbody tr:hover{background:color-mix(in oklch,var(--cobalt) 4%,transparent)}.perm-table-name{font-weight:600;display:flex;align-items:center;gap:8px}.perm-table-count{font-variant-numeric:tabular-nums;color:var(--ink-2)}.perm-table-features{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.perm-table-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.perm-table-actions .btn{padding:5px 10px;font-size:12px}.perm-table-empty{padding:32px;text-align:center;color:var(--ink-3);font-size:13px}.perm-system-badge{font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--ink-3);background:var(--surface-2);border:1px solid var(--hairline);padding:2px 6px;border-radius:999px;text-transform:uppercase}.perm-feature-count-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:color-mix(in oklch,var(--cobalt) 12%,transparent);border:1px solid color-mix(in oklch,var(--cobalt) 25%,transparent);border-radius:999px;font-size:11px;font-weight:600;color:var(--cobalt-ink)}.perm-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.perm-member-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-2);transition:border-color .12s ease}.perm-member-card:hover{border-color:var(--hairline-strong)}.perm-member-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:color-mix(in oklch,var(--cobalt) 18%,var(--surface));color:var(--cobalt-ink);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-transform:uppercase}.perm-member-card .perm-member-info{flex:1;min-width:0}.perm-member-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perm-member-meta{font-size:11px;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perm-member-action{flex-shrink:0}.perm-member-action .btn{padding:4px 10px;font-size:11px}.perm-edit-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.perm-edit-head .integrations-title{margin:0}.perm-back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px}.perm-edit-hint{margin-top:4px;font-size:11px;color:var(--ink-4);font-weight:400;text-transform:none;letter-spacing:normal}.perm-edit-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--hairline)}.perm-edit-meta{display:flex;flex-direction:column;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--hairline)}.perm-edit-meta label{display:flex;flex-direction:column;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:var(--ink-3)}.perm-edit-meta input,.perm-edit-meta textarea{font:inherit;text-transform:none;letter-spacing:normal;font-weight:400;color:var(--ink);background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 10px;outline:none;transition:border-color .12s ease}.perm-edit-meta input:focus,.perm-edit-meta textarea:focus{border-color:var(--cobalt)}.perm-edit-meta input:disabled,.perm-edit-meta textarea:disabled{opacity:.6;cursor:not-allowed}.perm-edit-meta textarea{font-family:inherit;resize:vertical;min-height:60px}.perm-matrix{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px}@media(max-width:640px){.perm-matrix{grid-template-columns:1fr}}.perm-matrix-category{display:flex;flex-direction:column}.perm-matrix-category-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--hairline);margin-bottom:4px}.perm-matrix-category-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-2)}.perm-matrix-category-toggle{font-size:10px;color:var(--cobalt-ink);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .1s ease}.perm-matrix-category-toggle:hover{background:color-mix(in oklch,var(--cobalt) 12%,transparent)}.perm-matrix-row{display:flex;align-items:center;gap:8px;padding:8px 4px;border-radius:var(--r-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s ease}.perm-matrix-row:hover{background:color-mix(in oklch,var(--cobalt) 6%,transparent)}.perm-matrix-row input[type=checkbox]{flex-shrink:0;width:14px;height:14px;accent-color:var(--cobalt);cursor:pointer}.perm-matrix-row.is-disabled{cursor:not-allowed;opacity:.6}.perm-matrix-row.is-disabled input[type=checkbox]{cursor:not-allowed}.perm-matrix-label-text{flex:1;font-size:13px;color:var(--ink);line-height:1.3}.panel-overlay.perm-nested-overlay{z-index:200}.panel.perm-assign-panel{max-width:460px;width:92vw}.perm-assign-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto}.perm-assign-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--r-2);background:var(--surface);cursor:pointer;font-size:13px;color:var(--ink);transition:border-color .12s ease,background .12s ease}.perm-assign-item:hover{border-color:var(--hairline-strong)}.perm-assign-item.is-checked{border-color:var(--cobalt);background:color-mix(in oklch,var(--cobalt) 8%,var(--surface))}.perm-assign-item input[type=checkbox]{flex-shrink:0;width:14px;height:14px;accent-color:var(--cobalt);cursor:pointer}.perm-assign-info{flex:1;min-width:0}.perm-assign-name{font-weight:600}.perm-assign-desc{margin-top:2px;font-size:11px;color:var(--ink-3);line-height:1.4}.perm-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.perm-subhead h3{font-size:13px;font-weight:600;color:var(--ink);margin:0}.perm-subhead-meta{font-size:11px;color:var(--ink-3)}.ssh-cmd-confirm{max-width:540px;width:calc(100vw - 32px)}.ssh-cmd-confirm-body{padding:18px 20px;display:flex;flex-direction:column;gap:16px}.ssh-cmd-confirm-desc{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}.ssh-cmd-confirm-reason{background:color-mix(in oklch,var(--amber) 8%,transparent);border:1px solid color-mix(in oklch,var(--amber) 30%,transparent);border-radius:var(--r-2);padding:10px 12px}.ssh-cmd-confirm-reason-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--amber);margin-bottom:4px}.ssh-cmd-confirm-reason p{margin:0;font-size:13px;line-height:1.45;color:var(--ink-2)}.ssh-cmd-confirm-block{display:flex;flex-direction:column;gap:6px}.ssh-cmd-confirm-block-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.ssh-cmd-confirm-code{margin:0;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:12px 14px;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--ink);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.ssh-cmd-confirm-code code{font-family:inherit;font-size:inherit;color:inherit;background:none;padding:0}.ssh-cmd-confirm-meta{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-3);border-top:1px solid var(--hairline);padding-top:12px}.ssh-cmd-confirm-meta-row{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:baseline}.ssh-cmd-confirm-meta-key{font-weight:600;color:var(--ink-3)}.ssh-cmd-confirm-meta-val{color:var(--ink-2);line-height:1.4}.ssh-cmd-confirm-footer{padding:12px 20px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--hairline)}.ssh-cmd-confirm-run{min-width:120px}.ms-policy-options{display:flex;flex-direction:column;gap:10px}.ms-policy-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--hairline-strong);border-radius:var(--r-2);cursor:pointer;background:var(--surface);transition:border-color .12s,background .12s}.ms-policy-option:hover:not(.ms-policy-option--disabled){border-color:var(--cobalt)}.ms-policy-option--selected{border-color:var(--cobalt);background:color-mix(in oklch,var(--cobalt) 6%,var(--surface))}.ms-policy-option--disabled{cursor:not-allowed;opacity:.7}.ms-policy-option input[type=radio]{margin:2px 0 0;accent-color:var(--cobalt)}.ms-policy-option-text{display:flex;flex-direction:column;gap:4px;flex:1}.ms-policy-option-title{font-size:13px;font-weight:600;color:var(--ink)}.ms-policy-option-subtitle{font-size:12px;color:var(--ink-3);line-height:1.45}.ms-pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ms-pending-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-2)}.ms-pending-info{flex:1;display:flex;flex-direction:column;gap:2px}.ms-pending-name{font-size:13px;font-weight:600;color:var(--ink)}.ms-pending-email{font-size:12px;color:var(--ink-2);font-family:var(--font-mono)}.ms-pending-date{font-size:11px;color:var(--ink-3)}.ms-pending-actions{display:flex;gap:6px;flex-shrink:0}.e2t-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.e2t-title{font-size:16px;font-weight:600;color:var(--ink);margin:0}.e2t-intro{font-size:12px;color:var(--ink-3);line-height:1.5;margin:0}.e2t-coming-soon{padding:10px 12px;border-radius:var(--r-2);background:color-mix(in oklch,var(--amber) 12%,var(--surface));border:1px solid color-mix(in oklch,var(--amber) 30%,transparent);color:var(--ink-2);font-size:12px;line-height:1.5}.e2t-card{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);overflow:hidden;padding:16px;display:flex;flex-direction:column;gap:16px}.e2t-card-head{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--hairline)}.e2t-card-head h3{font-size:14px;font-weight:600;color:var(--ink);margin:0}.e2t-card-sub{margin:0;font-size:12px;color:var(--ink-3);line-height:1.5}.e2t-card-sub strong{color:var(--ink-2);font-weight:600}.e2t-address-row{display:flex;gap:8px;align-items:stretch}.e2t-address-box{flex:1;display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 12px;min-width:0}.e2t-address-label{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.e2t-address-value{font-family:var(--font-mono);font-size:13px;color:var(--ink);word-break:break-all;-webkit-user-select:all;user-select:all;background:transparent;padding:0}.e2t-copy-btn{align-self:stretch;min-width:90px}.e2t-meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:13px}.e2t-meta dt{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.5px;align-self:center}.e2t-meta dd{margin:0;color:var(--ink);font-size:12px;font-family:var(--font-mono)}.e2t-actions{display:flex;gap:8px;flex-wrap:wrap}.e2t-how-it-works{padding-top:12px;border-top:1px solid var(--hairline)}.e2t-how-it-works h4{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.5px}.e2t-how-it-works ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-2);line-height:1.5}.e2t-how-it-works li::marker{color:var(--ink-4)}.e2t-banner{padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--hairline-strong);font-size:12px;line-height:1.5}.e2t-banner-error{border-color:color-mix(in oklch,var(--rose) 35%,transparent);color:var(--rose);background:color-mix(in oklch,var(--rose) 10%,var(--surface))}.e2t-banner-ok{border-color:color-mix(in oklch,var(--sage) 35%,transparent);color:var(--sage);background:color-mix(in oklch,var(--sage) 10%,var(--surface))}.e2t-state{text-align:center;padding:24px;color:var(--ink-3);font-size:12px}@media(max-width:480px){.e2t-address-row{flex-direction:column}.e2t-copy-btn{align-self:flex-start}}.crons-tab{display:flex;flex-direction:column;gap:16px;padding:8px 0}.crons-intro{font-size:12px;color:var(--ink-3);line-height:1.6;margin:0}.crons-intro code{font-family:var(--font-mono);background:var(--surface-2);padding:1px 5px;border-radius:4px;color:var(--ink-2);font-size:11px}.crons-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.crons-toolbar h3{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.crons-banner{padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--hairline-strong);font-size:12px;line-height:1.5}.crons-banner-error{border-color:color-mix(in oklch,var(--rose) 35%,transparent);color:var(--rose);background:color-mix(in oklch,var(--rose) 10%,var(--surface))}.crons-banner-ok{border-color:color-mix(in oklch,var(--sage) 35%,transparent);color:var(--sage);background:color-mix(in oklch,var(--sage) 10%,var(--surface))}.crons-empty{text-align:center;padding:32px 16px;color:var(--ink-3);font-size:13px;border:1px dashed var(--hairline-strong);border-radius:var(--r-3);background:color-mix(in oklch,var(--surface) 50%,transparent)}.crons-empty-title{font-size:14px;color:var(--ink-2);font-weight:500;margin:0 0 4px}.crons-empty-sub{margin:0;font-size:12px;color:var(--ink-4)}.crons-list{display:flex;flex-direction:column;gap:10px}.cron-card{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);overflow:hidden;transition:border-color .15s}.cron-card:hover{border-color:color-mix(in oklch,var(--cobalt) 40%,var(--hairline-strong))}.cron-card.is-expanded{border-color:color-mix(in oklch,var(--cobalt) 50%,var(--hairline-strong))}.cron-card.is-paused{opacity:.65}.cron-card__head{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.cron-card__dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--ink-4);box-shadow:0 0 0 4px color-mix(in oklch,currentColor 18%,transparent);color:var(--ink-4)}.cron-card__dot--ok{background:var(--sage);color:var(--sage)}.cron-card__dot--fail{background:var(--rose);color:var(--rose)}.cron-card__dot--missed{background:var(--rose);color:var(--rose);animation:cron-pulse 2s ease-in-out infinite}.cron-card__dot--waiting{background:var(--amber);color:var(--amber)}.cron-card__dot--paused{background:var(--ink-4);color:var(--ink-4)}@keyframes cron-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in oklch,currentColor 18%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in oklch,currentColor 28%,transparent)}}.cron-card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cron-card__name{font-size:14px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cron-card__paused-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);background:var(--surface-2);padding:1px 6px;border-radius:3px}.cron-card__sync-pill{font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px;letter-spacing:.3px;white-space:nowrap;border:1px solid transparent}.cron-card__sync-pill--ok{color:var(--sage);background:color-mix(in oklch,var(--sage) 12%,transparent);border-color:color-mix(in oklch,var(--sage) 30%,transparent)}.cron-card__sync-pill--error{color:var(--rose);background:color-mix(in oklch,var(--rose) 14%,transparent);border-color:color-mix(in oklch,var(--rose) 35%,transparent)}.cron-card__sync-pill--pending{color:var(--ink-3);background:color-mix(in oklch,var(--ink-4) 12%,transparent);border-color:var(--hairline-strong)}.cron-card__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.cron-card__schedule{font-family:var(--font-sans);color:var(--ink-2)}.cron-card__lastping{color:var(--ink-3)}.cron-card__lastping--ok{color:var(--sage)}.cron-card__lastping--missed,.cron-card__lastping--fail{color:var(--rose)}.cron-card__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.cron-card__icon-btn{width:30px;height:30px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s;padding:0}.cron-card__icon-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--hairline-strong)}.cron-card__icon-btn--danger:hover{color:var(--rose);border-color:color-mix(in oklch,var(--rose) 40%,transparent)}.cron-card__icon-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cron-card__chevron{color:var(--ink-4);transition:transform .2s}.cron-card.is-expanded .cron-card__chevron{transform:rotate(180deg);color:var(--ink-2)}.cron-card__body{padding:0 16px 16px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--hairline)}.cron-card__body-section{padding-top:14px}.cron-card__body-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);font-weight:600;margin:0 0 6px}.cron-pingurl{display:flex;gap:8px;align-items:stretch}.cron-pingurl__box{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:8px 12px;font-family:var(--font-mono);font-size:12px;color:var(--ink);-webkit-user-select:all;user-select:all;word-break:break-all}.cron-pingurl__hint{margin-top:8px;font-size:11px;color:var(--ink-3);line-height:1.6}.cron-pingurl__hint code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);color:var(--ink-2);display:inline-block;margin-top:2px}.cron-command{background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:10px 12px;font-family:var(--font-mono);font-size:12px;color:var(--ink);line-height:1.6;white-space:pre-wrap;word-break:break-all}.cron-stats{display:flex;gap:16px;font-size:12px;color:var(--ink-3);margin:0 0 8px}.cron-stats__num{font-weight:700;font-size:14px}.cron-stats__num--ok{color:var(--sage)}.cron-stats__num--fail{color:var(--rose)}.cron-pings{max-height:240px;overflow-y:auto;border:1px solid var(--hairline);border-radius:var(--r-2);background:color-mix(in oklch,var(--surface-2) 50%,transparent)}.cron-pings__row{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;padding:6px 12px;border-bottom:1px solid var(--hairline);font-size:12px;align-items:center}.cron-pings__row:last-child{border-bottom:none}.cron-pings__row:hover{background:color-mix(in oklch,var(--cobalt) 6%,transparent)}.cron-pings__when{font-family:var(--font-mono);color:var(--ink-2);font-size:11px}.cron-pings__status{font-weight:600;font-size:11px}.cron-pings__status--ok{color:var(--sage)}.cron-pings__status--fail,.cron-pings__status--missed{color:var(--rose)}.cron-pings__dur{color:var(--ink-3);font-size:11px;font-family:var(--font-mono)}.cron-pings__src{color:var(--ink-4);font-size:11px;font-family:var(--font-mono);text-align:right;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cron-pings__empty{padding:20px;text-align:center;color:var(--ink-4);font-size:12px}.cron-form{background:var(--surface);border:1px solid color-mix(in oklch,var(--cobalt) 30%,var(--hairline-strong));border-radius:var(--r-3);overflow:hidden;display:flex;flex-direction:column}.cron-form__head{padding:14px 16px;border-bottom:1px solid var(--hairline);display:flex;justify-content:space-between;align-items:center}.cron-form__title{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.cron-form__body{padding:16px;display:flex;flex-direction:column;gap:16px}.cron-form__field{display:flex;flex-direction:column;gap:6px}.cron-form__field--row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cron-form__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);font-weight:600}.cron-form__hint{font-size:11px;color:var(--ink-4);line-height:1.5}.cron-form__foot{padding:12px 16px;border-top:1px solid var(--hairline);background:color-mix(in oklch,var(--surface-2) 30%,transparent);display:flex;justify-content:flex-end;gap:8px}.cron-sched{display:flex;flex-direction:column;gap:12px}.cron-sched__pills{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:8px}.cron-sched__pill{background:transparent;color:var(--ink-3);border:none;padding:6px 12px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;font-family:inherit}.cron-sched__pill:hover{color:var(--ink);background:color-mix(in oklch,var(--cobalt) 8%,transparent)}.cron-sched__pill.is-active{background:var(--cobalt);color:#fff;font-weight:600}.cron-sched__body{padding:12px;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2)}.cron-sched__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cron-sched__col{display:flex;flex-direction:column;gap:12px}.cron-sched__lbl{font-size:12px;color:var(--ink-2);font-weight:500}.cron-sched__lbl--utc{font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.5px;margin-left:4px}.cron-sched__step-pills{display:flex;gap:4px;align-items:center}.cron-sched__step{background:var(--surface);border:1px solid var(--hairline-strong);color:var(--ink-2);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;min-width:40px;font-family:inherit;transition:all .12s}.cron-sched__step:hover{border-color:var(--cobalt);color:var(--ink)}.cron-sched__step.is-active{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.cron-sched__step-input{width:56px;padding:6px 8px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:6px;color:var(--ink);font-size:13px;font-family:inherit;text-align:center;outline:none;transition:border-color .15s}.cron-sched__step-input:focus{border-color:var(--cobalt)}.cron-sched__wd{display:flex;gap:4px}.cron-sched__wd-btn{width:36px;height:32px;border-radius:6px;background:var(--surface);border:1px solid var(--hairline-strong);color:var(--ink-3);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;font-family:inherit}.cron-sched__wd-btn:hover{border-color:var(--cobalt);color:var(--ink)}.cron-sched__wd-btn.is-active{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.cron-sched__time{display:flex;align-items:center;gap:6px}.cron-sched__time-sep{color:var(--ink-3);font-size:14px;font-weight:600}.cron-sched__num{text-align:center;font-family:var(--font-mono)}.cron-sched__mono{font-family:var(--font-mono)}.cron-sched__preview{padding:10px 12px;background:color-mix(in oklch,var(--cobalt) 5%,var(--surface));border:1px solid color-mix(in oklch,var(--cobalt) 20%,var(--hairline-strong));border-radius:var(--r-2)}.cron-sched__preview-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;gap:8px;flex-wrap:wrap}.cron-sched__preview-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--cobalt-ink);font-weight:600}.cron-sched__preview-expr{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--surface-2);padding:2px 6px;border-radius:4px}.cron-sched__preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.cron-sched__preview-list li{display:flex;justify-content:space-between;font-size:12px;font-family:var(--font-mono)}.cron-sched__preview-when{color:var(--ink)}.cron-sched__preview-rel{color:var(--ink-4)}.cron-sched__preview-error{color:var(--rose);font-size:11px}.cron-sched__preview-empty{color:var(--ink-4);font-size:11px;font-style:italic}@media(max-width:540px){.cron-form__field--row{grid-template-columns:1fr}.cron-card__head{flex-wrap:wrap}.cron-card__actions{margin-left:auto}.cron-pingurl{flex-direction:column}}.cron-sched__num,.cron-sched__step-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cron-sched__num::-webkit-outer-spin-button,.cron-sched__num::-webkit-inner-spin-button,.cron-sched__step-input::-webkit-outer-spin-button,.cron-sched__step-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rfb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1500;padding:24px;animation:rfbFadeIn .12s ease-out}@keyframes rfbFadeIn{0%{opacity:0}to{opacity:1}}.rfb-modal{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);width:100%;max-width:680px;max-height:86vh;display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--ink);box-shadow:0 24px 64px #00000073;overflow:hidden}.rfb-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--hairline);flex-shrink:0}.rfb-title{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.rfb-close{background:transparent;border:1px solid var(--hairline);border-radius:var(--r-2);color:var(--ink-3);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s ease}.rfb-close:hover{background:var(--surface-2);color:var(--ink);border-color:var(--hairline-strong)}.rfb-breadcrumbs{display:flex;align-items:center;gap:4px;padding:8px 14px;background:var(--surface-2);border-bottom:1px solid var(--hairline);flex-wrap:wrap;font-size:12px;min-height:36px}.rfb-bc-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid transparent;color:var(--ink-3);padding:3px 8px;border-radius:5px;font-size:12px;font-family:var(--font-mono);cursor:pointer;transition:all .12s;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfb-bc-btn:hover:not(:disabled){background:color-mix(in oklch,var(--cobalt) 12%,transparent);color:var(--ink)}.rfb-bc-btn.is-current,.rfb-bc-btn:disabled{color:var(--ink);font-weight:600;cursor:default}.rfb-bc-btn.is-current{background:color-mix(in oklch,var(--cobalt) 18%,transparent)}.rfb-bc-btn svg{flex-shrink:0}.rfb-bc-sep{color:var(--ink-4);font-size:13px;-webkit-user-select:none;user-select:none}.rfb-body{height:440px;overflow-y:auto;background:var(--surface)}.rfb-state{text-align:center;padding:40px 20px;color:var(--ink-3);font-size:13px}.rfb-state--error{color:var(--rose)}.rfb-list{display:flex;flex-direction:column}.rfb-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:7px 16px;background:transparent;border:none;border-bottom:1px solid var(--hairline);cursor:pointer;text-align:left;font-family:inherit;color:var(--ink-2);transition:background .1s;width:100%}.rfb-row:last-child{border-bottom:none}.rfb-row:hover:not(:disabled){background:color-mix(in oklch,var(--cobalt) 6%,transparent);color:var(--ink)}.rfb-row.is-selected{background:color-mix(in oklch,var(--cobalt) 18%,transparent);color:var(--ink)}.rfb-row.is-filtered{opacity:.4;cursor:not-allowed}.rfb-row--up{color:var(--ink-3);font-style:italic}.rfb-row--d .rfb-row-name{font-weight:500;color:var(--ink)}.rfb-row--l .rfb-row-name{font-style:italic}.rfb-row-name{font-size:13px;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfb-row-meta{font-size:11px;color:var(--ink-4);font-family:var(--font-mono);text-align:right;white-space:nowrap}.rfb-row-mtime{color:var(--ink-5)}.rfb-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--hairline);background:color-mix(in oklch,var(--surface-2) 50%,transparent);flex-shrink:0;flex-wrap:wrap}.rfb-foot-path{flex:1;min-width:0;display:flex;align-items:center}.rfb-foot-pathcode{font-family:var(--font-mono);font-size:12px;color:var(--ink);background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-2);padding:4px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block}.rfb-foot-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:540px){.rfb-overlay{padding:12px}.rfb-modal{max-height:92vh}.rfb-body{height:auto;min-height:240px;flex:1}.rfb-bc-btn{max-width:160px}.rfb-foot{flex-direction:column;align-items:stretch}.rfb-foot-actions{justify-content:flex-end}}.tl{display:flex;flex-direction:column;gap:14px;padding:4px 0}.tl-loading,.tl-error,.tl-empty{font-size:12px;color:var(--ink-4);padding:6px 0}.tl-error{color:var(--rose)}.tl-empty{font-style:italic}.tl-group{display:flex;flex-direction:column;gap:6px}.tl-group-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.tl-chips{display:flex;flex-wrap:wrap;gap:6px}.tl-chip{display:inline-flex;align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:0;overflow:hidden;max-width:100%;transition:border-color .12s,background .12s}.tl-chip:hover{border-color:#ffffff29;background:#ffffff0f}.tl-chip--missing{color:var(--ink-5);font-style:italic;padding:4px 10px}.tl-chip-main{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:transparent;border:none;color:var(--ink);font-family:var(--font-sans);font-size:12px;cursor:pointer;text-decoration:none;min-width:0;flex:1}.tl-chip-main:hover{color:var(--cobalt)}.tl-chip-nr{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);flex-shrink:0}.tl-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.tl-chip-repo{font-size:10px;color:var(--ink-4);margin-left:4px}.tl-chip-del{background:transparent;border:none;color:var(--ink-4);font-size:16px;line-height:1;padding:4px 8px;cursor:pointer;transition:color .12s,background .12s;flex-shrink:0}.tl-chip-del:hover{color:var(--rose);background:#ffffff0a}.tl-status-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--ink-4);flex-shrink:0}.tl-status--new{background:var(--cobalt)}.tl-status--analysis{background:var(--amber)}.tl-status--in-progress{background:var(--violet)}.tl-status--fixed{background:var(--emerald)}.tl-status--wont-fix{background:var(--ink-5)}.tl-sha{font-family:var(--font-mono);font-size:11px;color:var(--ink-2);background:#ffffff0a;padding:1px 6px;border-radius:4px}.tl-add-btn{align-self:flex-start;background:transparent;border:1px dashed rgba(255,255,255,.14);color:var(--ink-3);font-size:12px;padding:6px 12px;border-radius:8px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.tl-add-btn:hover{color:var(--cobalt);border-color:var(--cobalt);background:#4a7cf00d}.tl-suggestions{background:#f5c5180f;border:1px solid rgba(245,197,24,.18);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.tl-sug-header{font-size:12px;color:var(--ink-2)}.tl-sug-list{display:flex;flex-direction:column;gap:6px}.tl-sug-item{display:flex;align-items:center;gap:10px;justify-content:space-between}.tl-sug-actions{display:flex;gap:4px}.tl-sug-btn{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--ink-2);font-size:11px;padding:3px 9px;border-radius:6px;cursor:pointer;transition:all .12s}.tl-sug-btn:hover{border-color:#ffffff3d}.tl-sug-btn--primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.tl-sug-btn--primary:hover{background:var(--cobalt-strong, var(--cobalt));filter:brightness(1.1)}.tl-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:tl-fade-in .12s ease}@keyframes tl-fade-in{0%{opacity:0}to{opacity:1}}.tl-picker{background:var(--bg-elevated, #1a1f2b);border:1px solid rgba(255,255,255,.1);border-radius:12px;width:100%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.tl-picker-tabs{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.08)}.tl-picker-tab{flex:1;background:transparent;border:none;color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:14px 12px;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s,background .12s}.tl-picker-tab:hover{color:var(--ink);background:#ffffff08}.tl-picker-tab.is-active{color:var(--ink);border-bottom-color:var(--cobalt)}.tl-picker-close{background:transparent;border:none;color:var(--ink-4);font-size:20px;line-height:1;padding:0 16px;cursor:pointer}.tl-picker-close:hover{color:var(--ink)}.tl-picker-body{padding:16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.tl-picker-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);margin-top:4px}.tl-picker-select,.tl-picker-input{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--ink);padding:9px 12px;font-size:13px;font-family:var(--font-sans);width:100%;transition:border-color .12s,background .12s}.tl-picker-input--mono{font-family:var(--font-mono);font-size:12px}.tl-picker-select:focus,.tl-picker-input:focus{outline:none;border-color:var(--cobalt);background:#ffffff0f}.tl-picker-hint{font-size:11px;color:var(--ink-4);font-style:italic;margin-top:4px}.tl-picker-results{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:4px}.tl-picker-result{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;color:var(--ink-2);font-size:12px;text-align:left;border-radius:6px;cursor:pointer;transition:background .1s;width:100%}.tl-picker-result:hover{background:#ffffff0a;color:var(--ink)}.tl-picker-result.is-picked{background:#4a7cf026;color:var(--ink)}.tl-picker-empty{font-size:12px;color:var(--ink-4);font-style:italic;padding:12px;text-align:center}.tl-picker-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}.tl-commit-wrap{display:flex;flex-direction:column;width:100%}.tl-chip-main--toggle{cursor:pointer}.tl-chip-main--toggle:disabled{cursor:default}.tl-chip-main--toggle:hover:not(:disabled){color:var(--ink)}.tl-commit-toggle-icon{color:var(--ink-4);transition:transform .18s ease,color .12s;flex-shrink:0}.tl-commit-wrap.is-open .tl-commit-toggle-icon{transform:rotate(90deg);color:var(--ink-2)}.tl-file-count{font-size:10px;color:var(--ink-4);margin-left:6px;padding:1px 6px;background:#ffffff0a;border-radius:4px}.tl-files{list-style:none;padding:6px 8px 6px 26px;display:flex;flex-direction:column;gap:2px;border-left:2px solid rgba(255,255,255,.06);margin:4px 0 0 14px}.tl-file{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}.tl-fstat{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:700;border-radius:3px;line-height:1}.tl-fstat--added{color:var(--emerald);background:#22c55e1f}.tl-fstat--modified{color:var(--amber);background:#f5c5181f}.tl-fstat--removed{color:var(--rose);background:#f43f5e1f}.tl-fstat--renamed{color:var(--cobalt);background:#4a7cf01f}.tl-file-path{flex:1;min-width:0;color:var(--ink-2);text-decoration:none;font-family:var(--font-mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.tl-file-path-inner{unicode-bidi:plaintext}.tl-file-path:hover{color:var(--cobalt)}.tl-file-stats{flex-shrink:0;display:inline-flex;gap:6px;font-family:var(--font-mono);font-size:10px}.tl-file-add{color:var(--emerald)}.tl-file-del{color:var(--rose)}.tl-files-more{list-style:none;padding-top:4px}.tl-files-more-btn{background:transparent;border:none;color:var(--ink-4);font-size:11px;cursor:pointer;padding:2px 0;font-style:italic}.tl-files-more-btn:hover{color:var(--cobalt)}@media(max-width:640px){.tl-files{padding-left:16px;margin-left:8px}.tl-file-path{font-size:10px}}@media(max-width:640px){.tl-chip-title{max-width:160px}.tl-picker-overlay{padding:0;align-items:stretch}.tl-picker{max-width:100%;max-height:100%;border-radius:0;height:100dvh}.tl-picker-results{max-height:none;flex:1}.tl-sug-item{flex-wrap:wrap}}.tl-picker-mode-toggle{display:flex;gap:4px;background:#ffffff0a;padding:3px;border-radius:8px;margin-bottom:6px}.tl-mode-btn{flex:1;background:transparent;border:none;color:var(--ink-3);font-size:12px;font-weight:600;padding:7px 10px;border-radius:6px;cursor:pointer;transition:all .12s}.tl-mode-btn:hover{color:var(--ink)}.tl-mode-btn.is-active{background:#ffffff14;color:var(--ink)}.tl-commit-picker-results{padding:4px}.tl-commit-result{display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center}.tl-commit-date{font-size:11px;color:var(--ink-3)}.tl-commit-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:999px;background:#ffffff0d;color:var(--ink-3)}.tl-commit-status--success{color:var(--emerald);background:#22c55e1a}.tl-commit-status--failed{color:var(--rose);background:#f43f5e1a}.tl-commit-status--running{color:var(--cobalt);background:#4a7cf01a}.tl-commit-status--triggered{color:var(--amber);background:#f5c5181a}.tl-commit-status--cancelled{color:var(--ink-4);background:#ffffff0d}.tl-file-btn{display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:center;width:100%;background:transparent;border:none;text-align:left;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .1s;min-width:0}.tl-file-btn:hover{background:#ffffff0a}.tl-file-btn:focus-visible{outline:2px solid var(--cobalt);outline-offset:-1px}.tl-file-btn .tl-file-path{display:block}.tl-diff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:220;display:flex;align-items:center;justify-content:center;padding:24px;animation:tl-fade-in .12s ease}.tl-diff{background:var(--bg-elevated, #1a1f2b);border:1px solid rgba(255,255,255,.1);border-radius:12px;width:100%;max-width:1100px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #0000008c}.tl-diff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);gap:12px;min-width:0}.tl-diff-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.tl-diff-title code{font-family:var(--font-mono);font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.tl-diff-stats{display:inline-flex;gap:8px;font-family:var(--font-mono);font-size:12px;flex-shrink:0}.tl-diff-actions{display:inline-flex;align-items:center;gap:8px}.tl-diff-gh{display:inline-flex;align-items:center;padding:6px 9px}.tl-diff-close{background:transparent;border:none;color:var(--ink-4);font-size:22px;line-height:1;padding:2px 10px;cursor:pointer}.tl-diff-close:hover{color:var(--ink)}.tl-diff-body{overflow:auto;flex:1;background:var(--bg-base, #0d1117)}.tl-diff-empty,.tl-diff-error{padding:24px;text-align:center;font-size:13px;color:var(--ink-4)}.tl-diff-error{color:var(--rose)}.tl-patch{margin:0;padding:8px 0;font-family:var(--font-mono);font-size:12px;line-height:1.55;background:transparent;color:var(--ink-2);white-space:pre;overflow-x:auto}.tl-patch-line{display:grid;grid-template-columns:48px 48px 1fr;gap:0;padding:0}.tl-patch-num{color:var(--ink-5);text-align:right;padding:0 8px;-webkit-user-select:none;user-select:none;font-size:11px;background:#ffffff04}.tl-patch-text{padding:0 12px;white-space:pre}.tl-patch-add{background:#22c55e1a}.tl-patch-add .tl-patch-text{color:var(--emerald)}.tl-patch-add .tl-patch-num{background:#22c55e0f}.tl-patch-del{background:#f43f5e14}.tl-patch-del .tl-patch-text{color:var(--rose)}.tl-patch-del .tl-patch-num{background:#f43f5e0d}.tl-patch-hunk{background:#4a7cf014;color:var(--cobalt)}.tl-patch-hunk .tl-patch-text{color:var(--cobalt);font-weight:500}.tl-patch-meta{color:var(--ink-5);font-style:italic}@media(max-width:640px){.tl-diff-overlay{padding:0;align-items:stretch}.tl-diff{max-width:100%;max-height:100%;height:100dvh;border-radius:0}.tl-patch{font-size:11px}.tl-patch-line{grid-template-columns:36px 36px 1fr}.tl-commit-result{grid-template-columns:56px 1fr auto;gap:8px}}.tl-chip--build{display:inline-flex;align-items:center}.tl-chip--build .tl-chip-main{display:inline-grid;grid-template-columns:auto auto auto;gap:8px;align-items:center;padding:4px 10px;font-family:var(--font-sans)}.tl-chip--build .tl-chip-main:disabled{cursor:default}.tl-chip--build .tl-chip-main:disabled:hover{color:inherit}.tl-build-kind{font-size:11px;font-weight:600;color:var(--ink-2);background:#ffffff0d;padding:2px 6px;border-radius:3px;white-space:nowrap}.tl-build-kind--ios-app{color:var(--cobalt)}.tl-build-kind--android-app{color:var(--sage)}.tl-build-kind--windows-app{color:var(--violet, #9b8cf5)}.tl-build-kind--nuget-library{color:var(--amber)}.tl-build-ref{font-size:11px;font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap}.tl-build-date{font-size:11px;color:var(--ink-4);white-space:nowrap}.tl-build-picker-results{display:flex;flex-direction:column;gap:4px}.tl-build-result{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:6px 10px}.tl-heuristic{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.08)}.tl-heuristic-toggle{background:transparent;border:none;color:var(--ink-4);font-size:12px;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:4px}.tl-heuristic-toggle:hover{color:var(--ink-2)}.tl-heuristic-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.tl-heuristic-item{display:grid;grid-template-columns:auto auto auto 1fr auto;gap:8px;align-items:center;padding:6px 10px;background:#ffffff05;border-radius:4px;font-size:12px}.tl-build-by{font-size:11px;color:var(--ink-4);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-heuristic-link-btn{font-size:11px;padding:3px 10px;background:#4a7cf01f;color:var(--cobalt);border:1px solid rgba(74,124,240,.25);border-radius:3px;cursor:pointer;white-space:nowrap}.tl-heuristic-link-btn:hover{background:#4a7cf033}@media(max-width:640px){.tl-heuristic-item{grid-template-columns:1fr;gap:4px}.tl-build-by{text-align:left}}.fd-onb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e19b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fd-onb-fade .18s ease-out}.fd-onb-modal{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-4);padding:32px 32px 24px;max-width:480px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 60px #00000080;animation:fd-onb-pop .22s cubic-bezier(.34,1.56,.64,1)}.fd-onb-modal-icon{font-size:40px;line-height:1;margin-bottom:12px}.fd-onb-modal-title{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--ink)}.fd-onb-modal-lead{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 0 20px}.fd-onb-modal-steps{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}.fd-onb-modal-steps li{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-2)}.fd-onb-modal-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--cobalt-soft);color:var(--cobalt-ink);font-size:11px;font-weight:600;flex-shrink:0}.fd-onb-modal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.fd-onb-checklist{position:fixed;bottom:20px;right:20px;z-index:900;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);width:300px;box-shadow:0 12px 32px #0006;color:var(--ink);overflow:hidden;animation:fd-onb-slide-in .24s cubic-bezier(.34,1.56,.64,1)}.fd-onb-checklist.collapsed{width:260px}.fd-onb-checklist-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-2);border:none;cursor:pointer;color:var(--ink);width:100%;text-align:left;border-bottom:1px solid var(--hairline)}.fd-onb-checklist.collapsed .fd-onb-checklist-head{border-bottom:none}.fd-onb-checklist-title{font-size:13px;font-weight:600;flex:1}.fd-onb-checklist-progress{font-size:11px;color:var(--ink-2);background:var(--cobalt-soft);color:var(--cobalt-ink);padding:2px 8px;border-radius:10px}.fd-onb-checklist-chev{font-size:14px;color:var(--ink-3);transition:transform .18s ease}.fd-onb-checklist-chev.collapsed{transform:rotate(-90deg)}.fd-onb-checklist-body{padding:12px 14px 14px}.fd-onb-checklist-bar{height:4px;border-radius:2px;background:var(--ink-5);overflow:hidden;margin-bottom:12px}.fd-onb-checklist-bar-fill{height:100%;background:linear-gradient(90deg,var(--cobalt),var(--cobalt-ink));transition:width .32s cubic-bezier(.4,0,.2,1)}.fd-onb-checklist-steps{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.fd-onb-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-2);font-size:12px;cursor:pointer;transition:background .14s ease}.fd-onb-step:hover{background:var(--card-hover)}.fd-onb-step.active{background:var(--cobalt-soft)}.fd-onb-step.done{cursor:default;color:var(--ink-3);text-decoration:line-through}.fd-onb-step.done:hover{background:transparent}.fd-onb-step-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--ink-5);color:var(--ink-2);font-size:10px;font-weight:600;flex-shrink:0}.fd-onb-step.done .fd-onb-step-check{background:var(--sage);color:#052e16}.fd-onb-step-title{flex:1}.fd-onb-checklist-foot{display:flex;justify-content:flex-end;border-top:1px solid var(--hairline);padding-top:10px}.fd-spotlight-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;pointer-events:none}.fd-spotlight-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#080e198c;pointer-events:auto;animation:fd-onb-fade .18s ease-out}.fd-spotlight-ring{position:absolute;border:2px solid var(--cobalt);border-radius:var(--r-3);box-shadow:0 0 0 9999px #080e198c,0 0 24px #2563eb99;pointer-events:none;animation:fd-onb-pulse 1.6s ease-in-out infinite;transition:top .12s ease,left .12s ease,width .12s ease,height .12s ease}.fd-spotlight-bubble{position:absolute;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-3);padding:16px 18px 14px;color:var(--ink);box-shadow:0 12px 36px #00000080;pointer-events:auto;animation:fd-onb-pop .22s cubic-bezier(.34,1.56,.64,1)}.fd-spotlight-bubble-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.fd-spotlight-step-count{font-size:11px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}.fd-spotlight-close{background:none;border:none;color:var(--ink-3);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.fd-spotlight-close:hover{color:var(--ink)}.fd-spotlight-title{font-size:15px;font-weight:600;margin:0 0 6px;color:var(--ink)}.fd-spotlight-desc{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 14px}.fd-spotlight-actions{display:flex;gap:8px}.fd-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:var(--r-2);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .14s ease,border-color .14s ease}.fd-btn-sm{padding:5px 10px;font-size:12px}.fd-btn-primary{background:var(--cobalt);color:#fff}.fd-btn-primary:hover{background:#1e4ed8}.fd-btn-ghost{background:transparent;border-color:var(--hairline-strong);color:var(--ink-2)}.fd-btn-ghost:hover{background:var(--card-hover);color:var(--ink)}.fd-btn-text{background:transparent;color:var(--ink-3);padding:8px}.fd-btn-text:hover{color:var(--ink-2)}@keyframes fd-onb-fade{0%{opacity:0}to{opacity:1}}@keyframes fd-onb-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes fd-onb-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fd-onb-pulse{0%,to{box-shadow:0 0 0 9999px #080e198c,0 0 24px #2563eb66}50%{box-shadow:0 0 0 9999px #080e198c,0 0 40px #2563ebe6}}@media(max-width:600px){.fd-onb-checklist{bottom:12px;right:12px;left:12px;width:auto}.fd-onb-checklist.collapsed{width:auto}.fd-spotlight-bubble{width:calc(100vw - 24px)!important;left:12px!important;right:12px}}.privacy-tab{display:flex;flex-direction:column;gap:16px;padding:16px 4px 8px}.privacy-tab__title{margin:0;font-size:17px;font-weight:600;color:var(--ink)}.privacy-tab__intro{margin:0;font-size:13px;line-height:1.55;color:var(--ink-3);max-width:640px}.privacy-tab__options{display:flex;flex-direction:column;gap:8px;margin-top:4px}.privacy-tab__option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--hairline);border-radius:10px;background:var(--content-bg);cursor:pointer;transition:border-color .12s ease,background .12s ease}.privacy-tab__option:hover{border-color:var(--ink-3)}.privacy-tab__option.is-checked{border-color:var(--cobalt);background:color-mix(in srgb,var(--cobalt) 7%,var(--content-bg))}.privacy-tab__option input[type=radio]{margin-top:3px;accent-color:var(--cobalt);cursor:pointer}.privacy-tab__option-body{display:flex;flex-direction:column;gap:2px;min-width:0}.privacy-tab__option-label{font-size:14px;font-weight:600;color:var(--ink)}.privacy-tab__option-desc{font-size:12.5px;line-height:1.5;color:var(--ink-3)}.privacy-tab__error{padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--rose) 12%,var(--content-bg));border:1px solid color-mix(in srgb,var(--rose) 40%,transparent);color:var(--rose);font-size:13px}.privacy-tab__success{padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--sage) 12%,var(--content-bg));border:1px solid color-mix(in srgb,var(--sage) 40%,transparent);color:var(--sage);font-size:13px}.mail-thread{margin:16px 0;border:1px solid color-mix(in oklch,var(--cobalt) 35%,transparent);border-radius:10px;background:color-mix(in oklch,var(--cobalt) 4%,var(--surface));overflow:hidden}.mail-thread--loading{opacity:.7}.mail-thread__header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in oklch,var(--cobalt) 10%,var(--surface));border-bottom:1px solid color-mix(in oklch,var(--cobalt) 25%,transparent);font-size:13px;font-weight:500;color:var(--text)}.mail-thread__icon{font-size:16px;opacity:.85}.mail-thread__title{flex:1}.mail-thread__count{font-weight:400;color:var(--text-muted);font-size:12px}.mail-thread__toggle-all{background:none;border:none;color:var(--cobalt);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px}.mail-thread__toggle-all:hover{background:color-mix(in oklch,var(--cobalt) 12%,transparent)}.mail-thread__list{list-style:none;padding:0;margin:0}.mail-thread__msg{border-bottom:1px solid color-mix(in oklch,var(--cobalt) 15%,transparent)}.mail-thread__msg:last-child{border-bottom:none}.mail-thread__msg-summary{width:100%;display:block;padding:10px 14px;background:none;border:none;text-align:left;cursor:pointer;color:var(--text)}.mail-thread__msg-summary:hover{background:color-mix(in oklch,var(--cobalt) 6%,transparent)}.mail-thread__msg--open .mail-thread__msg-summary{background:color-mix(in oklch,var(--cobalt) 8%,transparent)}.mail-thread__msg-from{font-size:13px;font-weight:500}.mail-thread__from-email{color:var(--text-muted);font-weight:400;font-size:12px}.mail-thread__msg-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.mail-thread__msg-subject{font-size:12px;margin-top:4px;color:var(--text);font-style:italic}.mail-thread__msg-snippet{font-size:12px;color:var(--text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-thread__msg-body{padding:0 14px 14px}.mail-thread__msg-recipients{font-size:11px;color:var(--text-muted);padding:6px 0 10px;border-bottom:1px dashed color-mix(in oklch,var(--cobalt) 20%,transparent);margin-bottom:10px}.mail-thread__recipients-label{font-weight:500;color:var(--text)}.mail-thread__msg-text{font-family:ui-monospace,SF Mono,Monaco,Cascadia Mono,Roboto Mono,Consolas,monospace;font-size:12px;line-height:1.5;margin:0;padding:0;white-space:pre-wrap;word-break:break-word;color:var(--text)}.lp-root{background:var(--rail-bg);color:var(--ink);font-family:var(--font-sans);height:100dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;scroll-behavior:smooth}.lp-main{flex:1 0 auto;display:flex;flex-direction:column}.lp-section{padding:80px 0;scroll-margin-top:72px}.lp-section-inner{max-width:1180px;margin:0 auto;padding:0 32px}.lp-section-title{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 24px}.lp-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--rail-bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline);padding-top:env(safe-area-inset-top)}.lp-header-inner{max-width:1180px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:32px}.lp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.lp-brand-logo{width:28px;height:28px;object-fit:contain}.lp-brand-name{font-size:17px;font-weight:700;letter-spacing:-.01em}.lp-nav{display:flex;gap:28px;margin-left:8px}.lp-nav-link{font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;transition:color .12s}.lp-nav-link:hover{color:var(--ink)}.lp-header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.lp-login-btn{padding:8px 18px;font-size:13px}.lp-lang-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-3)}.lp-lang-btn{background:none;border:none;padding:4px 6px;font:inherit;color:var(--ink-3);cursor:pointer;transition:color .12s;letter-spacing:.04em}.lp-lang-btn:hover{color:var(--ink)}.lp-lang-btn.is-active{color:var(--cobalt-ink)}.lp-lang-sep{color:var(--ink-4);-webkit-user-select:none;user-select:none}.lp-hero{padding:88px 0 96px;border-bottom:1px solid var(--hairline);background:radial-gradient(ellipse 60% 50% at 50% 0%,color-mix(in oklab,var(--cobalt) 14%,transparent),transparent),var(--rail-bg)}.lp-hero-inner{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.lp-hero-title{font-size:52px;line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0 0 20px}.lp-hero-subtitle{font-size:18px;line-height:1.55;color:var(--ink-2);margin:0 0 32px;max-width:540px}.lp-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.lp-cta-primary,.lp-cta-secondary{padding:12px 22px;font-size:14px}.lp-hero-visual{display:flex;justify-content:center}.lp-phone{position:relative;width:260px;height:520px;background:#0a0f1c;border-radius:36px;padding:14px;box-shadow:0 30px 60px -20px #000000a6,0 0 0 2px #ffffff0a,inset 0 0 0 1px #ffffff0f}.lp-phone-notch{position:absolute;top:16px;left:50%;transform:translate(-50%);width:80px;height:22px;background:#0a0f1c;border-radius:12px;z-index:2}.lp-phone-screen{width:100%;height:100%;background:linear-gradient(180deg,var(--sb-bg),var(--rail-bg));border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.lp-phone-status{display:flex;justify-content:space-between;align-items:center;padding:14px 28px 6px;font-size:11px;font-weight:600;color:var(--ink);font-family:var(--font-mono)}.lp-phone-status-right{font-size:8px;letter-spacing:2px;color:var(--ink-2)}.lp-phone-app-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--hairline)}.lp-phone-app-dot{width:8px;height:8px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 6px color-mix(in oklab,var(--cobalt) 60%,transparent)}.lp-phone-app-name{font-size:12px;font-weight:600;color:var(--ink)}.lp-phone-chat{flex:1;display:flex;flex-direction:column;gap:10px;padding:16px 14px;justify-content:flex-end}.lp-chat-bubble{max-width:85%;font-size:12px;line-height:1.4;padding:9px 12px;border-radius:14px;font-weight:500}.lp-chat-user{align-self:flex-end;background:var(--cobalt);color:#fff;border-bottom-right-radius:4px}.lp-chat-ai{align-self:flex-start;background:var(--card-bg);color:var(--ink);border:1px solid var(--hairline);border-bottom-left-radius:4px}.lp-chat-ai-success{color:var(--sage);font-weight:600}.lp-story{background:var(--rail-bg)}.lp-lead{font-size:19px;line-height:1.55;color:var(--ink-2);margin:0 0 20px;max-width:760px}.lp-solution{font-size:19px;line-height:1.55;color:var(--ink);margin:0;max-width:760px;padding:18px 22px;background:color-mix(in oklab,var(--cobalt) 10%,var(--rail-bg));border-left:3px solid var(--cobalt);border-radius:0 var(--r-3) var(--r-3) 0}.lp-punchline{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.4;color:var(--ink);margin:32px 0 0;max-width:760px}.lp-demo{background:var(--sb-bg);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.lp-demo-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 28px;max-width:760px}.lp-demo-chat{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--card-bg);border:1px solid var(--hairline-strong);border-radius:var(--r-4);box-shadow:0 30px 60px -30px #00000080}.lp-demo-bubble{display:flex;gap:12px;align-items:flex-start}.lp-demo-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.lp-demo-avatar-user{background:var(--surface-2);color:var(--ink-2)}.lp-demo-avatar-ai{background:color-mix(in oklab,var(--cobalt) 20%,var(--card-bg));color:var(--cobalt-ink);border:1px solid color-mix(in oklab,var(--cobalt) 40%,transparent)}.lp-demo-msg{flex:1;font-size:14px;line-height:1.55;color:var(--ink);padding:10px 14px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-3);border-top-left-radius:4px}.lp-demo-user .lp-demo-msg{background:color-mix(in oklab,var(--cobalt) 14%,var(--surface-2));border-color:color-mix(in oklab,var(--cobalt) 30%,transparent)}.lp-demo-thinking{color:var(--ink-3);font-style:italic}.lp-demo-action{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-family:var(--font-mono);font-size:13px}.lp-demo-action-icon{color:var(--cobalt-ink);font-size:14px;line-height:1.5;flex-shrink:0}.lp-demo-done{background:color-mix(in oklab,var(--sage) 14%,var(--surface-2));border-color:color-mix(in oklab,var(--sage) 35%,transparent);color:var(--sage);font-weight:600}.lp-anywhere{background:var(--rail-bg)}.lp-anywhere-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 32px;max-width:760px}.lp-anywhere-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lp-anywhere-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:22px;transition:transform .18s,border-color .18s}.lp-anywhere-card:hover{border-color:color-mix(in oklab,var(--cobalt) 30%,var(--hairline));transform:translateY(-2px)}.lp-anywhere-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-3);background:color-mix(in oklab,var(--cobalt) 14%,var(--card-bg));color:var(--cobalt-ink);margin-bottom:14px;border:1px solid color-mix(in oklab,var(--cobalt) 30%,transparent)}.lp-anywhere-title-card{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 6px}.lp-anywhere-text{font-size:13px;line-height:1.55;color:var(--ink-2);margin:0}.lp-features{background:linear-gradient(180deg,var(--rail-bg),var(--sb-bg));border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.lp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.lp-feature-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:24px;transition:transform .18s,border-color .18s}.lp-feature-card:hover{border-color:color-mix(in oklab,var(--cobalt) 35%,var(--hairline));transform:translateY(-2px)}.lp-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-3);background:var(--cobalt-soft);color:var(--cobalt-ink);margin-bottom:14px}.lp-feature-title{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 8px}.lp-feature-text{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0}.lp-workflow{background:var(--sb-bg)}.lp-workflow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;position:relative}.lp-workflow-step{position:relative;background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:24px}.lp-workflow-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--cobalt);color:#fff;font-family:var(--font-mono);font-weight:700;font-size:13px;margin-bottom:14px}.lp-workflow-title{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 6px}.lp-workflow-text{font-size:13px;line-height:1.55;color:var(--ink-2);margin:0}.lp-workflow-arrow{position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--ink-4);font-size:18px;z-index:1;pointer-events:none}@media(max-width:960px){.lp-workflow-arrow{display:none}}.lp-pricing{background:var(--rail-bg)}.lp-pricing-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 28px;max-width:760px}.lp-billing-toggle{display:inline-flex;align-items:center;background:var(--card-bg);border:1px solid var(--hairline-strong);border-radius:999px;padding:4px;margin-bottom:24px}.lp-billing-btn{background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-3);padding:8px 18px;border-radius:999px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px}.lp-billing-btn:hover{color:var(--ink)}.lp-billing-btn.is-active{background:var(--cobalt);color:#fff}.lp-billing-hint{font-size:11px;font-weight:500;opacity:.85;padding:2px 8px;background:#ffffff2e;border-radius:999px}.lp-billing-btn:not(.is-active) .lp-billing-hint{background:color-mix(in oklab,var(--sage) 20%,transparent);color:var(--sage)}.lp-pricing-notice{font-size:13px;line-height:1.5;color:var(--amber);background:color-mix(in oklab,var(--amber) 10%,transparent);border:1px solid color-mix(in oklab,var(--amber) 30%,transparent);border-radius:var(--r-3);padding:12px 16px;margin-bottom:28px;max-width:760px}.lp-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(min-width:1400px){.lp-pricing-grid{grid-template-columns:repeat(6,1fr)}}.lp-tier{position:relative;display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--hairline-strong);border-radius:var(--r-3);padding:24px 20px;transition:transform .18s,border-color .18s}.lp-tier:hover{border-color:color-mix(in oklab,var(--cobalt) 30%,var(--hairline-strong));transform:translateY(-2px)}.lp-tier-highlight{border-color:var(--cobalt);background:linear-gradient(180deg,color-mix(in oklab,var(--cobalt) 14%,var(--card-bg)),var(--card-bg));box-shadow:0 0 0 1px var(--cobalt),0 20px 40px -20px color-mix(in oklab,var(--cobalt) 50%,transparent)}.lp-tier-enterprise{background:linear-gradient(180deg,color-mix(in oklab,var(--violet) 10%,var(--card-bg)),var(--card-bg))}.lp-tier-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--cobalt);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.lp-tier-head{margin-bottom:14px}.lp-tier-name{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 4px}.lp-tier-tagline{font-size:12px;line-height:1.5;color:var(--ink-3);margin:0}.lp-tier-price{margin-bottom:4px;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.lp-tier-price-value{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.lp-tier-price-unit{font-size:12px;color:var(--ink-3);font-weight:500}.lp-tier-yearly{font-size:12px;color:var(--sage);font-weight:600;margin-bottom:14px}.lp-tier:not(:has(.lp-tier-yearly)) .lp-tier-price{margin-bottom:18px}.lp-tier-inherits{font-size:12px;font-weight:600;color:var(--cobalt);margin-top:4px;margin-bottom:-4px;letter-spacing:.01em}.lp-tier-inherits-base{color:var(--ink-3);font-weight:500}.lp-tier-features{list-style:none;padding:0;margin:14px 0 18px;display:flex;flex-direction:column;gap:8px;flex:1}.lp-tier-feature{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;color:var(--ink-2)}.lp-tier-check{color:var(--sage);font-weight:700;flex-shrink:0}.lp-tier-cta{width:100%;justify-content:center;padding:10px 18px;font-size:13px}.lp-pricing-trust{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--hairline);color:var(--ink-3);font-size:13px}.lp-trust-item{display:inline-flex;align-items:center}.lp-pricing-vat{text-align:center;font-size:12px;color:var(--ink-4);margin:12px 0 0}.lp-final-cta{background:radial-gradient(ellipse 60% 80% at 50% 50%,color-mix(in oklab,var(--cobalt) 18%,transparent),transparent),var(--rail-bg);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:96px 0}.lp-final-cta-inner{text-align:center}.lp-final-cta-title{font-size:36px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}.lp-final-cta-sub{font-size:17px;color:var(--ink-2);margin:0 0 28px}.lp-final-cta-btn{padding:14px 32px;font-size:15px}.lp-footer{background:color-mix(in oklab,var(--rail-bg) 60%,black);border-top:1px solid var(--hairline);padding:36px 0}.lp-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.lp-footer-brand{display:flex;align-items:center;gap:12px}.lp-footer-tagline{font-size:13px;color:var(--ink-3)}.lp-footer-links{display:flex;gap:20px;margin:0 auto}.lp-footer-link{font-size:13px;color:var(--ink-3);text-decoration:none;transition:color .12s}.lp-footer-link:hover{color:var(--ink)}.lp-footer-meta{text-align:right;font-size:11px;color:var(--ink-4)}.lp-footer-vat,.lp-footer-copyright{margin:0;line-height:1.5}.lp-footer-trademarks{margin:6px 0 0;line-height:1.5;font-size:10px;color:var(--ink-4);max-width:420px}@media(max-width:960px){.lp-section{padding:56px 0}.lp-section-inner{padding:0 20px}.lp-header-inner{padding:12px 20px;gap:16px}.lp-nav{display:none}.lp-section-title{font-size:26px}.lp-hero{padding:56px 0 64px}.lp-hero-inner{grid-template-columns:1fr;gap:36px;padding:0 20px}.lp-hero-title{font-size:36px}.lp-hero-subtitle{font-size:16px}.lp-phone{width:220px;height:440px}.lp-feature-grid,.lp-workflow-steps,.lp-pricing-grid{grid-template-columns:1fr}.lp-anywhere-grid{grid-template-columns:1fr 1fr}.lp-demo-chat{padding:18px}.lp-punchline{font-size:18px}.lp-final-cta{padding:64px 0}.lp-final-cta-title{font-size:28px}.lp-footer-inner{flex-direction:column;align-items:flex-start}.lp-footer-links{margin:0}.lp-footer-meta{text-align:left}}@media(max-width:1180px)and (min-width:961px){.lp-pricing-grid{grid-template-columns:repeat(3,1fr)}.lp-feature-grid,.lp-anywhere-grid{grid-template-columns:repeat(2,1fr)}.lp-byoa-grid,.lp-pains-grid{grid-template-columns:repeat(3,1fr)}.lp-stack-grid{grid-template-columns:repeat(2,1fr)}}.lp-byoa{background:var(--sb-bg)}.lp-byoa-lead{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 20px;max-width:760px}.lp-byoa-clients{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.lp-byoa-client-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:color-mix(in oklab,var(--cobalt) 8%,var(--card-bg));border:1px solid color-mix(in oklab,var(--cobalt) 25%,var(--hairline));color:var(--cobalt-ink);font-size:13px;font-weight:600;letter-spacing:.01em}.lp-byoa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lp-byoa-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:22px;transition:transform .18s,border-color .18s}.lp-byoa-card:hover{border-color:color-mix(in oklab,var(--cobalt) 30%,var(--hairline));transform:translateY(-2px)}.lp-byoa-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-3);background:var(--cobalt-soft);color:var(--cobalt-ink);margin-bottom:14px}.lp-byoa-card-title{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 6px}.lp-byoa-card-text{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:0}.lp-pains{background:var(--rail-bg)}.lp-pains-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 32px;max-width:760px}.lp-pains-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lp-pains-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:26px 24px;transition:transform .18s,border-color .18s}.lp-pains-card:hover{border-color:color-mix(in oklab,var(--cobalt) 35%,var(--hairline));transform:translateY(-2px)}.lp-pains-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:var(--r-3);background:color-mix(in oklab,var(--cobalt) 12%,var(--card-bg));color:var(--cobalt-ink);margin-bottom:16px;border:1px solid color-mix(in oklab,var(--cobalt) 25%,transparent)}.lp-pains-card-title{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 8px}.lp-pains-card-text{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0}.lp-stack{background:var(--sb-bg)}.lp-stack-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 32px;max-width:760px}.lp-stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lp-stack-card{background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-3);padding:22px;transition:transform .18s,border-color .18s}.lp-stack-card:hover{border-color:color-mix(in oklab,var(--cobalt) 30%,var(--hairline));transform:translateY(-2px)}.lp-stack-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-3);background:var(--cobalt-soft);color:var(--cobalt-ink);margin-bottom:14px}.lp-stack-card-title{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 6px}.lp-stack-card-text{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:0}.lp-workflow-subtitle,.lp-features-subtitle{font-size:16px;line-height:1.55;color:var(--ink-2);margin:0 0 28px;max-width:760px}@media(max-width:960px){.lp-byoa-grid,.lp-pains-grid,.lp-stack-grid{grid-template-columns:1fr}}.passkey-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at top,#0f2044d9,#0a1628eb 60%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:passkey-overlay-fade .2s ease}@keyframes passkey-overlay-fade{0%{opacity:0}to{opacity:1}}.passkey-prompt-card{position:relative;background:var(--sb-bg);border:1px solid var(--hairline-strong);border-radius:18px;padding:36px 32px;width:100%;max-width:440px;box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;gap:18px;animation:passkey-card-pop .25s cubic-bezier(.16,1,.3,1)}@keyframes passkey-card-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.passkey-prompt-card__close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--ink-4);padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.passkey-prompt-card__close:hover{background:#ffffff0f;color:var(--ink-2)}.passkey-prompt-card__header{text-align:center;margin-bottom:4px}.passkey-prompt-card__header-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,var(--cobalt) 0%,#1d4ed8 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2563eb59}.passkey-prompt-card__header-icon--success{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 8px 24px #22c55e59}.passkey-prompt-card__title{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 4px;line-height:1.2}.passkey-prompt-card__subtitle{font-size:13px;color:var(--ink-3);margin:0}.passkey-prompt-card__body{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0}.passkey-prompt-card__field{display:flex;flex-direction:column;gap:6px}.passkey-prompt-card__label{font-size:12px;font-weight:600;color:var(--ink-3)}.passkey-prompt-card__input{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;padding:10px 14px;font-size:14px;color:var(--ink);font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.passkey-prompt-card__input:focus{border-color:var(--cobalt);box-shadow:0 0 0 2px var(--cobalt-soft)}.passkey-prompt-card__input::placeholder{color:var(--ink-4)}.passkey-prompt-card input:-webkit-autofill,.passkey-prompt-card input:-webkit-autofill:hover,.passkey-prompt-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--ink);transition:background-color 9999s ease-in-out 0s}.passkey-prompt-card__error{font-size:13px;color:var(--rose, #f87171);margin:0;background:#f8717114;border:1px solid rgba(248,113,113,.2);border-radius:8px;padding:10px 12px}.passkey-prompt-card__actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.passkey-prompt-card__btn{display:flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:8px;font-size:14px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:none;transition:background .15s,color .15s}.passkey-prompt-card__btn:disabled{opacity:.5;cursor:not-allowed}.passkey-prompt-card__btn--primary{background:var(--cobalt);color:#fff}.passkey-prompt-card__btn--primary:hover:not(:disabled){background:#1d4ed8}.passkey-prompt-card__btn--secondary{background:#ffffff0f;color:var(--ink);border:1px solid var(--hairline-strong)}.passkey-prompt-card__btn--secondary:hover:not(:disabled){background:#ffffff1a}.passkey-prompt-card__link{background:none;border:none;color:var(--ink-4);font-size:12px;font-family:var(--font-sans);cursor:pointer;padding:4px 0;text-align:center;transition:color .15s}.passkey-prompt-card__link:hover{color:var(--ink-2);text-decoration:underline}.task-chat{margin-top:8px;border-top:1px solid var(--hairline)}.task-chat-toggle{display:flex;align-items:center;gap:8px;padding:12px 0 8px;background:none;border:none;cursor:pointer;color:var(--ink-3);font-size:12px;font-family:var(--font-ui);letter-spacing:-.01em;width:100%;text-align:left;transition:color .12s}.task-chat-toggle:hover{color:var(--ink-2)}.task-chat-toggle svg{flex-shrink:0}.chat-count-badge{padding:1px 6px;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--r-pill);font-size:11px;font-weight:600;font-family:var(--font-mono)}.chat-chevron{margin-left:auto;transition:transform .15s ease}.chat-chevron--open{transform:rotate(180deg)}.task-chat-body{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:var(--r-3);background:color-mix(in oklch,var(--bg) 60%,var(--surface));overflow:hidden;margin-bottom:4px}.task-chat--expanded{flex:1;display:flex;flex-direction:column;overflow:hidden;margin:0;border:none}.task-chat-body--expanded{flex:1;border:none;border-radius:0;margin:0;background:var(--surface)}.task-chat-body--expanded .chat-messages{flex:1;max-height:none;padding:16px 20px 8px}.task-chat-body--expanded .chat-input-wrap{padding:12px 20px}.chat-error{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;background:color-mix(in oklch,var(--rose) 10%,var(--surface));color:var(--rose);border-bottom:1px solid var(--hairline)}.chat-error button{background:none;border:none;cursor:pointer;color:var(--rose);font-size:14px;padding:0 0 0 8px}.chat-messages{padding:12px 12px 8px;display:flex;flex-direction:column;gap:2px;max-height:380px;overflow-y:auto;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:2px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;gap:4px}.chat-msg{display:flex;align-items:flex-end;gap:6px;position:relative;margin-bottom:2px}.chat-msg--grouped{margin-bottom:1px}.chat-msg--mine{flex-direction:row-reverse}.chat-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;letter-spacing:-.02em}.chat-avatar-placeholder{width:28px;height:28px;flex-shrink:0}.chat-bubble-col{display:flex;flex-direction:column;gap:2px;max-width:min(72%,420px)}.chat-meta{display:flex;align-items:center;gap:6px;padding:0 4px}.chat-meta--mine{flex-direction:row-reverse}.chat-sender{font-size:11px;font-weight:600;color:var(--ink-3)}.chat-time{font-size:10px;color:var(--ink-4);font-family:var(--font-mono)}.chat-edited{font-size:10px;color:var(--ink-4);font-style:italic}.chat-bubble{padding:8px 11px;border-radius:14px;font-size:13px;line-height:1.5;word-break:break-word}.chat-bubble--mine{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-bubble--theirs{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-bottom-left-radius:4px}html[data-theme=dark] .chat-bubble--theirs{background:var(--surface-2)}.chat-bubble--deleted{background:transparent!important;border-style:dashed;opacity:.6}.chat-deleted-text{font-size:12px;color:var(--ink-4);font-style:italic}.chat-text .mention{display:inline-block;padding:0 5px;border-radius:4px;font-weight:600;font-size:12px;background:#fff3;color:inherit}.chat-bubble--theirs .mention{background:var(--accent-soft);color:var(--accent-ink)}.chat-msg:not(.chat-msg--grouped){margin-top:8px}.chat-actions{display:flex;gap:3px;align-items:center;position:absolute;top:-2px;right:40px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:2px 4px;box-shadow:var(--shadow-1);z-index:2}.chat-actions--mine{right:auto;left:40px}.chat-action-btn{background:none;border:none;cursor:pointer;padding:3px 4px;border-radius:4px;color:var(--ink-3);display:flex;align-items:center;transition:color .1s,background .1s}.chat-action-btn:hover{color:var(--ink);background:var(--surface-2)}.chat-action-btn--danger:hover{color:var(--rose)}.chat-edit-wrap{display:flex;flex-direction:column;gap:6px}.chat-edit-input{background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:6px 8px;font-size:13px;font-family:var(--font-ui);color:inherit;resize:none;outline:none;min-width:180px}.chat-bubble--theirs .chat-edit-input{background:var(--surface-2);border-color:var(--hairline);color:var(--ink)}.chat-edit-actions{display:flex;gap:6px}.btn-xs{padding:3px 8px;font-size:11px;border-radius:5px;border:1px solid var(--hairline);background:var(--surface);color:var(--ink-2);cursor:pointer;font-family:var(--font-ui);transition:background .1s,color .1s}.btn-xs:hover{background:var(--surface-2);color:var(--ink)}.btn-xs--primary{background:var(--accent);color:#fff;border-color:transparent}.btn-xs--primary:hover{background:var(--accent-ink)}.chat-reactions{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:2px 4px 0}.reaction-chip{display:flex;align-items:center;gap:3px;padding:2px 7px;border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface);font-size:12px;cursor:pointer;transition:background .1s,border-color .1s;line-height:1.4}.reaction-chip:hover{border-color:var(--hairline-strong)}.reaction-chip--active{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 40%,transparent)}.reaction-count{font-size:11px;font-family:var(--font-mono);color:var(--ink-3)}.reaction-add-wrap{position:relative}.reaction-add-btn{padding:3px 6px;border-radius:var(--r-pill);border:1px solid var(--hairline);background:none;color:var(--ink-4);cursor:pointer;display:flex;align-items:center;transition:color .1s,border-color .1s,background .1s}.reaction-add-btn:hover{color:var(--ink-2);border-color:var(--hairline-strong);background:var(--surface-2)}.emoji-picker-mini{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-3);padding:6px 8px;display:flex;gap:4px;box-shadow:var(--shadow-2);z-index:20;white-space:nowrap}.emoji-picker-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:2px 4px;border-radius:6px;transition:background .1s;line-height:1}.emoji-picker-btn:hover{background:var(--surface-2)}.chat-input-wrap{position:relative;display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--hairline);background:var(--surface)}.mention-dropdown{position:absolute;bottom:calc(100% + 2px);left:12px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-3);min-width:200px;max-width:300px;box-shadow:var(--shadow-2);z-index:30;overflow:hidden;max-height:220px;overflow-y:auto}.mention-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--ink);text-align:left;font-family:var(--font-ui);transition:background .1s}.mention-option:hover,.mention-option--active{background:var(--surface-2)}.chat-textarea{flex:1;padding:8px 11px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;font-size:13px;font-family:var(--font-ui);color:var(--ink);line-height:1.45;outline:none;transition:border-color .15s;max-height:120px}.chat-textarea:focus{border-color:var(--accent)}.chat-textarea::placeholder{color:var(--ink-4)}.chat-textarea:disabled{opacity:.5}.chat-send-btn{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:background .12s,transform .1s}.chat-send-btn:hover:not(:disabled){background:var(--accent-ink)}.chat-send-btn:active:not(:disabled){transform:scale(.93)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.comment-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:60vw;height:80vh;min-width:400px;max-width:900px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-4);box-shadow:var(--shadow-3);display:flex;flex-direction:column;overflow:hidden;animation:panel-slide-up .18s ease}.comment-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--hairline);flex-shrink:0}@keyframes panel-slide-up{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
