@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ws-bg:#0e1014;--ws-surface:#141519;--ws-surface-2:#1a1c22;--ws-surface-3:#20222a;--ws-border:#272a34;--ws-border-soft:#1e2028;--ws-text:#c2c5d1;--ws-text-dim:#52566a;--ws-text-mid:#8b8fa8;--ws-text-bright:#e8ebf5;--ws-accent:#00d4b4;--ws-accent-dim:#00d4b41a;--ws-accent-glow:#00d4b438;--ws-accent-text:#00b89c;--ws-purple:#9d6bff;--ws-purple-dim:#9d6bff1f;--ws-purple-glow:#9d6bff4d;--ws-green:#22d47a;--ws-green-dim:#22d47a1c;--ws-amber:#f0a020;--ws-amber-dim:#f0a0201f;--ws-red:#f04f4a;--ws-red-dim:#f04f4a1a;--ws-handle:#272a34;--ws-handle-hover:#00d4b4;--ws-elev-1:0 1px 2px #0000004d;--ws-elev-2:0 6px 20px #00000059;--ws-elev-3:0 16px 48px #00000073;--ws-atmo-1:radial-gradient(120% 90% at 12% -8%, #00d4b41a, transparent 46%);--ws-atmo-2:radial-gradient(90% 80% at 108% 112%, #9d6bff1a, transparent 50%);--ws-grid-line:#ffffff06;--ws-glow-accent:0 0 24px var(--ws-accent-glow);--ws-focus-ring:0 0 0 2px var(--ws-bg), 0 0 0 4px var(--ws-accent);--ws-radius:6px;--ws-radius-sm:4px;--ws-radius-lg:10px;--ws-display:"Fraunces", "Georgia", serif;--ws-sans:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--ws-mono:"JetBrains Mono", "Fira Code", ui-monospace, Consolas, monospace;--ws-text-xs:10px;--ws-text-sm:11px;--ws-text-base:13px;--ws-text-md:14px;--ws-text-lg:16px;--ws-text-mono:12px;--ws-header-h:44px;--ws-panel-header-h:38px;--ws-ease:cubic-bezier(.4, 0, .2, 1);--ws-ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--ws-bg:#f1f3f7;--ws-surface:#fff;--ws-surface-2:#f6f7fb;--ws-surface-3:#eef0f6;--ws-border:#dde0ea;--ws-border-soft:#e8eaf2;--ws-text:#3d4158;--ws-text-dim:#9799b0;--ws-text-mid:#6b6e88;--ws-text-bright:#0f1020;--ws-accent:#009d87;--ws-accent-dim:#009d8714;--ws-accent-glow:#009d872e;--ws-accent-text:#007a69;--ws-purple:#7c4ddd;--ws-purple-dim:#7c4ddd1a;--ws-purple-glow:#7c4ddd47;--ws-green:#18b866;--ws-green-dim:#18b8661a;--ws-amber:#d08010;--ws-amber-dim:#d080101f;--ws-red:#e03a35;--ws-red-dim:#e03a3517;--ws-handle:#d0d3e0;--ws-handle-hover:#009d87;--ws-elev-1:0 1px 2px #0f10200f;--ws-elev-2:0 6px 20px #0f10201a;--ws-elev-3:0 16px 48px #0f102029;--ws-atmo-1:radial-gradient(120% 90% at 12% -8%, #009d8717, transparent 46%);--ws-atmo-2:radial-gradient(90% 80% at 108% 112%, #7c4ddd12, transparent 50%);--ws-grid-line:#0f102006;--ws-glow-accent:0 0 24px var(--ws-accent-glow);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--ws-bg:#f1f3f7;--ws-surface:#fff;--ws-surface-2:#f6f7fb;--ws-surface-3:#eef0f6;--ws-border:#dde0ea;--ws-border-soft:#e8eaf2;--ws-text:#3d4158;--ws-text-dim:#9799b0;--ws-text-mid:#6b6e88;--ws-text-bright:#0f1020;--ws-accent:#009d87;--ws-accent-dim:#009d8714;--ws-accent-glow:#009d872e;--ws-accent-text:#007a69;--ws-purple:#7c4ddd;--ws-purple-dim:#7c4ddd1a;--ws-green:#18b866;--ws-green-dim:#18b8661a;--ws-amber:#d08010;--ws-amber-dim:#d080101f;--ws-red:#e03a35;--ws-red-dim:#e03a3517;--ws-handle:#d0d3e0;--ws-handle-hover:#009d87;--ws-elev-1:0 1px 2px #0f10200f;--ws-elev-2:0 6px 20px #0f10201a;--ws-elev-3:0 16px 48px #0f102029;--ws-atmo-1:radial-gradient(120% 90% at 12% -8%, #009d8717, transparent 46%);--ws-atmo-2:radial-gradient(90% 80% at 108% 112%, #7c4ddd12, transparent 50%);--ws-grid-line:#0f102006;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}html,body{margin:0;padding:0}#root{width:100%;height:100svh;margin:0;overflow:hidden}body{font:var(--ws-text-base)/1.55 var(--ws-sans);letter-spacing:.1px;color:var(--ws-text);background:var(--ws-bg)}*,:before,:after{box-sizing:border-box}h1,h2,h3{font-family:var(--ws-display);color:var(--ws-text-bright);letter-spacing:-.01em;margin:0;font-weight:600}:focus{outline:none}:focus-visible{box-shadow:var(--ws-focus-ring);border-radius:var(--ws-radius-sm);outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{box-shadow:var(--ws-focus-ring)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.ws-atmosphere{isolation:isolate;position:relative}.ws-atmosphere:before,.ws-atmosphere:after{content:"";pointer-events:none;z-index:-1;position:absolute;inset:0}.ws-atmosphere:before{background:var(--ws-atmo-1), var(--ws-atmo-2), linear-gradient(var(--ws-grid-line) 1px, transparent 1px) 0 0 / 100% 44px, linear-gradient(90deg, var(--ws-grid-line) 1px, transparent 1px) 0 0 / 44px 100%}.ws-atmosphere:after{opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.ws-enter{animation:ws-enter .55s var(--ws-ease-out) both}@keyframes ws-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.ws-stagger>*{animation-delay:calc(var(--i,0) * 55ms)}.ws-swipe{position:relative}.ws-swipe:after{content:"";background:linear-gradient(90deg, var(--ws-accent), transparent);transform-origin:0;width:100%;height:2px;animation:ws-swipe .7s var(--ws-ease-out) .15s both;position:absolute;bottom:-6px;left:0;transform:scaleX(0)}@keyframes ws-swipe{to{transform:scaleX(1)}}.ws-scroll::-webkit-scrollbar{width:6px;height:6px}.ws-panel-body::-webkit-scrollbar{width:6px;height:6px}.ws-drawer-body::-webkit-scrollbar{width:6px;height:6px}.ws-scroll::-webkit-scrollbar-track{background:0 0}.ws-panel-body::-webkit-scrollbar-track{background:0 0}.ws-drawer-body::-webkit-scrollbar-track{background:0 0}.ws-scroll::-webkit-scrollbar-thumb{background:var(--ws-border);border-radius:99px}.ws-panel-body::-webkit-scrollbar-thumb{background:var(--ws-border);border-radius:99px}.ws-drawer-body::-webkit-scrollbar-thumb{background:var(--ws-border);border-radius:99px}.ws-scroll::-webkit-scrollbar-thumb:hover{background:var(--ws-text-dim)}.ws-panel-body::-webkit-scrollbar-thumb:hover{background:var(--ws-text-dim)}.ws-btn{border-radius:var(--ws-radius-sm);font-size:var(--ws-text-sm);font-family:var(--ws-sans);cursor:pointer;white-space:nowrap;color:var(--ws-text);transition:background .15s var(--ws-ease), border-color .15s var(--ws-ease), color .15s var(--ws-ease), transform 80ms var(--ws-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-weight:500;display:inline-flex}.ws-btn:active{transform:translateY(.5px)}.ws-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ws-btn-ghost{color:var(--ws-text-dim);border-color:var(--ws-border);background:0 0}.ws-btn-ghost:hover:not(:disabled){background:var(--ws-surface-2);color:var(--ws-text-bright);border-color:var(--ws-border)}.ws-btn-primary{background:var(--ws-accent);color:#04120f;border-color:var(--ws-accent);font-weight:600}.ws-btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 0 3px var(--ws-accent-dim)}.ws-btn--full{width:100%}.ws-btn--xs{font-size:var(--ws-text-xs);padding:3px 8px}.ws-badge{font-size:var(--ws-text-xs);letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;border-radius:99px;align-items:center;gap:3px;padding:1px 7px;font-weight:600;line-height:1.7;display:inline-flex}.ws-badge--purple{background:var(--ws-purple-dim);color:var(--ws-purple);border-color:color-mix(in srgb, var(--ws-purple) 25%, transparent)}.ws-badge--green{background:var(--ws-green-dim);color:var(--ws-green);border-color:color-mix(in srgb, var(--ws-green) 22%, transparent)}.ws-badge--amber{background:var(--ws-amber-dim);color:var(--ws-amber);border-color:color-mix(in srgb, var(--ws-amber) 25%, transparent)}.ws-badge--red{background:var(--ws-red-dim);color:var(--ws-red);border-color:color-mix(in srgb, var(--ws-red) 25%, transparent)}.ws-badge--teal{background:var(--ws-accent-dim);color:var(--ws-accent-text);border-color:var(--ws-accent-glow)}.ws-badge--dim{background:var(--ws-surface-3);color:var(--ws-text-mid);border-color:var(--ws-border)}.ws-badge--clickable{cursor:pointer;font-family:var(--ws-sans);transition:filter .15s var(--ws-ease)}.ws-badge--clickable:hover{filter:brightness(1.18)}.ws-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ws-alert{font-size:var(--ws-text-xs);border-radius:var(--ws-radius-sm);align-items:flex-start;gap:6px;padding:7px 10px;line-height:1.5;display:flex}.ws-alert--error{background:var(--ws-red-dim);color:var(--ws-red);border:1px solid color-mix(in srgb, var(--ws-red) 28%, transparent)}.ws-alert--warn{background:var(--ws-amber-dim);color:var(--ws-amber);border:1px solid color-mix(in srgb, var(--ws-amber) 30%, transparent)}.ws-alert--muted{color:var(--ws-text-dim)}.ws-alert--info{background:var(--ws-surface-2);color:var(--ws-text);border:1px solid var(--ws-border)}.ws-skeleton{border-radius:var(--ws-radius-sm);background:linear-gradient(90deg, var(--ws-surface-2) 25%, var(--ws-surface-3) 50%, var(--ws-surface-2) 75%);animation:ws-shimmer 1.3s var(--ws-ease) infinite;background-size:200% 100%}@keyframes ws-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ws-reveal{animation:ws-rise .4s var(--ws-ease-out) both}@keyframes ws-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ws-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ws-field{flex-direction:column;margin-bottom:16px;display:flex}.ws-label{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-mid);margin-bottom:6px;font-weight:600}.ws-input{box-sizing:border-box;background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius);width:100%;font-size:var(--ws-text-md);font-family:var(--ws-sans);color:var(--ws-text-bright);transition:border-color .15s var(--ws-ease), box-shadow .15s var(--ws-ease);outline:none;padding:10px 12px}.ws-input::placeholder{color:var(--ws-text-dim)}.ws-input:focus{border-color:var(--ws-accent);box-shadow:0 0 0 3px var(--ws-accent-dim)}.ws-input--error{border-color:var(--ws-red)}.ws-input--error:focus{box-shadow:0 0 0 3px var(--ws-red-dim)}.ws-field-err{font-size:var(--ws-text-xs);color:var(--ws-red);margin-top:5px}.ws-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ws-fade .16s var(--ws-ease) both;background:#04060c9e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ws-modal{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-lg);box-shadow:var(--ws-elev-3);width:100%;max-width:480px;max-height:min(88vh,720px);animation:ws-pop .18s var(--ws-ease-out) both;flex-direction:column;display:flex;overflow:hidden}.ws-modal--wide{max-width:560px}.ws-modal-head{border-bottom:1px solid var(--ws-border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.ws-modal-title{font-family:var(--ws-display);font-size:var(--ws-text-lg);color:var(--ws-text-bright);font-weight:600}.ws-modal-close{cursor:pointer;color:var(--ws-text-dim);border-radius:var(--ws-radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:16px;line-height:1;transition:color .15s,background .15s}.ws-modal-close:hover{color:var(--ws-text-bright);background:var(--ws-surface-2)}.ws-modal-body{padding:22px;overflow-y:auto}.ws-modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@keyframes ws-fade{0%{opacity:0}to{opacity:1}}@keyframes ws-pop{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}@media (width<=640px){.ws-modal-overlay{align-items:flex-end;padding:0}.ws-modal{border-radius:var(--ws-radius-lg) var(--ws-radius-lg) 0 0;width:100%;max-width:none;max-height:92vh;animation:ws-sheet-up .24s var(--ws-ease-out) both}.ws-modal-head{padding:16px 18px}.ws-modal-body{padding:18px}.ws-drawer-row{flex-direction:column}}@keyframes ws-sheet-up{0%{transform:translateY(100%)}to{transform:none}}.ws-role-error{border-color:var(--ws-red);color:var(--ws-red)}.role-list{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.role-row{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-md);background:var(--ws-surface-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.role-main{flex-direction:column;gap:2px;min-width:0;display:flex}.role-name{color:var(--ws-text-bright);font-weight:600;font-size:var(--ws-text-sm)}.role-key{color:var(--ws-text-dim);font-size:var(--ws-text-xs);font-family:var(--ws-mono,monospace)}.role-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.role-badge{font-size:var(--ws-text-xs);white-space:nowrap;border-radius:999px;padding:2px 8px}.role-badge--ok{color:var(--ws-accent);background:var(--ws-accent-dim)}.role-badge--warn{color:var(--ws-red);background:var(--ws-red-dim)}.ws-role-danger:hover:not(:disabled){color:var(--ws-red);border-color:var(--ws-red)}.ws-role-check{flex-direction:row;align-items:center;gap:8px}.ws-cred-hint{color:var(--ws-text-dim);font-size:var(--ws-text-xs);margin-top:4px;display:block}.ws-role-chips{flex-wrap:wrap;gap:6px;margin:-6px 0 4px;display:flex}h1{letter-spacing:-.02em;margin:24px 0;font-size:44px;line-height:1.05}@media (width<=1024px){h1{margin:18px 0;font-size:32px}}h2{letter-spacing:-.015em;margin:0 0 8px;font-size:22px;line-height:1.15}@media (width<=1024px){h2{font-size:19px}}p{margin:0}a{color:var(--ws-accent-text)}code{font-family:var(--ws-mono);font-size:var(--ws-text-mono);color:var(--ws-text-bright);background:var(--ws-surface-3);border-radius:var(--ws-radius-sm);padding:2px 6px}.auth-shell{background:var(--ws-bg);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-card{z-index:1;background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-lg);width:100%;max-width:420px;box-shadow:var(--ws-elev-3);animation:auth-card-in .55s var(--ws-ease-out) both;padding:40px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--ws-accent), transparent 60%);height:2px;position:absolute;top:0;left:0;right:0}@keyframes auth-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-logo{align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-logo-mark{color:var(--ws-accent);filter:drop-shadow(0 0 10px var(--ws-accent-glow));font-size:22px}.auth-eyebrow{font-family:var(--ws-mono);font-size:var(--ws-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ws-accent-text);align-items:center;gap:6px;margin-bottom:10px;display:inline-flex}.auth-eyebrow:before{content:"";background:var(--ws-accent);opacity:.7;width:18px;height:1px}.auth-logo-text{color:var(--ws-text-bright);letter-spacing:-.3px;font-size:18px;font-weight:700}.auth-logo-text span{color:var(--ws-accent)}.auth-title{font-family:var(--ws-display);color:var(--ws-text-bright);letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.05}.auth-sub{color:var(--ws-text-dim);margin:0 0 28px;font-size:13px;line-height:1.5}.auth-field{margin-bottom:16px}.auth-label{color:var(--ws-text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-input{box-sizing:border-box;background:var(--ws-bg);border:1px solid var(--ws-border);width:100%;color:var(--ws-text-bright);border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.auth-input:focus{border-color:var(--ws-accent);box-shadow:0 0 0 3px var(--ws-accent-dim)}.auth-input::placeholder{color:var(--ws-text-dim)}.auth-input.error{border-color:var(--ws-red)}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input--pwd{padding-right:40px}.auth-eye{cursor:pointer;color:var(--ws-text-dim);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;line-height:1;transition:color .15s;display:flex;position:absolute;right:10px}.auth-eye:hover{color:var(--ws-text-bright)}.auth-err{color:var(--ws-red);margin-top:4px;font-size:12px}.auth-submit{background:var(--ws-accent);color:#04120f;cursor:pointer;width:100%;box-shadow:var(--ws-glow-accent);border:none;border-radius:6px;margin-top:8px;padding:11px;font-size:14px;font-weight:600;transition:filter .15s,box-shadow .15s,opacity .15s}.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auth-footer{text-align:center;color:var(--ws-text-dim);margin-top:20px;font-size:13px}.auth-link{color:var(--ws-accent);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-alert{border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.5}.auth-alert.info{color:#00d4b4;background:#00d4b414;border:1px solid #00d4b44d}.auth-alert.danger{color:#f04f4a;background:#f04f4a14;border:1px solid #f04f4a4d}.auth-divider{border:none;border-top:1px solid var(--ws-border);margin:24px 0}@media (width<=640px){.auth-shell{align-items:flex-start;padding:8vh 16px 16px}.auth-card{padding:28px 22px}}.proj-shell{background:var(--ws-bg);min-height:100svh;color:var(--ws-text-bright);flex-direction:column;display:flex;overflow-x:hidden}.proj-header{border-bottom:1px solid var(--ws-border);background:var(--ws-surface);flex-shrink:0;align-items:center;gap:16px;height:56px;padding:0 32px;display:flex;position:relative}.proj-header:before{content:"";background:linear-gradient(90deg, var(--ws-accent), transparent 55%);opacity:.6;height:2px;position:absolute;inset:0 0 auto}.proj-logo{align-items:center;gap:8px;display:flex}.proj-logo-mark{color:var(--ws-accent);font-size:18px}.proj-logo-text{font-family:var(--ws-display);color:var(--ws-text-bright);letter-spacing:-.2px;font-size:15px;font-weight:700}.proj-logo-text span{color:var(--ws-accent)}.proj-header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.proj-user-chip{color:var(--ws-text-dim);font-size:12px}.proj-logout-btn,.proj-invite-btn{cursor:pointer;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.proj-logout-btn{border:1px solid var(--ws-border);color:var(--ws-text-dim);background:0 0}.proj-logout-btn:hover{color:var(--ws-text-bright)}.proj-invite-btn{background:var(--ws-accent);color:#fff;border:none}.proj-invite-btn:hover{opacity:.88}.proj-back-btn{color:var(--ws-text-dim);cursor:pointer;background:0 0;border:none;padding:4px 8px 4px 0;font-family:inherit;font-size:13px}.proj-back-btn:hover{color:var(--ws-text-bright)}.proj-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:56px 32px 64px}.proj-top-row{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:40px;display:flex}.proj-eyebrow{font-family:var(--ws-mono);font-size:var(--ws-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ws-accent-text);align-items:center;gap:6px;margin-bottom:12px;display:inline-flex}.proj-eyebrow:before{content:"";background:var(--ws-accent);opacity:.7;width:18px;height:1px}.proj-heading{font-family:var(--ws-display);color:var(--ws-text-bright);letter-spacing:-.02em;margin:0 0 6px;font-size:40px;font-weight:600;line-height:1.02}@media (width<=640px){.proj-heading{font-size:30px}}.proj-sub{font-size:var(--ws-text-md);color:var(--ws-text-mid);margin:0}.proj-desc{color:var(--ws-text);max-width:60ch;margin:8px 0 0;font-size:14px;line-height:1.55}.proj-new-btn{background:var(--ws-accent);color:#04120f;border-radius:var(--ws-radius);font-size:var(--ws-text-md);cursor:pointer;white-space:nowrap;box-shadow:var(--ws-glow-accent);transition:filter .15s var(--ws-ease), box-shadow .15s var(--ws-ease), transform 80ms var(--ws-ease);border:none;flex-shrink:0;align-items:center;gap:7px;padding:11px 20px;font-family:inherit;font-weight:600;display:inline-flex}.proj-new-btn:hover{filter:brightness(1.08);box-shadow:0 0 32px var(--ws-accent-glow)}.proj-new-btn:active{transform:translateY(1px)}.proj-section-label{font-family:var(--ws-mono);font-size:var(--ws-text-xs);color:var(--ws-text-mid);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-weight:600;display:inline-block}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:16px;display:grid}.proj-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-lg);text-align:left;cursor:pointer;box-shadow:var(--ws-elev-1);transition:border-color .18s var(--ws-ease), transform .14s var(--ws-ease), box-shadow .18s var(--ws-ease);flex-direction:column;gap:6px;padding:22px;font-family:inherit;display:flex;position:relative;overflow:hidden}.proj-card:before{content:"";background:var(--ws-accent);transform-origin:top;width:3px;transition:transform .22s var(--ws-ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.proj-card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(80% 60% at 100% 0%, var(--ws-accent-dim), transparent 70%);transition:opacity .22s var(--ws-ease);position:absolute;inset:0}.proj-card:hover{border-color:var(--ws-accent);box-shadow:var(--ws-elev-2), var(--ws-glow-accent);transform:translateY(-3px)}.proj-card:hover:before{transform:scaleY(1)}.proj-card:hover:after{opacity:1}.proj-card-icon{border-radius:var(--ws-radius);background:var(--ws-accent-dim);border:1px solid var(--ws-accent-glow);width:38px;height:38px;color:var(--ws-accent-text);justify-content:center;align-items:center;margin-bottom:10px;font-size:18px;display:inline-flex}.proj-card-name{font-family:var(--ws-display);color:var(--ws-text-bright);letter-spacing:-.01em;font-size:17px;font-weight:600}.proj-card-url{font-family:var(--ws-mono);font-size:var(--ws-text-sm);color:var(--ws-text-dim);word-break:break-all;margin-top:2px}.proj-card-arrow{font-size:var(--ws-text-sm);color:var(--ws-accent-text);transition:gap .18s var(--ws-ease);align-items:center;gap:5px;margin-top:auto;padding-top:12px;font-weight:500;display:inline-flex}.proj-card:hover .proj-card-arrow{gap:9px}.proj-card-body{cursor:pointer;flex-direction:column;flex:auto;gap:6px;display:flex}.proj-card-desc{color:var(--ws-text-dim);font-size:12px;line-height:1.4}.proj-assign-btn{border:1px solid var(--ws-border);color:var(--ws-text-bright);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:6px 12px;font-size:12px;transition:border-color .15s}.proj-assign-btn:hover{border-color:var(--ws-accent)}.proj-empty{color:var(--ws-text-dim);text-align:center;padding:40px 0;font-size:14px}.proj-error{color:var(--ws-red);background:var(--ws-red-dim);border:1px solid color-mix(in srgb, var(--ws-red) 30%, transparent);border-radius:8px;margin-bottom:24px;padding:16px;font-size:14px}.proj-modal-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.proj-modal{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:12px;width:100%;max-width:480px;padding:32px}.proj-modal-title{color:var(--ws-text-bright);margin:0 0 20px;font-size:18px;font-weight:700}.proj-modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.proj-cancel-btn{border:1px solid var(--ws-border);color:var(--ws-text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:9px 18px;font-family:inherit;font-size:13px}.proj-cancel-btn:hover{color:var(--ws-text-bright)}.proj-save-btn{background:var(--ws-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600}.proj-save-btn:hover:not(:disabled){opacity:.88}.proj-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.proj-header{gap:10px;height:52px;padding:0 16px}.proj-header-right{gap:8px}.proj-user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.proj-main{padding:32px 18px 48px}.proj-top-row{flex-direction:column;align-items:stretch;gap:18px}.proj-new-btn{align-self:flex-start}.proj-grid{grid-template-columns:1fr}.proj-modal-overlay{align-items:flex-end;padding:0}.proj-modal{border-radius:12px 12px 0 0;max-width:none;padding:24px 20px}}:root{--v-pass:var(--ws-green);--v-pass-dim:var(--ws-green-dim);--v-fail:var(--ws-red);--v-fail-dim:var(--ws-red-dim);--v-blocked:var(--ws-amber);--v-blocked-dim:var(--ws-amber-dim);--v-inconclusive:var(--ws-purple);--v-inconclusive-dim:var(--ws-purple-dim);--v-running:var(--ws-accent)}.ws-exec{background:var(--ws-bg);flex-direction:column;height:100%;min-height:0;display:flex}.ws-exec-head{height:var(--ws-panel-header-h);border-bottom:1px solid var(--ws-border-soft);flex-shrink:0;align-items:center;gap:10px;padding:0 12px;display:flex}.ws-exec-head-title{font-family:var(--ws-mono);font-size:var(--ws-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ws-accent-text);align-items:center;gap:8px;font-weight:600;display:flex}.ws-exec-live-dot{background:var(--v-running);width:7px;height:7px;box-shadow:0 0 0 0 var(--ws-accent-glow);animation:ws-exec-pulse 1.6s var(--ws-ease) infinite;border-radius:50%}@keyframes ws-exec-pulse{0%{box-shadow:0 0 0 0 var(--ws-accent-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.ws-exec-head-spacer{flex:1}.ws-exec-viewport{border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:linear-gradient(var(--ws-surface), var(--ws-surface-2));flex:55%;min-height:140px;margin:10px;position:relative;overflow:hidden}.ws-exec-canvas{object-fit:contain;opacity:0;z-index:1;background:#000;width:100%;height:100%;transition:opacity .16s;display:block;position:absolute;inset:0}.ws-exec-canvas.is-live{opacity:1}.ws-exec-live{opacity:0;z-index:1;background:#000;border:0;width:100%;height:100%;transition:opacity .16s;display:block;position:absolute;inset:0}.ws-exec-live.is-live{opacity:1}.ws-exec-viewport:before{content:"";background:linear-gradient(90deg, var(--v-running), transparent 70%);opacity:.8;z-index:2;pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.ws-exec-viewport-empty{z-index:2;text-align:center;color:var(--ws-text-mid);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex;position:absolute;inset:0}.ws-exec-viewport-empty .glyph{opacity:.5;font-size:22px}.ws-exec-viewport-empty .label{font-size:var(--ws-text-sm);max-width:34ch;line-height:1.5}.ws-exec-viewport--optin:before{display:none}.ws-exec-optin-bar{border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface);font-size:var(--ws-text-xs);color:var(--ws-text-mid);justify-content:space-between;align-items:center;gap:10px;margin:8px 10px 0;padding:6px 10px;display:flex}.ws-exec-optin-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-btn-sm{font-size:var(--ws-text-xs);white-space:nowrap;padding:2px 8px}.ws-exec-live-show{margin-top:4px}.ws-exec-live-hide{z-index:3;font-size:var(--ws-text-xs);color:var(--ws-text-mid);border:1px solid var(--ws-border);border-radius:var(--ws-radius);cursor:pointer;background:#0000008c;padding:3px 9px;position:absolute;top:8px;right:8px}.ws-exec-live-hide:hover{color:var(--ws-text-hi)}.ws-exec-ledger{flex-direction:column;flex:45%;gap:5px;min-height:90px;padding:6px 10px 12px;display:flex;overflow-y:auto}.ws-exec-ledger-empty{text-align:center;color:var(--ws-text-dim);font-size:var(--ws-text-sm);padding:24px 12px}.ws-exec-row{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);background:var(--ws-surface);animation:ws-rise .35s var(--ws-ease-out) both;border-left-width:3px;align-items:center;gap:10px;padding:7px 10px;display:flex}.ws-exec-row--pass{border-left-color:var(--v-pass)}.ws-exec-row--fail{border-left-color:var(--v-fail)}.ws-exec-row--blocked{border-left-color:var(--v-blocked)}.ws-exec-row--inconclusive{border-left-color:var(--v-inconclusive)}.ws-exec-row--running{border-left-color:var(--v-running);background:var(--ws-accent-dim)}.ws-exec-row-verdict{border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.ws-exec-row--pass .ws-exec-row-verdict{background:var(--v-pass-dim);color:var(--v-pass)}.ws-exec-row--fail .ws-exec-row-verdict{background:var(--v-fail-dim);color:var(--v-fail)}.ws-exec-row--blocked .ws-exec-row-verdict{background:var(--v-blocked-dim);color:var(--v-blocked)}.ws-exec-row--inconclusive .ws-exec-row-verdict{background:var(--v-inconclusive-dim);color:var(--v-inconclusive)}.ws-exec-row--running .ws-exec-row-verdict{border:2px solid var(--v-running);background:0 0;border-right-color:#0000;animation:.7s linear infinite ws-exec-spin}@keyframes ws-exec-spin{to{transform:rotate(360deg)}}.ws-exec-row-body{flex:1;min-width:0}.ws-exec-row-title{font-size:var(--ws-text-base);color:var(--ws-text-bright);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ws-exec-row-reason{font-size:var(--ws-text-xs);color:var(--ws-text-mid);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;overflow:hidden}.ws-exec-row-shot{font-size:var(--ws-text-xs);color:var(--ws-text-dim);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);cursor:pointer;background:0 0;flex-shrink:0;padding:2px 6px;transition:color .15s,border-color .15s}.ws-exec-row-shot:hover{color:var(--ws-accent-text);border-color:var(--ws-accent-glow)}.ws-exec-footer{border-top:1px solid var(--ws-border-soft);background:var(--ws-surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.ws-exec-tally{flex-wrap:wrap;flex:1;gap:6px;display:flex}.ws-exec-chip{font-family:var(--ws-mono);font-size:var(--ws-text-xs);border:1px solid var(--ws-border);color:var(--ws-text-mid);border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.ws-exec-chip .dot{border-radius:50%;width:6px;height:6px}.ws-exec-chip--pass{color:var(--v-pass);border-color:color-mix(in srgb, var(--v-pass) 30%, transparent)}.ws-exec-chip--pass .dot{background:var(--v-pass)}.ws-exec-chip--fail{color:var(--v-fail);border-color:color-mix(in srgb, var(--v-fail) 30%, transparent)}.ws-exec-chip--fail .dot{background:var(--v-fail)}.ws-exec-chip--blocked{color:var(--v-blocked);border-color:color-mix(in srgb, var(--v-blocked) 30%, transparent)}.ws-exec-chip--blocked .dot{background:var(--v-blocked)}.ws-exec-chip--inconclusive{color:var(--v-inconclusive);border-color:color-mix(in srgb, var(--v-inconclusive) 30%, transparent)}.ws-exec-chip--inconclusive .dot{background:var(--v-inconclusive)}.ws-run-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ws-run-selection{font-family:var(--ws-mono);font-size:var(--ws-text-xs);color:var(--ws-text-mid)}.ws-run-cap-warn{font-size:var(--ws-text-xs);color:var(--ws-amber)}.ws-run-expansion{color:var(--ws-accent,var(--ws-text));font-weight:600}.ws-report{flex-direction:column;gap:12px;display:flex}.ws-report-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ws-report-when{font-family:var(--ws-mono);font-size:var(--ws-text-sm);color:var(--ws-text);letter-spacing:-.01em}.ws-report-summary{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);background:var(--ws-surface-2);flex-wrap:wrap;align-items:baseline;gap:14px;padding:12px 14px;display:flex}.ws-report-count{font-family:var(--ws-display);color:var(--ws-text-bright);font-size:26px;line-height:1}.ws-report-count small{font-family:var(--ws-mono);font-size:var(--ws-text-xs);color:var(--ws-text-mid);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;display:block}.ws-report-case{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);background:var(--ws-surface);border-left-width:3px;overflow:hidden}.ws-report-case--pass{border-left-color:var(--v-pass)}.ws-report-case--fail{border-left-color:var(--v-fail)}.ws-report-case--blocked{border-left-color:var(--v-blocked)}.ws-report-case--inconclusive{border-left-color:var(--v-inconclusive)}.ws-report-case-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.ws-report-case-head:hover{background:var(--ws-surface-2)}.ws-report-case-title{font-size:var(--ws-text-md);color:var(--ws-text-bright);flex:1}.ws-report-chevron{color:var(--ws-text-dim);transition:transform .18s var(--ws-ease)}.ws-report-case--open .ws-report-chevron{transform:rotate(90deg)}.ws-report-case-body{flex-direction:column;gap:10px;padding:0 12px 12px;display:flex}.ws-report-steps{flex-direction:column;gap:2px;display:flex}.ws-report-step{font-size:var(--ws-text-sm);border-bottom:1px solid var(--ws-border-soft);gap:8px;padding:4px 0;display:flex}.ws-report-step-idx{font-family:var(--ws-mono);color:var(--ws-text-dim);flex-shrink:0}.ws-report-step-text{color:var(--ws-text);flex:1}.ws-report-step-status{font-family:var(--ws-mono);font-size:var(--ws-text-xs);text-transform:uppercase;flex-shrink:0}.ws-report-step-status--pass{color:var(--v-pass)}.ws-report-step-status--fail{color:var(--v-fail)}.ws-report-step-status--inconclusive{color:var(--v-inconclusive)}.ws-report-step-status--blocked{color:var(--v-blocked)}.ws-report-step-status--skipped{color:var(--ws-text-dim)}.ws-report-shot{border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);cursor:zoom-in;max-width:100%}.ws-runhist-anchor{display:inline-flex;position:relative}.ws-runhist-caret{opacity:.75;margin-left:4px;font-size:8px}.ws-runhist-pop{z-index:60;background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius);width:300px;max-width:min(300px,100vw - 32px);animation:ws-rise .16s var(--ws-ease-out) both;position:absolute;top:calc(100% + 6px);right:-4px;overflow:hidden;box-shadow:0 12px 32px #0000004d}.ws-runhist-pop-head{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-dim);border-bottom:1px solid var(--ws-border-soft);padding:8px 12px 6px;font-weight:600}.ws-runhist-pop-body{max-height:320px;padding:5px;overflow-y:auto}.ws-runhist{flex-direction:column;gap:3px;display:flex}.ws-runhist-row{border-radius:var(--ws-radius-sm);cursor:pointer;transition:background .15s var(--ws-ease), border-color .15s var(--ws-ease);animation:ws-rise .35s var(--ws-ease-out) both;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) 64px auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.ws-runhist-row:hover{background:var(--ws-surface-2);border-color:var(--ws-border-soft)}.ws-runhist-row:focus-visible{border-color:var(--ws-accent);outline:none}.ws-runhist-row--active{background:var(--ws-surface-2);border-color:color-mix(in srgb, var(--ws-accent) 35%, transparent);box-shadow:inset 2px 0 0 var(--ws-accent)}.ws-runhist-main{flex-direction:column;gap:1px;min-width:0;display:flex}.ws-runhist-when{font-family:var(--ws-mono);font-size:var(--ws-text-sm);color:var(--ws-text);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ws-runhist-row--active .ws-runhist-when{color:var(--ws-accent-text)}.ws-runhist-meta{font-size:var(--ws-text-xs);color:var(--ws-text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ws-runhist-state{font-weight:600}.ws-runhist-state--running{color:var(--ws-accent-text)}.ws-runhist-state--aborted{color:var(--ws-text-mid)}.ws-runhist-bar{background:var(--ws-surface-3);border-radius:99px;width:100%;height:5px;display:flex;overflow:hidden}.ws-runhist-seg{height:100%;display:block}.ws-runhist-seg--pass{background:var(--v-pass)}.ws-runhist-seg--fail{background:var(--v-fail)}.ws-runhist-seg--blocked{background:var(--v-blocked)}.ws-runhist-seg--inconclusive{background:var(--v-inconclusive)}.ws-runhist-seg--empty{background:var(--ws-border-soft)}.ws-runhist-score{font-family:var(--ws-mono);font-size:var(--ws-text-xs);font-variant-numeric:tabular-nums;color:var(--ws-text-dim);white-space:nowrap}.ws-runhist-score b{color:var(--ws-text-mid);font-weight:600}.ws-runhist-score i{font-style:normal}.ws-runhist-row--active .ws-runhist-score b{color:var(--ws-accent-text)}.ws-shot-lightbox{z-index:250;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ws-fade .16s var(--ws-ease) both;cursor:zoom-out;background:#04060cd1;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.ws-shot-lightbox img{border:1px solid var(--ws-border);border-radius:var(--ws-radius);max-width:100%;max-height:100%;box-shadow:var(--ws-elev-3)}.ws-cred-steps{flex-direction:column;gap:16px;display:flex}.ws-cred-progress{gap:5px;display:flex}.ws-cred-progress-seg{background:var(--ws-border);height:3px;transition:background .25s var(--ws-ease);border-radius:99px;flex:1}.ws-cred-progress-seg--done{background:var(--ws-accent)}.ws-cred-question{font-family:var(--ws-display);font-size:var(--ws-text-lg);color:var(--ws-text-bright);line-height:1.3}.ws-cred-choices{flex-direction:column;gap:8px;display:flex}.ws-cred-choice{text-align:left;border:1px solid var(--ws-border);border-radius:var(--ws-radius);background:var(--ws-surface-2);color:var(--ws-text-bright);font-size:var(--ws-text-md);cursor:pointer;padding:12px 14px;transition:border-color .15s,background .15s,transform 80ms}.ws-cred-choice:hover{border-color:var(--ws-accent);background:var(--ws-accent-dim)}.ws-cred-choice:active{transform:translateY(.5px)}.ws-cred-choice small{font-size:var(--ws-text-xs);color:var(--ws-text-mid);margin-top:3px;display:block}.ws-cred-choice--muted{opacity:.6;cursor:not-allowed}.ws-cred-notice{font-size:var(--ws-text-xs);color:var(--ws-text-mid);border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);background:var(--ws-surface-2);padding:10px 12px;line-height:1.5}.ws-cred-optional{color:var(--ws-text-dim);font-weight:400}.ws-cred-hint{font-size:var(--ws-text-xs);color:var(--ws-text-dim);margin-top:4px;line-height:1.45;display:block}.ws-cred-masked{font-family:var(--ws-mono);color:var(--ws-accent-text);font-size:var(--ws-text-md)}.ws-cred-back{color:var(--ws-text-dim);font-size:var(--ws-text-sm);cursor:pointer;background:0 0;border:none;padding:0}.ws-cred-back:hover{color:var(--ws-text-bright)}@media (width<=900px){.ws-exec-viewport{flex-basis:45%}.ws-exec-ledger{flex-basis:55%}}.ws-runopts{background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius);animation:ws-rise .2s var(--ws-ease-out) both;flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex}.ws-runopts-title{font-size:var(--ws-text-sm);font-weight:700}.ws-runopts-group{border:none;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.ws-runopts-legend{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-dim);margin-bottom:2px;padding:0;font-weight:600}.ws-runopts-opt{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.ws-runopts-opt input{flex-shrink:0;margin-top:3px}.ws-runopts-opt span{flex-direction:column;gap:1px;display:flex}.ws-runopts-opt strong{font-size:var(--ws-text-sm);font-weight:600}.ws-runopts-opt small{font-size:var(--ws-text-xs);color:var(--ws-text-dim);line-height:1.4}.ws-runopts-opt input:disabled~span{opacity:.5}.ws-runopts-select{width:calc(100% - 24px);margin:2px 0 2px 24px}.ws-runopts-note{font-size:var(--ws-text-xs);color:var(--ws-text-dim);background:var(--ws-surface);border-radius:var(--ws-radius-sm);padding:6px 8px}.ws-runopts-footer{align-items:center;gap:6px;display:flex}.ws-runopts-count{font-size:var(--ws-text-xs);color:var(--ws-text-dim);font-family:var(--ws-mono)}.ws-runopts-count--over{color:var(--ws-red);font-weight:600}.ws-exportmenu{display:inline-block;position:relative}.ws-exportmenu-pop{z-index:250;background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);min-width:210px;animation:ws-rise .16s var(--ws-ease-out) both;flex-direction:column;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000047}.ws-exportmenu-item{border-radius:var(--ws-radius-sm);color:var(--ws-text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.ws-exportmenu-item:hover,.ws-exportmenu-item:focus-visible{background:var(--ws-surface)}.ws-exportmenu-label{font-size:var(--ws-text-sm);font-weight:600}.ws-exportmenu-hint{font-size:var(--ws-text-xs);color:var(--ws-text-dim)}.ws-root{isolation:isolate;background:var(--ws-bg);width:100%;height:100svh;font-family:var(--ws-sans);color:var(--ws-text);flex-direction:column;display:flex;position:relative;overflow:hidden}.ws-root:before{content:"";pointer-events:none;z-index:-1;background:var(--ws-atmo-1), var(--ws-atmo-2), linear-gradient(var(--ws-grid-line) 1px, transparent 1px) 0 0 / 100% 44px, linear-gradient(90deg, var(--ws-grid-line) 1px, transparent 1px) 0 0 / 44px 100%;position:absolute;inset:0}.ws-header{height:var(--ws-header-h);border-bottom:1px solid var(--ws-border);background:linear-gradient(180deg, var(--ws-surface-2), var(--ws-surface));z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex;position:relative}.ws-header:before{content:"";background:linear-gradient(90deg, var(--ws-accent), transparent 55%);opacity:.6;height:2px;position:absolute;inset:0 0 auto}.ws-header-left,.ws-header-right{flex:1;align-items:center;gap:12px;display:flex}.ws-header-right{justify-content:flex-end}.ws-header-center{flex-shrink:0}.ws-logo{-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:flex}.ws-logo-mark{color:var(--ws-accent);filter:drop-shadow(0 0 6px var(--ws-accent-glow));font-size:17px;line-height:1}.ws-logo-text{letter-spacing:.06em;color:var(--ws-text-bright);font-size:14px;font-weight:700;font-family:var(--ws-display)}.ws-logo-accent{color:var(--ws-accent)}.ws-breadcrumb{color:var(--ws-text-dim);align-items:center;gap:4px;font-size:11px;display:flex}.ws-breadcrumb-sep{opacity:.4}.ws-breadcrumb-active{color:var(--ws-text)}.ws-panel-indicators{background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius);align-items:center;gap:2px;padding:3px 4px;display:flex}.ws-pi{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;transition:background .15s;display:flex}.ws-pi--accent{background:var(--ws-accent-dim)}.ws-pi-label{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-dim);font-weight:600}.ws-pi--accent .ws-pi-label{color:var(--ws-accent)}.ws-pi-size{font-size:var(--ws-text-mono);font-family:var(--ws-mono);color:var(--ws-text);text-align:right;min-width:26px}.ws-status-dot{background:var(--ws-green);width:7px;height:7px;box-shadow:0 0 6px var(--ws-green);border-radius:50%;flex-shrink:0}.ws-body{flex:1;gap:0;padding:8px;display:flex;overflow:hidden}.ws-panel-group{flex:1;height:100%}.ws-panel{background:var(--ws-surface);border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-lg);box-shadow:var(--ws-elev-1);flex-direction:column;display:flex;overflow:hidden}.ws-panel--transparent{box-shadow:none;background:0 0;border:none;border-radius:0}.ws-panel-header{height:var(--ws-panel-header-h);border-bottom:1px solid var(--ws-border-soft);background:linear-gradient(180deg, var(--ws-surface-2), transparent);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;display:flex}.ws-panel-title{font-size:var(--ws-text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--ws-text-mid);align-items:center;gap:7px;font-weight:600;display:flex}.ws-panel-title .ws-panel-icon{color:var(--ws-accent)}.ws-panel-icon{font-size:13px;line-height:1}.ws-panel-actions{align-items:center;gap:4px;display:flex}.ws-panel-body{scrollbar-gutter:stable;flex:1;padding:16px;overflow:hidden auto}.ws-panel-body::-webkit-scrollbar{width:5px}.ws-panel-body::-webkit-scrollbar-track{background:0 0}.ws-panel-body::-webkit-scrollbar-thumb{background:var(--ws-border);border-radius:99px}.ws-handle{background:var(--ws-border-soft);cursor:col-resize;z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.ws-handle:hover,.ws-handle[data-resize-handle-active]{background:var(--ws-accent-dim)}.ws-handle-bar{background:var(--ws-handle);border-radius:2px;width:2px;height:32px;transition:background .15s,height .15s,box-shadow .15s}.ws-handle:hover .ws-handle-bar,.ws-handle[data-resize-handle-active] .ws-handle-bar{background:var(--ws-handle-hover);height:48px;box-shadow:0 0 8px var(--ws-accent-glow)}.ws-empty{height:100%;color:var(--ws-text-dim);text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.ws-empty-icon{background:var(--ws-accent-dim);width:52px;height:52px;color:var(--ws-accent-text);border:1px solid var(--ws-accent-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;font-size:26px;display:flex}.ws-empty-title{font-size:var(--ws-text-base);color:var(--ws-text);font-weight:600}.ws-empty-sub{font-size:var(--ws-text-sm);color:var(--ws-text-dim);max-width:220px;line-height:1.5}.ws-chat-body{flex-direction:column;gap:12px;padding:16px;display:flex}.ws-chat-msg{flex-direction:column;gap:4px;max-width:88%;display:flex}.ws-chat-msg--user{align-self:flex-end;align-items:flex-end}.ws-chat-msg--ai{align-self:flex-start;align-items:flex-start}.ws-chat-bubble{border-radius:var(--ws-radius);font-size:var(--ws-text-base);word-break:break-word;padding:9px 13px;line-height:1.55}.ws-chat-msg--user .ws-chat-bubble{background:var(--ws-accent-dim);border:1px solid var(--ws-accent-glow);color:var(--ws-text-bright);border-radius:var(--ws-radius) var(--ws-radius) 2px var(--ws-radius)}.ws-chat-msg--ai .ws-chat-bubble{background:var(--ws-surface-2);border:1px solid var(--ws-border-soft);color:var(--ws-text);border-radius:var(--ws-radius) var(--ws-radius) var(--ws-radius) 2px}.ws-chat-meta{font-size:var(--ws-text-xs);color:var(--ws-text-dim);padding:0 4px}.ws-markdown{display:block}.ws-markdown>:first-child{margin-top:0}.ws-markdown>:last-child{margin-bottom:0}.ws-markdown p{margin:0 0 .55em;line-height:1.6}.ws-markdown p:last-child{margin-bottom:0}.ws-markdown h1,.ws-markdown h2,.ws-markdown h3{color:var(--ws-text-bright);margin:.9em 0 .35em;font-weight:600;line-height:1.3}.ws-markdown h1{font-size:1.15em}.ws-markdown h2{font-size:1.05em}.ws-markdown h3{font-size:.97em}.ws-markdown ul,.ws-markdown ol{margin:.35em 0 .55em 1.2em;padding:0}.ws-markdown li{margin:.2em 0;line-height:1.55}.ws-markdown li>ul,.ws-markdown li>ol{margin:.15em 0 .15em 1em}.ws-markdown strong{color:var(--ws-text-bright);font-weight:600}.ws-markdown em{font-style:italic}.ws-markdown code{font-family:var(--ws-mono);background:var(--ws-surface-3);color:var(--ws-accent);border-radius:3px;padding:1px 5px;font-size:.88em}.ws-markdown pre{background:var(--ws-surface-3);border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);margin:.55em 0;padding:10px 13px;overflow-x:auto}.ws-markdown pre code{color:var(--ws-text);background:0 0;border-radius:0;padding:0;font-size:.85em}.ws-markdown blockquote{border-left:3px solid var(--ws-accent-glow);color:var(--ws-text-dim);margin:.5em 0;padding:.1em .8em;font-style:italic}.ws-markdown hr{border:none;border-top:1px solid var(--ws-border-soft);margin:.8em 0}.ws-markdown table{border-collapse:collapse;width:100%;margin:.55em 0;font-size:.9em}.ws-markdown th,.ws-markdown td{border:1px solid var(--ws-border-soft);text-align:left;padding:5px 10px}.ws-markdown th{background:var(--ws-surface-3);color:var(--ws-text-bright);font-weight:600}.ws-cursor{background:var(--ws-accent);vertical-align:text-bottom;border-radius:1px;width:7px;height:13px;margin-left:2px;animation:1s step-end infinite ws-blink;display:inline-block}@keyframes ws-blink{0%,to{opacity:1}50%{opacity:0}}.ws-chat-input-wrap{border-top:1px solid var(--ws-border-soft);background:var(--ws-surface);flex-shrink:0;padding:12px 14px}.ws-chat-input-row{background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius);align-items:flex-end;gap:8px;padding:8px 10px 8px 14px;transition:border-color .15s;display:flex}.ws-chat-input-row:focus-within{border-color:var(--ws-accent);box-shadow:0 0 0 3px var(--ws-accent-dim)}.ws-chat-input{font-size:var(--ws-text-base);font-family:var(--ws-sans);color:var(--ws-text-bright);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:120px;line-height:1.5;overflow-y:auto}.ws-chat-input::placeholder{color:var(--ws-text-dim)}.ws-send-btn{border-radius:var(--ws-radius-sm);background:var(--ws-accent);cursor:pointer;color:#fff;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:filter .15s,transform .1s;display:flex}.ws-send-btn:hover{filter:brightness(1.15)}.ws-send-btn:active{transform:scale(.94)}.ws-tc-card{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);background:var(--ws-surface-2);margin-bottom:10px;transition:border-color .15s;overflow:hidden}.ws-tc-card:hover{border-color:var(--ws-border)}.ws-tc-card-head{border-bottom:1px solid var(--ws-border-soft);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.ws-tc-card-title{font-size:var(--ws-text-base);color:var(--ws-text-bright);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.ws-tc-card-body{font-size:var(--ws-text-base);color:var(--ws-text);padding:10px 14px;line-height:1.55}.ws-tc-field-label{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-dim);margin-top:8px;margin-bottom:3px;font-weight:600}.ws-tc-field-label:first-child{margin-top:0}.ws-doc-list{flex-direction:column;gap:6px;display:flex}.ws-doc-item{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);background:var(--ws-surface-2);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:9px 12px;transition:border-color .15s,background .15s;display:flex}.ws-doc-item:hover{border-color:var(--ws-border);background:var(--ws-surface)}.ws-doc-item--active{border-color:var(--ws-accent-glow)!important;background:var(--ws-accent-dim)!important}.ws-doc-icon{opacity:.7;flex-shrink:0;font-size:16px}.ws-doc-info{flex:1;min-width:0}.ws-doc-name{font-size:var(--ws-text-base);color:var(--ws-text-bright);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ws-doc-meta{font-size:var(--ws-text-xs);color:var(--ws-text-dim);margin-top:1px}.ws-upload-zone{border:1.5px dashed var(--ws-border);border-radius:var(--ws-radius);text-align:center;cursor:pointer;margin-bottom:14px;padding:24px 16px;transition:border-color .15s,background .15s}.ws-upload-zone:hover{border-color:var(--ws-accent);background:var(--ws-accent-dim)}.ws-upload-icon{opacity:.5;margin-bottom:6px;font-size:22px}.ws-upload-text{font-size:var(--ws-text-sm);color:var(--ws-text-dim)}.ws-upload-text strong{color:var(--ws-accent)}.ws-upload-uploading{flex-direction:column;align-items:center;gap:6px;display:flex}.ws-handle--h{background:var(--ws-border-soft);cursor:row-resize;flex-direction:row;width:100%;height:4px}.ws-handle--h:hover,.ws-handle--h[data-resize-handle-active]{background:var(--ws-accent-dim)}.ws-handle-bar--h{background:var(--ws-handle);border-radius:2px;width:32px;height:2px;transition:background .15s,width .15s,box-shadow .15s}.ws-handle--h:hover .ws-handle-bar--h,.ws-handle--h[data-resize-handle-active] .ws-handle-bar--h{background:var(--ws-handle-hover);width:48px;box-shadow:0 0 8px var(--ws-accent-glow)}.ws-pi-divider{background:var(--ws-border);flex-shrink:0;width:1px;height:16px;margin:0 2px}.ws-layout-hint{font-size:var(--ws-text-sm);color:var(--ws-text-dim);align-items:center;gap:5px;padding:0 4px;display:flex}.ws-upload-zone{word-break:break-word}.ws-doc-name{white-space:normal;word-break:break-word}.ws-panel-body{contain:layout style}.ws-panel{min-width:0;min-height:0}.ws-panel--chat{box-shadow:var(--ws-elev-2);z-index:2}.ws-panel--docs,.ws-panel--cases{box-shadow:var(--ws-elev-1);z-index:1}.ws-panel--collapsed{overflow:hidden}.ws-panel--collapsed .ws-panel-body,.ws-panel--collapsed .ws-upload-zone,.ws-panel--collapsed .ws-doc-list,.ws-panel--collapsed .ws-alert,.ws-panel--collapsed .ws-doc-act,.ws-panel--collapsed .ws-doc-info,.ws-panel--collapsed .ws-doc-open>.ws-doc-info,.ws-panel--collapsed .ws-panel-actions{display:none!important}.ws-panel--collapsed .ws-panel-header{height:auto;min-height:var(--ws-panel-header-h);flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding:10px 4px}.ws-panel--collapsed .ws-panel-title{writing-mode:vertical-lr;font-size:var(--ws-text-xs);letter-spacing:.12em;color:var(--ws-text-dim);flex-direction:row;gap:5px;transform:rotate(180deg)}.ws-panel--collapsed .ws-doc-icon-chips{flex-direction:column;flex:1;align-items:center;gap:6px;padding:8px 0;display:flex;overflow:hidden}.ws-doc-icon-chips{display:none}.ws-rail-toggle{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);cursor:pointer;width:26px;height:26px;color:var(--ws-text-dim);background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background .15s;display:flex}.ws-rail-toggle:hover{border-color:var(--ws-accent);color:var(--ws-accent-text);background:var(--ws-accent-dim)}.ws-rail-toggle--collapsed{color:var(--ws-accent-text);border-color:var(--ws-accent-glow);background:var(--ws-accent-dim)}.ws-header-mode-badge{font-size:var(--ws-text-xs);gap:5px}.ws-drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ws-fade .16s var(--ws-ease) both;background:#04060c80;position:fixed;inset:0}.ws-drawer{z-index:101;background:var(--ws-surface);border-left:1px solid var(--ws-border);width:min(520px,94vw);box-shadow:var(--ws-elev-3);animation:ws-drawer-in .28s var(--ws-ease-out) both;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ws-drawer:before{content:"";background:linear-gradient(180deg, var(--ws-accent), transparent 60%);opacity:.7;width:2px;position:absolute;top:0;bottom:0;left:0}@keyframes ws-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=640px){.ws-drawer{width:100vw}}.ws-drawer-header{border-bottom:1px solid var(--ws-border-soft);background:linear-gradient(180deg, var(--ws-surface-2), transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.ws-drawer-title{font-family:var(--ws-display);font-size:var(--ws-text-lg);color:var(--ws-text-bright);align-items:center;gap:10px;font-weight:600;display:flex}.ws-drawer-tc-id{font-family:var(--ws-mono);font-size:var(--ws-text-mono);color:var(--ws-accent-text);background:var(--ws-accent-dim);border:1px solid var(--ws-accent-glow);border-radius:var(--ws-radius-sm);letter-spacing:.02em;padding:3px 8px;font-weight:600}.ws-drawer-close{cursor:pointer;color:var(--ws-text-dim);border-radius:var(--ws-radius-sm);background:0 0;border:none;padding:5px 7px;font-size:15px;transition:color .15s,background .15s}.ws-drawer-close:hover{color:var(--ws-text-bright);background:var(--ws-surface-3)}.ws-drawer-body{flex-direction:column;flex:1;gap:14px;padding:18px;display:flex;overflow-y:auto}.ws-drawer-footer{border-top:1px solid var(--ws-border-soft);background:var(--ws-surface-2);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 18px;display:flex}.ws-drawer-footer .ws-btn-primary{box-shadow:var(--ws-glow-accent)}.ws-drawer-section{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius);background:var(--ws-surface-2);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.ws-drawer-section-label{font-family:var(--ws-mono);font-size:var(--ws-text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ws-accent-text);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.ws-drawer-section-label:before{content:"";background:var(--ws-accent);opacity:.7;width:14px;height:1px}.ws-drawer-field{flex-direction:column;gap:5px;display:flex}.ws-drawer-label{font-size:var(--ws-text-xs);color:var(--ws-text-mid);letter-spacing:.05em;text-transform:uppercase;margin:0;font-weight:600}.ws-drawer-input,.ws-drawer-textarea,.ws-drawer-select{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);width:100%;font-size:var(--ws-text-base);font-family:var(--ws-sans);color:var(--ws-text-bright);box-sizing:border-box;transition:border-color .15s var(--ws-ease), box-shadow .15s var(--ws-ease);outline:none;padding:9px 12px}.ws-drawer-input::placeholder,.ws-drawer-textarea::placeholder{color:var(--ws-text-dim)}.ws-drawer-input:focus,.ws-drawer-textarea:focus,.ws-drawer-select:focus{border-color:var(--ws-accent);box-shadow:0 0 0 3px var(--ws-accent-dim)}.ws-drawer-input--sm{font-size:var(--ws-text-sm);padding:7px 10px}.ws-drawer-textarea{resize:vertical;min-height:52px;line-height:1.5}.ws-drawer-select{cursor:pointer}.ws-drawer-row{gap:12px;display:flex}.ws-drawer-col{flex-direction:column;flex:1;gap:5px;display:flex}.ws-drawer-step{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);background:var(--ws-surface);align-items:flex-start;gap:10px;padding:10px;display:flex}.ws-drawer-step-num{width:22px;height:22px;font-family:var(--ws-mono);font-size:var(--ws-text-mono);color:var(--ws-accent-text);background:var(--ws-accent-dim);border:1px solid var(--ws-accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-weight:600;display:flex}.ws-drawer-step-fields{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ws-drawer-step-remove{cursor:pointer;color:var(--ws-text-dim);border-radius:var(--ws-radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:12px;transition:color .15s,background .15s}.ws-drawer-step-remove:hover{color:var(--ws-red);background:var(--ws-red-dim)}.ws-drawer-add-step{width:fit-content;margin-top:2px;font-size:var(--ws-text-sm)!important}.ws-drawer-checkbox-label{font-size:var(--ws-text-sm);color:var(--ws-text);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);background:var(--ws-surface);align-items:center;gap:7px;padding:9px 12px;transition:border-color .15s;display:flex}.ws-drawer-checkbox-label:hover{border-color:var(--ws-accent)}.ws-drawer-checkbox-label input[type=checkbox]{accent-color:var(--ws-accent);width:15px;height:15px}.ws-drawer-help{font-size:var(--ws-text-sm);color:var(--ws-text-dim);margin-top:6px;line-height:1.4}.ws-doc-collapse-btn{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);cursor:pointer;width:22px;height:22px;color:var(--ws-text-dim);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;transition:border-color .15s,color .15s,background .15s;display:flex}.ws-doc-collapse-btn:hover{border-color:var(--ws-accent);color:var(--ws-accent-text);background:var(--ws-accent-dim)}.ws-doc-chip{background:var(--ws-surface-2);border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius-sm);cursor:pointer;width:34px;height:26px;font-family:var(--ws-mono);color:var(--ws-accent-text);letter-spacing:.04em;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.ws-doc-chip:hover{background:var(--ws-accent-dim);border-color:var(--ws-accent-glow)}.ws-doc-chip--empty{cursor:default;opacity:.4;background:0 0;border-color:#0000;font-size:14px}.ws-llm-selector{position:relative}.ws-llm-selector-btn{background:var(--ws-surface-2);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);cursor:pointer;font-family:var(--ws-sans);font-size:var(--ws-text-sm);color:var(--ws-text);align-items:center;gap:6px;padding:4px 10px;transition:border-color .15s;display:flex}.ws-llm-selector-btn:hover{border-color:var(--ws-accent)}.ws-llm-provider-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ws-llm-provider-dot[data-provider=claude]{background:#cc785c}.ws-llm-provider-dot[data-provider=openai]{background:#19c37d}.ws-llm-provider-dot[data-provider=gemini]{background:#4285f4}.ws-llm-label{color:var(--ws-text-bright);font-weight:600}.ws-llm-model{color:var(--ws-text-dim);font-family:var(--ws-mono);font-size:var(--ws-text-xs);text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.ws-llm-caret{color:var(--ws-text-dim);font-size:9px}.ws-llm-dropdown{z-index:50;background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius);flex-direction:column;gap:4px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000059}.ws-llm-group-label{font-size:var(--ws-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-text-dim);align-items:center;gap:6px;padding:4px 8px 2px;font-weight:600;display:flex}.ws-llm-option{text-align:left;border-radius:var(--ws-radius-sm);width:100%;font-size:var(--ws-text-sm);font-family:var(--ws-mono);color:var(--ws-text);cursor:pointer;background:0 0;border:none;padding:5px 10px 5px 22px;transition:background .12s,color .12s;display:block}.ws-llm-option:hover{background:var(--ws-surface-2);color:var(--ws-text-bright)}.ws-llm-option--active{color:var(--ws-accent);background:var(--ws-accent-dim)}.ws-back-btn{color:var(--ws-text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-right:2px;padding:4px 6px;font-size:15px;transition:color .15s,background .15s}.ws-back-btn:hover{color:var(--ws-text-bright);background:var(--ws-surface-2)}.ws-doc-sections{border:1px solid var(--ws-border-soft);border-radius:0 0 var(--ws-radius) var(--ws-radius);background:var(--ws-surface);border-top:none;flex-direction:column;gap:6px;max-height:320px;margin:0 0 6px;padding:8px 10px;display:flex;overflow-y:auto}.ws-doc-section{border-radius:var(--ws-radius-sm);background:var(--ws-surface-2);border:1px solid var(--ws-border-soft);padding:6px 8px}.ws-doc-section-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ws-doc-section-body{font-size:var(--ws-text-xs);color:var(--ws-text-dim);word-break:break-word;margin:0;line-height:1.5}.ws-panel--transparent .ws-panel-group>.ws-panel{box-shadow:var(--ws-elev-1)}.ws-send-btn{color:#04120f}.ws-send-btn:disabled{opacity:.45;cursor:not-allowed}.ws-send-btn:not(:disabled):hover{box-shadow:0 0 0 3px var(--ws-accent-dim)}.ws-tc-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ws-tc-dot[data-priority=critical]{background:var(--ws-red);box-shadow:0 0 5px var(--ws-red)}.ws-tc-dot[data-priority=high]{background:var(--ws-amber);box-shadow:0 0 5px var(--ws-amber)}.ws-tc-dot[data-priority=medium]{background:var(--ws-accent);box-shadow:0 0 5px var(--ws-accent-glow)}.ws-tc-dot[data-priority=low]{background:var(--ws-text-dim)}.ws-tc-num{font-size:var(--ws-text-mono);font-family:var(--ws-mono);color:var(--ws-text-dim);flex-shrink:0}.ws-tc-caret{color:var(--ws-text-dim);font-size:var(--ws-text-sm);transition:transform .2s var(--ws-ease);flex-shrink:0}.ws-tc-card[data-open=true] .ws-tc-caret{transform:rotate(180deg)}.ws-tc-card[data-open=true]{border-color:var(--ws-border);box-shadow:var(--ws-elev-1)}.ws-tc-step{margin-bottom:7px}.ws-tc-step-main{font-size:var(--ws-text-sm);color:var(--ws-text-bright);margin-bottom:2px}.ws-tc-step-num{color:var(--ws-accent);font-family:var(--ws-mono)}.ws-tc-step-exp{font-size:var(--ws-text-sm);color:var(--ws-text-dim);padding-left:14px}.ws-tc-priority-text{font-size:var(--ws-text-sm);font-weight:600}.ws-tc-priority-text[data-priority=critical]{color:var(--ws-red)}.ws-tc-priority-text[data-priority=high]{color:var(--ws-amber)}.ws-tc-priority-text[data-priority=medium]{color:var(--ws-accent-text)}.ws-tc-priority-text[data-priority=low]{color:var(--ws-text-mid)}.ws-tc-meta-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-tc-tags{flex-wrap:wrap;gap:4px;display:flex}.ws-tc-actions{gap:6px;margin-top:12px;display:flex}.ws-panel-actions-sticky{z-index:3;background:var(--ws-surface);border-bottom:1px solid var(--ws-border-soft);margin:-16px -16px 0;padding:16px 16px 10px;position:sticky;top:-16px}.ws-export-row{gap:6px;margin-bottom:10px;display:flex}.ws-gen-btn{box-shadow:var(--ws-glow-accent);gap:7px;margin-bottom:14px;padding-top:9px;padding-bottom:9px;position:relative;overflow:hidden}.ws-gen-btn:not(:disabled):hover{box-shadow:0 0 30px var(--ws-accent-glow)}.ws-gen-btn:disabled{opacity:.85}.ws-gen-btn:disabled:after{content:"";animation:ws-sheen 1.4s var(--ws-ease) infinite;background:linear-gradient(100deg,#0000 30%,#ffffff24 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}@keyframes ws-sheen{to{transform:translate(100%)}}.ws-review{background:var(--ws-purple-dim);border:1px solid color-mix(in srgb, var(--ws-purple) 30%, transparent);border-radius:var(--ws-radius);margin-top:10px;padding:11px 13px}.ws-review--accent{background:var(--ws-accent-dim);border-color:var(--ws-accent-glow)}.ws-review-title{font-size:var(--ws-text-sm);color:var(--ws-text-bright);align-items:center;gap:6px;margin-bottom:8px;font-weight:600;display:flex}.ws-review-gaps{background:var(--ws-amber-dim);border:1px solid color-mix(in srgb, var(--ws-amber) 32%, transparent);border-radius:var(--ws-radius-sm);margin-bottom:10px;padding:8px 10px}.ws-review-gaps-title{font-size:var(--ws-text-xs);color:var(--ws-amber);align-items:center;gap:5px;margin-bottom:4px;font-weight:600;display:flex}.ws-review-gap{font-size:var(--ws-text-xs);color:var(--ws-text-mid);padding-left:8px;line-height:1.5}.ws-review-list{flex-direction:column;gap:2px;max-height:220px;margin-bottom:10px;display:flex;overflow-y:auto}.ws-review-item{border-bottom:1px solid var(--ws-border-soft);align-items:baseline;gap:8px;padding:4px 2px;display:flex}.ws-review-prio{font-size:var(--ws-text-xs);letter-spacing:.04em;flex-shrink:0;min-width:54px;font-weight:700}.ws-review-prio[data-priority=critical]{color:var(--ws-red)}.ws-review-prio[data-priority=high]{color:var(--ws-amber)}.ws-review-prio[data-priority=medium]{color:var(--ws-accent-text)}.ws-review-prio[data-priority=low]{color:var(--ws-text-mid)}.ws-review-title-input{color:var(--ws-text);font-size:var(--ws-text-xs);font-family:var(--ws-sans);background:0 0;border:none;border-bottom:1px dashed #0000;outline:none;flex:1;padding:1px 0;transition:border-color .15s}.ws-review-title-input:hover{border-bottom-color:var(--ws-border)}.ws-review-title-input:focus{border-bottom-color:var(--ws-accent)}.ws-review-dup{background:var(--ws-red-dim);color:var(--ws-red);cursor:help;text-transform:uppercase;letter-spacing:.04em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}.ws-review-actions{gap:8px;display:flex}.ws-review-saved{font-size:var(--ws-text-xs);color:var(--ws-green);align-items:center;gap:5px;margin-top:6px;display:flex}.ws-chat-hint{font-size:var(--ws-text-xs);color:var(--ws-text-dim);margin:6px 2px 0;line-height:1.4}.ws-doc-open{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.ws-doc-icon-tag{font-family:var(--ws-mono);letter-spacing:.05em;opacity:.75;color:var(--ws-accent-text);flex-shrink:0;font-size:9px;font-weight:700}.ws-doc-act{cursor:pointer;color:var(--ws-text-dim);border-radius:var(--ws-radius-sm);background:0 0;border:none;flex-shrink:0;padding:3px 5px;font-size:12px;transition:color .15s,background .15s}.ws-doc-act:hover{color:var(--ws-text-bright);background:var(--ws-surface-3)}.ws-doc-act--danger:hover{color:var(--ws-red);background:var(--ws-red-dim)}.ws-doc-act:disabled{opacity:.5;cursor:default}.ws-doc-sec-num{color:var(--ws-accent);font-family:var(--ws-mono);font-size:10px}.ws-doc-sec-heading{font-weight:600;font-size:var(--ws-text-sm);color:var(--ws-text-bright)}.ws-doc-sec-page{color:var(--ws-text-dim);margin-left:auto;font-size:10px}.ws-skel-row{height:46px;margin-bottom:8px}.ws-skel-line{height:10px;margin:6px 0}.ws-handle:focus-visible,.ws-handle--h:focus-visible{box-shadow:0 0 0 2px var(--ws-accent)}.ws-handle:focus-visible .ws-handle-bar,.ws-handle--h:focus-visible .ws-handle-bar--h{background:var(--ws-handle-hover)}.ws-muted{color:var(--ws-text-dim);font-size:var(--ws-text-sm);padding:8px 0;line-height:1.5}.ws-muted--xs{font-size:var(--ws-text-xs)}.ws-count{font-size:var(--ws-text-xs);color:var(--ws-text-dim);font-variant-numeric:tabular-nums}.ws-tabs{display:none}@media (width<=900px){.ws-body{padding:6px}.ws-header-center,.ws-layout-hint{display:none}.ws-tabs{background:var(--ws-bg);flex-shrink:0;gap:4px;padding:6px 8px 0;display:flex}.ws-tab{border:1px solid var(--ws-border-soft);border-radius:var(--ws-radius) var(--ws-radius) 0 0;background:var(--ws-surface-2);color:var(--ws-text-mid);font-size:var(--ws-text-sm);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-bottom:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex}.ws-tab--active{background:var(--ws-surface);color:var(--ws-accent-text);border-color:var(--ws-border)}.ws-tab-icon{color:var(--ws-accent)}.ws-mobile-stack{flex-direction:column}.ws-handle,.ws-handle--h{display:none}.ws-panel-hidden{display:none!important}.ws-panel-mobile{border-radius:0 0 var(--ws-radius-lg) var(--ws-radius-lg);flex:1}}
