:root{--green:#17866b;--purple:#8161bc;--blue:#5285b8;--ink:#213c39;--muted:#70817e;--line:#e2e9e5;--paper:#f7f9f6}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:8px;padding:7px 11px;color:var(--ink)}button:hover{border-color:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}header{display:flex;align-items:center;gap:14px;padding:16px 28px;background:#fff;border-bottom:1px solid var(--line)}.brand{background:var(--green);color:#fff;text-decoration:none;font-size:28px;width:43px;height:43px;line-height:40px;text-align:center;border-radius:13px;letter-spacing:-4px;padding-right:6px}.brand span{font-size:18px}header strong{font-size:12px;letter-spacing:2px}small{display:block;color:var(--muted);font-size:11px}nav{display:flex;gap:5px;margin:auto}nav button{border:0;background:transparent;color:var(--muted)}nav .active{background:#e9f3ee;color:var(--green)}.pill{font-size:11px;padding:5px 10px;background:#f4ecdd;border-radius:30px;color:#86662e}.intro{display:flex;justify-content:space-between;gap:20px;padding:25px 30px 20px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);margin:0}h1{font-size:26px;font-weight:500;letter-spacing:-.7px;margin:6px 0}p{color:var(--muted);margin:7px 0}#subtitle{max-width:700px;font-size:12px}#totals{display:flex;gap:25px;align-items:center}#totals b{display:block;font-size:24px;font-weight:500}#totals span{font-size:11px;color:var(--muted)}main{display:grid;grid-template-columns:235px minmax(280px,1fr) 315px;margin:0 22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;height:calc(100vh - 255px);min-height:460px}.left{padding:18px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px;min-height:0}label{font-size:11px;color:var(--muted)}input[type=search],select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa;color:var(--ink)}.check{display:flex;align-items:center;gap:5px;font-size:11px;margin:5px 0}.listhead{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.listhead button{font-size:10px;padding:3px 6px}.results{overflow:auto;min-height:0}.result{display:block;width:100%;text-align:left;margin:4px 0;border-color:transparent;background:#fafbf8;padding:8px;font-size:11px}.result small{font-size:9px;margin-top:3px}.result.selected{border-color:var(--purple);background:#f3eef9}.workspace{position:relative;min-width:0;display:flex;flex-direction:column;background:radial-gradient(#d7e2db .65px,transparent .65px);background-size:18px 18px}#graphTools{display:flex;justify-content:space-between;align-items:center;padding:12px;font-size:11px;color:var(--muted);background:#ffffffd9;z-index:1}#graphTools button{padding:3px 9px;font-size:12px}canvas{display:block;flex:1;min-height:0;width:100%;touch-action:none}.legend{display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px;border-top:1px solid var(--line);font-size:9px;background:#fffffff0;color:var(--muted)}.green{color:var(--green)}.purple{color:var(--purple)}.blue{color:var(--blue)}.detail{border-left:1px solid var(--line);padding:20px;overflow:auto}.empty{margin-top:55px}.empty>span{font-size:40px;color:var(--purple)}h2{font-size:18px;font-weight:500;margin:10px 0}h3{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:24px 0 8px}.tag{font-size:10px;display:inline-block;padding:4px 7px;background:#f0edf5;color:var(--purple);border-radius:5px;overflow-wrap:anywhere}.description{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere;max-height:340px;overflow:auto}.progress{display:flex;gap:8px;margin-top:20px}.progress>div{flex:1;background:#f5f7f3;padding:10px;border-radius:9px}.progress strong{display:block;font-size:18px;font-weight:500}.progress small{font-size:9px}.source{display:block;font-size:10px;overflow-wrap:anywhere;padding:7px 0;border-bottom:1px solid var(--line)}.related{display:block;width:100%;margin:5px 0;text-align:left;font-size:11px}ul{padding-left:18px;font-size:12px}footer{padding:12px 28px;font-size:10px;color:var(--muted)}#questions{padding:22px;overflow:auto;flex:1;background:#fafbf8}#questions h2{margin-top:0}.qcard{padding:14px;border:1px solid var(--line);border-radius:10px;background:white;margin:12px 0}.qcard textarea{margin:8px 0}.qcard p{font-size:12px}textarea{min-height:70px}.status-note{font-size:11px;color:#8d6639}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}@media(max-width:1100px){main{grid-template-columns:200px minmax(250px,1fr)}.detail{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);max-height:380px}main{height:auto}.workspace{height:520px}.left{max-height:520px}.intro{padding:20px}header{flex-wrap:wrap}nav{order:3;width:100%;margin:0}#totals{gap:12px}}@media(max-width:620px){main{margin:0 8px;grid-template-columns:1fr}.left{max-height:240px;border-bottom:1px solid var(--line)}.workspace{height:420px}.intro{display:block}#totals{margin-top:16px}.intro h1{font-size:22px}header{padding:12px}.pill{margin-left:auto}nav{overflow-x:auto;white-space:nowrap}nav button{font-size:12px}.detail{padding:16px}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 20% 10%,#e0eee5,transparent 60%),var(--paper)}.login-box{width:min(440px,100%);padding:38px;background:#fff;border:1px solid var(--line);border-radius:24px}.login-box .brand{display:block;margin-bottom:28px}.login-box h1{font-size:28px}.login-box p{font-size:13px}.login-box form{display:flex;flex-direction:column;gap:9px;margin:26px 0}.login-box input{padding:12px;border:1px solid var(--line);border-radius:8px}.login-box button{background:var(--green);color:#fff;padding:12px;margin-top:8px}.login-box #error{color:#a44343}
/* Atlas v2: a centered project and readable radial constellations. */
.workspace{background:radial-gradient(ellipse at center,#193229 0%,#111f23 52%,#0c181f 100%);isolation:isolate}
.workspace:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#9ac5b51c .8px,transparent .8px);background-size:21px 21px}
#graphTools{background:transparent;color:#9bb4ad;padding:15px 16px}#graphTools button{background:#ffffff0b;border-color:#b9d0c01f;color:#c0d5cb}.legend{background:#0d1b22d9;border-top-color:#b9d0c017;color:#99b0a8}.legend .green{color:#5ac7ac}.legend .purple{color:#ae95df}.legend .blue{color:#77b4dc}main{min-height:560px;height:calc(100vh - 240px)}canvas{cursor:grab}.intro h1{font-size:25px}#subtitle{max-width:670px}.detail .tag{line-height:1.5}
@media(max-width:1100px){main{display:grid;grid-template-columns:1fr;height:auto;min-height:0}.workspace{grid-row:1;height:620px}.left{grid-row:2;max-height:320px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center}.left .results{grid-column:1/-1;max-height:170px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.left .listhead{grid-column:1/-1}.detail{grid-row:3;grid-column:1;max-height:500px}.intro{padding:18px 22px}#totals{gap:16px}#totals b{font-size:23px}.intro h1{font-size:23px}}
@media(max-width:650px){.workspace{height:560px}.intro{padding:17px 20px}.intro h1{font-size:22px}.intro #subtitle{font-size:11px;max-width:470px}.intro{display:block}#totals{margin-top:12px}#totals div:last-child{display:none}#totals b{font-size:20px;display:inline;margin-right:7px}#totals span{font-size:10px}.left .results{grid-template-columns:1fr 1fr}.legend{font-size:9px}header{padding:12px 20px}main{margin:0 10px}}
