:root{font:15px Inter,system-ui,sans-serif;color-scheme:dark;--bg:#090d17;--panel:#141b2b;--line:#303950;--text:#eef2ff;--muted:#9ba7c2;--accent:#8c6df6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{background:#252f47;border:1px solid #3a4762;color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer}button:hover{background:#354463}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #a992ff;outline-offset:2px}input,textarea,select{background:#0e1524;border:1px solid #38435a;border-radius:9px;color:var(--text);padding:11px;width:100%;min-width:0}textarea{min-height:100px;resize:vertical}label{display:block;color:var(--muted);margin:10px 0;font-size:13px}label input,label textarea,label select{display:block;margin-top:6px}#app{display:flex;height:100dvh;min-height:0}.sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:7px;background:#101522;overflow-y:auto}.sidebar h2{padding:0 12px}.sidebar small{display:block;color:var(--muted);font-size:12px}.sidebar .nav{text-align:left;background:transparent;border:0}.sidebar .active,.tabs .active{background:#44367b}.grow{flex:1}main{flex:1;min-width:0;display:flex;flex-direction:column}header{min-height:75px;padding:14px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}header strong{display:block;font-size:20px}#summary{color:var(--muted);font-size:12px}.tools{display:flex;gap:9px}.tools input{width:min(280px,40vw)}.view{flex:1;min-height:0;overflow:auto;padding:22px}.view#universe{padding:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#171d36 0%,#090d17 65%)}.canvasbar{position:absolute;z-index:1;left:15px;top:15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.canvasbar span{font-size:12px;color:var(--muted)}#graph{width:100%;height:100%;touch-action:none;cursor:grab}#graph:active{cursor:grabbing}.edge{stroke:#5e6aaf;stroke-width:1.5;opacity:.55}.node{cursor:pointer}.node circle{stroke-width:2}.node text{fill:#f7f7ff;font-size:12px;pointer-events:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.panel,.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.card{cursor:pointer;min-width:0}.card h3{margin:0 0 8px}.card p{color:var(--muted);line-height:1.5}.card small{color:#c6b5ff}.sectionhead{display:flex;justify-content:space-between;align-items:center}.boards{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:15px;overflow-x:auto}.board{background:#11192a;border:1px solid var(--line);padding:14px;border-radius:14px}.task{background:#242e45;border-radius:9px;padding:12px;margin:10px 0;cursor:pointer}.shade{position:fixed;inset:0;background:#000b;z-index:20;display:flex;justify-content:flex-end}.shade[hidden],.view[hidden],#app[hidden],.login[hidden]{display:none}.drawer{width:min(790px,100%);height:100dvh;background:#151c2c;display:flex;flex-direction:column;min-height:0;box-shadow:-15px 0 45px #0008}.drawerhead{padding:14px 22px;display:flex;justify-content:space-between;align-items:center}.drawerhead h2{margin:0}.tabs{display:flex;gap:4px;overflow-x:auto;padding:0 14px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.tabs button{white-space:nowrap;font-size:13px}.drawerbody{flex:1;min-height:0;overflow-y:auto;padding:16px 22px}.drawer footer{border-top:1px solid var(--line);padding:13px 22px;display:flex;gap:12px}.danger{background:#582934}.rowfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.full{grid-column:1/-1}.item{border-bottom:1px solid var(--line);padding:12px 0}.item p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.inline{display:flex;gap:8px;align-items:center;margin:10px 0}.inline input,.inline select{flex:1}.chat{max-width:850px;margin:auto;display:flex;flex-direction:column;min-height:70vh}.messages{flex:1;min-height:220px;overflow:auto}.bubble{padding:12px;background:#28344d;border-radius:12px;margin:12px 0;white-space:pre-wrap}.chatbar{display:flex;gap:8px}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login .panel{width:min(450px,100%)}.login h1{font-size:34px}#loginError{color:#ff9c9c}pre{white-space:pre-wrap;overflow-wrap:anywhere}a{color:#b5a6ff}@media(max-width:780px){.sidebar{width:65px;padding:12px 6px}.sidebar h2{font-size:16px}.sidebar small{display:none}.sidebar .nav{font-size:0}.sidebar .nav::first-letter{font-size:21px}header{padding:10px}.view{padding:12px}.rowfields{grid-template-columns:1fr}.boards{grid-template-columns:repeat(3,250px)}.canvasbar span{display:none}.drawer footer{flex-wrap:wrap}}@media(max-width:420px){.sidebar{width:51px}.tools input{width:120px}.tools button{padding:8px}.drawerhead{padding:12px}.drawerbody{padding:12px}.tabs{padding:0 8px 8px}}

/* GLX 1.7 — design system responsive */
:root{--bg:#090e19;--panel:#131c2d;--line:#293650;--accent:#6a9bff;--muted:#a2b2cc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{background:linear-gradient(135deg,#0a1120,#0a0d17 70%);letter-spacing:.01em}
.sidebar{width:258px;background:linear-gradient(180deg,#111b2c,#0b1422);padding:24px 15px;gap:5px}
.sidebar h2{margin:0 0 25px;font-size:23px;letter-spacing:.025em}.sidebar h2 small{font-size:10px;letter-spacing:.2em;margin:6px 0 0 40px}
.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#3353a4;color:#fff}
.sidebar-label,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:#83a9f6}.sidebar-label{margin:0 12px 14px}
.sidebar .nav{padding:14px 16px;border-radius:11px;font-weight:600;color:#bdcce3;margin:2px 0}
.sidebar .nav:hover{background:#202e45}.sidebar .active,.tabs .active{background:#233e69;color:#fff}
header{background:#0e1725a8;backdrop-filter:blur(15px);min-height:83px;padding:16px 30px}
header strong{font-size:21px;letter-spacing:-.025em}button.primary,#newNode,#saveNode{background:linear-gradient(120deg,#4476d9,#6154ce);color:white;border:1px solid #7599ed;box-shadow:0 6px 20px #192e653b;font-weight:650}
button.primary:hover,#newNode:hover,#saveNode:hover{background:linear-gradient(120deg,#5289f0,#7865ee)}
.view{padding:30px;scrollbar-gutter:stable}.welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid #334568;border-radius:22px;padding:34px;background:radial-gradient(ellipse at 95% 0%,#314c8d70,transparent 60%),linear-gradient(135deg,#1a2a47,#101b2e);margin-bottom:22px}
.welcome h1{font-size:clamp(24px,3vw,39px);letter-spacing:-.04em;margin:10px 0}.welcome p:not(.eyebrow){color:#b3c3da;max-width:630px;line-height:1.7}.welcome button{white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:#141e30;border:1px solid #2a3954;border-radius:18px;padding:24px;min-width:0}.metric-icon{display:grid;place-items:center;background:#253b63;color:#bcd0ff;width:38px;height:38px;border-radius:11px;font-size:21px;margin-bottom:17px}.metric-value{font-size:36px;font-weight:800;letter-spacing:-.05em}.metric-label,.muted{color:var(--muted)}.metric-label{font-size:13px;margin-top:4px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-grid h2{font-size:18px}.area-line{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #2c3850;min-width:0}.area-line span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis}.area-line b{font-variant-numeric:tabular-nums}.area-dot{width:9px;height:9px;background:#729cf3;border-radius:50%;flex:none}
.card,.panel,.board{box-shadow:0 12px 32px #00000016}.card:hover{border-color:#5576b0;transform:translateY(-2px)}.card{transition:transform .16s,border-color .16s}
.login{background:radial-gradient(ellipse at 20% 20%,#2446815e,transparent 45%),radial-gradient(ellipse at 90% 80%,#392f7b4d,transparent 40%),#090e19}.login .panel{padding:36px;width:min(480px,100%);border:1px solid #344765;box-shadow:0 30px 90px #0008}.login h1{font-size:clamp(28px,4vw,39px);letter-spacing:-.05em;margin:10px 0}.login h1 em{font-style:normal;color:#8daeff}.login-symbol{font-size:38px;color:#8aaaff}.login .panel>p{color:#b1c2da;line-height:1.65}.login .panel .eyebrow{color:#8baef8;font-size:10px}.login .panel button{width:100%;padding:14px;margin-top:12px}.login-hint{font-size:12px}.login #loginError{min-height:20px}
.drawer{width:min(880px,100%);background:#121c2c}.drawerhead{padding:22px 26px}.drawerbody{padding:22px 26px}.tabs{padding:0 20px 14px}.tabs button{border-radius:8px}.drawer footer{padding:16px 26px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:780px){.sidebar{width:68px;padding:16px 6px}.sidebar-label{display:none}.sidebar h2{font-size:0;margin-bottom:18px}.sidebar .brand-mark{font-size:23px}.sidebar .nav{font-size:0;padding:12px 8px}.sidebar .nav::first-letter{font-size:22px}.sidebar h2 small{display:none}.view{padding:16px}.welcome{padding:22px;flex-wrap:wrap}.welcome button{width:100%}.metric{padding:18px}header{padding:12px}.tools{flex-wrap:wrap}}
@media(max-width:420px){.sidebar{width:55px}.metric-grid{gap:9px}.metric{padding:14px}.metric-value{font-size:27px}.metric-label{font-size:11px}.welcome h1{font-size:25px}.login .panel{padding:23px}}
