*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1a1a1a;--bg-secondary:#282828;--bg-dark:#0a0a0a;--bg-input:#1e1e1e;--bg-pill:#ffffff12;--text-primary:#eff1f6;--text-secondary:#b3b3b3;--text-muted:#6b6b6b;--danger:#ef4743;--danger-dim:#ef47431f;--warning:#d29922;--accent:#2cbb5d;--accent-hover:#34cf68;--accent-dim:#2cbb5d26;--success:var(--accent);--diff-add-bg:#2cbb5d1f;--diff-add-accept:#1e3d2b;--color-easy:#00b8a3;--color-medium:#ffc01e;--color-hard:#ff375f;--diff-remove-bg:#ef47431f;--border:#333;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.6;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;--duration-fast:.12s;--duration-base:.18s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Menlo", "Monaco", "Consolas", monospace}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.mobile-gate{text-align:center;justify-content:center;align-items:center;height:100vh;padding:2rem;display:none}.mobile-gate-logo{width:240px;max-width:70vw;height:auto;margin:0 auto 1.25rem;display:block}.mobile-gate-content p{color:var(--text-secondary);margin-bottom:.5rem}@media (width<=768px){.mobile-gate{display:flex}.desktop-only{display:none!important}}.problem-list{max-width:720px;padding:var(--space-8) var(--space-5);margin:0 auto}.problem-list-header{margin-bottom:var(--space-6)}.problem-list-header h1{font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--lh-tight)}.problem-list-header p{color:var(--text-secondary);font-size:var(--text-md)}.problem-list-header .subtitle{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-2);line-height:var(--lh-relaxed)}.problem-card{width:100%;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-base) var(--ease-standard), background var(--duration-base) var(--ease-standard);text-align:left;color:var(--text-primary);font-family:inherit;font-size:inherit;border:1px solid #0000;align-items:center;display:flex}.problem-card:hover{border-color:var(--accent);background:var(--bg-input)}.problem-number{font-size:var(--text-xl);color:var(--accent);margin-right:var(--space-4);min-width:32px;font-weight:700}.problem-info{flex:1}.problem-info h3{font-size:var(--text-md);margin-bottom:var(--space-1);font-weight:600}.problem-meta{align-items:center;gap:var(--space-2);display:flex}.difficulty-badge{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-pill);font-weight:600}.difficulty-badge[data-difficulty=Easy]{background:color-mix(in srgb, var(--color-easy) 15%, transparent);color:var(--color-easy)}.difficulty-badge[data-difficulty=Medium]{background:color-mix(in srgb, var(--color-medium) 15%, transparent);color:var(--color-medium)}.difficulty-badge[data-difficulty=Hard]{background:color-mix(in srgb, var(--color-hard) 15%, transparent);color:var(--color-hard)}.problem-type-badge{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--accent-dim);color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.start-arrow{color:var(--text-muted);font-size:var(--text-xl)}.session{flex-direction:column;height:100vh;display:flex;overflow:hidden}.panels{flex:1;min-height:0;display:flex;overflow:hidden}.panel{flex-direction:column;flex-shrink:0;min-height:0;display:flex;overflow:hidden}.panel-editor{flex:auto;min-width:0}.divider{cursor:col-resize;background:var(--border);width:4px;transition:background var(--duration-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.divider:before{content:"";position:absolute;inset:0 -4px}.divider:hover{background:var(--accent)}.divider-handle{display:none}.panel-problem{background:var(--bg-secondary)}.panel-editor{background:var(--bg-dark)}.panel-chat,.panel-right-sidebar{background:var(--bg-secondary)}.topbar{padding:0 var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-4);flex-shrink:0;height:48px;display:flex}.topbar-logo{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;line-height:0;display:inline-flex}.topbar-logo:hover{background:var(--bg-primary)}.topbar-logo-img{width:auto;height:26px;display:block}.topbar-nav{align-items:center;gap:var(--space-1);margin-left:var(--space-3);margin-right:auto;display:flex}.topbar-nav-link{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none}.topbar-nav-link:hover,.topbar-nav-link.is-active{color:var(--text-primary);background:var(--bg-primary)}.topbar-actions{align-items:center;gap:var(--space-2);display:flex}.topbar-user-group{align-items:center;gap:var(--space-2);padding-right:var(--space-3);border-right:1px solid var(--border);margin-right:var(--space-1);display:flex}.topbar-user{font-size:var(--text-sm);color:var(--text-muted)}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;font-weight:600;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-run{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-run:hover:not(:disabled){background:var(--bg-primary);border-color:var(--text-muted)}.btn-submit{background:var(--accent);color:var(--bg-dark)}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.btn-back{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-back:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.btn-sm{min-height:24px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);align-items:center;display:inline-flex}.panel-header{height:40px;padding:0 var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-base);color:var(--text-secondary);align-items:center;gap:var(--space-2);background:var(--bg-secondary);flex-shrink:0;font-weight:600;display:flex}.panel-header-icon{color:var(--text-muted);flex-shrink:0}.panel-header-toggle{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;margin-left:calc(var(--space-2) * -1);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.panel-header-toggle:hover{color:var(--text-primary);background:var(--bg-primary);border-color:var(--border)}.panel-header-toggle[aria-pressed=true]{color:var(--accent)}.panel-header-filename{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;margin-left:auto;font-weight:400;overflow:hidden}.panel-header-toggle-right{margin-left:auto;margin-right:calc(var(--space-2) * -1)}.right-sidebar-tabs{height:40px;padding:0 var(--space-2);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-1);background:var(--bg-secondary);flex-shrink:0;display:flex}.right-sidebar-tab{height:28px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:var(--space-2);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;font-weight:600;display:inline-flex}.right-sidebar-tab:hover{color:var(--text-primary);background:var(--bg-primary);border-color:var(--border)}.right-sidebar-tab.is-active{color:var(--text-primary);background:var(--bg-input);border-color:var(--border)}.panel-rail{background:var(--bg-secondary);width:52px;color:var(--text-secondary);cursor:pointer;justify-content:flex-start;align-items:center;gap:var(--space-3);padding:var(--space-5) 0;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:none;flex-direction:column;flex-shrink:0;display:flex;position:relative}.panel-rail-left{border-right:1px solid var(--border)}.panel-rail-right{border-left:1px solid var(--border)}.panel-rail:hover{background:var(--bg-input);color:var(--text-primary)}.panel-rail-chat{background:linear-gradient(to left, var(--accent-dim) 0%, var(--bg-secondary) 100%);color:var(--accent);border-left:1px solid var(--accent)}.panel-rail-chat:hover{background:var(--accent-dim);color:var(--accent-hover)}.panel-rail-chat:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.panel-rail-chat-icon{border-radius:var(--radius-pill);background:var(--accent);width:32px;height:32px;color:var(--bg-dark);margin-top:var(--space-2);justify-content:center;align-items:center;display:inline-flex}.panel-rail-label{writing-mode:vertical-rl;font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;font-weight:700;transform:rotate(180deg)}.problem-statement{padding:var(--space-5);font-family:var(--font-sans);line-height:var(--lh-relaxed);flex:1;overflow-y:auto}.problem-statement h1{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-3);font-weight:700;line-height:var(--lh-tight)}.problem-description{font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--text-secondary);margin:var(--space-4) 0}.problem-description p{margin-bottom:var(--space-3)}.problem-description h2{font-size:var(--text-lg);color:var(--text-primary);margin-top:var(--space-5);margin-bottom:var(--space-2);font-weight:600}.problem-description h3{font-size:var(--text-md);color:var(--text-primary);margin-top:var(--space-4);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.problem-description h4{font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-3);margin-bottom:var(--space-1);font-weight:600}.problem-description ul,.problem-description ol{padding-left:var(--space-5);margin-bottom:var(--space-3)}.problem-description li{margin-bottom:var(--space-1)}.problem-description pre{background:var(--bg-input);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3);font-size:var(--text-sm);font-family:var(--font-mono);overflow-x:auto}.problem-description a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.problem-statement code,.problem-description code{background:var(--bg-pill);padding:1px var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary)}.example{background:var(--bg-input);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin:var(--space-3) 0}.example-label{color:var(--text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2);font-weight:600}.example-io{font-size:var(--text-md);margin:var(--space-1) 0;white-space:pre-wrap;font-family:var(--font-mono);color:var(--text-secondary)}.example-explanation{font-size:var(--text-md);color:var(--text-muted);margin-top:var(--space-2);font-style:italic}.constraints{font-size:var(--text-md);color:var(--text-secondary);margin-top:var(--space-4)}.constraints strong{color:var(--text-primary)}.constraints ul{padding-left:var(--space-5);margin-top:var(--space-2)}.constraints li{margin-bottom:var(--space-1)}.constraints li code{background:var(--bg-pill);padding:1px var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm)}.code-editor{flex-direction:column;flex:1;min-height:0;display:flex}.code-editor-body{flex:1;min-height:0;display:flex}.code-editor-sidebar{background:var(--bg-primary);border-right:1px solid var(--border);flex-shrink:0;width:220px;min-width:160px;max-width:320px;overflow-y:auto}.code-editor-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.editor-wrapper{flex:1;min-height:0;position:relative}.editor-lang-label{top:var(--space-2);right:var(--space-3);z-index:10;font-size:var(--text-xs);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-muted);padding:2px var(--space-2);border-radius:var(--radius-sm);font-variant:small-caps;letter-spacing:.5px;position:absolute}.editor-skeleton{color:var(--text-muted);background:var(--bg-dark);flex:1;justify-content:center;align-items:center;display:flex}.file-tree{font-size:var(--text-base);font-family:var(--font-mono);padding-block:var(--space-1)}.file-tree-row{align-items:center;gap:var(--space-1);min-height:28px;padding-inline:var(--space-2);padding-left:calc(var(--depth,0) * 14px + var(--space-2));width:100%;color:var(--text-muted);cursor:pointer;text-align:left;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:none;display:flex}.file-tree-folder{color:var(--text-secondary);font-weight:500}.file-tree-folder:hover{color:var(--text-primary);background:var(--bg-secondary)}.file-tree-file{padding:0;padding-left:calc(var(--depth,0) * 14px + var(--space-2));position:relative}.file-tree-file:hover{background:var(--bg-secondary)}.file-tree-file.active{background:var(--bg-dark);color:var(--text-primary)}.file-tree-file.active .file-tree-label{color:var(--text-primary)}.file-tree-file.readonly .file-tree-label{color:var(--text-muted)}.file-tree-label{align-items:center;gap:var(--space-2);min-height:28px;padding:var(--space-1) var(--space-2);color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;min-width:0;display:flex;overflow:hidden}.file-tree-label:hover{color:var(--text-primary)}.file-tree-caret{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.file-tree-caret.expanded{transform:rotate(90deg)}.file-tree-icon{color:var(--text-muted);flex-shrink:0}.file-tree-file.is-test .file-tree-icon{color:var(--accent);opacity:.8}.file-tree-file[class*=editable] .file-tree-icon,.file-tree-file:not(.readonly) .file-tree-icon{color:var(--text-secondary)}.file-tree-name{text-overflow:ellipsis;font-size:var(--text-base);overflow:hidden}.file-tree-lock{opacity:.45;color:var(--text-muted);flex-shrink:0;margin-left:auto}.file-tree-status{border-radius:var(--radius-pill);width:16px;height:16px;margin-left:var(--space-1);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.file-tree-status.status-pass{background:var(--accent)}.file-tree-status.status-fail{background:var(--danger)}.file-tree-status.status-running{background:var(--warning);color:var(--bg-primary)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.file-tree-run{width:24px;height:24px;margin-right:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-tree-file.is-test:hover .file-tree-run,.file-tree-file.is-test .file-tree-run:focus-visible,.file-tree-file.is-test.active .file-tree-run{opacity:1}.file-tree-run:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.file-tree-run:active:not(:disabled){transform:translateY(1px)}.file-tree-run:disabled{opacity:.4;cursor:wait}.editor-diff-view{padding:var(--space-2);background:var(--bg-dark);flex:1;overflow-y:auto}.diff-header{padding:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-base);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.btn-reject-all{padding:var(--space-1) var(--space-3);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;min-height:24px;transition:background var(--duration-fast) var(--ease-standard);background:0 0;font-family:inherit}.btn-reject-all:hover{background:var(--danger-dim)}.test-results{background:var(--bg-secondary);border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);max-height:40vh;overflow-y:auto}.test-results h3{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.test-summary{font-size:var(--text-sm);color:var(--text-secondary);text-transform:none;letter-spacing:0;font-weight:400}.test-loading,.test-empty,.test-error{font-size:var(--text-base);color:var(--text-muted);padding:var(--space-1) 0}.test-error{color:var(--danger);white-space:pre-wrap}.test-case{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-base);border-bottom:1px solid var(--border);display:flex}.test-case:last-child{border-bottom:none}.test-pass .test-icon{color:var(--accent)}.test-fail .test-icon{color:var(--danger)}.test-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:inline-flex}.test-details{flex:1;min-width:0}.test-label-row{align-items:center;gap:var(--space-2);display:flex}.test-label{color:var(--text-primary);font-weight:600}.test-role{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.test-role-public{background:var(--accent-dim);color:var(--accent)}.test-role-hidden{background:var(--bg-input);color:var(--text-muted)}.test-duration{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);margin-left:auto}.test-path{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);margin-top:2px}.test-stream-block{margin-top:var(--space-2)}.test-stream-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1);font-weight:600}.test-stream{padding:var(--space-2) var(--space-3);background:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);white-space:pre-wrap;line-height:var(--lh-normal);overflow-x:auto}.test-stderr{color:var(--danger);border-left:2px solid var(--danger)}.test-stdout{color:var(--text-secondary)}.chat-panel{background:var(--bg-secondary);flex-direction:column;height:100%;min-height:0;display:flex}.chat-panel>.chat-header{height:40px;padding:0 var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-base);color:var(--text-secondary);align-items:center;gap:var(--space-2);background:var(--bg-secondary);flex-shrink:0;font-weight:600;display:flex}.chat-dot{border-radius:var(--radius-pill);background:var(--text-muted);width:8px;height:8px;transition:background var(--duration-base) var(--ease-standard);flex-shrink:0}.chat-dot.streaming{background:var(--accent);animation:1.2s ease-in-out infinite chat-pulse}@keyframes chat-pulse{0%,to{opacity:.5;box-shadow:0 0 0 0 var(--accent-dim)}50%{opacity:1;box-shadow:0 0 0 4px #0000}}.chat-messages{padding:var(--space-4);flex:1;overflow-y:auto}.chat-empty{font-size:var(--text-md);color:var(--text-muted);line-height:var(--lh-relaxed)}.chat-msg{margin-bottom:var(--space-4)}.chat-sender{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.chat-bubble{font-size:var(--text-md);line-height:var(--lh-relaxed);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);white-space:pre-wrap;word-break:break-word}.chat-msg.user .chat-bubble{background:var(--accent-dim);color:var(--text-primary)}.chat-msg.assistant .chat-bubble{background:var(--bg-input);color:var(--text-secondary)}.chat-error{font-size:var(--text-md);color:var(--danger);padding:var(--space-1) 0}.chat-input-area{padding:var(--space-3);border-top:1px solid var(--border)}.chat-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-md);resize:none;transition:border-color var(--duration-fast) var(--ease-standard);outline:none;font-family:inherit}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--accent)}.chat-input:disabled{opacity:.5}.chat-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-2);text-align:center}.tool-invocation{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm)}.tool-invocation.tool-running{border-color:var(--warning)}.tool-invocation.tool-done{border-color:var(--border)}.tool-header{align-items:center;gap:var(--space-2);display:flex}.tool-icon{color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.tool-invocation.tool-running .tool-icon{color:var(--warning)}.tool-invocation.tool-done .tool-icon{color:var(--accent)}.tool-name{color:var(--accent);font-weight:600}.tool-input{color:var(--text-muted)}.tool-result{margin-top:var(--space-2)}.tool-result summary{cursor:pointer;color:var(--text-muted);font-size:var(--text-xs)}.tool-result pre{margin-top:var(--space-1);padding:var(--space-2);background:var(--bg-input);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;max-height:200px;overflow:auto}.proposal-card{margin:var(--space-2) 0;padding:var(--space-3);background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-md)}.proposal-header{font-size:var(--text-base);color:var(--text-primary);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.proposal-title{align-items:center;gap:var(--space-2);text-overflow:ellipsis;min-width:0;display:inline-flex;overflow:hidden}.btn-view-editor{padding:var(--space-1) var(--space-3);background:var(--accent);color:var(--bg-dark);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;min-height:24px;transition:background var(--duration-fast) var(--ease-standard);border:none;font-family:inherit;font-weight:600}.btn-view-editor:hover{background:var(--accent-hover)}.proposal-pending{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.proposal-summary{color:var(--text-primary);white-space:normal;font-weight:600}.proposal-files{margin:var(--space-2) 0 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.proposal-file{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);font-family:var(--font-mono);display:flex}.proposal-file-path{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.proposal-file-status{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:2px 6px;font-size:10px}.proposal-file-status.pending{background:var(--warning-dim,#ffa50033);color:var(--warning,orange)}.proposal-file-status.resolved{background:var(--accent-dim);color:var(--text-muted)}.chat-typing{padding:var(--space-2) var(--space-3);margin-top:var(--space-1);align-items:center;gap:4px;display:inline-flex}.chat-typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing-bounce;display:inline-block}.chat-typing-dot:nth-child(2){animation-delay:.15s}.chat-typing-dot:nth-child(3){animation-delay:.3s}@keyframes chat-typing-bounce{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.tool-result-file{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-input);border-radius:var(--radius-sm);font-size:var(--text-xs);display:flex}.tool-result-meta{color:var(--text-muted);font-family:var(--font-mono)}.tool-result-action{font-size:var(--text-xs);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:2px 8px;font-family:inherit}.tool-result-action:hover{background:var(--accent-dim)}.tool-stdout,.tool-stderr{margin-top:var(--space-1);padding:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;border-radius:var(--radius-sm);max-height:200px;overflow:auto}.tool-stdout{background:var(--bg-input);color:var(--text-secondary)}.tool-stderr{color:#ff8080;background:#ff505014}.tool-ok{color:var(--accent)}.tool-fail{color:#ff6b6b}.tool-result-error{margin-top:var(--space-1);padding:var(--space-2);color:#ff8080;border-radius:var(--radius-sm);font-size:var(--text-xs);background:#ff505014}.problem-meta{gap:var(--space-2);margin-top:var(--space-1);align-items:center;display:flex}.inline-diff{margin:var(--space-2) 0}.diff-actions{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.btn-diff{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;min-height:24px;transition:background var(--duration-fast) var(--ease-standard);border:none;font-family:inherit;font-weight:600}.btn-accept-all{background:var(--accent);color:var(--bg-dark)}.btn-accept-all:hover{background:var(--accent-hover)}.btn-apply-selected{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn-apply-selected:hover{background:var(--accent-dim)}.diff-hunk{margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.diff-hunk.hunk-accepted{border-color:var(--accent)}.hunk-header{padding:var(--space-1) var(--space-2);background:var(--bg-primary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.hunk-location{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.hunk-buttons{gap:var(--space-1);display:flex}.btn-hunk{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;min-height:20px;transition:background var(--duration-fast) var(--ease-standard);border:none;font-family:inherit}.btn-hunk-accept{background:var(--diff-add-accept);color:var(--accent)}.btn-hunk-accept:hover{background:var(--accent-dim)}.btn-hunk-reject{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-hunk-reject:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.hunk-lines{font-size:var(--text-xs);line-height:var(--lh-normal);font-family:var(--font-mono)}.diff-line{padding:0 var(--space-2);white-space:pre-wrap;display:flex}.diff-add{background:var(--diff-add-bg);color:var(--accent)}.diff-remove{background:var(--diff-remove-bg);color:var(--danger);text-decoration:line-through}.diff-context{color:var(--text-muted)}.diff-marker{width:var(--space-3);color:inherit;-webkit-user-select:none;user-select:none;flex-shrink:0}.diff-content{flex:1}.diff-applied{font-size:var(--text-xs);color:var(--accent);padding:var(--space-1) 0;font-style:italic}.diff-after-text{margin-top:var(--space-2)}.auth-page{min-height:calc(100vh - 48px);padding:var(--space-5);background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 45%), var(--bg-dark);justify-content:center;align-items:center;display:flex}.auth-card{border:1px solid color-mix(in srgb, var(--border) 82%, var(--accent) 18%);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-secondary) 90%, black 10%);text-align:center;width:100%;max-width:440px;padding:40px 32px;box-shadow:0 18px 44px #00000052,inset 0 0 0 1px #ffffff03}.auth-heading{color:var(--text-primary);letter-spacing:-.2px;margin-bottom:var(--space-5);font-size:22px;font-weight:600}.auth-title{font-size:var(--text-2xl);color:var(--accent);letter-spacing:.4px;margin-bottom:var(--space-1)}.auth-logo{width:240px;max-width:100%;height:auto;margin:0 auto var(--space-2);display:block}.auth-subtitle{color:var(--text-secondary);font-size:var(--text-md);margin-bottom:var(--space-5)}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-input{min-height:48px;padding:14px var(--space-4);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-md);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);outline:none}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.auth-button{min-height:48px;padding:14px var(--space-4);background:var(--accent);color:var(--bg-dark);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;font-weight:600;font-family:var(--font-sans);transition:background var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 30%, transparent);border:none}.auth-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.auth-button:active{transform:translateY(0)}.auth-button:disabled{opacity:.5;cursor:default}.auth-button-secondary{color:var(--text-primary);border:1px solid var(--border);width:100%;box-shadow:none;background:0 0;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.auth-button-secondary:hover{background:var(--bg-primary);border-color:color-mix(in srgb, var(--text-muted) 65%, var(--border) 35%)}.auth-button-google{color:#1f1f1f;justify-content:center;align-items:center;gap:var(--space-3);width:100%;box-shadow:none;transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);background:#fff;border:1px solid #dadce0;font-weight:500;text-decoration:none;display:flex}.auth-button-google:hover{background:#f6f7f9;transform:none;box-shadow:0 1px 2px #3c40432e}.auth-button-google-icon{flex-shrink:0;width:18px;height:18px}.auth-divider{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);margin:var(--space-4) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-error{color:var(--danger);font-size:var(--text-sm);text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.auth-toggle{margin-top:var(--space-5);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);padding:var(--space-2);background:0 0;border:none}.auth-toggle:hover{color:var(--text-secondary)}.auth-shell{flex-direction:column;min-height:100vh;display:flex}.auth-footer-text{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.auth-link-row{margin-top:var(--space-3);text-align:center}.auth-inline-link{color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.auth-inline-link:hover{color:var(--accent-hover)}.auth-fineprint{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);text-align:center}.legal-page{padding:var(--space-6) var(--space-4);justify-content:center;display:flex}.legal-article{width:100%;max-width:720px;font-family:var(--font-sans);color:var(--text-primary);line-height:1.65}.legal-article h1{font-size:var(--text-2xl);margin:0 0 var(--space-2)}.legal-article h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-2);color:var(--text-primary)}.legal-article p,.legal-article ul{margin:var(--space-3) 0;font-size:var(--text-md)}.legal-article ul{padding-left:var(--space-5)}.legal-article li{margin:var(--space-2) 0}.legal-article a{color:var(--accent);text-decoration:underline}.legal-meta{color:var(--text-muted);font-size:var(--text-sm)}.pricing-article .pricing-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);margin:var(--space-5) 0;background:var(--bg-secondary);gap:var(--space-4);flex-direction:column;display:flex}.pricing-card-tier{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.pricing-card-amount{align-items:baseline;gap:2px;display:flex}.pricing-card-currency{font-size:var(--text-lg);color:var(--text-muted)}.pricing-card-price{font-size:48px;font-weight:600;line-height:1}.pricing-card-period{margin-left:var(--space-2);color:var(--text-muted);font-size:var(--text-md)}.pricing-card-features{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pricing-card-features li{padding-left:var(--space-5);font-size:var(--text-md);position:relative}.pricing-card-features li:before{content:"✓";color:var(--accent);font-weight:600;position:absolute;left:0}.auth-flash{background:var(--accent-dim);color:var(--accent);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:left;margin-bottom:var(--space-4)}.auth-subtitle.left-align{text-align:left}.topbar-menu-wrap{margin-right:var(--space-2);position:relative}.topbar-menu-trigger{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-pill);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;font-family:inherit;display:flex}.topbar-menu-trigger:hover{border-color:var(--accent)}.topbar-menu-trigger-text{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.topbar-dropdown{right:0;top:calc(100% + var(--space-2));background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);z-index:50;min-width:200px;padding:var(--space-2);position:absolute;box-shadow:0 8px 24px #00000059}.topbar-dropdown-email{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);word-break:break-all}.topbar-dropdown-item{text-align:left;width:100%;padding:var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;font-family:inherit}.topbar-dropdown-item:hover{background:var(--bg-input)}.landing{flex-direction:column;flex:1;display:flex}.landing-section-title{font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 var(--space-6);text-align:center;letter-spacing:-.2px}.landing-hero{text-align:center;padding:var(--space-8) var(--space-5) var(--space-6);background:radial-gradient(ellipse 70% 60% at 50% 20%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), var(--bg-dark);flex-direction:column;align-items:center;display:flex}.landing-hero-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:var(--text-xs);color:var(--accent);margin:0 0 var(--space-4);font-weight:600}.landing-hero-title{letter-spacing:-.6px;color:var(--text-primary);max-width:880px;margin:0 0 var(--space-4);font-size:48px;font-weight:600;line-height:1.1}.landing-hero-sub{font-size:var(--text-lg);color:var(--text-secondary);max-width:640px;margin:0 0 var(--space-6);line-height:1.6}.landing-hero-cta{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.landing-hero-cta .auth-button{min-width:230px;text-decoration:none}.landing-hero-companies{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.landing-hero-companies-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.18em}.landing-hero-companies-list{justify-content:center;gap:var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-hero-companies-list li{font-size:var(--text-md);color:var(--text-secondary);letter-spacing:.5px;font-weight:500}.landing-shift{max-width:720px;padding:var(--space-8) var(--space-5);text-align:center;margin:0 auto}.landing-shift-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.22em;color:var(--text-muted);margin:0 0 var(--space-4);font-weight:600}.landing-shift-body{font-size:var(--text-lg);color:var(--text-secondary);margin:0 0 var(--space-5);line-height:1.7}.landing-shift-punchline{color:var(--accent);margin:0;font-size:28px;font-weight:600;line-height:1.2}.landing-demo{width:100%;max-width:1080px;padding:var(--space-6) var(--space-5) var(--space-8);margin:0 auto;scroll-margin-top:80px}.landing-demo-frame{border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%);padding:6px;box-shadow:0 24px 64px #00000073}.landing-demo-window{border:1px solid var(--border);border-radius:calc(var(--radius-lg) - 2px);font-family:var(--font-mono);background:#0e1014;font-size:12.5px;overflow:hidden}.landing-demo-titlebar{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);background:#15181f;padding:10px 14px;display:flex}.landing-demo-dot{background:#444;border-radius:50%;width:10px;height:10px}.landing-demo-dot[data-color=red]{background:#ff5f57}.landing-demo-dot[data-color=yellow]{background:#f1be4f}.landing-demo-dot[data-color=green]{background:#28c840}.landing-demo-tab{margin-left:var(--space-3);color:var(--text-muted);letter-spacing:.4px;font-size:11px}.landing-demo-grid{grid-template-columns:200px minmax(0,1fr) 280px;min-height:300px;display:grid}.landing-demo-tree{border-right:1px solid var(--border);background:#11141a;padding:12px}.landing-demo-tree-section{letter-spacing:.18em;color:var(--text-muted);margin-bottom:10px;font-size:10px}.landing-demo-tree-row{color:var(--text-secondary);white-space:nowrap;border-radius:3px;padding:3px 6px}.landing-demo-tree-row.is-active{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-primary)}.landing-demo-tree-indent{padding-left:18px}.landing-demo-tree-indent2{padding-left:32px}.landing-demo-editor{background:#0e1014;flex-direction:column;min-width:0;display:flex}.landing-demo-editor-tab{color:var(--text-secondary);border-bottom:1px solid var(--border);background:#15181f;padding:8px 14px;font-size:11px}.landing-demo-code{white-space:pre;font-family:var(--font-mono);margin:0;padding:10px 0;overflow-x:auto}.landing-demo-line{grid-template-columns:36px 1fr;padding:1px 0;display:grid}.landing-demo-line-cursor{background:#ffffff08}.landing-demo-ln{text-align:right;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding-right:12px}.landing-demo-code .kw{color:#c084fc}.landing-demo-code .ty{color:#47bfff}.landing-demo-code .fn{color:#f6c177}.landing-demo-code .cm{color:#6a737d;font-style:italic}.landing-demo-code .cursor{background:var(--accent);vertical-align:middle;width:1px;height:14px;animation:1s steps(2,end) infinite landing-demo-blink;display:inline-block}@keyframes landing-demo-blink{to{opacity:0}}.landing-demo-side{border-left:1px solid var(--border);background:#11141a;flex-direction:column;display:flex}.landing-demo-chat{border-bottom:1px solid var(--border);flex-direction:column;flex:1;gap:10px;padding:12px;display:flex}.landing-demo-chat-header,.landing-demo-tests-header{letter-spacing:.18em;color:var(--text-muted);font-size:10px}.landing-demo-msg{font-family:var(--font-sans);color:var(--text-secondary);background:#ffffff08;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.5}.landing-demo-msg-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:9.5px;display:block}.landing-demo-msg-agent{background:color-mix(in srgb, var(--accent) 9%, transparent)}.landing-demo-msg code{font-family:var(--font-mono);color:var(--text-primary);background:#ffffff0f;border-radius:3px;padding:1px 4px;font-size:11px}.landing-demo-tests{flex-direction:column;gap:6px;padding:12px;display:flex}.landing-demo-tests-header{justify-content:space-between;margin-bottom:4px;display:flex}.landing-demo-tests-count{color:var(--accent);font-family:var(--font-mono)}.landing-demo-test{font-family:var(--font-mono);border-radius:3px;padding:3px 6px;font-size:11.5px}.landing-demo-test-pass{color:var(--accent)}.landing-demo-test-fail{color:#ff7a8a}.landing-demo-test-pending{color:var(--text-muted)}.landing-demo-caption{text-align:center;margin:var(--space-5) 0 0;color:var(--text-secondary);font-size:var(--text-md);font-style:italic}.landing-how{width:100%;max-width:1080px;padding:var(--space-8) var(--space-5);margin:0 auto}.landing-how-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.landing-how-step{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.landing-how-num{background:color-mix(in srgb, var(--accent) 18%, transparent);width:32px;height:32px;color:var(--accent);margin-bottom:var(--space-3);font-weight:600;font-family:var(--font-mono);border-radius:50%;place-items:center;display:grid}.landing-how-step h3{font-size:var(--text-lg);color:var(--text-primary);margin:0 0 var(--space-2)}.landing-how-step p{font-size:var(--text-md);color:var(--text-secondary);margin:0;line-height:1.6}.landing-compare{width:100%;max-width:960px;padding:var(--space-8) var(--space-5);gap:var(--space-6);grid-template-columns:1fr 1fr;margin:0 auto;display:grid}.landing-compare-col ul{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.landing-compare-col li{font-size:var(--text-md);color:var(--text-secondary);padding-left:28px;line-height:1.6;position:relative}.landing-compare-col.is-yes li:before{content:"✓"}.landing-compare-title{font-size:var(--text-xl,18px);margin:0 0 var(--space-4);letter-spacing:-.2px}.landing-compare-title.is-yes{color:var(--accent)}.landing-compare-title.is-no{color:var(--text-muted)}.landing-compare-col:first-child li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.landing-compare-col:last-child li:before{content:"✗";color:var(--text-muted);font-weight:700;position:absolute;left:0}.landing-pricing{width:100%;max-width:720px;padding:var(--space-6) var(--space-5);margin:0 auto}.landing-pricing-card{border:1px solid color-mix(in srgb, var(--border) 70%, var(--accent) 30%);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--bg-secondary);text-align:center}.landing-pricing-headline{font-size:var(--text-lg);color:var(--accent);margin:0 0 var(--space-2);font-weight:600}.landing-pricing-body{font-size:var(--text-md);color:var(--text-secondary);margin:0 0 var(--space-3);line-height:1.6}.landing-pricing-link{font-size:var(--text-sm)}.landing-faq{width:100%;max-width:720px;padding:var(--space-8) var(--space-5);margin:0 auto}.landing-faq-list{gap:var(--space-2);flex-direction:column;display:flex}.landing-faq-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}.landing-faq-item summary{padding:var(--space-4) var(--space-5);cursor:pointer;color:var(--text-primary);font-weight:500;font-size:var(--text-md);list-style:none;position:relative}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";right:var(--space-5);color:var(--accent);font-family:var(--font-mono);transition:transform .2s;position:absolute;top:50%;transform:translateY(-50%)}.landing-faq-item[open] summary:after{content:"−"}.landing-faq-item p{padding:0 var(--space-5) var(--space-4);font-size:var(--text-md);color:var(--text-secondary);margin:0;line-height:1.65}.landing-cta-final{text-align:center;padding:var(--space-8) var(--space-5);background:radial-gradient(ellipse 70% 80% at 50% 50%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%)}.landing-cta-final-title{font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 var(--space-5)}.landing-cta-final .auth-button{min-width:240px;text-decoration:none}.landing-cta-final-row{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.landing-cta-final-aside{margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}@media (width<=760px){.landing-hero-title{font-size:32px}.landing-hero{padding:var(--space-6) var(--space-4) var(--space-5)}.landing-shift-punchline{font-size:22px}.landing-demo-grid{grid-template-columns:1fr}.landing-demo-tree,.landing-demo-side{border-left:0;border-right:0}.landing-demo-tree{display:none}.landing-compare{gap:var(--space-5);grid-template-columns:1fr}.landing-cta-final-title{font-size:var(--text-xl,20px)}}@media (width<=480px){.landing-hero-companies-list{gap:var(--space-3)}}.catalog-page{width:100%;max-width:1080px;padding:var(--space-8) var(--space-5);margin:0 auto}.catalog-header{text-align:center;margin-bottom:var(--space-6)}.catalog-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin:0 0 var(--space-3);font-weight:600}.catalog-header h1{letter-spacing:-.4px;color:var(--text-primary);margin:0 0 var(--space-3);font-size:36px;font-weight:600;line-height:1.15}.catalog-subtitle{font-size:var(--text-md);color:var(--text-secondary);max-width:640px;margin:0 auto;line-height:1.6}.catalog-filters{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.catalog-filter{border-radius:var(--radius-pill);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast,.15s) ease, background var(--duration-fast,.15s) ease, color var(--duration-fast,.15s) ease;padding:6px 14px;font-family:inherit}.catalog-filter:hover{border-color:var(--accent);color:var(--text-primary)}.catalog-filter.is-active{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:var(--accent);color:var(--accent)}.catalog-filter-sep{color:var(--text-muted);padding:0 var(--space-2);align-self:center}.catalog-loading,.catalog-empty,.catalog-error{text-align:center;color:var(--text-secondary);padding:var(--space-6) 0}.catalog-error{color:#ff7a8a}.catalog-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.catalog-card{gap:var(--space-3);padding:var(--space-5);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;color:inherit;transition:border-color var(--duration-fast,.15s) ease, transform var(--duration-fast,.15s) ease, box-shadow var(--duration-fast,.15s) ease;flex-direction:column;font-family:inherit;display:flex}.catalog-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 24px #00000052}.catalog-card-meta{align-items:center;gap:var(--space-3);display:flex}.catalog-card-stages{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.catalog-card-title{font-size:var(--text-lg);color:var(--text-primary);margin:0;line-height:1.3}.catalog-card-targets{flex-wrap:wrap;gap:6px;display:flex}.catalog-card-target{font-size:var(--text-xs);border-radius:var(--radius-pill);color:var(--text-secondary);letter-spacing:.3px;background:#ffffff0a;padding:3px 8px}.catalog-card-cta{font-size:var(--text-sm);color:var(--accent);opacity:.85;margin-top:auto}.catalog-card:hover .catalog-card-cta{opacity:1}.catalog-cta-band{margin-top:var(--space-8);padding:var(--space-5);text-align:center}.catalog-cta-band-line{color:var(--text-muted);font-size:var(--text-sm);max-width:540px;margin:0 auto;line-height:1.6}@media (width<=600px){.catalog-header h1{font-size:26px}.catalog-page{padding:var(--space-6) var(--space-4)}}.company-page{width:100%;max-width:860px;padding:var(--space-8) var(--space-5);margin:0 auto}.company-hero{text-align:left;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.company-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:var(--text-xs);color:var(--accent);margin:0 0 var(--space-3);font-weight:600}.company-title{letter-spacing:-.5px;color:var(--text-primary);margin:0 0 var(--space-4);font-size:40px;font-weight:600;line-height:1.18}.company-deck{font-size:var(--text-lg);color:var(--text-secondary);margin:0 0 var(--space-3);line-height:1.6}.company-byline{font-size:var(--text-sm);color:var(--text-muted);margin:0;font-style:italic}.company-facts{border:1px solid color-mix(in srgb, var(--border) 70%, var(--accent) 30%);border-radius:var(--radius-lg);background:var(--bg-secondary);padding:var(--space-5);margin-bottom:var(--space-6)}.company-facts-title{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 var(--space-4);font-weight:600}.company-facts-list{gap:var(--space-3) var(--space-5);grid-template-columns:140px 1fr;margin:0;display:grid}.company-facts-list>div{display:contents}.company-facts-list dt{color:var(--text-primary);font-weight:600;font-size:var(--text-sm)}.company-facts-list dd{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.55}.company-article{font-family:var(--font-sans);color:var(--text-primary);line-height:1.7}.company-article h2{margin:var(--space-8) 0 var(--space-3);color:var(--text-primary);letter-spacing:-.2px;font-size:24px}.company-article h3{margin:var(--space-6) 0 var(--space-2);color:var(--text-primary);font-size:18px}.company-article p,.company-article ul{margin:var(--space-3) 0;font-size:var(--text-md);color:var(--text-secondary)}.company-article ul{padding-left:var(--space-5)}.company-article li{margin:var(--space-3) 0;line-height:1.65}.company-article a{color:var(--accent);text-decoration:underline}.company-article b{color:var(--text-primary);font-weight:600}.company-pullquote{border-left:3px solid var(--accent);padding:var(--space-3) var(--space-5);margin:var(--space-5) 0;background:color-mix(in srgb, var(--accent) 7%, transparent);font-size:var(--text-md);color:var(--text-primary);font-style:italic;line-height:1.6}.company-pullquote cite{margin-top:var(--space-2);font-style:normal;font-size:var(--text-sm);color:var(--text-muted);display:block}.company-cta-row{margin:var(--space-5) 0}.company-cta-row .auth-button{text-decoration:none;display:inline-flex}.company-sources-title{margin-top:var(--space-8);border-top:1px solid var(--border);padding-top:var(--space-5)}.company-sources{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.company-sources a{color:var(--text-secondary)}.company-sources a:hover{color:var(--accent)}@media (width<=600px){.company-title{font-size:28px}.company-page{padding:var(--space-6) var(--space-4)}.company-facts-list{gap:var(--space-1) 0;grid-template-columns:1fr}.company-facts-list dt{margin-top:var(--space-3)}.company-facts-list>div:first-child dt{margin-top:0}}.site-footer{border-top:1px solid var(--border);padding:var(--space-8) var(--space-5) var(--space-6);background:var(--bg-dark);margin-top:var(--space-8)}.site-footer-grid{gap:var(--space-6) var(--space-5);max-width:1080px;margin:0 auto;margin-bottom:var(--space-6);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.site-footer-brand-col{gap:var(--space-2);flex-direction:column;display:flex}.site-footer-brand{font-size:var(--text-lg);color:var(--text-primary);letter-spacing:.4px;margin:0;font-weight:600}.site-footer-tag{color:var(--text-muted);font-size:var(--text-sm);max-width:280px;margin:0;line-height:1.55}.site-footer-col h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--text-secondary);margin:0 0 var(--space-3);font-weight:600}.site-footer-col ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.site-footer-col a{color:var(--text-muted);font-size:var(--text-sm);line-height:1.5;text-decoration:none}.site-footer-col a:hover{color:var(--accent)}.site-footer-disclaimer{max-width:1080px;padding-top:var(--space-5);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-xs);text-align:center;margin:0 auto;line-height:1.6}@media (width<=760px){.site-footer-grid{grid-template-columns:1fr 1fr}.site-footer-brand-col{grid-column:1/-1}}@media (width<=480px){.site-footer-grid{grid-template-columns:1fr}.site-footer{padding:var(--space-6) var(--space-4) var(--space-5)}}
