/* Local ORCA tokens; no external assets. Light text accents are intentionally darker for AA. */
:root{color-scheme:dark;--bg:hsl(222 28% 8%);--surface:hsl(222 25% 12%);--surface-raised:hsl(220 18% 18%);--sidebar:hsl(222 40% 6%);--ink:hsl(210 20% 94%);--muted:hsl(215 15% 72%);--line:hsl(220 18% 50%);--accent:hsl(174 70% 50%);--amber:hsl(42 95% 68%);--rose:hsl(340 75% 76%);--sky:hsl(190 80% 72%);--on-accent:hsl(222 28% 8%);--radius:14px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme="light"]{color-scheme:light;--bg:#f4f7f8;--surface:#ffffff;--surface-raised:#e5edef;--sidebar:#eaf1f2;--ink:#172332;--muted:#465568;--line:#6b7b88;--accent:#006c60;--amber:#745000;--rose:#a12058;--sky:#006374;--on-accent:#ffffff}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#f4f7f8;--surface:#ffffff;--surface-raised:#e5edef;--sidebar:#eaf1f2;--ink:#172332;--muted:#465568;--line:#6b7b88;--accent:#006c60;--amber:#745000;--rose:#a12058;--sky:#006374;--on-accent:#ffffff}}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding:1rem}
body{margin:0;background:var(--bg);color:var(--ink);font:400 .9375rem/1.6 var(--font);overflow-wrap:anywhere}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;max-width:100%;min-width:0}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:8px;padding:.5rem .875rem;background:var(--surface-raised);color:var(--ink);cursor:pointer;white-space:normal;overflow-wrap:anywhere;line-height:1.5;flex-shrink:0}
button:hover:not(:disabled){border-color:var(--accent)}
button:disabled{opacity:.65;cursor:not-allowed}
a{color:var(--accent);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
input,select{min-height:44px;width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.625rem .75rem}
input::placeholder{color:var(--muted);opacity:1}
label{display:block;font-size:.8125rem;color:var(--muted);min-width:0}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.2;letter-spacing:-.035em;font-weight:750;margin-bottom:.75rem}
h2{font-size:1.125rem;letter-spacing:-.02em;line-height:1.4}
h3{font-size:1rem;line-height:1.4}
p{margin-bottom:.75rem}
.muted,.fine{color:var(--muted)}
.fine{font-size:.8125rem}
.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.12em;color:var(--accent);margin-bottom:.625rem}
.skip-link{position:fixed;z-index:20;top:-200px;left:12px;background:var(--accent);color:var(--on-accent);padding:12px}
.skip-link:focus{top:12px}
.shell{display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:100dvh}
.sidebar{padding:1.5rem 1rem max(1.25rem,env(safe-area-inset-bottom));background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow-y:auto;min-width:0;gap:1rem;scrollbar-gutter:stable}
.sidebar>*{flex-shrink:0;min-width:0}
.brand{display:flex;gap:.625rem;align-items:center;color:var(--ink);text-decoration:none;font-size:1rem;font-weight:750;min-height:44px}
.brand img{flex:none}
.brand strong{color:var(--accent);font-size:.75rem;letter-spacing:.1em}
.brand small{display:block;color:var(--muted);font-size:.625rem;font-weight:400;letter-spacing:.025em}
.nav-heading{color:var(--muted);font-size:.6875rem;letter-spacing:.12em;margin:1rem .5rem 0}
.sidebar nav{display:grid;gap:6px}
.sidebar nav a{display:flex;align-items:center;gap:.75rem;min-height:44px;min-width:0;padding:.625rem .75rem;border:1px solid transparent;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.875rem}
.sidebar nav a>span{font-size:1.25rem;line-height:1;flex:none}
.sidebar nav a:hover{color:var(--ink);background:var(--surface)}
.sidebar nav a[aria-current="page"]{background:var(--surface);border-color:var(--accent);color:var(--accent)}
.sidebar-bottom{margin-top:auto;padding:1rem .5rem 0;font-size:.8125rem;color:var(--muted)}
.identity{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line);overflow-wrap:anywhere}
.quiet{background:transparent}
.sidebar-bottom button{margin-top:.625rem;width:100%}
.workspace{min-width:0}
.topbar{min-height:80px;padding:1rem 2rem;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.breadcrumb{font-size:.8125rem;color:var(--muted);min-width:0}
.breadcrumb>span:first-child{margin:0 .5rem;color:var(--muted)}
.topbar-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%}
.read-only{font-size:.75rem;color:var(--muted)}
.theme-control{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8125rem}
.theme-control select{width:auto;max-width:100%;min-width:0}
.login-tools{max-width:1100px;margin:auto;padding:1rem max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));display:flex;justify-content:flex-end}
main{padding:2rem;max-width:1600px;margin:auto;min-height:calc(100dvh - 150px);min-width:0}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.page-heading>div{flex:1 1 16rem;min-width:0}
.page-heading .muted{max-width:660px;font-size:.875rem;margin:0}
.core-art{opacity:.55;flex:none}
.section-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.25rem}
.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;min-width:0}
.panel>h2{margin-bottom:1.25rem}
.panel>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:.5rem 0}
.panel-heading{display:flex;gap:.75rem;justify-content:space-between;align-items:baseline;flex-wrap:wrap}
.status-list{margin:0}
.status-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line);min-width:0}
.status-row:last-child{border:0}
.status-row dt{font-size:.875rem;flex:1 1 7rem;min-width:0}
.status-row dd{margin:0;text-align:right;flex:1 1 10rem;min-width:0;overflow-wrap:anywhere}
.status-row small{display:block;color:var(--muted);font-size:.75rem;margin-top:.375rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.5rem;background:var(--surface)}
.stat{padding:1.25rem;min-width:0;border-right:1px solid var(--line)}
.stat:last-child{border:0}
.stat dt{color:var(--muted);font-size:.8125rem}
.stat dd{font-size:1.75rem;font-weight:650;margin:.5rem 0 0;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.03em}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid currentColor;border-radius:5px;padding:.1875rem .5rem;color:var(--muted);font-size:.75rem;line-height:1.6;white-space:normal;max-width:100%;overflow-wrap:anywhere;vertical-align:middle}
.badge[data-kind="verified"],.badge[data-kind="online"],.badge[data-kind="ok"],.badge[data-kind="healthy"],.badge[data-kind="connected"]{color:var(--accent)}
.badge[data-kind="agent_claim"]{color:var(--amber);border-style:dashed}
.badge[data-kind="proposal"]{color:var(--rose);border-style:dotted}
.badge[data-kind="user_decision"]{color:var(--sky);border-width:2px}
.badge[data-kind="archived"],.badge[data-kind="superseded"]{color:var(--muted);text-decoration:line-through}
.badge[data-kind="error"],.badge[data-kind="offline"],.badge[data-kind="failed"]{color:var(--rose)}
.empty{border:1px dashed var(--line);padding:1.5rem;color:var(--muted);border-radius:8px;font-size:.875rem}
.error-text{color:var(--rose)}
#notice:not(:empty){border:1px solid var(--line);padding:.875rem 1rem;border-radius:8px;font-size:.875rem;margin:0 0 1.25rem}
.toolbar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin-bottom:1.25rem;min-width:0}
.toolbar label{flex:1 1 10rem;min-width:0}
.toolbar label:first-child{flex:2 1 15rem}
.toolbar input,.toolbar select{display:block;width:100%;margin-top:.375rem}
.table-wrap{overflow-x:auto;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overscroll-behavior-x:contain}
table{width:100%;border-collapse:collapse;min-width:44rem;table-layout:fixed;text-align:left}
caption{text-align:left;padding:1rem;color:var(--muted);font-size:.8125rem}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;background:var(--bg)}
th,td{padding:1rem;border-top:1px solid var(--line);vertical-align:top;font-size:.8125rem;overflow-wrap:anywhere}
th:first-child{width:36%}
.text-button{background:transparent;border:0;padding:.375rem 0;min-height:44px;min-width:44px;color:var(--accent);text-align:left;font-weight:600;max-width:100%;white-space:normal}
.record-meta{color:var(--muted);font-size:.75rem;display:block;overflow-wrap:anywhere}
.snippet{font-size:.8125rem;color:var(--muted);margin:.25rem 0 .5rem;white-space:pre-wrap}
.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19.375rem),1fr));gap:1.25rem}
.agent-grid .panel{margin:0}
.agent-name{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:start}
.agent-grid dl{margin:1rem 0 0}
.data-list{margin:0;padding:0;list-style:none}
.data-list li{padding:.875rem 0;border-bottom:1px solid var(--line);font-size:.875rem;overflow-wrap:anywhere}
.data-list li>.badge{margin:.25rem}
.data-list li:last-child{border:0}
.data-list small{display:block;color:var(--muted)}
.legend{display:flex;gap:.625rem;flex-wrap:wrap;margin:1rem 0;min-width:0}
.plain-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.8}
.plain-content a{display:inline-block;min-height:44px;padding:.5rem 0;max-width:100%}
details{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.375rem;min-width:0}
summary{cursor:pointer;min-height:44px;padding:.5rem 0;color:var(--muted)}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;background:var(--bg);padding:1rem;border-radius:8px;max-width:100%}
.project-card dl{margin:0}
.project-card h3{margin:1.25rem 0 .5rem}
footer{padding:1.25rem 2rem max(1.25rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.75rem}
footer span:last-child{margin-left:auto}
.login-screen{min-height:calc(100dvh - 80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26.25rem);gap:clamp(1rem,4vw,5rem);align-items:center;max-width:1100px;margin:auto;padding:2rem}
.login-brand{min-width:0}
.login-brand img{margin-bottom:2rem}
.login-brand h1{font-size:clamp(2rem,4vw,3.375rem);line-height:1.2}
.login-form{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}
.login-form input{width:100%;margin:.375rem 0 1.125rem}
.login-form button{width:100%;margin:.625rem 0 1.125rem;display:flex;justify-content:space-between;gap:.75rem;align-items:center}
.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}
.boot{display:grid;place-items:center;min-height:80dvh;color:var(--accent);padding:1rem}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;width:min(53rem,calc(100% - 24px));max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:1.75rem;overflow-y:auto;overscroll-behavior:contain}
dialog::backdrop{background:#000b}
.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}
#record-title{font-size:1.625rem;line-height:1.3}
#record-detail .status-row{align-items:start}
.disabled-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}
.load-placeholder{padding:2rem;color:var(--muted)}
.settings-form{max-width:36rem;display:grid;gap:1rem}
.settings-form input{display:block;margin-top:.375rem}
.guide-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.5rem;margin-bottom:1.5rem}
.guide-toc a{display:flex;align-items:center;min-height:44px;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px}
.guide-section{scroll-margin-top:1rem}
.guide-section li{margin-bottom:.75rem}
.graph-container{min-width:0;max-width:100%}
.mobile-only{display:none}
@media(min-width:1600px){main{padding:3rem}}
@media(max-width:1100px){.shell{grid-template-columns:13.125rem minmax(0,1fr)}.sidebar{padding:1rem .625rem}.topbar{padding:1rem 1.5rem}main{padding:1.75rem 1.5rem}.section-grid{grid-template-columns:minmax(0,1fr)}.stat{padding:1rem}.core-art{width:64px;height:64px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:1rem max(1rem,env(safe-area-inset-right)) .5rem max(1rem,env(safe-area-inset-left));border-right:0;border-bottom:1px solid var(--line);overflow-y:visible;gap:.75rem}.nav-heading,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:6px;margin:0 0 .5rem}.sidebar nav a{font-size:.8125rem;padding:.5rem .625rem}.sidebar nav a>span{display:none}.topbar{padding:.75rem max(1rem,env(safe-area-inset-right)) .75rem max(1rem,env(safe-area-inset-left));min-height:64px;gap:.75rem}.topbar-actions{gap:.5rem;flex:1 1 100%}.read-only{display:none}main{padding:1.5rem max(1rem,env(safe-area-inset-right)) 1.5rem max(1rem,env(safe-area-inset-left))}.core-art{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat:nth-child(3){border-bottom:0}.panel{padding:1.125rem}.toolbar{gap:.625rem}.toolbar label{flex-basis:100%}.toolbar button{width:100%}footer{padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}footer span:last-child{margin-left:0;width:100%}.login-screen{display:block;padding:1.5rem max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.login-brand img{margin-bottom:1rem}.login-form{margin-top:1.5rem;padding:1.25rem}.page-heading{margin-bottom:1.25rem}dialog{padding:1rem}.mobile-only{display:inline-flex}.status-row dd{text-align:left;flex-basis:100%}}
@media(max-height:500px) and (min-width:761px){.sidebar{padding-top:.75rem}.nav-heading{margin-top:0}.sidebar-bottom{padding-top:.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
