:root{--color-bg-primary: #0d1117;--color-bg-secondary: #161b22;--color-bg-tertiary: #21262d;--color-bg-quaternary: #30363d;--color-bg-overlay: rgba(0, 0, 0, .5);--color-border-primary: #30363d;--color-border-secondary: #21262d;--color-border-muted: rgba(48, 54, 61, .5);--color-text-primary: #f0f6fc;--color-text-secondary: #c9d1d9;--color-text-muted: #8b949e;--color-text-dim: #6e7681;--color-text-placeholder: #484f58;--color-accent-blue: #58a6ff;--color-accent-blue-muted: rgba(88, 166, 255, .15);--color-accent-purple: #a371f7;--color-accent-purple-muted: rgba(163, 113, 247, .15);--color-accent-violet: #8857ff;--color-accent-violet-muted: rgba(136, 87, 255, .15);--color-accent-green: #3fb950;--color-accent-green-muted: rgba(63, 185, 80, .15);--color-accent-red: #f85149;--color-accent-red-muted: rgba(248, 81, 73, .15);--color-accent-yellow: #e3b341;--color-accent-yellow-muted: rgba(227, 179, 65, .15);--color-accent-orange: #d29922;--color-accent-orange-muted: rgba(210, 153, 34, .15);--color-accent-cyan: #39c5cf;--color-success: var(--color-accent-green);--color-success-bg: var(--color-accent-green-muted);--color-error: var(--color-accent-red);--color-error-bg: var(--color-accent-red-muted);--color-warning: var(--color-accent-yellow);--color-warning-bg: var(--color-accent-yellow-muted);--color-info: var(--color-accent-blue);--color-info-bg: var(--color-accent-blue-muted);--color-diff-add-bg: rgba(46, 160, 67, .15);--color-diff-add-text: #7ee787;--color-diff-add-line-number: rgba(63, 185, 80, .4);--color-diff-delete-bg: rgba(248, 81, 73, .15);--color-diff-delete-text: #ffa198;--color-diff-delete-line-number: rgba(248, 81, 73, .4);--color-diff-hunk-bg: rgba(88, 166, 255, .1);--color-diff-hunk-text: var(--color-accent-blue);--color-risk-low: var(--color-accent-green);--color-risk-medium: var(--color-accent-yellow);--color-risk-high: var(--color-accent-red);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "SF Mono", "Fira Code", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-code: 1.45;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5);--shadow-glow-blue: 0 0 20px rgba(88, 166, 255, .3);--shadow-glow-purple: 0 0 20px rgba(163, 113, 247, .3);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-colors: color .2s ease, background-color .2s ease, border-color .2s ease;--color-blue-5: rgba(88, 166, 255, .05);--color-blue-10: rgba(88, 166, 255, .1);--color-blue-15: rgba(88, 166, 255, .15);--color-blue-20: rgba(88, 166, 255, .2);--color-blue-30: rgba(88, 166, 255, .3);--color-violet: #8857ff;--color-violet-5: rgba(136, 87, 255, .05);--color-violet-8: rgba(136, 87, 255, .08);--color-violet-10: rgba(136, 87, 255, .1);--color-violet-15: rgba(136, 87, 255, .15);--color-violet-20: rgba(136, 87, 255, .2);--color-violet-25: rgba(136, 87, 255, .25);--color-violet-30: rgba(136, 87, 255, .3);--color-purple-5: var(--color-violet-5);--color-purple-10: var(--color-violet-10);--color-purple-15: var(--color-violet-15);--color-purple-20: var(--color-violet-20);--color-purple-30: var(--color-violet-30);--color-orange-5: rgba(210, 153, 34, .05);--color-orange-10: rgba(210, 153, 34, .1);--color-orange-15: rgba(210, 153, 34, .15);--color-orange-20: rgba(210, 153, 34, .2);--color-orange-30: rgba(210, 153, 34, .3);--color-green-5: rgba(63, 185, 80, .05);--color-green-10: rgba(63, 185, 80, .1);--color-green-15: rgba(63, 185, 80, .15);--color-green-20: rgba(63, 185, 80, .2);--color-green-30: rgba(63, 185, 80, .3);--color-red-5: rgba(248, 81, 73, .05);--color-red-10: rgba(248, 81, 73, .1);--color-red-15: rgba(248, 81, 73, .15);--color-red-20: rgba(248, 81, 73, .2);--color-red-30: rgba(248, 81, 73, .3);--color-gray-5: rgba(139, 148, 158, .05);--color-gray-10: rgba(139, 148, 158, .1);--color-gray-15: rgba(139, 148, 158, .15);--color-gray-20: rgba(139, 148, 158, .2);--color-gray-30: rgba(139, 148, 158, .3);--z-base: 0;--z-sticky: 10;--z-dropdown: 100;--z-overlay: 500;--z-modal: 1000;--z-toast: 1100;--z-tooltip: 1200;--header-height: 50px;--sidebar-width: 280px;--sidebar-width-collapsed: 48px;--content-max-width: 1400px;--chunk-card-width: 320px}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap}.badge-blue{color:var(--color-accent-blue);background:var(--color-accent-blue-muted)}.badge-purple{color:var(--color-accent-purple);background:var(--color-accent-purple-muted)}.badge-green{color:var(--color-accent-green);background:var(--color-accent-green-muted)}.badge-red{color:var(--color-accent-red);background:var(--color-accent-red-muted)}.badge-yellow{color:var(--color-accent-yellow);background:var(--color-accent-yellow-muted)}.badge-orange{color:var(--color-accent-orange);background:var(--color-accent-orange-muted)}.card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--color-accent-blue);box-shadow:var(--shadow-glow-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn-primary{background:var(--color-accent-blue);color:#fff}.btn-primary:hover{background:#4a9eff}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border-primary)}.btn-ghost:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);gap:var(--spacing-1)}.btn-icon{padding:var(--spacing-2);width:32px;height:32px}.btn-danger{background:var(--color-accent-red);color:#fff}.btn-danger:hover{background:#da3633}.btn-success{background:var(--color-accent-green);color:#fff}.btn-success:hover{background:#2ea043}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-primary)}.panel-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.panel-body{padding:var(--spacing-4)}.dropdown{position:absolute;top:calc(100% + var(--spacing-2));left:0;min-width:200px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-base)}.dropdown-item:hover{background:var(--color-blue-10)}.dropdown-item.active{background:var(--color-purple-10);color:var(--color-accent-purple)}.input{width:100%;padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{outline:none;border-color:var(--color-accent-blue);box-shadow:0 0 0 3px var(--color-blue-15)}.input::placeholder{color:var(--color-text-placeholder)}.list-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base)}.list-item:hover{background:var(--color-gray-5)}.list-item.active{background:var(--color-blue-15);color:var(--color-accent-blue)}.divider{height:1px;background:var(--color-border-primary);margin:var(--spacing-2) 0}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot-success{background:var(--color-accent-green)}.status-dot-warning{background:var(--color-accent-yellow)}.status-dot-error{background:var(--color-accent-red)}.status-dot-info{background:var(--color-accent-blue)}.spinner{width:16px;height:16px;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-blue);border-radius:50%;animation:spin .8s linear infinite}.mono{font-family:var(--font-family-mono)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-dim{color:var(--color-text-dim)}.text-blue{color:var(--color-accent-blue)}.text-purple{color:var(--color-accent-purple)}.text-green{color:var(--color-accent-green)}.text-red{color:var(--color-accent-red)}.text-yellow{color:var(--color-accent-yellow)}.text-orange{color:var(--color-accent-orange)}.bg-primary{background:var(--color-bg-primary)}.bg-secondary{background:var(--color-bg-secondary)}.bg-tertiary{background:var(--color-bg-tertiary)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.m-0{margin:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.border{border:1px solid var(--color-border-primary)}.border-0{border:none}.border-t{border-top:1px solid var(--color-border-primary)}.border-b{border-bottom:1px solid var(--color-border-primary)}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.fixed{position:fixed}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.hidden{display:none}.block{display:block}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.select-none{-webkit-user-select:none;user-select:none}.no-underline{text-decoration:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);background:var(--color-bg-primary);color:var(--color-text-secondary);line-height:var(--line-height-normal)}a{color:var(--color-accent-blue);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}code,pre{font-family:var(--font-family-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-primary) var(--color-bg-primary)}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}::selection{background:var(--color-blue-30);color:var(--color-text-primary)}#root{width:100%;min-height:100vh}.diff-viewer{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;max-width:100%}.diff-viewer.binary-file{margin-bottom:1rem}.diff-viewer.binary-file .diff-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-radius:8px}.diff-viewer.binary-file .diff-filename{font-family:var(--font-family-mono);font-size:var(--font-size-base);color:var(--color-text-secondary)}.binary-badge{font-size:var(--font-size-sm);padding:.25rem .5rem;background:var(--color-border-primary);color:var(--color-text-muted);border-radius:var(--radius-sm)}.binary-badge.added{background:var(--color-green-15);color:var(--color-accent-green)}.binary-badge.deleted{background:var(--color-red-15);color:var(--color-accent-red)}.binary-badge.modified{background:var(--color-orange-15);color:var(--color-accent-orange)}.risk-badge{padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.risk-faible{background:var(--color-green-20);color:var(--color-accent-green)}.risk-moyen{background:var(--color-orange-20);color:var(--color-accent-orange)}.risk-elevé,.risk-élevé{background:var(--color-red-20);color:var(--color-accent-red)}.diff-file-header{background:var(--color-bg-secondary);padding:.75rem 1rem;font-family:var(--font-family-mono);font-size:var(--font-size-base);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-primary);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161b22f2}.diff-line{display:flex;align-items:stretch;min-height:24px}.diff-line:hover{background:var(--color-blue-10)}.diff-line-add{background:var(--color-green-15)}.diff-line-add .line-content{color:#7ee787}.diff-line-add .line-indicator{color:var(--color-accent-green)}.diff-line-remove{background:var(--color-red-15)}.diff-line-remove .line-content{color:#ffa198}.diff-line-remove .line-indicator{color:var(--color-accent-red)}.diff-line-context{background:transparent}.diff-line.line-highlighted{background:var(--color-blue-30)!important;position:relative}.diff-line.line-highlighted:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent-blue)}.diff-line.line-highlighted .line-number{background:var(--color-blue-20);color:var(--color-accent-blue)}.line-number{width:50px;min-width:50px;padding:0 8px;text-align:right;color:#484f58;-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border-primary);font-size:var(--font-size-sm)}.line-number-old{background:#0000001a}.line-number-new{background:#0000000d}.line-indicator{width:20px;min-width:20px;text-align:center;font-weight:600;-webkit-user-select:none;user-select:none}.line-content{flex:1;padding:0 1rem;white-space:pre;tab-size:4;font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--color-text-muted);font-style:italic}.token.punctuation{color:var(--color-text-secondary)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#79c0ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a5d6ff}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#ffa657}.token.atrule,.token.attr-value,.token.keyword{color:#ff7b72}.token.function,.token.class-name{color:#d2a8ff}.token.regex,.token.important,.token.variable,.token.decorator,.token.annotation{color:#ffa657}.diff-container{display:flex;align-items:stretch;font-family:var(--font-family-mono);font-size:.8125rem;line-height:1.5;position:relative;max-width:100%}.diff-code-panel{flex:1;min-width:0;scroll-behavior:smooth}.diff-explanation-panel{width:380px;min-width:380px;background:var(--color-bg-secondary);border-left:1px solid var(--color-border-primary);padding:.5rem;position:relative}.explanation-scroll-container{position:relative;min-height:100%}.connector-layer{overflow:visible}.global-scroll-indicator{position:fixed;top:60px;right:4px;width:10px;height:calc(100vh - 70px);z-index:1000;pointer-events:none}.global-scroll-marker{position:absolute;right:0;width:8px;min-height:8px;background:linear-gradient(180deg,var(--color-accent-purple) 0%,var(--color-accent-blue) 100%);border-radius:var(--radius-sm);cursor:pointer;pointer-events:auto;transition:all var(--transition-base);box-shadow:0 0 6px #58a6ff66}.global-scroll-marker:hover{width:14px;background:linear-gradient(180deg,#c084fc,#60a5fa);box-shadow:0 0 12px #58a6ffb3;transform:translate(-3px)}.global-scroll-marker.dimmed{opacity:.15;background:var(--color-text-dim);box-shadow:none}.global-scroll-marker.dimmed:hover{opacity:.4;width:12px;transform:translate(-2px)}.chunk-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);overflow:hidden;left:.5rem;right:.5rem;z-index:1}.chunk-card-header{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background var(--transition-base)}.chunk-card-header:hover{background:#2d333b}.chunk-line-range{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent-blue);background:var(--color-blue-10);padding:.125rem .375rem;border-radius:var(--radius-xs);white-space:nowrap}.chunk-card .chunk-title{flex:1;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.chunk-card .chunk-toggle{font-size:.625rem;color:var(--color-text-muted)}.chunk-card-body{padding:.75rem;border-top:1px solid var(--color-border-primary);background:#1c2128;animation:slideDown .05s ease-out}.chunk-card-body .chunk-description{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.5rem}.chunk-decisions{display:flex;flex-direction:column;gap:.25rem}.chunk-decisions .decision{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8125rem;color:var(--color-text-muted)}.chunk-card-body .chunk-decisions{gap:.375rem}.chunk-card-body .decision{display:flex;align-items:flex-start;gap:.375rem}.decision-arrow{color:var(--color-accent-blue);font-weight:600}.chunk-card.active{border-color:var(--color-accent-blue);box-shadow:0 0 0 2px #58a6ff4d;z-index:20}.chunk-card.active .chunk-card-header{background:var(--color-blue-15)}.chunk-card.dimmed{opacity:.4;filter:grayscale(.3);transition:opacity .2s,filter .2s}.chunk-card.dimmed:hover{opacity:.7;filter:grayscale(0)}.chunk-links{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.links-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.chunk-link{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem .5rem;margin:.25rem 0;background:var(--color-blue-10);border-radius:var(--radius-sm);transition:all var(--transition-base);overflow:hidden;max-width:100%}.chunk-link.clickable{cursor:pointer}.chunk-link.clickable:hover{background:var(--color-blue-30);transform:translate(2px)}.chunk-link.clickable .link-target{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.chunk-link:not(.clickable){opacity:.7}.link-icon{color:var(--color-accent-blue);font-size:var(--font-size-base)}.link-target{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent-blue);word-break:break-all;min-width:0;flex-shrink:0;max-width:50%}.link-reason{font-size:.8125rem;color:var(--color-text-muted);flex:1;min-width:0;overflow-wrap:break-word}.link-file{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-accent-orange);background:var(--color-orange-15);padding:.125rem .375rem;border-radius:var(--radius-xs);flex-shrink:0}.chunk-highlight{animation:highlightPulse 2s ease-out}@keyframes highlightPulse{0%{box-shadow:0 0 0 3px #58a6ff99;background:var(--color-blue-20)}to{box-shadow:0 0 #58a6ff00;background:var(--color-bg-tertiary)}}.intent-new-badge{background:var(--color-success);color:#fff;padding:.125rem .375rem;border-radius:var(--radius-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.intent-existing-badge{background:#484f58;color:var(--color-text-secondary);padding:.125rem .375rem;border-radius:var(--radius-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.deep-dive-btn{margin-top:.75rem;padding:.375rem .625rem;background:transparent;border:1px dashed #484f58;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:.375rem}.deep-dive-btn:hover{background:var(--color-blue-10);border-color:var(--color-accent-blue);border-style:solid;color:var(--color-accent-blue)}.deep-dive-icon{font-size:var(--font-size-sm)}.deep-dive-text{font-weight:500}.deep-dive-hint{color:var(--color-accent-blue);font-size:.625rem;font-weight:500}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.scroll-to-top-btn{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:all .2s ease;z-index:100;opacity:.8}.scroll-to-top-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-accent-blue);color:var(--color-accent-blue);opacity:1;transform:translateY(-2px);box-shadow:0 6px 16px #0006}.scroll-to-top-btn:active{transform:translateY(0)}.repo-selector{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);padding:1rem 2rem}.repo-selector form{display:flex;flex-direction:column;gap:.75rem}.repo-selector .form-row{display:flex;gap:1rem;align-items:center}.repo-selector .form-row-inline{flex-wrap:wrap}.repo-selector label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:var(--font-size-base)}.repo-selector input{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:.5rem .75rem;color:var(--color-text-secondary);font-size:var(--font-size-base);min-width:200px}.repo-selector input:focus{outline:none;border-color:#388bfd}.repo-selector input[type=text]:first-of-type{flex:1;min-width:300px}.repo-selector button{background:var(--color-success);border:none;border-radius:var(--radius-md);padding:.5rem 1rem;color:#fff;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background var(--transition-base)}.repo-selector button:hover:not(:disabled){background:#2ea043}.repo-selector button:disabled{opacity:.5;cursor:not-allowed}.repo-selector .load-button{margin-top:.5rem}.mode-selector{display:flex;gap:.25rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:2px}.mode-selector button{background:transparent;border:none;color:var(--color-text-muted);padding:.5rem 1rem;font-size:.8125rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.mode-selector button:hover{color:var(--color-text-secondary);background:var(--color-gray-5)}.mode-selector button.active{background:#388bfd;color:#fff}.action-mode-selector{display:flex;gap:.75rem;margin:1rem 0}.action-mode-card{flex:1;display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--color-bg-tertiary);border:2px solid var(--color-border-primary);border-radius:8px;cursor:pointer;transition:all var(--transition-base)}.action-mode-card:hover{border-color:var(--color-text-muted);background:var(--color-border-primary)}.action-mode-card.active{border-color:#388bfd;background:var(--color-blue-10)}.action-mode-icon{font-size:1.25rem;flex-shrink:0}.action-mode-content{flex:1;min-width:0}.action-mode-title{font-weight:600;font-size:.8125rem;color:var(--color-text-primary);margin-bottom:.125rem}.action-mode-card.active .action-mode-title{color:var(--color-accent-blue)}.action-mode-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.2}.source-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.source-tabs button{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-muted);padding:.5rem 1rem;font-size:var(--font-size-base);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.source-tabs button:hover{color:var(--color-text-secondary);border-color:var(--color-text-muted)}.source-tabs button.active{background:#388bfd;border-color:#388bfd;color:#fff}.path-input-group{display:flex;gap:.5rem;flex:1}.path-input-group input{flex:1}.browse-button{background:var(--color-bg-tertiary)!important;border:1px solid var(--color-border-primary)!important;padding:.5rem 1rem!important;white-space:nowrap}.browse-button:hover{background:var(--color-border-primary)!important}.path-row{display:flex;align-items:center;gap:1rem}.path-row label{flex:1}.git-badge{background:var(--color-success);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.folder-browser{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);margin:.75rem 0;max-height:300px;display:flex;flex-direction:column}.browser-header{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.nav-button{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-muted);padding:.25rem .5rem;font-size:var(--font-size-sm);border-radius:var(--radius-sm);cursor:pointer}.nav-button:hover:not(:disabled){color:var(--color-text-secondary);border-color:var(--color-text-muted)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.current-path{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-list{overflow-y:auto;flex:1}.browser-empty{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.8125rem}.browser-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background .1s}.browser-item:hover{background:var(--color-bg-secondary)}.browser-item.is-git{background:#2386361a}.browser-item.is-git:hover{background:#23863633}.folder-icon{font-size:1rem}.folder-name{flex:1;font-size:.8125rem;color:var(--color-text-secondary)}.git-tag{background:var(--color-success);color:#fff;padding:.125rem .375rem;border-radius:var(--radius-xs);font-size:.625rem;font-weight:600;text-transform:uppercase}.error-message{background:#490202;border:1px solid var(--color-accent-red);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-accent-red);font-size:var(--font-size-base);margin-top:.75rem}.branch-suggestions{margin:.75rem 0;padding:.75rem;background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border-primary)}.suggestions-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.suggestions-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.discovery-loading{font-size:var(--font-size-sm);color:var(--color-accent-blue)}.suggestions-list{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-chip{display:flex;align-items:center;gap:.375rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:16px;padding:.375rem .75rem;font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.suggestion-chip:hover{border-color:var(--color-accent-blue);background:var(--color-blue-10)}.suggestion-name{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.intent-badge{background:var(--color-success);color:#fff;padding:.125rem .375rem;border-radius:10px;font-size:var(--font-size-xs);font-weight:600}.branch-input-group{display:flex;gap:0}.branch-input-group input{border-radius:var(--radius-md) 0 0 6px;min-width:120px}.branch-dropdown-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-left:none;border-radius:0 6px 6px 0;padding:.5rem .75rem;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm)}.branch-dropdown-btn:hover{background:var(--color-border-primary);color:var(--color-text-secondary)}.branch-inputs{align-items:flex-end}.branch-arrow{color:var(--color-text-muted);padding:.5rem 0}.branch-selector-dropdown{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);margin:.5rem 0;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.branch-selector-header{padding:.5rem .75rem;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.branch-list{overflow-y:auto;flex:1}.branch-item{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--color-bg-tertiary);transition:background .1s}.branch-item:hover{background:var(--color-bg-tertiary)}.branch-item.default{background:#2386361a}.branch-item-main{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.branch-name{font-family:var(--font-family-mono);font-size:.8125rem;color:var(--color-text-secondary)}.default-badge{background:var(--color-success);color:#fff;padding:.125rem .375rem;border-radius:var(--radius-xs);font-size:.625rem;font-weight:600;text-transform:uppercase}.current-badge{color:var(--color-accent-blue);font-weight:600}.branch-item-meta{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.branch-time{color:var(--color-text-muted)}.branch-ahead-behind{font-family:var(--font-family-mono);color:var(--color-accent-orange)}.pr-switcher-dropdown{position:absolute;top:calc(100% + .5rem);left:0;min-width:380px;max-width:480px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:12px;box-shadow:0 16px 48px #00000080;z-index:1000;overflow:hidden;animation:dropdownSlide .15s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pr-switcher-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.pr-switcher-browse-main{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-green-10) 0%,var(--color-blue-10) 100%);border-bottom:1px solid var(--color-border-primary);color:#e6edf3;text-decoration:none;cursor:pointer;transition:background var(--transition-base)}.pr-switcher-browse-main:hover{background:linear-gradient(135deg,var(--color-green-15) 0%,var(--color-blue-15) 100%)}.browse-main-icon{font-size:1rem}.browse-main-text{flex:1;font-size:.8125rem;font-weight:500;color:var(--color-accent-green)}.browse-main-arrow{color:var(--color-text-muted);font-size:var(--font-size-base)}.pr-switcher-current-branch{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-purple-10) 0%,var(--color-blue-10) 100%);border-bottom:1px solid var(--color-border-primary);color:#e6edf3}.current-branch-icon{font-size:1rem}.current-branch-text{font-size:.8125rem;font-weight:500;color:var(--color-accent-purple)}.pr-switcher-title{font-weight:600;color:#e6edf3;font-size:var(--font-size-base)}.pr-switcher-repo{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-family-mono)}.pr-switcher-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--color-text-muted);font-size:var(--font-size-base)}.pr-switcher-spinner{width:18px;height:18px;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-blue);border-radius:50%;animation:spin .8s linear infinite}.pr-switcher-empty{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-base)}.pr-switcher-list{max-height:400px;overflow-y:auto}.pr-switcher-item{display:flex;gap:.875rem;padding:.875rem 1rem;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--color-border-muted)}.pr-switcher-item:last-child{border-bottom:none}.pr-switcher-item:hover{background:var(--color-blue-10)}.pr-switcher-item.active{background:var(--color-purple-10);cursor:default}.pr-switcher-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.pr-switcher-info{flex:1;min-width:0}.pr-switcher-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.pr-switcher-number{font-weight:600;color:var(--color-accent-blue);font-size:.8125rem}.pr-switcher-draft{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-gray-15);padding:.125rem .375rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.pr-switcher-current{font-size:var(--font-size-xs);color:var(--color-accent-purple);background:var(--color-purple-15);padding:.125rem .375rem;border-radius:var(--radius-sm);font-weight:500}.pr-switcher-item-title{color:#e6edf3;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.pr-switcher-item-meta{display:flex;align-items:center;gap:.375rem;font-size:var(--font-size-sm)}.pr-switcher-branch{color:var(--color-text-muted);font-family:var(--font-family-mono);background:var(--color-gray-10);padding:.125rem .375rem;border-radius:var(--radius-sm);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pr-switcher-arrow{color:var(--color-text-dim)}.story-mode-page{max-width:900px;margin:0 auto;padding:1.5rem;max-height:70vh;overflow-y:auto;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);border-radius:12px;border:1px solid var(--color-border-primary);margin-top:1rem;margin-bottom:1rem;box-shadow:0 4px 24px #0000004d;animation:fadeSlideIn .05s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.story-mode-page::-webkit-scrollbar{width:8px}.story-mode-page::-webkit-scrollbar-track{background:#30363d4d;border-radius:var(--radius-sm)}.story-mode-page::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#8857ff80,#58a6ff80);border-radius:var(--radius-sm)}.story-mode-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#8857ffb3,#58a6ffb3)}.story-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--color-purple-15) 0%,var(--color-blue-10) 100%);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.story-header-left{display:flex;flex-direction:column;gap:.25rem}.story-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.story-context{font-size:var(--font-size-base);color:var(--color-text-muted)}.story-exit-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.story-exit-btn:hover{background:var(--color-border-primary);border-color:var(--color-text-muted)}.story-exit-btn:disabled{opacity:.5;cursor:not-allowed}.story-empty{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.story-empty-icon{font-size:3rem;margin-bottom:1rem}.story-content{display:flex;flex-direction:column;gap:2.5rem}.story-chapter{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:12px;padding:2rem;border-left:4px solid var(--color-accent-purple)}.chapter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.chapter-number{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent-purple);text-transform:uppercase;letter-spacing:.1em}.chapter-meta{display:flex;align-items:center;gap:.75rem}.chapter-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent-blue)}.chapter-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.chapter-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.25rem;line-height:1.3}.chapter-summary{font-size:1rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:1.25rem}.chapter-summary p{margin:0}.chapter-motivation{background:var(--color-blue-5);border-left:3px solid var(--color-accent-blue);padding:1rem 1.25rem;border-radius:0 8px 8px 0;margin-bottom:1.25rem}.chapter-motivation h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent-blue);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.chapter-motivation p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6;margin:0}.chapter-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.chapter-chunks{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.story-chunk{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem}.story-chunk-clickable{cursor:pointer;transition:all var(--transition-normal)}.story-chunk-clickable:hover{background:linear-gradient(135deg,var(--color-purple-10) 0%,var(--color-blue-10) 100%);border-color:#8857ff66;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.story-chunk-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.story-chunk-goto{margin-left:auto;color:var(--color-text-muted);font-size:1.25rem;opacity:0;transition:all var(--transition-normal)}.story-chunk-clickable:hover .story-chunk-goto{opacity:1;color:var(--color-accent-blue);transform:translate(4px)}.story-chunk-anchor{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent-purple);background:var(--color-purple-15);padding:.25rem .5rem;border-radius:var(--radius-sm)}.story-chunk-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.story-chunk-description{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 1rem}.story-chunk-decisions{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.story-decision{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--font-size-base);color:var(--color-text-muted)}.story-decision .decision-arrow{color:var(--color-accent-blue);font-weight:600}.project-overview{background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);padding:1.5rem 2rem;border-bottom:1px solid var(--color-border-primary);animation:fadeIn .15s ease-out}.project-overview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.project-overview-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.project-overview-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.story-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-blue-15);border:1px solid rgba(56,139,253,.4);border-radius:var(--radius-md);color:var(--color-accent-blue);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.story-mode-btn:hover{background:var(--color-blue-30);border-color:#388bfd99}.story-mode-btn:disabled{opacity:.5;cursor:not-allowed}.project-overview-description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin:.5rem 0;max-width:800px}.project-overview-meta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:var(--font-size-base);color:var(--color-text-muted);margin-top:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem}.meta-value{color:var(--color-text-muted)}.meta-stars .meta-icon-styled{color:var(--color-accent-yellow);font-size:1rem}.meta-language .meta-dot{width:12px;height:12px;border-radius:50%;background:#3178c6}.meta-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;font-size:.8rem;font-weight:600}.meta-intents .meta-badge{background:linear-gradient(135deg,var(--color-purple-20) 0%,var(--color-blue-20) 100%);color:var(--color-accent-purple);border:1px solid rgba(136,87,255,.4)}.meta-files .meta-badge{background:linear-gradient(135deg,var(--color-blue-20) 0%,var(--color-green-20) 100%);color:var(--color-accent-blue);border:1px solid rgba(88,166,255,.4)}.project-overview-branch-wrapper{position:relative;margin-top:.75rem;width:fit-content}.project-overview-branch{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,var(--color-purple-10) 0%,var(--color-blue-10) 100%);border:1px solid rgba(136,87,255,.25);border-radius:var(--radius-md);width:fit-content}.project-overview-branch.clickable{cursor:pointer;transition:all var(--transition-normal)}.project-overview-branch.clickable:hover{background:linear-gradient(135deg,var(--color-purple-15) 0%,var(--color-blue-15) 100%);border-color:#8857ff66}.branch-chevron{font-size:.625rem;color:var(--color-text-muted);margin-left:.25rem;transition:transform var(--transition-normal)}.branch-chevron.open{transform:rotate(180deg)}.pr-switcher-dropdown.branch-dropdown{position:absolute;top:calc(100% + .5rem);left:0;z-index:1000}.branch-icon{color:var(--color-accent-purple);font-size:1rem;font-weight:600}.branch-name{color:var(--color-accent-blue);font-weight:600;font-size:var(--font-size-base)}.branch-repo{color:var(--color-text-muted);font-size:.8rem;padding-left:.5rem;border-left:1px solid var(--color-gray-30)}.project-overview-risk{display:flex;gap:.75rem;margin-top:.75rem}.risk-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.risk-item.risk-high{background:var(--color-red-15);color:var(--color-accent-red);border:1px solid rgba(248,81,73,.3)}.risk-item.risk-medium{background:var(--color-orange-15);color:var(--color-accent-orange);border:1px solid rgba(210,153,34,.3)}.risk-item.risk-low{background:var(--color-green-15);color:var(--color-accent-green);border:1px solid rgba(63,185,80,.3)}.risk-count{font-weight:600}.risk-label{text-transform:uppercase;letter-spacing:.05em}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted)}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:var(--spacing-12) var(--spacing-16);gap:var(--spacing-6);margin:var(--spacing-8) auto;max-width:400px;background:var(--color-violet-8);border:1px solid var(--color-violet-25);border-radius:var(--radius-xl);box-shadow:0 4px 24px var(--color-violet-10)}.loading-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:80px;height:80px}.loading-icon{width:32px;height:32px;z-index:1}.loading-icon.github{color:var(--color-text-secondary)}.loading-icon.story{color:var(--color-accent-purple)}.loading-icon.diff{color:var(--color-accent-blue)}.loading-icon.folder{color:var(--color-accent-green)}.loading-icon-wrapper .loading-spinner{position:absolute;width:64px;height:64px;border:3px solid var(--color-violet-15);border-top-color:var(--color-violet);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-icon.github~.loading-spinner{border-color:var(--color-gray-15);border-top-color:var(--color-text-secondary)}.loading-icon.story~.loading-spinner{border-color:var(--color-accent-purple-muted);border-top-color:var(--color-accent-purple)}.loading-icon.diff~.loading-spinner{border-color:var(--color-accent-blue-muted);border-top-color:var(--color-accent-blue)}.loading-icon.folder~.loading-spinner{border-color:var(--color-accent-green-muted);border-top-color:var(--color-accent-green)}.loading-text{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.loading-repo{font-family:var(--font-family-mono);font-size:var(--font-size-base);color:var(--color-text-muted);padding:var(--spacing-2) var(--spacing-4);background:var(--color-violet-10);border:1px solid var(--color-violet-20);border-radius:var(--radius-md)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--color-text-muted);font-size:var(--font-size-base);gap:var(--spacing-3)}.empty-state-icon{font-size:3rem;opacity:.6}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.empty-state-hint{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:450px;text-align:center;line-height:var(--line-height-normal)}.no-diff-icon{font-size:3rem;opacity:.6}.no-diff-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.no-diff-hint{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:450px;text-align:center;line-height:var(--line-height-normal)}.no-intent-banner{display:flex;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-8);background:linear-gradient(135deg,var(--color-orange-15) 0%,var(--color-orange-10) 100%);border-bottom:1px solid var(--color-orange-30)}.no-intent-icon{font-size:1.5rem;flex-shrink:0}.no-intent-content{flex:1}.no-intent-title{font-size:.9375rem;font-weight:var(--font-weight-semibold);color:var(--color-accent-orange);margin-bottom:var(--spacing-1)}.no-intent-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.no-intent-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.no-intent-link{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-accent-blue);text-decoration:none;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);align-self:center}.no-intent-link:hover{background:var(--color-blue-10);border-color:var(--color-accent-blue)}.files-sidebar{width:250px;min-width:250px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.sidebar-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.tree-actions{display:flex;gap:.25rem}.tree-action-btn{background:transparent;border:1px solid var(--color-border-primary);color:var(--color-text-muted);padding:.125rem .375rem;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-base)}.tree-action-btn:hover{background:var(--color-border-primary);color:var(--color-text-secondary)}.tree-action-btn.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.tree-action-btn.intent-toggle{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-family:var(--font-family-mono);font-size:var(--font-size-sm);border-radius:var(--radius-md);font-weight:500}.tree-action-btn.intent-toggle .toggle-icon{font-size:var(--font-size-base);line-height:1}.tree-action-btn[data-tooltip]{position:relative}.tree-action-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:6px 10px;background:#1c2128;color:var(--color-text-secondary);font-size:.7rem;font-weight:400;white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--color-border-primary);box-shadow:0 4px 12px #0006;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base);z-index:1000;pointer-events:none}.tree-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}.tree-action-btn.intent-toggle.visible{background:var(--color-blue-20);border-color:var(--color-accent-blue);color:var(--color-accent-blue);box-shadow:0 0 0 1px var(--color-blue-10)}.tree-action-btn.intent-toggle.visible .toggle-icon{color:var(--color-accent-blue)}.tree-action-btn.intent-toggle.hidden{background:var(--color-gray-10);border-color:#484f58;color:var(--color-text-dim)}.tree-action-btn.intent-toggle.hidden .toggle-label{text-decoration:line-through;text-decoration-color:var(--color-text-dim)}.tree-action-btn.intent-toggle:hover{background:var(--color-blue-15);border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.file-tree{display:flex;flex-direction:column;font-family:var(--font-family-mono);font-size:.8125rem}.tree-folder{display:flex;flex-direction:column}.tree-folder-header{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base);-webkit-user-select:none;user-select:none}.tree-folder-header:hover{background:var(--color-gray-5)}.tree-chevron{font-size:.5rem;color:var(--color-text-muted);transition:transform var(--transition-base);width:12px;display:inline-flex;justify-content:center}.tree-chevron.expanded{transform:rotate(90deg)}.tree-folder-icon{font-size:var(--font-size-base)}.tree-folder-name{color:var(--color-text-secondary);font-weight:500;flex:1}.tree-folder-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-gray-20);padding:.125rem .375rem;border-radius:10px;min-width:18px;text-align:center}.tree-folder-children{display:flex;flex-direction:column}.tree-file{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base)}.tree-file:hover{background:var(--color-gray-5)}.tree-file-badge{font-size:.625rem;font-weight:700;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);flex-shrink:0}.tree-file-badge.badge-modified{background:var(--color-orange-20);color:var(--color-accent-orange)}.tree-file-badge.badge-added{background:var(--color-green-20);color:var(--color-accent-green)}.tree-file.modified .tree-file-icon{color:var(--color-accent-orange)}.tree-file.added .tree-file-icon{color:var(--color-accent-green)}.tree-file-icon{font-size:.625rem;font-weight:700;width:1rem;text-align:center}.tree-file-name{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tree-file.current{background:linear-gradient(90deg,var(--color-blue-15) 0%,var(--color-purple-10) 100%);border-left:2px solid var(--color-accent-blue);margin-left:-2px}.tree-file.current .tree-file-name{color:var(--color-accent-blue);font-weight:500}.tree-file-current-indicator{color:var(--color-accent-blue);font-size:.5rem;margin-left:auto;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sidebar-intents{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.sidebar-intents .sidebar-title{display:flex;align-items:center;justify-content:space-between}.clear-selection-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:.125rem .25rem;border-radius:var(--radius-xs);transition:all var(--transition-base)}.clear-selection-btn:hover{background:var(--color-red-20);color:var(--color-accent-red)}.sidebar-intents .intents-list{display:flex;flex-direction:column;gap:.5rem}.intent-item{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:.625rem .75rem;cursor:pointer;transition:all var(--transition-base)}.intent-item:hover{border-color:var(--color-accent-blue);background:var(--color-blue-5)}.intent-item.selected{border-color:var(--color-accent-purple);background:var(--color-purple-10);box-shadow:0 0 0 1px #a371f74d}.intent-item-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.intent-item-id{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-accent-blue)}.risk-dot{width:6px;height:6px;border-radius:50%}.risk-dot.risk-low{background:var(--color-accent-green)}.risk-dot.risk-medium{background:var(--color-accent-orange)}.risk-dot.risk-high{background:var(--color-accent-red)}.stale-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent-orange)}.meta-stale{color:var(--color-accent-orange)}.intent-item-title{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.intent-item-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:.25rem}.intent-item-files{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.intent-file-tag{font-size:.625rem;font-family:var(--font-family-mono);color:var(--color-accent-blue);background:var(--color-blue-10);padding:.125rem .375rem;border-radius:var(--radius-xs);cursor:pointer}.intent-file-tag:hover{background:var(--color-blue-20)}.selected-intent-header{background:linear-gradient(135deg,var(--color-purple-10) 0%,var(--color-blue-5) 100%);border:1px solid var(--color-border-primary);border-left:3px solid var(--color-accent-purple);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.selected-intent-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.selected-intent-badge{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.selected-intent-badge .intent-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-accent-purple);background:var(--color-purple-15);padding:.125rem .5rem;border-radius:var(--radius-xs)}.selected-intent-badge .intent-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.close-intent-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:all var(--transition-base)}.close-intent-btn:hover{background:var(--color-red-20);color:var(--color-accent-red)}.selected-intent-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .75rem;line-height:1.3}.selected-intent-section{margin-bottom:.75rem}.selected-intent-section h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .375rem}.selected-intent-section p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5;margin:0}.selected-intent-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding:1.5rem 2rem;display:flex;gap:1.5rem}.app-main.intents-only{display:flex;flex-direction:row;gap:0;padding:0}.files-content{flex:1;min-width:0;max-width:100%;overflow-x:auto}.logo-icon{width:28px;height:28px;object-fit:contain}.nav-home-link{font-size:var(--font-size-base);color:var(--color-text-muted);text-decoration:none;padding:.375rem .75rem;border-radius:var(--radius-md);transition:all var(--transition-base)}.nav-home-link:hover{color:var(--color-text-primary);background:var(--color-gray-20)}.github-link{font-size:var(--font-size-base);color:var(--color-accent-blue);text-decoration:none;padding:.375rem .75rem;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base)}.github-link:hover{background:var(--color-blue-10);border-color:var(--color-accent-blue)}.lang-selector{display:flex;gap:2px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:2px;margin-left:.5rem}.lang-selector button{background:transparent;border:none;color:var(--color-text-muted);padding:.35rem .5rem;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.lang-selector button:hover{color:var(--color-text-secondary)}.lang-selector button.active{background:var(--color-success);color:#fff}.diff-context-container{background:var(--color-bg-secondary);padding:.75rem 2rem;border-bottom:1px solid var(--color-border-primary)}.diff-context-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--color-purple-10) 0%,var(--color-blue-10) 100%);border:1px solid rgba(136,87,255,.25);border-radius:var(--radius-md);padding:.5rem 1rem;font-size:var(--font-size-base)}.diff-context-icon{font-size:1rem;color:var(--color-accent-purple)}.diff-context-repo{color:var(--color-accent-blue);font-weight:600}.diff-context-separator{color:var(--color-gray-30)}.diff-context-label{color:var(--color-accent-blue);font-family:var(--font-family-mono);font-size:.8125rem;font-weight:500}.diff-context-wrapper{position:relative;display:inline-block}.diff-context-badge.clickable{cursor:pointer;transition:all var(--transition-normal)}.diff-context-badge.clickable:hover{background:linear-gradient(135deg,var(--color-purple-15) 0%,var(--color-blue-15) 100%);border-color:#8857ff66}.diff-context-chevron{font-size:.625rem;color:var(--color-text-muted);margin-left:.25rem;transition:transform var(--transition-normal)}.diff-context-chevron.open{transform:rotate(180deg)}.auth-section{display:flex;align-items:center;margin-left:1rem}.user-menu{display:flex;align-items:center;gap:.5rem}.user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border-primary)}.user-name{font-size:var(--font-size-base);color:var(--color-text-secondary)}.login-btn{background:var(--color-success);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background var(--transition-base)}.login-btn:hover{background:#2ea043}.logout-btn{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-primary);padding:.375rem .75rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.logout-btn:hover{color:var(--color-accent-red);border-color:var(--color-accent-red)}.toast-notification{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--color-success);color:#fff;padding:.875rem 1.25rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 24px #0006;z-index:99999;animation:toast-slide-up .3s ease;max-width:90%}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-icon{font-size:1.25rem}.toast-message{font-size:var(--font-size-base);line-height:1.4}.toast-close{background:none;border:none;color:#ffffffb3;font-size:1.25rem;cursor:pointer;padding:0 .25rem;margin-left:.5rem}.toast-close:hover{color:#fff}.auth-required-banner{display:flex;align-items:center;gap:1.5rem;max-width:600px;margin:4rem auto;padding:2rem;background:linear-gradient(135deg,var(--color-blue-10) 0%,rgba(139,148,158,.05) 100%);border:1px solid rgba(56,139,253,.3);border-radius:12px}.auth-required-icon{font-size:2.5rem;flex-shrink:0}.auth-required-content{flex:1}.auth-required-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.auth-required-desc{font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.auth-required-btn{background:var(--color-success);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background var(--transition-base);white-space:nowrap;flex-shrink:0}.auth-required-btn:hover{background:#2ea043}.install-required-banner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:500px;margin:4rem auto;padding:2.5rem;background:linear-gradient(135deg,#8857e51a,#8b949e0d);border:1px solid rgba(136,87,229,.3);border-radius:16px;text-align:center}.install-required-icon{color:#8b5cf6;opacity:.9}.install-required-content{display:flex;flex-direction:column;gap:.75rem}.install-required-title{font-size:1.375rem;font-weight:600;color:var(--color-text-primary)}.install-required-desc{font-size:1rem;color:var(--color-text-secondary);line-height:1.6}.install-required-desc strong{color:var(--color-text-primary);font-weight:600}.install-required-hint{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.5;margin-top:.25rem}.install-required-btn{display:inline-flex;align-items:center;gap:.5rem;background:#8b5cf6;color:#fff;border:none;padding:.875rem 1.75rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);text-decoration:none;margin-top:.5rem}.install-required-btn:hover{background:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.install-required-btn svg{flex-shrink:0}.error-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:3rem;gap:1rem;animation:fadeIn .2s ease-out}.error-icon{font-size:3.5rem;opacity:.8}.error-title{font-size:1.25rem;font-weight:600;color:var(--color-accent-red)}.error-details{font-size:var(--font-size-sm);color:var(--color-text-dim);background:var(--color-red-10);border:1px solid var(--color-red-20);border-radius:var(--radius-md);padding:.75rem 1rem;font-family:ui-monospace,monospace;max-width:500px;word-break:break-word}.error-retry-btn{margin-top:.5rem;padding:.625rem 1.25rem;background:var(--color-purple-15);border:1px solid rgba(136,87,255,.3);border-radius:var(--radius-md);color:#a78bfa;font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.error-retry-btn:hover{background:#8857ff40;border-color:#8857ff80}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.auth-required-banner{flex-direction:column;text-align:center;margin:2rem 1rem}.auth-required-btn{width:100%}}@media(max-width:640px){.install-required-banner{margin:2rem 1rem;padding:1.5rem}.install-required-title{font-size:1.125rem}.install-required-btn{width:100%;justify-content:center}}.landing{min-height:100vh;background:#0d1117;color:#c9d1d9;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.landing-container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#0d1117cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #30363d}.landing-nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.landing-nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.landing-logo-icon{width:32px;height:32px;object-fit:contain}.landing-logo-text{font-size:1.25rem;font-weight:700;color:#f0f6fc}.landing-nav-links{display:flex;gap:2rem}.landing-nav-links a{color:#8b949e;text-decoration:none;font-size:.9375rem;font-weight:500;transition:color .2s}.landing-nav-links a:hover{color:#f0f6fc}.landing-nav-actions{display:flex;align-items:center;gap:1rem}.landing-lang-selector{display:flex;gap:.125rem}.landing-lang-selector button{background:transparent;border:none;color:#8b949e;padding:.375rem .625rem;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;opacity:.6}.landing-lang-selector button:hover{opacity:1;color:#f0f6fc}.landing-lang-selector button.active{opacity:1;color:#a371f7;font-weight:600}.landing-login-btn{background:#238636;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.landing-login-btn:hover{background:#2ea043}.landing-user-menu{display:flex;align-items:center;gap:.5rem}.landing-user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid #30363d}.landing-logout-btn{background:transparent;color:#8b949e;border:1px solid #30363d;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .15s ease}.landing-logout-btn:hover{color:#f85149;border-color:#f85149}.landing-hero{min-height:100vh;padding:8rem 2rem 4rem;position:relative;display:flex;flex-direction:column;align-items:center}.landing-hero-bg{position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(ellipse at 50% 0%,rgba(88,166,255,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(163,113,247,.1) 0%,transparent 40%);pointer-events:none}.landing-hero-content{text-align:center;max-width:800px;margin:0 auto;position:relative;z-index:1;animation:fadeInUp .8s ease-out}.landing-hero-badge{display:inline-block;background:#3fb95026;color:#3fb950;padding:.375rem 1rem;border-radius:20px;font-size:.8125rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(63,185,80,.3)}.landing-hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;color:#f0f6fc;margin-bottom:1.5rem}.landing-hero-title span{display:block}.landing-gradient-text{background:linear-gradient(135deg,#58a6ff,#a371f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-subtitle{font-size:1.25rem;color:#8b949e;max-width:600px;margin:0 auto 2.5rem;line-height:1.7}.landing-hero-form{width:100%;max-width:600px;margin:0 auto 1.5rem}.landing-input-group{display:flex;gap:.5rem;background:#161b22;border:1px solid #30363d;border-radius:12px;padding:.5rem;transition:border-color .2s}.landing-input-group:focus-within{border-color:#58a6ff}.landing-url-input{flex:1;background:transparent;border:none;color:#f0f6fc;font-size:1rem;padding:.75rem;outline:none}.landing-url-input::placeholder{color:#6e7681}.landing-submit-btn{background:linear-gradient(135deg,#58a6ff,#a371f7);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.landing-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #58a6ff4d}.landing-submit-btn:disabled{opacity:.5;cursor:not-allowed}.landing-input-error{color:#f85149;font-size:.875rem;margin-top:.75rem}.landing-hero-options{color:#8b949e;font-size:.9375rem;margin-bottom:1.5rem}.landing-local-link{color:#58a6ff;text-decoration:none;font-weight:500;margin-left:.25rem}.landing-local-link:hover{text-decoration:underline}.landing-examples{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;font-size:.875rem;color:#8b949e}.landing-examples button{background:#21262d;border:1px solid transparent;color:#8b949e;padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-family:SF Mono,monospace;cursor:pointer;transition:all .2s}.landing-examples button:hover{background:#30363d;border-color:#58a6ff;color:#58a6ff}.landing-hero-highlights{display:flex;justify-content:center;gap:1rem;margin-top:4rem;padding:1rem 0;flex-wrap:wrap;position:relative;z-index:1}.landing-highlight{display:flex;align-items:center;gap:.625rem;color:#c9d1d9;font-size:.875rem;font-weight:500;padding:.625rem 1rem;background:#161b22;border:1px solid #30363d;border-radius:100px}.landing-problem{padding:6rem 0;background:#161b22}.landing-section-header{text-align:center;margin-bottom:4rem}.landing-section-header h2{font-size:2.5rem;font-weight:700;color:#f0f6fc;margin-bottom:1rem}.landing-section-header p{font-size:1.125rem;color:#8b949e}.landing-problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.landing-problem-card{background:#0d1117;border:1px solid #30363d;border-radius:12px;padding:2rem;transition:all .3s}.landing-problem-card:hover{transform:translateY(-4px);border-color:#f85149;box-shadow:0 10px 40px #f851491a}.landing-problem-icon{font-size:2.5rem;margin-bottom:1rem}.landing-problem-card h3{font-size:1.25rem;color:#f0f6fc;margin-bottom:.75rem}.landing-problem-card p{color:#8b949e;font-size:.9375rem;line-height:1.6}.landing-solution{padding:6rem 0}.landing-solution-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.landing-section-badge{display:inline-block;background:#58a6ff26;color:#58a6ff;padding:.375rem 1rem;border-radius:20px;font-size:.8125rem;font-weight:600;margin-bottom:1rem}.landing-solution-text h2{font-size:2rem;font-weight:700;color:#f0f6fc;margin-bottom:1rem}.landing-solution-desc{font-size:1.0625rem;color:#8b949e;margin-bottom:2rem;line-height:1.6}.landing-solution-list{list-style:none;padding:0}.landing-solution-list li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:1rem;color:#c9d1d9}.landing-check{color:#3fb950;font-weight:700;font-size:1.25rem}.landing-code-block{background:#161b22;border:1px solid #30363d;border-radius:12px;overflow:hidden}.landing-code-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#21262d;border-bottom:1px solid #30363d;font-family:SF Mono,monospace;font-size:.8125rem;color:#8b949e}.landing-code-content{padding:1.25rem;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.8;overflow-x:auto;margin:0;color:#c9d1d9}.landing-features{padding:6rem 0;background:#161b22}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.landing-feature-card{background:#0d1117;border:1px solid #30363d;border-radius:12px;padding:2rem;transition:all .3s}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:0 15px 50px #0000004d}.landing-feature-compare:hover{border-color:#58a6ff}.landing-feature-browse:hover{border-color:#3fb950}.landing-feature-story:hover{border-color:#a371f7}.landing-feature-icon{font-size:2rem;margin-bottom:1rem}.landing-feature-card h3{font-size:1.25rem;color:#f0f6fc;margin-bottom:.75rem}.landing-feature-card p{color:#8b949e;font-size:.9375rem;line-height:1.6}.landing-how-it-works{padding:6rem 0}.landing-steps{display:flex;flex-direction:column;gap:3rem;max-width:700px;margin:0 auto}.landing-step{display:flex;gap:2rem;align-items:flex-start}.landing-step-number{width:50px;height:50px;background:linear-gradient(135deg,#58a6ff,#a371f7);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;flex-shrink:0}.landing-step-content h3{font-size:1.25rem;color:#f0f6fc;margin-bottom:.5rem}.landing-step-content p{color:#8b949e;line-height:1.6}.landing-demo{padding:6rem 0;background:#161b22}.landing-demo-cta{text-align:center;padding:3rem;background:#0d1117;border:1px solid #30363d;border-radius:12px}.landing-demo-cta p{color:#8b949e;margin-bottom:1.5rem;font-size:1.125rem}.landing-demo-btn{background:linear-gradient(135deg,#58a6ff,#a371f7);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;font-family:SF Mono,monospace;cursor:pointer;transition:all .2s}.landing-demo-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #58a6ff4d}.landing-footer{padding:3rem 0;border-top:1px solid #30363d}.landing-footer-content{text-align:center}.landing-footer-logo{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#f0f6fc;margin-bottom:.5rem}.landing-footer-tagline{color:#8b949e;margin-bottom:1rem}.landing-footer-links{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.landing-footer-links a{color:#8b949e;text-decoration:none;font-size:.875rem}.landing-footer-links a:hover{color:#58a6ff}.landing-footer-links span{color:#30363d}.landing-footer-credit{font-size:.8125rem;color:#6e7681}.landing-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-decoration:none;z-index:10;background:none;border:none;padding:0;cursor:pointer}.landing-scroll-arrow{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid #30363d;border-radius:50%;color:#8b949e;font-size:1.25rem;animation:bounce 2s infinite;transition:all .2s}.landing-scroll-indicator:hover .landing-scroll-arrow{border-color:#58a6ff;color:#58a6ff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media(max-width:1024px){.landing-features-grid{grid-template-columns:1fr}.landing-solution-content{grid-template-columns:1fr;gap:3rem}}@media(max-width:768px){.landing-nav-links{display:none}.landing-hero-title{font-size:2.5rem}.landing-input-group{flex-direction:column}.landing-submit-btn{width:100%}.landing-section-header h2{font-size:2rem}.landing-step{flex-direction:column;gap:1rem}.landing-hero-highlights{gap:.5rem}.landing-highlight{font-size:.75rem;padding:.5rem .75rem}}
