:root{color-scheme:dark;--bg:#0f0f23;--card:#18182b;--line:#4338ca;--ink:#f8fafc;--muted:#b8b8c9;--accent:#f97316;--danger:#ff8c86;font-family:"Fira Sans",ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% -10%,#312e81 0,transparent 38%),var(--bg);color:var(--ink);min-height:100vh}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-150%);background:var(--accent);color:#170a02;padding:.75rem 1rem;border-radius:8px;font-weight:750}.skip-link:focus{transform:translateY(0)}
header{display:flex;justify-content:space-between;align-items:center;padding:24px max(5vw,24px);border-bottom:1px solid var(--line)}
header span,.eyebrow{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1{font-size:1rem;margin:.25rem 0 0}main{width:min(1100px,90vw);margin:56px auto}
.hero{max-width:700px;padding:56px;background:linear-gradient(145deg,#13231f,#0c1715);border:1px solid var(--line);border-radius:24px}
.hero h2{font-size:clamp(2rem,5vw,4.4rem);line-height:1;margin:.4em 0}.hero p{color:var(--muted);font-size:1.05rem;line-height:1.7}
button,input,select,textarea{font:inherit}button{min-height:44px;border:0;border-radius:10px;background:var(--accent);color:#170a02;font-weight:750;padding:.8rem 1rem;cursor:pointer;transition:opacity 180ms ease,border-color 180ms ease,background-color 180ms ease}button:hover{filter:brightness(1.08)}button:active{opacity:.78}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fb923c;outline-offset:3px}
.quiet,.tab{background:transparent;color:var(--ink);border:1px solid var(--line)}nav{display:flex;gap:10px;margin-bottom:24px}.tab.active{border-color:var(--accent);color:var(--accent)}
.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.evidence{overflow-wrap:anywhere;color:var(--muted);font-family:ui-monospace,monospace;font-size:.82rem}
.diff-review{margin:16px 0}.diff-review pre{background:#080812;color:#eef3ff;border:1px solid var(--line);border-radius:12px;max-height:34rem;overflow:auto;padding:16px;white-space:pre;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.panel{padding:28px;background:color-mix(in srgb,var(--card) 92%,transparent);border:1px solid var(--line);border-radius:18px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metrics article,.list article{border:1px solid var(--line);background:#111126;border-radius:14px;padding:18px}
.metrics strong{display:block;font-size:2rem}.metrics span,.meta{color:var(--muted);font-size:.85rem}.list{display:grid;gap:10px}.list article{display:grid;gap:7px}.row{display:flex;justify-content:space-between;align-items:center}
details{color:var(--muted)}summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--ink)}details ul,.evidence ul{margin:.3rem 0 .6rem;padding-left:1.3rem}
form{display:grid;gap:16px;max-width:620px}label{display:grid;gap:7px;color:var(--muted)}input,select,textarea{min-height:44px;width:100%;color:var(--ink);background:#0a0a1a;border:1px solid var(--line);border-radius:10px;padding:.85rem}
textarea{height:105px;resize:vertical}.result,.action-form{max-width:720px;margin-top:24px;padding:18px;border:1px solid var(--accent);border-radius:14px}.request-actions{display:flex;gap:8px;margin-top:6px}.request-actions button{padding:.55rem .75rem}
#message{min-height:1.5em;color:var(--danger)}.success{color:var(--accent)!important}.hidden{display:none!important}.busy::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.6em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 700ms linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:650px){main{margin:28px auto}.hero{padding:28px}.metrics{grid-template-columns:1fr}nav{overflow-x:auto}.panel{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
