:root{--paper:#f7f7f5;--panel:#fff;--panel-tint:#fbfbf9;--ink:#17171b;--ink-soft:#3b3b42;--ink-muted:#63636a;--hairline:#dcdcd6;--hairline-strong:#c4c4bd;--signal:#24c;--signal-soft:#2244cc14;--ok:#0e7a4f;--warning:#8a5a00;--error:#b4231f;--font-display:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--sheet-shadow:0 1px 0 #17171b0a, 0 16px 40px #17171b0f;--transition:.25s cubic-bezier(.25, .46, .45, .94)}*{box-sizing:border-box;margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(#17171b0e 1px,#0000 1px),linear-gradient(90deg,#17171b0e 1px,#0000 1px),linear-gradient(#17171b08 1px,#0000 1px),linear-gradient(90deg,#17171b08 1px,#0000 1px);background-size:140px 140px,140px 140px,28px 28px,28px 28px;line-height:1.6}::selection{background:var(--signal);color:#fff}button:focus-visible,select:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.app{flex-direction:column;max-width:1280px;min-height:calc(100vh - 60px);margin:0 auto;padding:1.5rem 2rem 2rem;display:flex}.portfolio-nav{z-index:1000;-webkit-backdrop-filter:blur(14px)saturate(1.2);border-bottom:1px solid var(--hairline);background:#f7f7f5db;padding:0 2rem;position:sticky;top:0}.portfolio-nav .nav-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;height:60px;margin:0 auto;display:flex}.portfolio-nav .logo{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink);white-space:nowrap;font-size:.85rem;font-weight:500;text-decoration:none}.portfolio-nav .logo span{color:var(--ink-muted)}.portfolio-nav .logo .logo-here{color:var(--signal)}.portfolio-nav .nav-links{gap:1.8rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-nav .nav-links a{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transition:color var(--transition);font-size:.8rem;text-decoration:none;position:relative}.portfolio-nav .nav-links a:after{content:"";background:var(--signal);width:0;height:1px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.portfolio-nav .nav-links a:hover{color:var(--ink)}.portfolio-nav .nav-links a:hover:after{width:100%}.portfolio-nav .hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.portfolio-nav .hamburger span{background:var(--ink);width:22px;height:1.5px;transition:var(--transition)}@media (width<=1000px){.portfolio-nav .nav-links{display:none}.portfolio-nav .hamburger{display:flex}.portfolio-nav .nav-links.open{background:var(--paper);border-bottom:1px solid var(--hairline-strong);flex-direction:column;gap:1rem;padding:1.5rem 2rem;display:flex;position:absolute;top:60px;left:0;right:0}}@media (width<=640px){.portfolio-nav{padding:0 1.25rem}}.app-header{margin-bottom:1.25rem}.app-header h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.75rem;font-weight:400}.app-header p{color:var(--ink-muted);max-width:62ch;font-size:.9rem;font-weight:300}.demo-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--signal);border:1px solid var(--signal);vertical-align:middle;white-space:nowrap;margin-left:.75rem;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.waking-banner{border:1px solid var(--hairline-strong);border-left:2px solid var(--signal);background:var(--signal-soft);color:var(--ink-soft);margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.waking-dots:after{content:"";animation:1.5s steps(4,end) infinite waking-ellipsis}@keyframes waking-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.api-error{border:1px solid var(--hairline-strong);border-left:2px solid var(--error);background:var(--panel);color:var(--error);margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.demo-footer{border-top:1px solid var(--hairline-strong);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.25rem;padding-top:.75rem;font-size:.8rem;display:flex}.demo-footer nav{gap:1.25rem;display:flex}.demo-footer a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--signal);border-bottom:1px solid var(--signal);font-size:.75rem;text-decoration:none}.demo-footer a:hover{color:var(--ink);border-bottom-color:var(--ink)}.review-layout{flex:1;grid-template-columns:420px 1fr;align-items:start;gap:1.25rem;display:grid}.panel{background:var(--panel);border:1px solid var(--hairline-strong);box-shadow:var(--sheet-shadow);flex-direction:column;min-height:0;padding:1.25rem;display:flex}.panel h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.75rem;font-weight:500;display:flex}.panel h2:before{content:"";background:var(--ink);width:18px;height:1px}.sample-picker{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.sample-picker label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.72rem}.sample-picker select{border:1px solid var(--hairline-strong);background:var(--panel);font-family:var(--font-mono);color:var(--ink);padding:.5rem .6rem;font-size:.82rem}.sample-description{color:var(--ink-muted);font-size:.82rem;font-weight:300}.run-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-body);cursor:pointer;transition:all var(--transition);align-self:flex-start;padding:.6rem 1.4rem;font-size:.88rem;font-weight:500}.run-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #17171b2e}.run-button:disabled{opacity:.45;cursor:wait}.diff-view{font-family:var(--font-mono);border:1px solid var(--hairline);background:var(--panel-tint);white-space:pre;padding:.75rem 0;font-size:.74rem;line-height:1.55;overflow-x:auto}.diff-line{padding:0 .75rem;display:block}.diff-line.meta{color:var(--ink-muted)}.diff-line.hunk{color:var(--signal);background:var(--signal-soft)}.diff-line.add{color:var(--ok);background:#0e7a4f12}.diff-line.del{color:var(--error);background:#b4231f0f}.diff-line.ctx{color:var(--ink-soft)}.results-empty,.results-loading{color:var(--ink-muted);font-size:.9rem;font-weight:300}.results-loading .elapsed{font-family:var(--font-mono);color:var(--signal);font-variant-numeric:tabular-nums;margin-top:.5rem;font-size:.75rem;display:block}.summary-strip{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.summary-tile{border:1px solid var(--hairline);flex-direction:column;flex:110px;gap:.15rem;padding:.6rem .75rem;display:flex}.summary-value{font-family:var(--font-mono);color:var(--signal);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.05rem;font-weight:500}.summary-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.65rem}.findings-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;font-size:.9rem;font-weight:500;display:flex}.duplicates-note{font-family:var(--font-mono);color:var(--ink-muted);font-size:.72rem;font-weight:400}.findings-empty{color:var(--ok);font-size:.9rem}.findings-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.finding-card{border:1px solid var(--hairline);background:var(--panel-tint);padding:.75rem .9rem}.finding-head{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;font-size:.72rem;display:flex}.severity-badge{text-transform:uppercase;letter-spacing:.1em;border:1px solid;padding:.1rem .45rem;font-weight:500}.severity-badge[data-severity=error]{color:var(--error)}.severity-badge[data-severity=warning]{color:var(--warning)}.severity-badge[data-severity=info]{color:var(--signal)}.finding-location{color:var(--ink);text-overflow:ellipsis;font-weight:500;overflow:hidden}.source-pill{color:var(--ink-muted);border:1px solid var(--hairline-strong);white-space:nowrap;margin-left:auto;padding:.1rem .45rem}.finding-issue{color:var(--ink-soft);font-size:.88rem;line-height:1.55}.finding-suggestion{border-top:1px solid var(--hairline);color:var(--ink-muted);margin-top:.4rem;padding-top:.4rem;font-size:.82rem;font-weight:300}.finding-suggestion span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin-right:.4rem;font-size:.68rem}.trace-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin:1.25rem 0 .5rem;font-size:.72rem;font-weight:500}.runs-table{border-collapse:collapse;width:100%;font-size:.82rem}.runs-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);text-align:left;border-bottom:1px solid var(--hairline-strong);padding:.4rem .6rem;font-size:.68rem;font-weight:500}.runs-table td{border-bottom:1px solid var(--hairline);padding:.45rem .6rem}.run-agent{font-family:var(--font-mono);font-weight:500}.run-time{font-family:var(--font-mono);color:var(--signal);font-variant-numeric:tabular-nums}.run-ok{color:var(--ok);font-family:var(--font-mono);font-size:.75rem}.run-error{color:var(--error);font-size:.8rem}@media (width<=900px){.app{min-height:auto;padding:1.25rem}.review-layout{grid-template-columns:1fr}.diff-view{max-height:40vh;overflow-y:auto}}@media (width<=640px){.app{padding:1rem}.demo-badge{margin:.4rem 0 0;display:inline-block}}
