:root { --ink:#14213a; --muted:#6b7a90; --line:#e5eaf1; --blue:#0968f3; --blue-soft:#edf5ff; --sidebar:88px; --sidebar-open:218px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,Arial,sans-serif; font-size:14px; }
button, input, textarea { font:inherit; }
svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sidebar-toggle { position:fixed; width:1px; height:1px; opacity:0; pointer-events:none; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:2; display:flex; flex-direction:column; width:var(--sidebar); overflow:visible; background:#fff; border-right:1px solid var(--line); transition:width .52s cubic-bezier(.22,1,.36,1); }
.brand { display:flex; align-items:center; justify-content:center; height:81px; color:var(--blue); text-decoration:none; transition:padding .52s cubic-bezier(.22,1,.36,1), justify-content .52s cubic-bezier(.22,1,.36,1); }
.brand-mark { display:grid; flex:0 0 auto; width:43px; height:38px; place-items:center; color:var(--blue); filter:drop-shadow(0 5px 8px #0968f327); }.brand-mark svg { width:100%; height:100%; }
.brand-name { max-width:0; overflow:hidden; opacity:0; transform:translateX(-10px); white-space:nowrap; font-size:17px; font-weight:700; transition:max-width .45s cubic-bezier(.22,1,.36,1), opacity .25s ease, transform .45s cubic-bezier(.22,1,.36,1); }
.sidebar-toggle-button { position:absolute; top:27px; right:-14px; display:grid; width:28px; height:28px; place-items:center; border:1px solid #dfe6ef; border-radius:50%; background:#fff; color:#65758b; box-shadow:0 3px 10px #263a5512; cursor:pointer; transition:color .2s, transform .52s cubic-bezier(.22,1,.36,1), box-shadow .2s; }.sidebar-toggle-button:hover { color:var(--blue); box-shadow:0 5px 14px #263a5526; }.sidebar-toggle-button svg { width:15px; }
.main-nav, .bottom-nav { display:flex; flex-direction:column; align-items:center; gap:24px; transition:padding .52s cubic-bezier(.22,1,.36,1), align-items .52s cubic-bezier(.22,1,.36,1); }
.main-nav { padding-top:25px; }.bottom-nav { margin-top:auto; padding:20px 0 24px; border-top:1px solid var(--line); gap:18px; }
.nav-link { display:flex; flex-direction:column; align-items:center; gap:7px; width:68px; padding:8px 0; border-radius:10px; color:#7b899d; text-align:center; text-decoration:none; font-size:10px; font-weight:500; line-height:1.25; transition:color .2s, background .2s, width .52s cubic-bezier(.22,1,.36,1), padding .52s cubic-bezier(.22,1,.36,1), gap .52s cubic-bezier(.22,1,.36,1), flex-direction .52s cubic-bezier(.22,1,.36,1); }
.nav-link svg { width:20px; height:20px; }.nav-link:hover, .nav-link.active { color:var(--blue); background:#f1f6ff; }.nav-link.active svg { stroke-width:2.1; }
.utility-bar { position:fixed; z-index:1; top:24px; right:32px; display:flex; align-items:center; gap:15px; }
.theme-control { display:flex; align-items:center; gap:8px; padding:0; border:0; background:transparent; color:#77869b; cursor:pointer; }.theme-control > svg { width:18px; }
.toggle { display:flex; align-items:center; width:36px; height:20px; padding:2px; border-radius:99px; background:#dfe6ef; }.toggle span { width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #8391a766; }
.github-button { display:flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid #dfe5ed; border-radius:8px; color:#29364a; background:#fff; font-size:13px; font-weight:600; text-decoration:none; }.github-button svg, .url-input svg, .example-list svg { width:17px; height:17px; fill:currentColor; stroke:none; }
main { width:calc(100% - var(--sidebar)); min-height:100vh; margin-left:var(--sidebar); padding:138px 30px 58px; transition:margin-left .52s cubic-bezier(.22,1,.36,1), width .52s cubic-bezier(.22,1,.36,1); }
.intro { max-width:720px; margin:0 auto; text-align:center; }.eyebrow { margin:0 0 15px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.13em; }.intro h1 { margin:0; letter-spacing:-1.3px; font-size:35px; line-height:1.15; }.intro > p:last-child { max-width:625px; margin:17px auto 0; color:var(--muted); font-size:14px; line-height:1.65; }
.analysis-card { max-width:630px; margin:37px auto 0; padding:27px; border:1px solid var(--line); border-radius:13px; box-shadow:0 9px 26px #2037580a; }.analysis-card label { display:block; margin-bottom:10px; color:#27364d; font-size:13px; font-weight:600; }.analysis-card label span { margin-left:6px; color:#98a5b5; font-size:10px; font-weight:500; }.url-input { display:flex; align-items:center; gap:10px; height:45px; padding:0 13px; border:1px solid #cfd9e7; border-radius:7px; color:#536176; }.url-input:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px #1769e91a; }.url-input input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); }.url-input input::placeholder, textarea::placeholder { color:#a0acbb; opacity:1; }.analysis-card label[for="instruction"] { margin-top:23px; }
textarea { display:block; width:100%; height:91px; padding:12px 13px; resize:vertical; border:1px solid #cfd9e7; border-radius:7px; outline:0; color:var(--ink); line-height:1.5; }.analysis-card textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px #1769e91a; }.counter { margin:5px 1px 18px; color:#9aa6b5; font-size:10px; text-align:right; }.submit-button { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; height:45px; border:0; border-radius:7px; background:var(--blue); color:#fff; font-weight:600; cursor:pointer; box-shadow:0 5px 11px #1769e92b; transition:background .2s, transform .2s; }.submit-button:hover { background:#0f5dcc; transform:translateY(-1px); }.submit-button svg { width:17px; }.form-note { margin:14px 0 0; color:#8997a9; font-size:10px; text-align:center; }.form-note span { color:var(--blue); }
.features { display:grid; grid-template-columns:repeat(3, 1fr); gap:15px; max-width:930px; margin:47px auto 0; }.features article { display:flex; align-items:flex-start; gap:13px; min-height:113px; padding:20px 17px; border:1px solid var(--line); border-radius:11px; }.feature-icon { display:grid; flex:0 0 35px; width:35px; height:35px; place-items:center; border-radius:8px; background:var(--blue-soft); color:var(--blue); }.feature-icon svg { width:19px; }.features h2 { margin:1px 0 7px; font-size:13px; }.features p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.examples { max-width:930px; margin:45px auto 0; }.section-heading { display:flex; align-items:center; gap:15px; }.section-heading span { flex:1; height:1px; background:var(--line); }.section-heading h2 { margin:0; color:#526176; font-size:11px; font-weight:600; }.example-list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:19px; }.example-list a { display:flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid #dfe5ed; border-radius:99px; color:#536176; font-size:11px; font-weight:500; text-decoration:none; transition:.2s; }.example-list a:hover { border-color:#b9c7d9; color:var(--blue); background:#f8fbff; }.example-list svg { width:14px; height:14px; color:#384457; }
/* The checked state controls the desktop drawer: it never opens on hover. */
.sidebar-toggle:checked ~ .sidebar { width:var(--sidebar-open); }
.sidebar-toggle:checked ~ .sidebar .brand { justify-content:flex-start; gap:11px; padding-left:23px; }
.sidebar-toggle:checked ~ .sidebar .brand-name { max-width:110px; opacity:1; transform:translateX(0); }
.sidebar-toggle:checked ~ .sidebar .sidebar-toggle-button { transform:rotate(180deg); }
.sidebar-toggle:checked ~ .sidebar .main-nav, .sidebar-toggle:checked ~ .sidebar .bottom-nav { align-items:flex-start; padding-left:14px; }
.sidebar-toggle:checked ~ .sidebar .nav-link { flex-direction:row; width:190px; padding:10px 13px; gap:12px; text-align:left; font-size:12px; }
.sidebar-toggle:checked ~ .sidebar .nav-link br { display:none; }
.sidebar-toggle:checked ~ main { margin-left:var(--sidebar-open); width:calc(100% - var(--sidebar-open)); }
@media (max-width:760px) { :root { --sidebar:0px; } .sidebar-toggle { display:none; } .sidebar, .sidebar-toggle:checked ~ .sidebar { position:static; flex-direction:row; align-items:center; width:100%; height:64px; overflow:visible; border-right:0; border-bottom:1px solid var(--line); }.brand, .sidebar-toggle:checked ~ .sidebar .brand { width:75px; height:64px; justify-content:center; padding-left:0; }.brand-mark { width:35px; height:31px; }.brand-name, .sidebar-toggle:checked ~ .sidebar .brand-name { display:none; }.sidebar-toggle-button { display:none; }.main-nav, .sidebar-toggle:checked ~ .sidebar .main-nav { flex-direction:row; align-items:center; padding:0; gap:2px; }.bottom-nav { display:none; }.nav-link, .sidebar-toggle:checked ~ .sidebar .nav-link { flex-direction:row; width:auto; padding:8px 10px; gap:5px; }.nav-link br { display:none; }.nav-link span { font-size:11px; }.utility-bar { position:absolute; top:17px; right:15px; gap:9px; }.theme-control { display:none; }.github-button { padding:7px 9px; font-size:11px; }.github-button svg { width:14px; } main, .sidebar-toggle:checked ~ main { width:100%; margin:0; padding:72px 17px 40px; }.intro h1 { font-size:29px; }.analysis-card { margin-top:29px; padding:20px; }.features { grid-template-columns:1fr; margin-top:32px; }.features article { min-height:auto; }.examples { margin-top:34px; } }
@media (max-width:430px) { .main-nav .nav-link:nth-child(2) { display:none; }.intro > p:last-child { font-size:13px; }.analysis-card { padding:17px; }.example-list { gap:7px; }.example-list a { padding:7px 9px; } }

/* Repository conversation workspace */
[hidden] { display:none !important; }
.form-error { min-height:14px; margin:7px 0 -6px; color:#c9373b; font-size:11px; text-align:left; }.submit-button:disabled { cursor:wait; opacity:.68; transform:none; }
.workspace { width:calc(100% - var(--sidebar)); min-height:100vh; margin-left:var(--sidebar); padding:104px max(30px, calc((100% - 900px) / 2)) 40px; transition:margin-left .52s cubic-bezier(.22,1,.36,1), width .52s cubic-bezier(.22,1,.36,1); }.sidebar-toggle:checked ~ .workspace { width:calc(100% - var(--sidebar-open)); margin-left:var(--sidebar-open); }
.repository-header { display:grid; grid-template-columns:145px minmax(0, 1fr) auto; align-items:center; gap:20px; padding:0 0 23px; border-bottom:1px solid var(--line); }.back-button { width:max-content; padding:8px 0; border:0; background:transparent; color:#617189; font-size:12px; font-weight:600; cursor:pointer; }.back-button:hover { color:var(--blue); }.workspace-label { margin:0 0 5px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.11em; }.repository-header h1 { margin:0; font-size:21px; letter-spacing:-.55px; }.repository-header a { display:inline-block; margin-top:6px; color:#6c7b8e; font-size:11px; text-decoration:none; }.repository-header a:hover { color:var(--blue); }.analysis-status { padding:7px 10px; border:1px solid #cfe0fa; border-radius:99px; background:#f3f8ff; color:#3372c8; font-size:11px; font-weight:600; }
.conversation { max-width:760px; margin:29px auto 24px; }.message { margin:0 0 26px; animation:message-in .35s cubic-bezier(.22,1,.36,1) both; }.message-label { margin:0 0 7px; color:#77869a; font-size:11px; font-weight:700; }.message-content { color:#27364c; font-size:14px; line-height:1.7; }.message.user { margin-left:auto; max-width:76%; padding:13px 15px; border-radius:12px 12px 3px 12px; background:#f1f6ff; }.message.user .message-label { color:#3979d2; }.message.error { padding:12px 14px; border:1px solid #f0c9ca; border-radius:9px; background:#fff7f7; }.message.error .message-label { color:#bd3b3e; }.message-content h1, .message-content h2, .message-content h3 { margin:21px 0 7px; color:var(--ink); line-height:1.3; }.message-content h1 { font-size:19px; }.message-content h2 { font-size:16px; }.message-content h3 { font-size:14px; }.message-content ul { margin:8px 0 12px; padding-left:20px; }.message-content li { margin:4px 0; }.message-content code { padding:2px 5px; border-radius:4px; background:#f1f4f8; color:#33435a; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.88em; }.message-content pre { overflow:auto; margin:12px 0; padding:14px; border-radius:8px; background:#15243a; color:#e7eef8; line-height:1.55; }.message-content pre code { padding:0; background:transparent; color:inherit; }
.progress-message { display:flex; align-items:center; justify-content:center; gap:8px; min-height:29px; margin:0 auto 13px; color:#708097; font-size:12px; }.progress-message p { margin:0; }.progress-message span { width:8px; height:8px; border-radius:50%; background:var(--blue); animation:pulse 1.15s ease-in-out infinite; }.chat-composer { display:flex; align-items:flex-end; gap:10px; max-width:760px; margin:0 auto; padding:9px 9px 9px 14px; border:1px solid #dbe3ed; border-radius:11px; background:#fff; box-shadow:0 8px 24px #1933540c; }.chat-composer textarea { height:auto; min-height:25px; max-height:130px; padding:3px 0; border:0; border-radius:0; resize:none; box-shadow:none; }.chat-composer textarea:focus { border:0; box-shadow:none; }.chat-composer button { height:32px; padding:0 12px; border:0; border-radius:7px; background:var(--blue); color:#fff; font-size:12px; font-weight:600; cursor:pointer; }.chat-composer button:disabled { cursor:not-allowed; opacity:.45; }.chat-composer button span { font-size:15px; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; } @keyframes message-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } @keyframes pulse { 50% { opacity:.35; transform:scale(.7); } }
.dark-mode { --ink:#e4ecf6; --muted:#a6b5c8; --line:#263650; --blue-soft:#192b47; background:#101a2a; }.dark-mode .sidebar, .dark-mode .github-button, .dark-mode .analysis-card, .dark-mode .features article, .dark-mode .example-list a, .dark-mode .chat-composer { background:#142033; }.dark-mode .sidebar-toggle-button, .dark-mode .toggle span { background:#1c2a40; }.dark-mode .url-input, .dark-mode textarea { border-color:#3a4c67; background:#17243a; }.dark-mode .message-content code { background:#1d2d44; color:#d9e7f8; }.dark-mode .message.user { background:#182c4b; }.dark-mode .theme-control { color:#c4d0df; }.dark-mode .toggle { background:#397ee6; }.dark-mode .toggle span { transform:translateX(16px); }.dark-mode .repository-header h1, .dark-mode .features h2 { color:var(--ink); }
@media (max-width:760px) { .workspace, .sidebar-toggle:checked ~ .workspace { width:100%; margin:0; padding:86px 17px 34px; }.repository-header { grid-template-columns:1fr auto; }.back-button { grid-column:1 / -1; }.repository-header h1 { font-size:18px; }.conversation { margin-top:24px; }.message.user { max-width:90%; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Original RepoPilot mark: the same transparent asset is used in both themes. */
.brand-mark { background:url("ChatGPT%20Image%20Sep%2025%2C%202026%2C%2009_27_09%20PM.png") center / 175% no-repeat; filter:drop-shadow(0 5px 8px rgb(9 104 243 / .23)); }
.brand-mark svg { display:none; }

/* Complete dark theme palette and component overrides. */
.dark-mode { --ink:#e9f0fb; --muted:#a9b8ca; --line:#263a55; --blue:#1971f8; --blue-soft:#172d4d; color-scheme:dark; background:#0d192a; color:var(--ink); }
.dark-mode .sidebar { background:#101d30; border-color:#263a55; }.dark-mode .sidebar-toggle-button { border-color:#6d7f98; background:#14243a; color:#c3d0e0; }.dark-mode .brand-name { color:#eef5ff; }
.dark-mode .nav-link { color:#9cacc0; }.dark-mode .nav-link:hover, .dark-mode .nav-link.active { background:#eaf2ff; color:#1769ed; }.dark-mode .bottom-nav { border-color:#263a55; }
.dark-mode .github-button { border-color:#60728c; background:#14243a; color:#eef5ff; }.dark-mode .github-button svg { color:#eef5ff; }.dark-mode .theme-control { color:#cbd8e8; }.dark-mode .toggle { background:#347ee9; }.dark-mode .toggle span { background:#e9f2ff; }
.dark-mode .intro h1, .dark-mode .analysis-card label, .dark-mode .features h2, .dark-mode .repository-header h1 { color:#edf4ff; }.dark-mode .intro > p:last-child, .dark-mode .features p, .dark-mode .form-note, .dark-mode .counter, .dark-mode .repository-header a { color:#a9b8ca; }
.dark-mode .analysis-card, .dark-mode .features article, .dark-mode .example-list a, .dark-mode .chat-composer { border-color:#2b4261; background:#14243a; box-shadow:0 10px 28px rgb(0 0 0 / .18); }.dark-mode .example-list a { color:#c0cddd; }.dark-mode .example-list svg { color:#d6e1ee; }.dark-mode .section-heading span { background:#2b4261; }.dark-mode .section-heading h2 { color:#a9b8ca; }
.dark-mode .url-input, .dark-mode textarea { border-color:#415a7b; background:#172943; color:#edf4ff; }.dark-mode .url-input input { background:transparent; color:#edf4ff; }.dark-mode .url-input input::placeholder, .dark-mode textarea::placeholder { color:#a5b5c9; }.dark-mode .url-input { color:#aabbd0; }.dark-mode .url-input:focus-within, .dark-mode textarea:focus { border-color:#4d91fb; box-shadow:0 0 0 3px rgb(42 125 244 / .2); }.dark-mode .analysis-card label span { color:#9cafc5; }
.dark-mode .submit-button, .dark-mode .chat-composer button { background:#1971f8; box-shadow:0 7px 18px rgb(8 79 190 / .28); }.dark-mode .submit-button:hover, .dark-mode .chat-composer button:hover:not(:disabled) { background:#3182fb; }.dark-mode .feature-icon { background:#1b3356; color:#5b9bff; }
.dark-mode .repository-header { border-color:#263a55; }.dark-mode .back-button { color:#b9c7d8; }.dark-mode .analysis-status { border-color:#315985; background:#162d4a; color:#8ec0ff; }.dark-mode .message-content { color:#d9e4f1; }.dark-mode .message-content h1, .dark-mode .message-content h2, .dark-mode .message-content h3 { color:#f0f6ff; }.dark-mode .message.user { background:#1a3558; }.dark-mode .message-content code { background:#203756; color:#dceaff; }.dark-mode .message.error { border-color:#7e454d; background:#301d29; }.dark-mode .chat-composer textarea { background:transparent; color:#eef5ff; }.dark-mode .progress-message { color:#aebdce; }

/* Step 1 discovery confirmation: verified GitHub data only. */
.discovery-result { padding:24px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 9px 26px #2037580a; }.discovery-result h2 { margin:5px 0 8px; font-size:22px; letter-spacing:-.5px; }.discovery-result h3 { margin:23px 0 8px; font-size:13px; }.discovery-label { margin:0; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.11em; }.discovery-description { margin:0; color:var(--muted); line-height:1.6; }.discovery-facts { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px 22px; margin:24px 0 0; }.discovery-facts dt { color:#718198; font-size:11px; }.discovery-facts dd { margin:3px 0 0; color:var(--ink); font-size:13px; font-weight:600; overflow-wrap:anywhere; }.coverage-note { margin:22px 0 0; padding:10px 12px; border-radius:8px; background:#f3f8ff; color:#4773ad; font-size:12px; line-height:1.5; }.coverage-partial { background:#fff8e9; color:#8a671f; }.discovery-result ul { margin:0; padding-left:18px; color:#526176; font-size:12px; line-height:1.7; }.dark-mode .discovery-result { border-color:#2b4261; background:#14243a; box-shadow:0 10px 28px rgb(0 0 0 / .18); }.dark-mode .discovery-result h2, .dark-mode .discovery-facts dd { color:#edf4ff; }.dark-mode .coverage-note { background:#162d4a; color:#a9ceff; }.dark-mode .coverage-partial { background:#3c3018; color:#f0d188; }
@media (max-width:560px) { .discovery-facts { grid-template-columns:1fr; gap:10px; } .discovery-result { padding:18px; } }
.analysis-meta { margin:0 0 10px; color:#718198; font-size:11px; }.analysis-text { overflow:auto; margin:0; padding:15px; border-radius:8px; background:#f5f8fc; color:#27364c; white-space:pre-wrap; font:12px/1.65 Inter,Arial,sans-serif; }.dark-mode .analysis-meta { color:#a9b8ca; }.dark-mode .analysis-text { background:#101f35; color:#e1eaf5; }

/* GitHub-sourced repository overview. Generated analysis remains in its own section. */
.repository-overview, .file-explorer, .analysis-section { margin:0 0 22px; padding:25px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 9px 26px #2037580a; }.overview-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.repository-owner { margin:0; color:var(--ink); font-size:20px; font-weight:700; letter-spacing:-.4px; }.repository-description { margin:7px 0 0; color:var(--muted); line-height:1.6; }.visibility-badge { flex:0 0 auto; padding:5px 9px; border:1px solid #bfe7cc; border-radius:99px; background:#f1fbf4; color:#27834a; font-size:11px; font-weight:700; text-transform:capitalize; }.metadata-line { display:flex; flex-wrap:wrap; gap:8px 16px; margin:19px 0 0; color:#6c7b8e; font-size:12px; }.metadata-line span { display:inline-flex; align-items:center; gap:4px; }.metadata-line span:not(:first-child)::before { width:4px; height:4px; border-radius:50%; background:#b5c0cf; content:""; }.overview-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin:22px 0; }.overview-stats div { min-width:0; padding:13px; border:1px solid #e6ebf2; border-radius:8px; background:#fafcff; }.overview-stats span { display:block; color:#7b899d; font-size:10px; }.overview-stats strong { display:block; margin-top:4px; color:var(--ink); font-size:19px; letter-spacing:-.3px; }.language-section { padding-top:2px; }.language-section h3, .file-explorer h2, .analysis-section h2 { margin:0 0 13px; font-size:16px; letter-spacing:-.25px; }.language-bar { display:flex; width:100%; height:8px; overflow:hidden; border-radius:99px; background:#e9eef5; }.language-bar span { min-width:2px; height:100%; }.language-legend { display:flex; flex-wrap:wrap; gap:8px 17px; margin-top:12px; color:#536176; font-size:11px; }.language-legend span { display:inline-flex; align-items:center; gap:6px; }.language-legend i { width:9px; height:9px; border-radius:50%; }.data-source-note, .empty-note { margin:10px 0 0; color:#8492a5; font-size:11px; line-height:1.5; }.file-explorer h2 { margin-bottom:11px; }.tree-directory, .tree-file { border-top:1px solid #edf0f5; }.tree-directory > summary, .tree-file { display:flex; align-items:center; gap:8px; min-height:37px; color:#36455a; font-size:13px; list-style:none; }.tree-directory > summary { cursor:pointer; }.tree-directory > summary::-webkit-details-marker { display:none; }.tree-directory[open] > summary .tree-caret { transform:rotate(90deg); }.tree-caret { width:10px; color:#718198; font-size:11px; transition:transform .15s; }.tree-icon { width:22px; color:var(--blue); font-size:14px; text-align:center; }.file-icon { color:#708097; font-size:11px; }.tree-children { margin-left:19px; border-left:1px solid #edf0f5; }.tree-children > .tree-file, .tree-children > .tree-directory { padding-left:11px; }.tree-size { margin-left:auto; color:#96a2b1; font-size:10px; }.analysis-section { border-color:#d7e4f7; }.analysis-section h2 { margin-bottom:6px; }.dark-mode .repository-overview, .dark-mode .file-explorer, .dark-mode .analysis-section { border-color:#2b4261; background:#14243a; box-shadow:0 10px 28px rgb(0 0 0 / .18); }.dark-mode .repository-owner, .dark-mode .overview-stats strong, .dark-mode .language-section h3, .dark-mode .file-explorer h2, .dark-mode .analysis-section h2 { color:#edf4ff; }.dark-mode .overview-stats div { border-color:#2b4261; background:#172943; }.dark-mode .metadata-line, .dark-mode .language-legend, .dark-mode .tree-directory > summary, .dark-mode .tree-file { color:#c7d3e1; }.dark-mode .visibility-badge { border-color:#2d7b4c; background:#143823; color:#8cdda7; }.dark-mode .language-bar { background:#2a3a51; }.dark-mode .tree-directory, .dark-mode .tree-file, .dark-mode .tree-children { border-color:#2b4261; }.dark-mode .data-source-note, .dark-mode .empty-note { color:#a9b8ca; }
@media (max-width:620px) { .overview-heading { flex-direction:column; gap:10px; }.overview-stats { grid-template-columns:repeat(2, 1fr); }.repository-overview, .file-explorer, .analysis-section { padding:18px; } }
.analysis-message { margin:18px 0; }.analysis-message .message-label { margin-bottom:7px; }.user-request { max-width:82%; padding:12px 14px; border-radius:10px 10px 3px 10px; background:#f0f6ff; color:#2c4262; }.assistant-response { padding-top:2px; }.analysis-markdown { color:#29384e; font-size:14px; line-height:1.72; overflow-wrap:anywhere; }.analysis-markdown.generating { color:#718198; font-style:italic; }.analysis-markdown h2, .analysis-markdown h3, .analysis-markdown h4 { margin:22px 0 8px; color:var(--ink); line-height:1.3; }.analysis-markdown h2 { font-size:19px; }.analysis-markdown h3 { font-size:16px; }.analysis-markdown h4 { font-size:14px; }.analysis-markdown ul { margin:8px 0 13px; padding-left:20px; }.analysis-markdown li { margin:4px 0; }.inline-code { padding:2px 5px; border-radius:4px; background:#edf2f8; color:#31577f; font:12px ui-monospace,SFMono-Regular,Menlo,monospace; }.code-block { position:relative; overflow:auto; margin:13px 0; padding:15px; border-radius:8px; background:#14233a; color:#e9f1fc; }.code-block code { display:block; min-width:max-content; padding-right:48px; font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; }.copy-code { position:absolute; top:8px; right:8px; padding:4px 8px; border:1px solid #405673; border-radius:5px; background:#203754; color:#dbe9f9; font-size:10px; cursor:pointer; }.copy-code:hover { background:#2a4b71; }.analysis-failed { padding:11px 13px; border:1px solid #f0c9ca; border-radius:8px; background:#fff7f7; color:#a43d43; }.dark-mode .user-request { background:#1a3558; color:#dceaff; }.dark-mode .analysis-markdown { color:#d9e4f1; }.dark-mode .analysis-markdown h2, .dark-mode .analysis-markdown h3, .dark-mode .analysis-markdown h4 { color:#f0f6ff; }.dark-mode .inline-code { background:#203756; color:#dceaff; }.dark-mode .analysis-failed { border-color:#7e454d; background:#301d29; color:#ffc2c7; }
.source-reference { display:inline; padding:1px 4px; border:0; border-radius:4px; background:#e8f1ff; color:#0759c9; font:12px ui-monospace,SFMono-Regular,Menlo,monospace; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }.source-reference:hover { background:#d6e7ff; }.source-reference:focus-visible, .return-latest:focus-visible { outline:3px solid #1769e94d; outline-offset:2px; }.source-inspector { margin:0 0 22px; padding:25px; border:1px solid #cfdff3; border-radius:12px; background:#fff; box-shadow:0 9px 26px #2037580a; }.source-inspector h2 { margin:6px 0 8px; overflow-wrap:anywhere; font:600 16px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace; }.return-latest { position:sticky; z-index:1; bottom:18px; display:block; margin:-4px auto 10px; padding:8px 12px; border:1px solid #cddcf0; border-radius:99px; background:#fff; color:#2263b5; box-shadow:0 5px 15px #1933541a; font-size:11px; font-weight:600; cursor:pointer; }.return-latest:hover { border-color:#93b8eb; background:#f5f9ff; }.dark-mode .source-reference { background:#1d416f; color:#a9d1ff; }.dark-mode .source-reference:hover { background:#285181; }.dark-mode .source-inspector { border-color:#315173; background:#14243a; box-shadow:0 10px 28px rgb(0 0 0 / .18); }.dark-mode .source-inspector h2 { color:#eef5ff; }.dark-mode .return-latest { border-color:#45698e; background:#142b47; color:#b7dbff; }
.chat-composer { position:sticky; bottom:18px; z-index:1; }.retry-message { margin-top:10px; padding:6px 9px; border:1px solid #e3b5b8; border-radius:6px; background:#fff; color:#9a3037; font-size:11px; font-weight:600; cursor:pointer; }.retry-message:hover { background:#fff7f7; }.repository-history { padding:25px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 9px 26px #2037580a; }.repository-history h2 { margin:6px 0 18px; font-size:18px; }.history-list { display:grid; gap:9px; }.history-item { display:grid; gap:5px; width:100%; padding:14px; border:1px solid #e1e8f1; border-radius:8px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:border-color .2s, background .2s, transform .2s; }.history-item:hover { border-color:#a9c8ef; background:#f7fbff; transform:translateY(-1px); }.history-item strong { font-size:13px; }.history-item span { color:var(--muted); font-size:12px; line-height:1.45; }.history-item small { color:#8795a7; font-size:10px; }.dark-mode .repository-history { border-color:#2b4261; background:#14243a; box-shadow:0 10px 28px rgb(0 0 0 / .18); }.dark-mode .history-item { border-color:#2e4969; background:#172943; color:#eef5ff; }.dark-mode .history-item:hover { border-color:#4d7eb3; background:#1a3151; }.dark-mode .history-item span, .dark-mode .history-item small { color:#a9b8ca; }.dark-mode .retry-message { border-color:#7e454d; background:#301d29; color:#ffc2c7; }

/* Refined workspace shell: a stable drawer with fluid, high-density repository detail. */
:root { --sidebar:92px; --sidebar-open:236px; --drawer-motion:300ms cubic-bezier(.2,.75,.25,1); }
.sidebar { overflow:hidden; contain:layout paint; will-change:width; transition:width var(--drawer-motion); }
.brand { justify-content:flex-start; gap:12px; padding-left:24px; transition:padding var(--drawer-motion), gap var(--drawer-motion); }
.brand-mark { width:44px; height:44px; overflow:hidden; border-radius:0; background:url("ChatGPT%20Image%20Sep%2025%2C%202026%2C%2009_27_09%20PM.png") 48% 58% / 172% no-repeat; filter:none; }
.brand-name { transition:max-width 180ms ease 80ms, opacity 160ms ease 80ms, transform 220ms ease 60ms; }
.main-nav, .bottom-nav { width:100%; align-items:stretch; padding-left:12px; padding-right:12px; transition:none; }
.nav-link, .sidebar-toggle:checked ~ .sidebar .nav-link { flex-direction:row; justify-content:center; width:100%; min-height:48px; padding:0 14px; gap:12px; text-align:left; transition:background 160ms ease, color 160ms ease, padding var(--drawer-motion), gap var(--drawer-motion); }
.nav-link span { max-width:0; overflow:hidden; opacity:0; transform:translateX(-5px); white-space:nowrap; transition:max-width 180ms ease 70ms, opacity 150ms ease 70ms, transform 220ms ease 50ms; }
.sidebar-toggle:checked ~ .sidebar .nav-link { justify-content:flex-start; padding:0 13px; }
.sidebar-toggle:checked ~ .sidebar .nav-link span { max-width:130px; opacity:1; transform:translateX(0); }
.sidebar-toggle:checked ~ .sidebar .main-nav, .sidebar-toggle:checked ~ .sidebar .bottom-nav { align-items:stretch; padding-left:12px; }
.sidebar-toggle:checked ~ .sidebar .brand { justify-content:flex-start; padding-left:24px; }
.sidebar-toggle:checked ~ .sidebar, .sidebar-toggle:checked ~ main, .sidebar-toggle:checked ~ .workspace { transition-duration:300ms; }
main, .workspace { transition:margin-left var(--drawer-motion), width var(--drawer-motion); }
.workspace { width:calc(100% - var(--sidebar)); padding:106px clamp(22px, 3vw, 58px) 48px; }
.sidebar-toggle:checked ~ .workspace { width:calc(100% - var(--sidebar-open)); }
.conversation { max-width:1600px; margin:30px auto 24px; }
.repository-overview, .file-explorer, .analysis-section, .source-inspector, .repository-history { max-width:none; }
.overview-stats { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin:18px 0; }
.overview-stats div { display:flex; align-items:baseline; justify-content:space-between; min-height:54px; padding:10px 13px; }
.overview-stats strong { margin-top:0; }
.repository-overview { padding:23px 25px; }
.file-explorer { display:grid; grid-template-columns:minmax(190px, .28fr) minmax(0, 1fr); column-gap:28px; align-items:start; }
.file-explorer h2 { grid-column:1; margin:3px 0; }
.file-explorer > :not(h2) { grid-column:2; }
.analysis-section { padding:28px clamp(22px, 3vw, 42px); }
.analysis-markdown { max-width:1050px; font-size:14px; }
.analysis-thinking { display:inline-flex; align-items:center; gap:4px; margin-right:9px; vertical-align:middle; }
.analysis-thinking i { width:6px; height:6px; border-radius:50%; background:var(--blue); animation:thinking-dot 1s ease-in-out infinite; }
.analysis-thinking i:nth-child(2) { animation-delay:120ms; }.analysis-thinking i:nth-child(3) { animation-delay:240ms; }
.analysis-markdown.generating { display:flex; align-items:center; min-height:34px; padding:10px 12px; border:1px solid #dce8f7; border-radius:9px; background:linear-gradient(90deg, #f7fbff, #eef6ff, #f7fbff); background-size:200% 100%; color:#58718f; font-style:normal; animation:thinking-sheen 1.8s linear infinite; }
.table-wrap { max-width:100%; overflow:auto; margin:16px 0; border:1px solid #dfe7f1; border-radius:9px; }
.analysis-markdown table { width:100%; min-width:560px; border-collapse:collapse; color:inherit; font-size:12px; }
.analysis-markdown th, .analysis-markdown td { padding:10px 12px; border-bottom:1px solid #e7edf5; text-align:left; vertical-align:top; }
.analysis-markdown th { background:#f5f8fc; color:#40546e; font-size:11px; font-weight:700; letter-spacing:.02em; }.analysis-markdown tr:last-child td { border-bottom:0; }
.analysis-callout { margin:14px 0; padding:11px 13px; border-left:3px solid var(--blue); border-radius:0 7px 7px 0; background:#f1f7ff; color:#47637f; }
.analysis-failed { display:block; border-width:1px 1px 1px 3px; box-shadow:0 5px 15px rgb(180 54 60 / .06); }
@keyframes thinking-dot { 0%, 80%, 100% { transform:translateY(0); opacity:.35; } 40% { transform:translateY(-4px); opacity:1; } }
@keyframes thinking-sheen { to { background-position:-200% 0; } }
.dark-mode .analysis-markdown.generating { border-color:#315173; background:linear-gradient(90deg, #152b47, #1b3b62, #152b47); color:#b8d3ef; }.dark-mode .table-wrap { border-color:#2e4969; }.dark-mode .analysis-markdown th { background:#1a3151; color:#d9e7f7; }.dark-mode .analysis-markdown th, .dark-mode .analysis-markdown td { border-color:#2b4261; }.dark-mode .analysis-callout { background:#182f4c; color:#c4dbf2; }
@media (max-width:900px) { .workspace { padding-left:24px; padding-right:24px; }.file-explorer { display:block; }.file-explorer h2 { margin-bottom:13px; }.overview-stats { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:760px) { .sidebar, .sidebar-toggle:checked ~ .sidebar { overflow:visible; }.brand, .sidebar-toggle:checked ~ .sidebar .brand { padding-left:0; }.brand-mark { width:35px; height:35px; background-size:172%; background-position:46% 54%; }.workspace, .sidebar-toggle:checked ~ .workspace { padding:86px 16px 34px; }.conversation { margin-top:22px; }.overview-stats div { min-height:50px; }.analysis-section { padding:20px; }.analysis-markdown table { min-width:480px; } }
@media (max-width:440px) { .overview-stats { grid-template-columns:1fr; }.repository-overview { padding:19px; }.metadata-line { gap:6px 12px; }.analysis-markdown.generating { align-items:flex-start; }.analysis-thinking { margin-top:4px; } }

/* GitHub-inspired repository hierarchy and a refined dark drawer. */
.brand-mark { width:38px; height:38px; background:url("/repopilot-original-transparent.png") center / contain no-repeat; }
.nav-link { width:56px; align-self:center; min-height:48px; padding:0; border:1px solid transparent; border-radius:11px; }
.sidebar-toggle:checked ~ .sidebar .nav-link { width:100%; border-radius:9px; }
.nav-link:hover { border-color:#d8e5f5; background:#f5f9ff; }.nav-link.active { border-color:#cddffd; background:#eef5ff; box-shadow:0 1px 0 rgb(9 104 243 / .04); }
.sidebar-toggle-button { width:30px; height:30px; border-color:#d6e2f0; box-shadow:0 3px 10px rgb(36 59 89 / .08); }
.repository-workspace { display:grid; grid-template-columns:minmax(0, 1fr) minmax(250px, 300px); gap:22px; align-items:start; }
.repository-primary { min-width:0; }.repository-summary { margin-bottom:16px; padding:20px 22px; box-shadow:none; }.repository-summary .metadata-line { margin:13px 0 0; }.repository-summary .overview-stats { margin:16px 0 0; }.overview-stats div { min-height:48px; padding:9px 12px; border-radius:7px; }.overview-stats strong { font-size:18px; }.repository-aside { position:sticky; top:104px; padding:20px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 9px 26px #2037580a; }.repository-aside h2 { margin:6px 0 10px; font-size:17px; }.repository-aside .repository-description { margin:0; font-size:12px; line-height:1.55; }.repository-facts { display:grid; grid-template-columns:max-content minmax(0, 1fr); gap:9px 12px; margin:19px 0 21px; padding-top:17px; border-top:1px solid var(--line); font-size:11px; }.repository-facts dt { color:#8190a3; }.repository-facts dd { min-width:0; margin:0; color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:600; overflow-wrap:anywhere; }.repository-aside .language-section { padding-top:17px; border-top:1px solid var(--line); }.repository-aside .language-section h3 { margin-bottom:10px; font-size:13px; }.repository-aside .data-source-note { display:none; }.repository-aside .language-legend { gap:7px 12px; }.file-explorer { display:block; padding:0; overflow:hidden; box-shadow:none; }.explorer-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); }.explorer-heading h2 { margin:0; }.file-count { padding:4px 8px; border:1px solid #dfe8f3; border-radius:99px; color:#65758a; font-size:10px; font-weight:700; }.file-explorer > .tree-directory { margin:0 22px; }.file-explorer > .coverage-note { margin:15px 22px 20px; }.tree-directory > summary, .tree-file { min-height:41px; }.tree-file, .tree-directory > summary { font-size:13px; }.tree-children { margin-left:22px; }.tree-size { padding-right:8px; }
.dark-mode .sidebar { background:#0d1a2c; border-color:#243852; }.dark-mode .brand-mark { background-image:url("/repopilot-original-transparent.png"); }.dark-mode .sidebar-toggle-button { border-color:#3b5574; background:#11233a; color:#c0d0e3; box-shadow:none; }.dark-mode .nav-link { border-color:transparent; color:#a9b9cc; }.dark-mode .nav-link:hover { border-color:#2c4b6d; background:#142a44; color:#d7e7fa; }.dark-mode .nav-link.active { border-color:#315a89; background:#183452; color:#7db8ff; box-shadow:none; }.dark-mode .repository-aside { border-color:#2b4261; background:#14243a; box-shadow:none; }.dark-mode .repository-facts, .dark-mode .repository-aside .language-section { border-color:#2b4261; }.dark-mode .repository-facts dt { color:#94a8bf; }.dark-mode .repository-facts dd { color:#e4edf8; }.dark-mode .explorer-heading { border-color:#2b4261; }.dark-mode .file-count { border-color:#355271; color:#a9c8e8; }.dark-mode .repository-summary { box-shadow:none; }
@media (max-width:1120px) { .repository-workspace { grid-template-columns:1fr; }.repository-aside { position:static; display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(200px, .8fr); column-gap:24px; }.repository-aside .discovery-label, .repository-aside h2, .repository-aside .repository-description { grid-column:1; }.repository-facts { grid-column:2; grid-row:1 / span 3; margin:0; padding:0 0 0 22px; border-top:0; border-left:1px solid var(--line); }.repository-aside .language-section { grid-column:1; }.dark-mode .repository-facts { border-color:#2b4261; } }
@media (max-width:680px) { .repository-aside { display:block; padding:18px; }.repository-facts { margin:18px 0; padding:17px 0 0; border-top:1px solid var(--line); border-left:0; }.file-explorer > .tree-directory { margin:0 16px; }.file-explorer > .coverage-note { margin-left:16px; margin-right:16px; }.explorer-heading { padding-left:16px; padding-right:16px; }.tree-children { margin-left:15px; } }

/* The original uploaded mark is cropped in-browser; SVG is visible only while it prepares or if image loading fails. */
.brand-mark { display:grid; place-items:center; background:none; }
.brand-mark img { display:none; width:100%; height:100%; object-fit:contain; }
.brand-mark svg { display:block; width:100%; height:100%; color:var(--blue); }
.logo-ready .brand-mark img { display:block; }.logo-ready .brand-mark svg { display:none; }
.logo-fallback .brand-mark img { display:none; }.logo-fallback .brand-mark svg { display:block; }
.repository-header { grid-template-columns:minmax(0, 1fr) auto; gap:16px; min-height:76px; padding-bottom:18px; }
.repository-title-row { display:flex; align-items:center; gap:11px; min-width:0; }.repository-title-row > div { min-width:0; }.repository-avatar { flex:0 0 auto; width:38px; height:38px; border:1px solid #d8e4f1; border-radius:10px; object-fit:cover; background:#edf4fc; }.repository-header h1 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:20px; }.repository-header a { margin-top:3px; }.workspace-label { margin-bottom:4px; }.dark-mode .repository-avatar { border-color:#345270; background:#17304d; }
@media (max-width:760px) { .repository-header { grid-template-columns:minmax(0, 1fr) auto; gap:10px; min-height:64px; }.repository-header h1 { font-size:17px; }.repository-avatar { width:32px; height:32px; border-radius:8px; }.repository-header a { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } }

/* Structured source-grounded responses. Each model section is a separate, responsive card. */
.analysis-markdown { max-width:none; }
.analysis-markdown--structured { display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:12px; }
.analysis-response-card { grid-column:span 6; min-width:0; padding:16px 17px; border:1px solid #dfe8f3; border-radius:10px; background:#fbfdff; box-shadow:0 5px 15px rgb(29 64 106 / .035); animation:response-card-in .3s cubic-bezier(.22, 1, .36, 1) both; }
.analysis-response-card--wide { grid-column:1 / -1; }
.analysis-response-title { margin:0 0 9px; color:var(--ink); font-size:14px; line-height:1.35; letter-spacing:-.15px; }
.analysis-response-body { color:inherit; }
.analysis-response-body > :first-child { margin-top:0; }.analysis-response-body > :last-child { margin-bottom:0; }
.analysis-response-card .table-wrap { margin-bottom:0; }.analysis-response-card .analysis-callout { margin-bottom:0; }
@keyframes response-card-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.dark-mode .analysis-response-card { border-color:#2b4869; background:#162b45; box-shadow:none; }.dark-mode .analysis-response-title { color:#edf5ff; }

/* One authoritative drawer transition prevents the sidebar controls from reflowing or blinking. */
@media (min-width:761px) {
  .sidebar { width:var(--sidebar); overflow:hidden; contain:none; isolation:isolate; transition:width var(--drawer-motion); }
  .workspace { width:calc(100% - var(--sidebar)); margin-left:var(--sidebar); transition:margin-left var(--drawer-motion), width var(--drawer-motion); }
  .sidebar-toggle:checked ~ .sidebar { width:var(--sidebar-open); }
  .sidebar-toggle:checked ~ .workspace { width:calc(100% - var(--sidebar-open)); margin-left:var(--sidebar-open); }
  .brand, .sidebar-toggle:checked ~ .sidebar .brand { justify-content:flex-start; gap:12px; padding-left:24px; }
  .main-nav, .bottom-nav, .sidebar-toggle:checked ~ .sidebar .main-nav, .sidebar-toggle:checked ~ .sidebar .bottom-nav { align-items:stretch; padding-left:12px; padding-right:12px; }
  .nav-link, .sidebar-toggle:checked ~ .sidebar .nav-link { width:100%; min-height:48px; padding:0 13px; gap:12px; border-radius:9px; transition:background 160ms ease, color 160ms ease, justify-content var(--drawer-motion); }
  .nav-link { justify-content:center; }.sidebar-toggle:checked ~ .sidebar .nav-link { justify-content:flex-start; }
  .nav-link span { max-width:0; opacity:0; transform:translateX(-4px); transition:max-width 190ms ease, opacity 120ms ease, transform 190ms ease; }
  .sidebar-toggle:checked ~ .sidebar .nav-link span { max-width:130px; opacity:1; transform:translateX(0); transition-delay:75ms; }
  .brand-name { max-width:0; opacity:0; transform:translateX(-5px); transition:max-width 190ms ease, opacity 120ms ease, transform 190ms ease; }
  .sidebar-toggle:checked ~ .sidebar .brand-name { max-width:120px; opacity:1; transform:translateX(0); transition-delay:75ms; }
  .sidebar-toggle-button { transform:translateZ(0); transition:transform var(--drawer-motion), color 160ms ease, box-shadow 160ms ease; }
  .sidebar-toggle:checked ~ .sidebar .sidebar-toggle-button { transform:translateZ(0) rotate(180deg); }
}
@media (max-width:760px) { .analysis-markdown--structured { grid-template-columns:1fr; }.analysis-response-card, .analysis-response-card--wide { grid-column:1; } }

/* Analysis modes and architecture workspace. */
.analysis-modes { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; margin:22px 0 0; padding:0; border:0; }.analysis-modes legend { margin-bottom:9px; color:#27364d; font-size:13px; font-weight:600; }.analysis-mode-card { position:relative; display:flex !important; align-items:flex-start; gap:8px; min-height:88px; margin:0 !important; padding:12px !important; border:1px solid #dfe7f1; border-radius:9px; background:#fff; color:#33445a; cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease; }.analysis-mode-card:hover { border-color:#a9c8ef; background:#f8fbff; transform:translateY(-1px); }.analysis-mode-card input { position:absolute; opacity:0; }.analysis-mode-card:has(input:checked) { border-color:#6aa6f5; background:#f1f7ff; box-shadow:0 0 0 2px #1769e912; }.mode-icon { display:grid; flex:0 0 25px; width:25px; height:25px; place-items:center; border-radius:7px; background:#eaf3ff; color:#0968f3; font-size:15px; font-weight:700; }.analysis-mode-card strong, .analysis-mode-card small { display:block; }.analysis-mode-card strong { margin-top:1px; color:var(--ink); font-size:12px; }.analysis-mode-card small { margin-top:4px; color:#75859a; font-size:10px; font-weight:400; line-height:1.35; }.analysis-modes + label { margin-top:22px; }
.tree-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tree-meta { margin-left:8px; color:#8897aa; font-size:10px; white-space:nowrap; }.tree-size { margin-left:auto; min-width:52px; padding-right:8px; color:#738398; font-variant-numeric:tabular-nums; text-align:right; }.tree-directory > summary:hover, .tree-file:hover { background:#f7faff; }.tree-directory > summary { border-radius:6px; }.tree-file { border-radius:6px; }.dark-mode .tree-meta, .dark-mode .tree-size { color:#91a6bd; }.dark-mode .tree-directory > summary:hover, .dark-mode .tree-file:hover { background:#193451; }
.architecture-workspace { margin:0 0 22px; padding:25px; border:1px solid #cfe0f5; border-radius:12px; background:#fff; box-shadow:0 9px 26px #2037580a; }.architecture-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }.architecture-heading h2 { margin:5px 0 18px; font-size:18px; }.download-architecture-pdf { flex:0 0 auto; padding:8px 11px; border:1px solid #bdd4f2; border-radius:8px; background:#f4f8ff; color:#1760b6; font-size:11px; font-weight:700; cursor:pointer; }.download-architecture-pdf:hover { border-color:#77a7df; background:#eaf3ff; }.architecture-diagram { overflow:auto; padding:14px; border:1px solid #dfe8f3; border-radius:10px; background:#f8fbff; }.architecture-diagram svg { display:block; min-width:670px; width:100%; height:auto; }.architecture-components { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:10px; margin-top:13px; }.architecture-component { padding:13px; border:1px solid #e0e8f2; border-radius:9px; background:#fcfdff; }.architecture-component h3 { margin:7px 0 5px; font-size:13px; }.architecture-component p { margin:0; color:#65758a; font-size:11px; line-height:1.5; }.architecture-kind { color:#3975bb; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.architecture-paths { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }.architecture-relationships { margin-top:15px; padding-top:15px; border-top:1px solid #e5ebf3; }.architecture-relationships h3 { margin:0 0 8px; font-size:13px; }.architecture-relationships ul { margin:0; padding-left:18px; color:#586a80; font-size:11px; line-height:1.55; }.dark-mode .analysis-mode-card { border-color:#304d6e; background:#142943; color:#cad8e9; }.dark-mode .analysis-mode-card:has(input:checked) { border-color:#4e8cd8; background:#18385d; box-shadow:0 0 0 2px #3d83d126; }.dark-mode .analysis-mode-card strong { color:#edf5ff; }.dark-mode .analysis-mode-card small { color:#a9bbcf; }.dark-mode .mode-icon { background:#1d426d; color:#8cc3ff; }.dark-mode .architecture-workspace { border-color:#2b4869; background:#142943; box-shadow:none; }.dark-mode .architecture-diagram { border-color:#2b4869; background:#10243c; }.dark-mode .architecture-component { border-color:#2b4869; background:#172e4a; }.dark-mode .architecture-component h3, .dark-mode .architecture-heading h2 { color:#edf5ff; }.dark-mode .architecture-component p, .dark-mode .architecture-relationships ul { color:#b5c5d8; }.dark-mode .architecture-relationships { border-color:#2b4869; }.dark-mode .download-architecture-pdf { border-color:#3e6c9c; background:#18385d; color:#aed5ff; }
@media (max-width:700px) { .analysis-modes { grid-template-columns:1fr; }.analysis-mode-card { min-height:64px; }.architecture-workspace { padding:18px; }.architecture-heading { align-items:flex-start; flex-direction:column; gap:0; }.architecture-diagram { padding:8px; } }

/* The toggle deliberately sits over the drawer edge, so the animated drawer never clips it. */
@media (min-width:761px) { .sidebar { overflow:visible; }.sidebar-toggle-button { top:24px; right:-18px; z-index:8; width:36px; height:36px; border-color:#cbd9e8; background:#fff; box-shadow:0 6px 18px rgb(28 57 90 / .14); }.sidebar-toggle-button svg { width:17px; height:17px; }.dark-mode .sidebar-toggle-button { border-color:#3b5878; background:#10233a; box-shadow:0 6px 18px rgb(0 0 0 / .22); } }

/* Stable native streaming: the answer itself never pulses, fades, or remounts. */
.analysis-markdown.generating { animation:none; background:#f7fbff; }
.analysis-thinking i { animation:none; opacity:.78; transform:none; }
.analysis-stream-output { min-height:34px; color:inherit; line-height:1.72; white-space:pre-wrap; }
.dark-mode .analysis-markdown.generating { animation:none; background:#152b47; }

/* GitHub-style file list: exact repository names lead each row, without invented type labels. */
.tree-root { margin:0 22px; }.tree-root > .tree-directory, .tree-root > .tree-file { padding:0 10px; }
.tree-directory > summary, .tree-file { min-height:43px; }.tree-directory > summary:hover, .tree-file:hover { background:#f6f8fa; }
.tree-icon.folder-icon { color:#54aeff; }.tree-icon.file-icon { color:#8c959f; }
.tree-size { color:#8c959f; font-size:10px; }.dark-mode .tree-directory > summary:hover, .dark-mode .tree-file:hover { background:#1a3151; }
.dark-mode .tree-icon.folder-icon { color:#79c0ff; }.dark-mode .tree-icon.file-icon, .dark-mode .tree-size { color:#8b949e; }
@media (max-width:680px) { .tree-root { margin:0 16px; } }

/* Evidence-backed architecture board: grouped modules, file nodes, and routed arrows. */
.architecture-workspace { padding:28px; }.architecture-diagram { padding:18px; background:#f6f8fa; box-shadow:inset 0 1px 0 rgb(255 255 255 / .9); }
.architecture-diagram svg { min-width:900px; }.architecture-components { margin-top:16px; }.architecture-component { border-left:3px solid #5b94d6; background:#fff; }
.architecture-relationships li { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }.architecture-edge-label { paint-order:stroke; stroke:#f6f8fa; stroke-width:4px; stroke-linejoin:round; }
.dark-mode .architecture-diagram { background:#edf3f9; }.dark-mode .architecture-component { background:#172e4a; }
@media (max-width:700px) { .architecture-workspace { padding:18px; }.architecture-diagram { padding:10px; }.architecture-diagram svg { min-width:820px; } }
