/* Shared colours from the approved lattice artwork. Dark accents preserve text contrast. */
:root{--ink:#172446;--muted:#54617d;--border:#d8def1;--paper:#fff;--accent:#2658c9;--nav:#eef2ff;--violet:#6944c6;--turquoise:#007d87;--coral:#c24455;color:var(--ink);background:#f6f7fc}
body{background:radial-gradient(ellipse at 95% 0%,#e5fafa 0,transparent 42%),#f6f7fc;color:var(--ink)}
.navigation,#workspace>aside{background:linear-gradient(160deg,#e7fafa,#edf0ff 58%,#f3edff);color:var(--ink);border-right:1px solid var(--border)}
.brand,#workspace .wordmark{color:var(--ink)}.brand span,.nav-foot{color:var(--muted)}
#nav-links a,nav button,nav a{color:#314466}#nav-links a:hover,nav a:hover,nav button:hover{background:#e0e8fc;color:#234db0}
#nav-links a.active,nav button[aria-current=page]{background:linear-gradient(110deg,#d4f1f0,#e6defb);color:#253a85;border-color:#b5c5ef;box-shadow:inset 3px 0 #6944c6}
button{background:var(--accent);border-color:var(--accent);color:#fff}button:hover:not(:disabled){background:#2048a8}
button.secondary,#register,#logout,#clear{background:#eee9fa;border:1px solid #d4c9ee;color:#503591}button.secondary:hover:not(:disabled),#register:hover,#logout:hover,#clear:hover{background:#e1d8f4}
a{color:#2658b8}.wordmark strong,.brand b{color:var(--turquoise)}
input,textarea,select{border-color:#b6c2dd;color:var(--ink);background:#fff}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8052db;outline-offset:3px}
.message{background:#f0eef9;color:var(--ink)}.message.user{background:linear-gradient(110deg,#def5f2,#e8edff)}
#badge{background:#def5f2;color:#14616c;border-color:#a8d8d7}.eyebrow{color:#6944c6}
section.connection,.chat,#signin,.node-resource-grid article{border-color:var(--border)}
#signin{border-top:4px solid #6944c6;box-shadow:0 12px 36px #334a8210}
.os-download[open]{border-color:#a699db}.os-download summary:hover{background:#eef0fc}
.brand-logo{display:block;width:100%;height:auto;max-width:240px}.brand-icon{width:42px;height:42px;vertical-align:middle}
#login-screen #signin:before{content:"";display:block;width:72px;height:72px;margin:0 auto 16px;background:url('/static/brand-icon.png') center/contain no-repeat}
#stop{background:#a62e46;border-color:#a62e46}#stop:hover{background:#87253a}
