:root,[data-theme=light]{--ink: #0A0A0A;--ink-soft: #1F1F1F;--graphite: #4A4A4A;--slate: #767676;--mist: #A8A8A8;--line: #E5E5E5;--line-soft: #EFEFEF;--haze: #F5F5F5;--paper: #FAFAFA;--white: #FFFFFF;--bg-page: var(--paper);--bg-surface: var(--white);--bg-surface-2: var(--haze);--bg-surface-3: var(--paper);--bg-inverse: var(--ink);--bg-overlay: rgba(10, 10, 10, .55);--text-1: var(--ink);--text-2: var(--graphite);--text-3: var(--slate);--text-4: var(--mist);--text-inverse: var(--white);--border-1: var(--line);--border-2: var(--line-soft);--border-strong: var(--ink);--btn-primary-bg: var(--ink);--btn-primary-fg: var(--white);--btn-primary-hover: var(--ink-soft);--focus-ring: rgba(10, 10, 10, .08);--accent: #A8522A;--accent-bg: rgba(168, 82, 42, .1);--accent-border: rgba(168, 82, 42, .25);--critical: #C03A3A;--critical-bg: rgba(192, 58, 58, .1);--high: #C06B2A;--high-bg: rgba(192, 107, 42, .1);--medium: #3D6B8F;--medium-bg: rgba(61, 107, 143, .1);--low: #4A7A52;--low-bg: rgba(74, 122, 82, .1);--owner: #6B5288;--owner-bg: rgba(107, 82, 136, .1);--warning: #B45309;--warning-bg: #FEF3C7;--warning-line: #FCD34D;--avatar-orange: #B96A3A;--avatar-blue: #4A6E8F;--avatar-purple: #7A6295;--avatar-pink: #A85E78;--avatar-teal: #4A8578;--ac-warm-bg: #FFEDD5;--ac-warm-fg: #9A3412;--ac-cool-bg: #DBEAFE;--ac-cool-fg: #1E40AF;--ac-purp-bg: #EDE9FE;--ac-purp-fg: #5B21B6;--shadow-xs: 0 1px 2px rgba(10, 10, 10, .04);--shadow-sm: 0 1px 3px rgba(10, 10, 10, .06), 0 1px 2px rgba(10, 10, 10, .04);--shadow-md: 0 4px 12px rgba(10, 10, 10, .06), 0 2px 4px rgba(10, 10, 10, .04);--shadow-lg: 0 12px 32px rgba(10, 10, 10, .08), 0 4px 12px rgba(10, 10, 10, .04);--shadow-xl: 0 24px 64px rgba(10, 10, 10, .1), 0 8px 24px rgba(10, 10, 10, .05);--gesture-stroke: #0A0A0A;--dot-pattern: radial-gradient(circle, rgba(0,0,0,.07) 1px, transparent 1px)}[data-theme=dark]{--ink: #F4F1ED;--ink-soft: #E8E4DE;--graphite: #C7C1B8;--slate: #918A80;--mist: #6E6862;--line: #3A3633;--line-soft: #2A2724;--haze: #1E1B18;--paper: #0C0A09;--white: #171412;--bg-page: #0C0A09;--bg-surface: #171412;--bg-surface-2: #1E1B18;--bg-surface-3: #100E0C;--bg-inverse: #F4F1ED;--bg-overlay: rgba(12, 10, 9, .82);--text-1: #F4F1ED;--text-2: #C7C1B8;--text-3: #918A80;--text-4: #6E6862;--text-inverse: #0C0A09;--border-1: #3A3633;--border-2: #2A2724;--border-strong: #F4F1ED;--btn-primary-bg: #F4F1ED;--btn-primary-fg: #0C0A09;--btn-primary-hover: #E8E4DE;--focus-ring: rgba(244, 241, 237, .18);--accent: #E0956B;--accent-bg: rgba(224, 149, 107, .14);--accent-border: rgba(224, 149, 107, .3);--critical: #E08585;--critical-bg: rgba(224, 133, 133, .14);--high: #DFA173;--high-bg: rgba(223, 161, 115, .13);--medium: #8FAEC5;--medium-bg: rgba(143, 174, 197, .13);--low: #93B998;--low-bg: rgba(147, 185, 152, .13);--owner: #AE9AC5;--owner-bg: rgba(174, 154, 197, .14);--warning: #FCD34D;--warning-bg: rgba(252, 211, 77, .14);--warning-line: rgba(252, 211, 77, .45);--ac-warm-bg: rgba(253, 164, 122, .1);--ac-warm-fg: #FED7AA;--ac-cool-bg: rgba(123, 169, 255, .1);--ac-cool-fg: #C7D9FF;--ac-purp-bg: rgba(181, 156, 255, .12);--ac-purp-fg: #DDD6FE;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .8);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-md: 0 6px 16px rgba(0, 0, 0, .75), 0 2px 4px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .85), 0 6px 16px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .9), 0 12px 32px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08);--gesture-stroke: #F4F1ED;--dot-pattern: radial-gradient(circle, rgba(244,241,237,.09) 1px, transparent 1px)}:root{--font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "SF Mono", Menlo, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base:1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.5rem;--text-4xl: 3.5rem;--text-5xl: 5.5rem;--leading-tight: 1.05;--leading-snug: 1.25;--leading-normal: 1.55;--leading-loose: 1.75;--tracking-display: -.04em;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 6rem;--space-11: 8rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-instant: 80ms;--duration-fast: .16s;--duration-base: .24s;--duration-slow: .4s;--duration-deliberate: .64s;--max-w: 1280px}.t-display{font-family:var(--font-display);font-weight:400;font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.t-h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.t-h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.t-h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.t-h4{font-family:var(--font-sans);font-weight:600;font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug)}.t-body-lg{font-family:var(--font-sans);font-weight:400;font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--text-2)}.t-body{font-family:var(--font-sans);font-weight:400;font-size:var(--text-base);line-height:var(--leading-normal)}.t-body-sm{font-family:var(--font-sans);font-weight:400;font-size:var(--text-sm);line-height:var(--leading-normal)}.t-caption{font-family:var(--font-sans);font-weight:400;font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-3)}.t-label{font-family:var(--font-mono);font-weight:500;font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-3)}.t-display em,.t-h1 em,.t-h2 em,.t-h3 em{font-style:italic;font-weight:400}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-1);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--text-1);color:var(--bg-page)}.gesture{position:relative;display:inline-block}.gesture:after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.08em;height:.42em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' fill='none' stroke='%230A0A0A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 8 Q 50 2, 100 6 T 200 5 T 298 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%;pointer-events:none;opacity:.85}[data-theme=dark] .gesture:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' fill='none' stroke='%23F4F4F4' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 8 Q 50 2, 100 6 T 200 5 T 298 7'/%3E%3C/svg%3E")}html,body,#root{height:100%;margin:0}body{background:var(--bg-page);color:var(--text-1)}.btn{display:inline-flex;align-items:center;gap:8px;padding:0 16px;height:36px;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-1);cursor:pointer;white-space:nowrap;line-height:1;transition:all var(--duration-fast) var(--ease-out)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);border-color:var(--btn-primary-hover)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-1);color:var(--text-1)}.btn-secondary:hover{border-color:var(--text-1)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{background:var(--bg-surface-2);color:var(--text-1)}.btn-danger{background:var(--critical);color:#fff;border-color:var(--critical)}.btn-danger:hover{filter:brightness(.92)}.btn-sm{height:28px;padding:0 12px;font-size:var(--text-xs)}.btn-lg{height:44px;padding:0 24px;font-size:var(--text-base)}.btn-icon{width:36px;padding:0;justify-content:center}.btn-block{width:100%;justify-content:center}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn svg{width:14px;height:14px;stroke-width:1.75}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-xs);line-height:1;white-space:nowrap}.tag-critical{background:var(--critical-bg);color:var(--critical)}.tag-high{background:var(--high-bg);color:var(--high)}.tag-medium{background:var(--medium-bg);color:var(--medium)}.tag-low{background:var(--low-bg);color:var(--low)}.tag-owner{background:var(--owner-bg);color:var(--owner)}.tag-neutral{background:var(--bg-surface-2);color:var(--text-2)}.avatar{width:28px;height:28px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);font-weight:600;flex-shrink:0;font-family:var(--font-sans)}.avatar.sm{width:22px;height:22px;font-size:var(--text-2xs)}.avatar.lg{width:40px;height:40px;font-size:var(--text-sm)}.avatar.circle{border-radius:50%}.avatar.orange{background:var(--avatar-orange)}.avatar.blue{background:var(--avatar-blue)}.avatar.purple{background:var(--avatar-purple)}.avatar.pink{background:var(--avatar-pink)}.avatar.teal{background:var(--avatar-teal)}.avatar.ink{background:var(--text-1);color:var(--bg-page)}.avatar.mark{background:var(--bg-inverse);color:var(--text-inverse);padding:3px;overflow:hidden}.avatar.mark svg{width:100%;height:100%;display:block}.pill-button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--text-2);cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-sans)}.pill-button:hover{border-color:var(--text-1);color:var(--text-1)}.pill-button svg{width:12px;height:12px;stroke-width:1.75}.back-link{all:unset;cursor:pointer;font-size:var(--text-xs);color:var(--text-3);letter-spacing:var(--tracking-wide);font-family:var(--font-mono);white-space:nowrap}.back-link:hover{color:var(--text-1)}.msg{display:flex;gap:12px}.msg-author{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;margin-top:2px;font-family:var(--font-sans)}.msg-author.user{background:var(--avatar-orange);color:#fff}.msg-author.agent{background:var(--bg-inverse);color:var(--text-inverse);overflow:hidden;padding:4px}.msg-author.agent svg{width:100%;height:100%}.msg-name{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.msg-name strong{font-size:var(--text-sm);font-weight:600;color:var(--text-1)}.msg-name time{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4)}.msg-content{font-size:var(--text-sm);color:var(--text-1);line-height:var(--leading-normal)}.msg-content p{margin:0 0 12px}.msg-content p:last-child{margin-bottom:0}.chat-typing{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-surface-2);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3)}.chat-typing-dots{display:inline-flex;gap:3px}.chat-typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--text-3);animation:typing 1.4s infinite ease-in-out}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.chat-composer{border:1px solid var(--border-1);border-radius:var(--radius-md);padding:12px;background:var(--bg-surface);display:flex;flex-direction:column;gap:12px;transition:border-color var(--duration-fast)}.chat-composer:focus-within{border-color:var(--text-1);box-shadow:0 0 0 3px var(--focus-ring)}.chat-composer textarea{width:100%;border:none;resize:none;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-1);background:transparent;line-height:var(--leading-normal);min-height:22px;max-height:160px;overflow-y:auto}.chat-composer textarea::placeholder{color:var(--text-4)}.chat-composer textarea:focus{outline:none}.composer-foot{display:flex;align-items:center;gap:8px}.composer-tools{display:flex;gap:2px}.composer-tool{width:28px;height:28px;background:transparent;border:none;cursor:pointer;color:var(--text-3);border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center}.composer-tool:hover{background:var(--bg-surface-2);color:var(--text-1)}.composer-tool svg{width:16px;height:16px;stroke-width:1.75}.composer-send{margin-left:auto;width:32px;height:32px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.composer-send:disabled{opacity:.4;cursor:not-allowed}.composer-send svg{width:14px;height:14px;stroke-width:2}.kanban-strip{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;flex:1;min-height:0}.kanban-col{width:280px;flex-shrink:0}.kanban-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px 10px;border-bottom:1px solid var(--border-1);margin-bottom:12px}.kanban-head .title{font-size:var(--text-sm);font-weight:600;color:var(--text-1);white-space:nowrap}.kanban-head .count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3)}.kanban-stack{display:flex;flex-direction:column;gap:10px}.kanban-empty{font-size:var(--text-sm);color:var(--text-4);font-style:italic;padding:32px 0;text-align:center;border:1px dashed var(--border-2);border-radius:var(--radius-md)}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--warning-bg);border:1px solid var(--warning-line);margin-bottom:16px}.entry-stage{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-surface-3);position:relative;overflow:hidden;padding:48px 24px}.entry-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--dot-pattern);background-size:24px 24px;pointer-events:none}.entry-stage>*{position:relative}.entry-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px;color:var(--text-1)}.entry-brand svg{height:22px}.entry-card{background:var(--bg-surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:48px;max-width:560px;width:100%}.entry-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);margin:0 0 16px;display:inline-flex;align-items:center;gap:8px}.entry-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--low);display:inline-block}.entry-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-4xl);letter-spacing:var(--tracking-display);line-height:1.05;margin:0 0 20px;color:var(--text-1);text-wrap:balance}.entry-title em{font-style:italic}.entry-lede{font-size:var(--text-base);color:var(--text-2);margin:0 0 32px;line-height:var(--leading-normal);max-width:44ch}.entry-url{display:flex;align-items:stretch;gap:8px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:6px 6px 6px 14px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.entry-url:focus-within{border-color:var(--text-1);box-shadow:0 0 0 3px var(--focus-ring)}.entry-url .url-prefix{display:inline-flex;align-items:center;color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-sm);padding-right:8px;border-right:1px solid var(--border-2);margin-right:4px;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}.entry-url input{flex:1;border:none;background:transparent;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-1);padding:8px 4px}.entry-url input:focus{outline:none}.entry-url input::placeholder{color:var(--text-4)}.entry-url .btn{height:36px}.entry-or{display:flex;align-items:center;gap:12px;margin:24px 0;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3)}.entry-or:before,.entry-or:after{content:"";flex:1;height:1px;background:var(--border-2)}.entry-alts{display:flex;flex-direction:column;gap:10px}.entry-alt{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast);text-align:left;font-family:inherit;color:var(--text-1);width:100%}.entry-alt:hover{border-color:var(--text-1);background:var(--bg-surface)}.entry-alt-ic{width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--bg-surface-2);border:1px solid var(--border-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-1)}.entry-alt-body{flex:1;min-width:0}.entry-alt-name{font-size:var(--text-sm);font-weight:500;color:var(--text-1);line-height:1.3}.entry-alt-desc{font-size:var(--text-xs);color:var(--text-3);margin-top:2px}.entry-alt-chev{color:var(--text-3)}.auth-toggle{display:block;width:100%;text-align:center;background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-3);padding:8px 0;transition:color var(--duration-fast)}.auth-toggle:hover{color:var(--text-1)}.auth-hint{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--critical);margin:4px 0 0 2px}.auth-error{margin-top:10px;padding:10px 14px;background:var(--critical-bg);color:var(--critical);font-size:var(--text-sm);line-height:var(--leading-snug);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px}.auth-error-action{background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--critical);padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--duration-fast)}.auth-error-action:hover{opacity:.7}.entry-foot{margin-top:24px;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.entry-foot kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border-1);border-radius:3px;font-family:var(--font-mono);font-size:10px;background:var(--bg-surface);margin:0 2px}.entry-samples{margin-top:24px}.entry-samples-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);margin:0 0 10px}.sample-chips{display:flex;flex-wrap:wrap;gap:6px}.sample-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-2);cursor:pointer;white-space:nowrap}.sample-chip:hover{border-color:var(--text-1);color:var(--text-1)}.sample-chip .star{font-family:var(--font-mono);font-size:10px;color:var(--text-3)}.entry-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:920px;width:100%;background:var(--bg-surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;min-height:520px}.entry-split-left{padding:40px 36px;border-right:1px solid var(--border-2);display:flex;flex-direction:column}.entry-split-right{padding:40px 36px;background:var(--bg-surface-3);display:flex;flex-direction:column;gap:12px}.entry-split-right h3{font-family:var(--font-sans);font-weight:600;font-size:var(--text-base);margin:0 0 4px;color:var(--text-1)}.entry-split-right p{font-size:var(--text-xs);color:var(--text-3);margin:0 0 20px;line-height:var(--leading-normal)}.dropzone{flex:1;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:12px;min-height:200px}.dropzone-ic{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--bg-surface-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-2)}.dropzone-title{font-size:var(--text-sm);font-weight:500;color:var(--text-1)}.dropzone-sub{font-size:var(--text-xs);color:var(--text-3)}.dropzone-sub strong{color:var(--text-1);text-decoration:underline;cursor:pointer;font-weight:500}.analyze-wrap{display:grid;grid-template-columns:1fr 360px;gap:0;height:100%;background:var(--bg-page)}.analyze-main{padding:56px 48px 48px;overflow-y:auto;min-width:0}.analyze-side{border-left:1px solid var(--border-1);background:var(--bg-surface);padding:32px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.analyze-target{display:flex;align-items:center;gap:10px;margin-bottom:24px}.analyze-target .repo-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-1)}.analyze-target .repo-pill .gh{width:18px;height:18px;border-radius:50%;background:var(--text-1);color:var(--bg-page);display:inline-flex;align-items:center;justify-content:center}.analyze-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);letter-spacing:var(--tracking-display);line-height:1.05;margin:0 0 12px}.analyze-title em{font-style:italic}.analyze-lede{font-size:var(--text-base);color:var(--text-2);margin:0 0 32px;max-width:56ch}.phase-rail{display:flex;flex-direction:column;gap:2px;margin-bottom:28px}.phase{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;padding:10px 0;font-size:var(--text-sm)}.phase+.phase{border-top:1px solid var(--border-2)}.phase-ic{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface-2);color:var(--text-3);border:1px solid var(--border-1)}.phase-ic svg{width:12px;height:12px}.phase.done .phase-ic{background:var(--text-1);color:var(--bg-page);border-color:var(--text-1)}.phase.active .phase-ic{background:var(--bg-surface);color:var(--text-1);border-color:var(--text-1);position:relative}.phase.active .phase-ic:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:1.5px solid var(--text-1);border-radius:50%;opacity:.25;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.85);opacity:.35}to{transform:scale(1.5);opacity:0}}.phase-name{font-weight:500;color:var(--text-1)}.phase.pending .phase-name{color:var(--text-3);font-weight:400}.phase-meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.log-shell{border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.log-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-2);background:var(--bg-surface-3);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3)}.log-head .dots{display:inline-flex;gap:4px;margin-right:4px}.log-head .dots span{width:8px;height:8px;border-radius:50%;background:var(--border-1)}.log-head .live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--low);font-weight:500}.log-head .live .dot{width:6px;height:6px;border-radius:50%;background:var(--low);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{50%{opacity:.35}}.log-body{max-height:460px;overflow-y:auto;padding:14px 16px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-2);line-height:1.65;background:var(--bg-surface)}.log-line{display:grid;grid-template-columns:64px 14px 1fr;gap:10px;align-items:baseline;padding:1px 0;animation:lineIn .32s ease-out}@keyframes lineIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.log-time{color:var(--text-4)}.log-marker{color:var(--text-3)}.log-msg{color:var(--text-2);min-width:0}.log-msg .path{color:var(--text-1)}.log-msg .ent{color:var(--medium)}.log-msg .ok{color:var(--low)}.log-msg .warn{color:var(--high)}.log-msg .ag{color:var(--owner);font-style:italic}.log-msg .num{color:var(--text-1);font-feature-settings:"tnum" on}.stat-row{display:flex;align-items:baseline;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-2);font-size:var(--text-sm)}.stat-row:last-child{border-bottom:none}.stat-label{color:var(--text-2)}.stat-val{font-family:var(--font-mono);color:var(--text-1);font-feature-settings:"tnum" on}.stat-val.muted{color:var(--text-3)}.side-title{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);margin:0 0 8px}.file-stream{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}.file-line{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);animation:lineIn .32s ease-out;min-width:0}.file-line .check{width:10px;height:10px;flex-shrink:0;color:var(--low)}.file-line .path{color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.file-line .size{color:var(--text-4);flex-shrink:0;white-space:nowrap}.ont-shell{display:grid;grid-template-columns:260px 1fr auto;height:100%;background:var(--bg-page)}.ont-shell.panel-closed{grid-template-columns:260px 1fr}.ont-nav{background:var(--bg-surface-3);border-right:1px solid var(--border-1);padding:0 12px 24px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;min-width:0}.ont-nav-back{display:flex;align-items:center;gap:5px;padding:10px 10px 8px;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:color var(--duration-fast);flex-shrink:0}.ont-nav-back:hover{color:var(--text-1)}.ont-nav-head{display:flex;align-items:center;gap:8px;padding:4px 8px 12px;border-bottom:1px solid var(--border-2);margin-bottom:12px}.ont-nav-head .repo-icon{width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--text-1);color:var(--bg-page);display:inline-flex;align-items:center;justify-content:center}.ont-nav-head .repo-icon svg{width:14px;height:14px}.ont-nav-head .repo-meta{flex:1;min-width:0}.ont-nav-head .repo-name{font-size:var(--text-sm);font-weight:600;color:var(--text-1);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ont-nav-head .repo-sub{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ont-section-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);padding:12px 10px 6px;display:flex;align-items:center;justify-content:space-between;border-left:2px solid transparent;margin-left:-1px}.ont-section-label--neutral{border-left-color:var(--border-1)}.ont-section-label--blue{border-left-color:color-mix(in srgb,var(--accent) 35%,transparent)}.ont-section-label--green{border-left-color:color-mix(in srgb,var(--accent) 65%,transparent)}.ont-section-label--amber{border-left-color:var(--accent);color:var(--accent)}.ont-gen-btn{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent);background:none;border:1px solid var(--accent-border);border-radius:var(--radius-pill);padding:2px 8px;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.ont-gen-btn:hover:not(:disabled){background:var(--accent);color:var(--bg-surface)}.ont-gen-btn:disabled{opacity:.5;cursor:not-allowed}.ont-nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-2);cursor:pointer;background:transparent;border:none;width:100%;text-align:left;font-family:var(--font-sans);position:relative}.ont-nav-item:hover{background:var(--bg-surface-2);color:var(--text-1)}.ont-nav-item.active{background:var(--bg-surface);color:var(--text-1);font-weight:500;box-shadow:var(--shadow-xs)}.ont-nav-item svg{width:14px;height:14px;stroke-width:1.75;color:var(--text-3);flex-shrink:0}.ont-nav-item.active svg{color:var(--accent)}.ont-nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4)}.ont-nav-foot{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--border-2);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ont-foot-sep{color:var(--border-strong)}.ont-theme-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-3);padding:2px;display:flex;align-items:center;border-radius:var(--radius-sm)}.ont-theme-btn:hover{color:var(--text-1);background:var(--bg-surface-2)}.ont-nav-doc{padding-left:16px}.ont-doc-bullet{font-size:16px;color:var(--text-4);line-height:1;flex-shrink:0;margin-right:-2px}.ont-doc-title{font-size:var(--text-xs);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.ont-nav-doc.active .ont-doc-title{color:var(--text-1);font-weight:500}.ont-nav-doc:hover .ont-doc-title{color:var(--text-1)}.ont-main{overflow-y:auto;min-width:0}.ont-main-bar{display:flex;align-items:center;gap:10px;padding:10px 24px;border-bottom:1px solid var(--border-1);background:var(--bg-surface);position:sticky;top:0;z-index:2}.ont-crumb{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-3)}.ont-crumb strong{color:var(--text-1);font-weight:500}.ont-crumb .chev{color:var(--text-4)}.ont-main-bar .spacer{flex:1}.ont-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3)}.ont-page{max-width:1000px;margin:0 auto;padding:28px 36px 96px;font-size:var(--text-sm);color:var(--text-1);line-height:var(--leading-normal)}.ont-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);margin:0 0 10px;display:flex;align-items:center;gap:8px}.ont-h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);letter-spacing:var(--tracking-snug);line-height:1.1;margin:0 0 8px;color:var(--text-1);text-wrap:balance}.ont-h1 em{font-style:italic}.ont-lede{font-size:var(--text-sm);color:var(--text-2);margin:0 0 16px;line-height:var(--leading-normal);max-width:76ch;text-wrap:pretty}.page-head{border-bottom:1px solid var(--border-2);padding-bottom:18px;margin-bottom:24px}.meta-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px 24px;margin-top:14px}.meta-strip>div{display:flex;flex-direction:column;gap:3px;min-width:0}.meta-strip .k{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3)}.meta-strip .v{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-feature-settings:"tnum" on}.meta-strip .v.ok{color:var(--low)}.meta-strip .v.med{color:var(--high)}.subtabs{display:flex;align-items:center;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-2)}.subtab{padding:8px 12px 10px;font-size:var(--text-xs);font-weight:500;color:var(--text-3);cursor:pointer;background:transparent;border:none;font-family:var(--font-sans);border-bottom:2px solid transparent;margin-bottom:-1px}.subtab:hover{color:var(--text-1)}.subtab.active{color:var(--text-1);border-bottom-color:var(--text-1)}.subtab .badge{margin-left:6px;font-family:var(--font-mono);font-size:10px;color:var(--text-4)}.ont-h2{font-family:var(--font-sans);font-weight:600;font-size:var(--text-xl);margin:40px 0 12px;color:var(--text-1);letter-spacing:var(--tracking-snug)}.ont-h2:first-child{margin-top:0}.ont-p{margin:0 0 14px;color:var(--text-1)}.ont-p.muted{color:var(--text-2)}.ont-chat{border-left:1px solid var(--border-1);background:var(--bg-surface-2);display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;position:relative}.ont-content-panel{border-left:1px solid var(--border-1);background:var(--bg-page);display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;position:relative}.ont-content-resize{position:absolute;top:0;left:-3px;bottom:0;width:6px;cursor:col-resize;z-index:10}.ont-content-resize:hover,.ont-content-resize:active{background:var(--focus-ring)}.ont-content-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border-1);background:var(--bg-surface);flex-shrink:0}.ont-content-body{flex:1;overflow-y:auto;min-height:0}.ont-chat-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-1)}.ont-chat-head .av{width:28px;height:28px;border-radius:var(--radius-xs);background:var(--bg-inverse);color:var(--text-inverse);padding:3px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.ont-chat-head .av svg{width:100%;height:100%}.ont-chat-head .who{line-height:1.2;flex:1;min-width:0}.ont-chat-head .who .name{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);font-weight:400;color:var(--text-1)}.ont-chat-head .who .sub{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);display:inline-flex;align-items:center;gap:6px}.ont-chat-head .who .sub .dot{width:6px;height:6px;border-radius:50%;background:var(--low)}.ont-chat-thread{flex:1;min-height:0;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:20px}.msg{display:flex;gap:10px;align-items:flex-start}.msg--user{flex-direction:row-reverse;align-self:flex-end;max-width:78%}.msg-author{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;overflow:hidden}.msg-author.agent{background:var(--bg-surface);border:1px solid var(--border-1);color:var(--text-1);padding:3px}.msg-author.user{background:var(--accent);color:#fff}.msg-body{flex:1;min-width:0}.msg--agent .msg-body{padding:2px 0}.msg--user .msg-body{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:18px 4px 18px 18px;padding:10px 14px}.msg-name{display:flex;align-items:center;gap:6px;margin-bottom:5px}.msg-name strong{font-size:var(--text-xs);font-weight:600;color:var(--text-2)}.msg-name time{font-size:var(--text-2xs);color:var(--text-4);font-family:var(--font-mono)}.msg--user .msg-name{display:none}.msg-content{font-size:var(--text-sm);color:var(--text-1)}.msg-content p{margin:0 0 10px}.msg-content p:last-child{margin:0}.msg-content em{font-family:var(--font-display);font-style:italic}.opt-stack{display:flex;flex-direction:column;gap:6px;margin-top:10px}.opt-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;text-align:left;font-family:inherit;color:var(--text-1);width:100%}.opt-chip:hover{border-color:var(--text-1)}.opt-chip svg{width:12px;height:12px;color:var(--text-3)}.opt-chip .arr{margin-left:auto;color:var(--text-3)}.cite-inline{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);background:var(--bg-surface-2);padding:1px 6px;border-radius:var(--radius-xs);border:1px solid var(--border-2);margin:0 2px}.ont-chat-composer{border-top:1px solid var(--border-1);padding:14px 14px 16px;background:var(--bg-surface)}.chat-hist-toggle{background:transparent;border:none;cursor:pointer;color:var(--text-3);padding:4px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.chat-hist-toggle:hover{color:var(--text-1);background:#ffffff0f}.chat-hist{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#05060ff7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);overflow:hidden;border-right:1px solid rgba(255,255,255,.06)}.chat-hist.open{transform:translate(0)}.chat-hist-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.chat-hist-title{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#ffffff59}.chat-hist-close{background:transparent;border:none;cursor:pointer;color:#ffffff59;padding:4px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:color .15s}.chat-hist-close:hover{color:#ffffffb3}.chat-hist-new{display:flex;align-items:center;gap:7px;margin:10px 12px;padding:7px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#ffffff80;cursor:pointer;transition:border-color .15s,color .15s,background .15s;flex-shrink:0}.chat-hist-new:hover{border-color:#e879f9;color:#e879f9;background:#e879f90f}.chat-hist-new svg{flex-shrink:0}.chat-hist-list{flex:1;min-height:0;overflow-y:auto;padding:4px 0 16px}.chat-hist-list::-webkit-scrollbar{width:3px}.chat-hist-list::-webkit-scrollbar-track{background:transparent}.chat-hist-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.chat-hist-empty{font-family:var(--font-mono);font-size:var(--text-2xs);color:#ffffff40;text-align:center;padding:32px 16px}.chat-hist-group{margin-bottom:6px}.chat-hist-group-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#fff3;padding:8px 14px 4px}.chat-hist-item{width:100%;display:flex;align-items:flex-start;gap:0;padding:6px 14px 6px 10px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s}.chat-hist-item:hover{background:#ffffff0a}.chat-hist-item.active{background:#e879f912}.chat-hist-rail{width:20px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-top:5px;gap:0}.chat-hist-dot{width:7px;height:7px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);flex-shrink:0;transition:background .15s,box-shadow .15s}.chat-hist-dot.active{background:#e879f9;border-color:#e879f9;box-shadow:0 0 8px #e879f999}.chat-hist-line{width:1px;flex:1;min-height:16px;background:#ffffff12}.chat-hist-meta{flex:1;min-width:0;padding-left:8px}.chat-hist-preview{font-size:var(--text-xs);color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 3px;line-height:1.4}.chat-hist-item.active .chat-hist-preview{color:#e879f9e6}.chat-hist-details{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;color:#fff3}.chat-hist-sep{color:#ffffff1f}.graph-wrap{--g-bg: #0D0D0D;--g-bg-card: rgba(255,255,255,.06);--g-bg-card-hover: rgba(255,255,255,.1);--g-bg-card-selected: rgba(255,255,255,.14);--g-border: rgba(255,255,255,.08);--g-border-selected: rgba(255,255,255,.25);--g-text-1: #F0F0F0;--g-text-2: #8E8E8E;--g-text-3: #5A5A5A;--g-edge: rgba(255,255,255,.12);--g-dot: rgba(255,255,255,.04);background:var(--g-bg);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);position:relative;overflow:hidden}.graph-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--g-dot) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.graph-toolbar{position:absolute;top:12px;left:12px;z-index:2;display:flex;gap:4px;background:#0d0d0dcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--g-border);border-radius:var(--radius-pill);padding:3px}.graph-toolbar button{background:transparent;border:none;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--g-text-2);padding:4px 10px;border-radius:var(--radius-pill);transition:color .15s}.graph-toolbar button:hover{color:var(--g-text-1)}.graph-toolbar button.active{background:var(--g-text-1);color:var(--g-bg)}.graph-toolbar .zoom-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;font-weight:600}.graph-toolbar .separator{width:1px;height:16px;background:var(--g-border);align-self:center}.graph-toolbar .graph-info{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--g-text-3);padding:4px 10px}.graph-legend{position:absolute;bottom:12px;left:12px;z-index:2;display:flex;gap:10px;background:#0d0d0dcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--g-border);border-radius:var(--radius-sm);padding:6px 10px;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--g-text-2)}.graph-legend .swatch{display:inline-flex;align-items:center;gap:6px}.graph-legend .swatch>i{width:8px;height:8px;border-radius:2px;display:inline-block}.graph-svg{display:block;width:100%;height:70vh;min-height:400px;position:relative;z-index:1;cursor:grab}.graph-svg:active{cursor:grabbing}.arch-map-svg{display:block;width:100%;height:70vh;min-height:400px;position:relative;z-index:1;cursor:grab}.arch-map-svg:active{cursor:grabbing}.arch-map-group{cursor:pointer}.arch-map-group-bg{transition:fill .15s}.arch-map-group:hover .arch-map-group-bg{fill:var(--g-bg-card-hover)}.arch-map-group-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.arch-map-file rect{rx:4}.arch-map-file text{fill:var(--g-text-1);font-size:10px}.arch-map-ext rect{rx:4}.arch-map-edge{stroke:var(--g-edge);fill:none}.force-node{cursor:pointer;transition:opacity .2s ease}.force-node:hover .force-node-bg{fill:var(--g-bg-card-hover)!important}.force-node.selected .force-node-bg{fill:var(--g-bg-card-selected)!important}.force-node.external{opacity:.4}.force-node.external .force-node-bg{stroke-dasharray:5 3}.force-node-label{font-family:var(--font-sans);font-weight:500;font-size:11px;fill:var(--g-text-1)}.force-node-type{font-family:var(--font-mono);font-size:8px;fill:var(--g-text-3);letter-spacing:.04em;text-transform:uppercase}.graph-edge{transition:opacity .2s ease}.graph-edge-label-bg{fill:var(--g-bg)}.graph-edge-label{font-family:var(--font-mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase}.back-to-modules{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:6px 14px;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-2);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast)}.back-to-modules:hover{border-color:var(--text-1);color:var(--text-1)}.graph-empty{min-height:300px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-md);color:var(--text-3);font-family:var(--font-mono);font-size:var(--text-sm)}.entity-panel{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:18px 20px}.entity-panel .ep-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.entity-panel .ep-head .swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.entity-panel .ep-name{font-family:var(--font-sans);font-weight:600;font-size:var(--text-base);color:var(--text-1)}.entity-panel .ep-meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);margin-left:auto;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.entity-panel .ep-desc{font-size:var(--text-sm);color:var(--text-2);margin:0 0 12px;line-height:var(--leading-normal)}.cite-row{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 8px}.cite{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--bg-surface-2);border:1px solid var(--border-2);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-2);cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cite:hover{border-color:var(--text-2);color:var(--text-1)}.cite svg{width:10px;height:10px;color:var(--text-3)}.data-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--text-sm);background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-md);overflow:hidden}.data-table thead{background:var(--bg-surface-3)}.data-table th{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);text-align:left;padding:10px 14px;border-bottom:1px solid var(--border-1);font-weight:500;white-space:nowrap}.data-table th.num,.data-table td.num{text-align:right;font-feature-settings:"tnum" on}.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-2);color:var(--text-1);vertical-align:top;line-height:var(--leading-snug)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-surface-3);cursor:pointer}.data-table .mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-2)}.data-table .mono.path{color:var(--text-1)}.data-table .mono.dim{color:var(--text-3)}.data-table .num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-1)}.data-table .desc{color:var(--text-2);max-width:56ch}.data-table .dot{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:8px;vertical-align:middle;flex-shrink:0}.data-table .name-cell{display:flex;align-items:center;gap:8px;font-weight:500}.method-pill{display:inline-flex;align-items:center;padding:1px 6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;border-radius:var(--radius-xs);border:1px solid}.kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-bottom:24px;border:1px solid var(--border-1);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.kpi-cell{padding:14px 16px;border-right:1px solid var(--border-2)}.kpi-cell:last-child{border-right:none}.kpi-cell .kpi-k{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);margin-bottom:6px}.kpi-cell .kpi-v{font-family:var(--font-sans);font-weight:600;font-size:var(--text-xl);color:var(--text-1);line-height:1;font-feature-settings:"tnum" on}.kpi-cell .kpi-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-3);margin-top:4px;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sec-divider{display:flex;align-items:center;gap:12px;margin:36px 0 16px}.sec-divider .label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);white-space:nowrap}.sec-divider .rule{flex:1;height:1px;background:var(--border-2)}.sec-divider .count{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4);font-feature-settings:"tnum" on}.bc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:4px}.bc-box{background:var(--bg-surface);border:1px solid var(--border-1);border-top:3px solid var(--text-1);border-radius:var(--radius-md);padding:14px 16px}.bc-box.support{border-top-color:var(--owner)}.bc-box h4{margin:0 0 4px;font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;gap:8px}.bc-box h4 .id{font-family:var(--font-mono);font-size:10px;color:var(--text-4);margin-left:auto;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.bc-box .bc-sub{font-size:var(--text-xs);color:var(--text-3);margin:0 0 10px;line-height:var(--leading-snug)}.bc-box .bc-tags{display:flex;flex-wrap:wrap;gap:4px}.bc-box .bc-tag{display:inline-flex;align-items:center;padding:2px 7px;background:var(--bg-surface-2);border:1px solid var(--border-2);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:10px;color:var(--text-2)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.variant-pill{position:absolute;top:-40px;right:0;display:inline-flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-pill);padding:3px;gap:2px;box-shadow:var(--shadow-xs)}.variant-pill button{background:transparent;border:none;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);padding:4px 10px;border-radius:var(--radius-pill)}.variant-pill button.active{background:var(--text-1);color:var(--bg-page)}.md-content{font-size:var(--text-sm);color:var(--text-1);line-height:var(--leading-normal)}.md-content h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:var(--tracking-snug);line-height:1.15;margin:0 0 16px;color:var(--text-1)}.md-content h2{font-family:var(--font-sans);font-weight:600;font-size:var(--text-xl);margin:32px 0 10px;color:var(--text-1);letter-spacing:var(--tracking-snug)}.md-content h3{font-family:var(--font-sans);font-weight:600;font-size:var(--text-base);margin:24px 0 8px;color:var(--text-1)}.md-content h4{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);margin:20px 0 6px;color:var(--text-1);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.md-content p{margin:0 0 12px}.md-content ul,.md-content ol{margin:0 0 12px;padding-left:20px}.md-content li{margin-bottom:4px}.md-content li::marker{color:var(--text-3)}.md-content strong{font-weight:600;color:var(--text-1)}.md-content em{font-style:italic}.md-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md-content a:hover{color:var(--text-1)}.md-content blockquote{margin:0 0 12px;padding:10px 16px;border-left:3px solid var(--border-strong);background:var(--bg-surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2)}.md-content blockquote p:last-child{margin:0}.md-content code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-surface-2);border:1px solid var(--border-2);padding:1px 5px;border-radius:var(--radius-xs);color:var(--text-1)}.md-content pre{margin:0 0 16px;padding:14px 16px;background:var(--bg-surface-3);border:1px solid var(--border-1);border-radius:var(--radius-md);overflow-x:auto}.md-content pre code{background:none;border:none;padding:0;font-size:var(--text-xs);line-height:1.6}.md-content table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:var(--text-xs)}.md-content th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-1);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);background:var(--bg-surface-3)}.md-content td{padding:8px 12px;border-bottom:1px solid var(--border-2);color:var(--text-1)}.md-content hr{border:none;border-top:1px solid var(--border-2);margin:24px 0}.md-content img{max-width:100%;border-radius:var(--radius-sm)}.mermaid-block{margin:12px 0;background:var(--bg-surface-2);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:16px;overflow-x:auto;display:flex;justify-content:center}.mermaid-block svg{max-width:100%;height:auto}.mermaid-fallback{margin:12px 0;background:var(--bg-surface-3);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:12px;font-size:var(--text-xs);overflow-x:auto}@media (max-width: 1180px){.ont-shell,.ont-shell.panel-closed{grid-template-columns:220px 1fr}.kpi-strip{grid-template-columns:repeat(3,1fr)}.kpi-cell:nth-child(3){border-right:none}.kpi-cell:nth-child(n+4){border-top:1px solid var(--border-2)}.ont-content-panel{display:none}}@keyframes ont-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ont-panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes ont-caret-blink{50%{opacity:0}}.ont-page>*{animation:ont-fade-up var(--duration-base) var(--ease-out) both}.ont-page>*:nth-child(2){animation-delay:40ms}.ont-page>*:nth-child(3){animation-delay:80ms}.ont-page>*:nth-child(4){animation-delay:.12s}.ont-page>*:nth-child(n+5){animation-delay:.16s}.ont-content-panel{animation:ont-panel-in var(--duration-base) var(--ease-out)}.msg{animation:ont-fade-up var(--duration-base) var(--ease-out)}.stream-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--accent);animation:ont-caret-blink .9s step-end infinite}.ont-nav-item:before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;transform:translateY(-50%);background:var(--accent);border-radius:1px;transition:height var(--duration-base) var(--ease-spring)}.ont-nav-item.active:before{height:60%}.composer-send{transition:transform var(--duration-fast) var(--ease-spring)}.composer-send:active:not(:disabled){transform:scale(.88)}.data-table tbody td{transition:background var(--duration-fast) var(--ease-out)}.ont-chat{background-image:radial-gradient(ellipse 90% 40% at 50% -8%,var(--accent-bg),transparent),var(--dot-pattern);background-size:auto,22px 22px}.msg-content .md-content table{background:var(--bg-surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);overflow:hidden}.msg-content .md-content th{background:var(--bg-surface-2)}.msg-content .md-content code{background:var(--bg-surface)}.msg-content .md-content pre{background:var(--bg-surface-3)}.msg-content .md-content pre code{background:none}.msg-content .md-content h1,.msg-content .md-content h2,.msg-content .md-content h3,.msg-content .md-content h4{filter:grayscale(1)}@media (prefers-reduced-motion: reduce){.ont-page>*,.ont-content-panel,.msg{animation:none}.stream-caret{animation:none;opacity:1}.ont-nav-item:before,.composer-send{transition:none}}@keyframes ont-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ont-modal-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.ont-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;padding:24px;animation:ont-backdrop-in var(--duration-fast) var(--ease-out) both}.ont-modal{position:relative;width:min(460px,100%);background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:28px 30px 22px;animation:ont-modal-in var(--duration-base) var(--ease-out) both}.ont-modal:before,.ont-modal:after{content:"";position:absolute;width:13px;height:13px;border:0 solid var(--accent);opacity:.85;pointer-events:none}.ont-modal:before{top:10px;left:10px;border-top-width:1.5px;border-left-width:1.5px}.ont-modal:after{bottom:10px;right:10px;border-bottom-width:1.5px;border-right-width:1.5px}.ont-modal-close{position:absolute;top:14px;right:14px;background:none;border:none;cursor:pointer;color:var(--text-3);padding:5px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast),background var(--duration-fast)}.ont-modal-close:hover:not(:disabled){color:var(--text-1);background:var(--bg-surface-2)}.ont-modal-close:disabled{opacity:.4;cursor:not-allowed}.ont-modal-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 8px;color:var(--text-1)}.ont-modal-title em{font-style:italic}.ont-modal-lede{font-size:var(--text-xs);color:var(--text-3);line-height:var(--leading-normal);margin:0 0 18px;max-width:46ch;text-wrap:pretty}.ont-modal-note{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4);text-align:center;margin:12px 0 0}.dropzone{cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.dropzone.drag-over{border-color:var(--accent);background:var(--accent-bg)}.dropzone.busy{border-color:var(--accent-border);cursor:progress}.dropzone.busy .dropzone-ic{color:var(--accent);animation:ont-busy-pulse 1.2s var(--ease-in-out) infinite}@keyframes ont-busy-pulse{50%{opacity:.45}}.ont-add-btn{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);background:none;border:none;padding:1px 6px;border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.ont-add-btn:hover{color:var(--accent);background:var(--accent-bg)}.ont-nav-manage .ont-doc-title{color:var(--text-3);font-style:italic}.ont-nav-manage:hover .ont-doc-title{color:var(--text-1)}.ont-soon-tag{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:lowercase;letter-spacing:.04em;color:var(--text-4)}.ont-nav-integ{color:var(--text-3)}.integ-list{border-top:1px solid var(--border-1)}.integ-row{display:flex;align-items:center;gap:16px;padding:18px 2px;border-bottom:1px solid var(--border-2)}.integ-ic{width:42px;height:42px;flex-shrink:0;border:1px solid var(--border-1);border-radius:var(--radius-sm);background:var(--bg-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.integ-row:hover .integ-ic{color:var(--accent);border-color:var(--accent-border)}.integ-meta{min-width:0;flex:1}.integ-name{font-size:var(--text-sm);font-weight:500;color:var(--text-1)}.integ-desc{font-size:var(--text-xs);color:var(--text-3);margin-top:2px}.integ-soon{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-pill);padding:2px 9px;flex-shrink:0}.integ-connect{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;color:var(--text-4);background:var(--bg-surface-2);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:5px 14px;cursor:not-allowed;flex-shrink:0}.integ-foot{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4);margin:20px 0 0;padding-top:4px}.integ-foot:before{content:"— ";color:var(--accent)}@media (prefers-reduced-motion: reduce){.ont-modal-backdrop,.ont-modal,.dropzone.busy .dropzone-ic{animation:none}.dropzone,.integ-ic,.ont-add-btn,.ont-modal-close{transition:none}}.vcs-navlink{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-3);padding:0 0 0 18px;transition:color var(--duration-fast)}.vcs-navlink:hover{color:var(--text-1)}.entry-alt.is-active{border-color:var(--accent-border);background:var(--accent-bg)}.entry-alt.is-active .entry-alt-ic{border-color:var(--accent-border);color:var(--accent)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent);filter:brightness(1.06)}.vcs-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.vcs-field{display:flex;flex-direction:column;gap:5px}.vcs-field-label{font-size:var(--text-sm);font-weight:500;color:var(--text-1)}.vcs-field-opt{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.vcs-field-hint{font-size:var(--text-xs);color:var(--text-3)}.vcs-input{width:100%;border:1px solid var(--border-1);background:var(--bg-surface);border-radius:var(--radius-sm);padding:9px 12px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-1);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.vcs-input.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.vcs-input:focus{outline:none;border-color:var(--text-1);box-shadow:0 0 0 3px var(--focus-ring)}.vcs-input::placeholder{color:var(--text-4)}.vcs-panel{border:1px solid var(--border-2);background:var(--bg-surface-3);border-radius:var(--radius-md);padding:16px}.vcs-panel-note{font-size:var(--text-sm);color:var(--text-2)}.vcs-panel-hint{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);margin:8px 0 0}.vcs-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border-1)}.vcs-dot-ok{background:var(--low)}.vcs-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vcs-check{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.vcs-check input{accent-color:var(--accent)}.vcs-sync-card{margin-top:16px;border:1px solid var(--accent-border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface)}.vcs-sync-head{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:var(--text-sm);color:var(--text-2);background:var(--accent-bg);border-bottom:1px solid var(--accent-border)}.vcs-sync-head strong{color:var(--text-1);font-weight:600}.vcs-sync-card .kpi-strip{border:none;border-radius:0}.vcs-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-1);margin-bottom:14px}.vcs-tab{background:none;border:none;cursor:pointer;padding:8px 12px;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast),border-color var(--duration-fast)}.vcs-tab:hover{color:var(--text-1)}.vcs-tab.is-active{color:var(--text-1);border-bottom-color:var(--accent)}.vcs-tab-count{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-4);margin-left:2px}.vcs-tab-body{min-height:40px}.vcs-empty{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);text-align:center;padding:24px 0}.vcs-link{color:var(--text-1);text-decoration:none;border-bottom:1px solid var(--border-1)}.vcs-link:hover{border-bottom-color:var(--accent);color:var(--accent)}.vcs-labels{display:block;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3);margin-top:3px}.vcs-wiki{display:flex;flex-direction:column;border:1px solid var(--border-1);border-radius:var(--radius-md);overflow:hidden}.vcs-wiki-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-2);color:var(--text-2)}.vcs-wiki-row:last-child{border-bottom:none}.vcs-wiki-title{font-size:var(--text-sm);color:var(--text-1);font-weight:500}.vcs-wiki-path{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-3)}.vcs-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}
