/* AWARA / VISUAL-POLISH-001·002 — presentation only. No remote assets or status reclassification. */
:root {
  color-scheme: dark;
  --bg0:#080b10; --bg1:#0b1017; --bg2:#101820;
  --ink:#e6edf3; --ink2:#b6c2ce; --mute:#98a7b6;
  --glass:rgba(15,21,29,.88); --glass2:rgba(15,21,29,.97);
  --line:rgba(175,195,212,.14); --line2:rgba(175,195,212,.28);
  --sun:#d8ba86; --accent:#a1cbd1; --focus:#b5e3eb;
  --st-active:#a5b7c9; --st-working:#9abbd8; --st-waiting:#d8ba86;
  --st-review:#b8a7d7; --st-done:#a1c8b5; --st-blocked:#dd9a91;
  --st-hypothesis:#b5afc7; --st-demo:#8dbfc5; --st-draft:#d8ba86;
  --st-planned:#98a7b6; --st-historical:#b3a58e;
  --serif:var(--sans); --r:12px; --ease:cubic-bezier(.2,.75,.25,1);
  --fast:160ms; --medium:280ms;
}
body { background:radial-gradient(ellipse at 48% 42%,#141e28 0%,#0b1119 40%,#080b10 85%); font-size:15px; line-height:1.5; }
button,input,select,textarea { font-size:14px; }
button { transition:background var(--fast),border-color var(--fast),color var(--fast),box-shadow var(--fast); }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
button:disabled { box-shadow:none; }
code,.layers { font-size:13px; overflow-wrap:anywhere; }
#nebula { opacity:.35; }
#nebula i { opacity:.4; filter:blur(80px); }
#nebula .n1 { background:radial-gradient(closest-side,rgba(88,111,145,.24),transparent); }
#nebula .n2 { background:radial-gradient(closest-side,rgba(62,111,127,.22),transparent); }
#nebula .n3 { background:radial-gradient(closest-side,rgba(109,91,142,.17),transparent); }
#nebula .n4 { background:none; }
#stars { opacity:.6; }
.glass { border-radius:12px; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 8px 32px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025); }
.topbar { top:12px; left:16px; right:16px; padding:10px 16px; gap:8px 16px; grid-template-columns:auto minmax(160px,1fr) auto auto; }
.mode-contemplation .topbar { background:rgba(14,20,28,.9); }
.brand { gap:12px; }
.brand-sun { width:28px; height:28px; background:radial-gradient(circle at 35% 30%,#b3b4a8,#525b5c 32%,#152027 72%); border:1px solid rgba(216,186,134,.6); box-shadow:0 0 18px rgba(216,186,134,.08),inset 0 0 7px rgba(216,186,134,.12); }
.brand-title { font-size:16px; font-weight:600; letter-spacing:.24em; line-height:1.3; }
.brand-sub { font-size:12px; letter-spacing:.015em; }
.search { max-width:460px; }
.search input { min-height:44px; border-radius:8px; padding:9px 14px; background:rgba(0,0,0,.16); }
.search input::placeholder { color:#95a3b2; }
.search input:focus { border-color:#78939e; background:#151f29; box-shadow:0 0 0 3px rgba(161,203,209,.07); }
.search-results { border-radius:10px; padding:8px; }
.search-results li { padding:12px; border-radius:6px; }
.sr-meta { font-size:14px; }
.seg { background:#10171f; border-radius:9px; padding:3px; }
.seg button { border-radius:6px; min-height:38px; padding:7px 12px; font-size:14px; }
.seg button.on { background:#25303c; box-shadow:inset 0 1px rgba(255,255,255,.06); }
.views { gap:4px; border-top:1px solid var(--line); padding-top:8px; }
.views button { min-height:36px; padding:6px 12px; border-radius:6px; color:var(--mute); }
.views button.on { background:#222e39; color:var(--ink); border-color:var(--line2); }
.data-modes { gap:6px; align-self:end; padding-bottom:6px; }
.top-right { gap:6px; }
.btn,.btn.small,.icon-btn,.panel-actions .icon-btn { min-height:40px; border-radius:8px; font-size:14px; }
.icon-btn,.panel-actions .icon-btn { width:40px; height:40px; flex:none; }
.btn { background:rgba(148,174,194,.055); border-color:var(--line2); }
.btn.small { padding:7px 10px; }
.btn:hover:not(:disabled),.icon-btn:hover,.chip-btn:hover { background:#24313d; border-color:rgba(177,213,225,.46); }
.btn.primary { background:rgba(161,203,209,.13); border-color:rgba(161,203,209,.48); color:#d2edf0; }
.btn.ghost { background:transparent; }
.fresh-pill { font-size:12px; color:var(--ink2); background:rgba(0,0,0,.12); padding:6px 10px; border-radius:6px; }
.fresh-pill .dot { width:5px; height:5px; }
.dec-badge { border-color:rgba(216,186,134,.32); border-radius:6px; background:rgba(216,186,134,.06); color:var(--sun); min-height:36px; }
.status-chips { top:142px; gap:5px; max-width:calc(100% - 740px); }
.chip { border-radius:6px; min-height:32px; padding:4px 8px; font-size:12px; background:rgba(14,20,28,.8); }
.chip b { font-weight:500; font-variant-numeric:tabular-nums; }
.chip[aria-pressed=true] { box-shadow:inset 0 -2px currentColor; }
/* Quiet framing; these labels never claim that an agent is online. */
.map-caption { position:fixed; left:40px; top:124px; pointer-events:none; z-index:3; }
.eyebrow { color:var(--mute); font-size:11px; font-weight:500; letter-spacing:.18em; }
.map-caption h1 { margin:8px 0 5px; font-size:26px; font-weight:450; letter-spacing:-.04em; line-height:1.2; }
.map-caption p { margin:0; color:var(--mute); font-size:14px; }
.map-key { position:fixed; left:40px; bottom:108px; max-width:min(460px,45vw); pointer-events:none; z-index:4; }
.map-key-line { display:flex; gap:10px; flex-wrap:wrap; color:var(--mute); font-size:12px; }
#map-data-label { color:var(--st-demo); }
.key-divider { opacity:.5; }
.map-signal { font-size:13px; color:var(--ink2); margin-top:7px; padding-left:12px; border-left:2px solid #536472; }
.signal-synthetic { border-color:var(--st-demo); color:var(--st-demo); }
.signal-observed { border-color:var(--sun); color:var(--sun); }
.mode-work .map-caption,.mode-work .map-key { display:none; }
body[data-view]:not([data-view=map]) .map-caption,body[data-view]:not([data-view=map]) .map-key { display:none; }
.orbit { stroke:rgba(161,185,207,.055); stroke-dasharray:none; }
.orbit.slow { animation:none; }
.link { stroke:rgba(146,184,193,.19); stroke-width:1; stroke-dasharray:3 8; }
.link.hot { stroke:#a1cbd1; stroke-width:1.5; stroke-dasharray:none; animation:route-reveal 650ms var(--ease) 1; }
.link.draft { stroke:var(--st-draft); stroke-dasharray:2 6; }
.branch { stroke-width:1; }
.route-selected { stroke:#a1cbd1; stroke-opacity:.8; }
.ray.route-selected[filter] { stroke-opacity:.15; }
@keyframes route-reveal { from { opacity:.2; } to { opacity:1; } }
.node .body { stroke:rgba(185,206,224,.2); stroke-width:.6; }
.node .ring { stroke-width:1; stroke-opacity:.65; transition:stroke-opacity var(--medium),stroke-width var(--medium); }
.node .halo { opacity:.28; transition:opacity var(--medium); }
.node .badge { fill:#dae4ed; font-weight:450; font-size:14px !important; }
.node:hover .ring,.node.related .ring { stroke-opacity:1; stroke-width:1.5; }
.node:hover .halo,.node.related .halo { opacity:.6; }
.node.selected .halo { opacity:.85; }
.node.selected .ring { stroke:var(--focus); stroke-width:2; stroke-opacity:1; }
.node.selected .body { stroke:rgba(181,227,235,.8); }
.node .label { font-family:var(--sans); font-weight:450; letter-spacing:-.02em; fill:#e1e9ef; stroke:#0a1017; stroke-width:3.5px; }
.node .slabel { font-size:12.5px; stroke:#0a1017; stroke-width:3px; }
.node .pin { stroke-width:.8; }
.node.status-blocked .ring,.node.verified .vglow,.node.alive .halo { animation:none; }
.node.verified .vglow { opacity:.35; }
.node.alive .ring { stroke:var(--st-done); }
.node.status-planned .halo,.node.status-historical .halo { opacity:.12; }
.node:focus-visible .ring { stroke:var(--focus); stroke-width:3; stroke-opacity:1; }
.sun-core { filter:none; }
.core-rim { fill:none; stroke:rgba(216,186,134,.65); stroke-width:1; }
.sun-label { font:500 15px var(--sans); letter-spacing:.2em; fill:#ece7dc; stroke:none; }
.sun-sub { font-size:12px; fill:var(--mute); letter-spacing:.3em; }
.sun-corona { animation:quiet-atmosphere 14s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes quiet-atmosphere { 0%,100% { opacity:.55; } 50% { opacity:.85; } }
/* A finite receipt, not a heartbeat or data packet. Only attached by a NEW journal record. */
.event-ripple { fill:none; stroke-width:1; stroke:var(--st-demo); opacity:0; pointer-events:none; }
.node.new-record .event-ripple { animation:receipt 1400ms var(--ease) 1; }
.node.record-observed .event-ripple { stroke:var(--sun); }
@keyframes receipt { 0% { opacity:0; stroke-width:4; } 25% { opacity:.9; } 100% { opacity:0; stroke-width:.5; } }
.map-tools { right:16px; bottom:108px; padding:5px; gap:5px; border-radius:10px; background:rgba(14,20,28,.94); }
.map-tools .btn { min-width:40px; min-height:36px; font-size:12px; }
.mini { width:154px; height:104px; bottom:108px; opacity:.75; }
.mini-view { stroke:#8ba8b4; fill:rgba(139,168,180,.04); }
/* One surface system for agents, sources, events and existing task panels. */
.panel { border-color:rgba(175,195,212,.2); }
.panel-head { padding:10px 12px 10px 18px; background:rgba(167,196,217,.025); min-height:60px; }
.panel-title { font-size:15px; font-weight:500; letter-spacing:-.015em; }
.panel-body { padding:18px; scrollbar-width:thin; scrollbar-color:#40515f transparent; }
.panel-body p { line-height:1.55; }
.insp-name { font-size:25px; font-weight:500; letter-spacing:-.04em; line-height:1.2; overflow-wrap:anywhere; }
.insp-head { padding:8px 0 12px; }
.crumbs { font-size:13px; line-height:1.8; }
.insp-badges { margin-top:12px; gap:6px; }
.badge-pill { font-size:12px; line-height:1.45; padding:4px 8px; border-radius:5px; white-space:normal; overflow-wrap:anywhere; max-width:100%; background:rgba(174,195,214,.035); }
.b-demo { background:rgba(141,191,197,.06); border-style:dashed; color:var(--st-demo); }
.b-warn { background:rgba(216,186,134,.045); color:var(--st-waiting); }
.b-ok { background:rgba(161,200,181,.045); color:var(--st-done); }
.b-bad { background:rgba(221,154,145,.045); color:var(--st-blocked); }
.astate { font-size:13px; }
.as-unknown,.as-stale,.as-standby { color:var(--mute); }
.as-acked,.as-reported { color:var(--st-working); }
.sec { font-size:12px; letter-spacing:.1em; margin:24px 0 10px; font-weight:500; }
.sec.small { margin:16px 0 8px; }
.tabs { margin:4px -4px 16px; gap:2px; padding-bottom:8px; }
.tabs button { font-size:13px; min-height:36px; padding:7px 9px; border-radius:5px; }
.tabs button.on { background:rgba(161,203,209,.1); box-shadow:inset 0 -2px #8dbfc5; }
.tabpane { animation:detail-enter 240ms var(--ease); }
@keyframes detail-enter { from { opacity:.4; transform:translateY(3px); } to { opacity:1; transform:none; } }
.kv { font-size:14px; gap:8px 16px; line-height:1.5; }
.kv.small { font-size:13px; }
.small,.hint,.fl,.form label,.field,.src-card p,.mode-card p,.nl-meta,.ttype,.towner { font-size:14px; }
.desc { margin:8px 0 16px; }
.warn-line,.demo-line,.draft-line { font-size:14px; border-radius:6px; padding:10px 12px; line-height:1.5; }
.team-row,.agent-card,.task-row,.att-row,.now-line,.src-card,.mode-card,.decision,.kpi { border-radius:8px; }
.team-row { padding:12px; margin:6px 0; border:1px solid var(--line); background:rgba(175,195,212,.025); transition:background var(--fast),border-color var(--fast); align-items:baseline; }
.team-row:hover { border-color:var(--line2); background:rgba(175,195,212,.055); }
.team-row:focus-within { outline:1px solid var(--focus); }
.team-row .team-id { min-width:80px; min-height:36px; font-weight:500; }
.team-row .team-name { font-size:15px; overflow-wrap:anywhere; }
.team-group h4 { font-size:16px; font-weight:500; margin:20px 0 12px; }
.team-task { border-color:rgba(216,186,134,.4); padding:8px 0 8px 14px; }
.team-search { max-width:none; min-height:44px; margin:8px 0 18px; }
.task-row { padding:12px; border:1px solid var(--line); margin:6px 0; }
.task-title { font-size:22px; font-weight:500; }
.att-row { padding:10px; font-size:14px; }
.kpis { gap:8px; }
.kpi { padding:12px; }
.kpi b { font:450 26px var(--sans); font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.kpi span { font-size:12px; }
.now-line { padding:10px 12px; gap:4px; }
.decision { padding:12px; gap:8px; background:rgba(216,186,134,.035); }
.grounds { font-size:13px; gap:4px; }
.grounds code { font-size:12px; }
.fresh { padding:12px; border-radius:8px; }
.fresh b { font-weight:500; }
.tip { padding:16px; border-radius:8px; width:340px; font-size:14px; box-shadow:0 12px 40px rgba(0,0,0,.3); }
.tip .tt { font-size:17px; font-weight:500; letter-spacing:-.02em; margin-bottom:10px; }
.tip dl { gap:6px 12px; }
.timeline { left:16px; right:16px; bottom:16px; min-height:68px; border-radius:10px; padding:10px 16px; gap:20px; background:rgba(14,20,28,.9); }
.mode-contemplation .timeline { background:rgba(14,20,28,.9); }
.tl-label { width:240px; }
.tl-label b { font-size:14px; font-weight:500; }
.tl-label span { font-size:12px; }
.tl-ev { font-size:11px; color:var(--mute); }
.tl-ev::after { width:4px; height:4px; box-shadow:none; background:#849ba9; }
.tl-ev.cur::after { background:var(--sun); }
#tl-range { accent-color:#9bb4c0; }
.toast { border-radius:8px; background:#192630; padding:12px 18px; color:var(--ink); }
.modal-box { border-radius:12px; padding:24px; gap:16px; }
.modal-title { font-size:20px; font-weight:500; }
input,select,textarea { min-height:40px; border-color:var(--line2); background:rgba(0,0,0,.12); }
select option { background:#141e28; }
.prefs { top:84px; right:16px; width:340px; padding:16px; gap:12px; }
.pref { min-height:44px; font-size:14px; }
.pref input { min-height:18px; }
.low-power .sun-corona,.low-power .event-ripple { animation:none !important; }
@media (max-width:1200px) and (min-width:761px) {
  .topbar { grid-template-columns:auto minmax(160px,1fr) auto; grid-template-areas:"brand search modes" "views views right" "modes2 modes2 modes2"; }
  .mode-contemplation .topbar { grid-template-areas:"brand search modes" "right right right"; }
  .topbar .top-right { flex-wrap:wrap; }
  .status-chips { top:198px; max-width:calc(100% - 400px); left:auto; right:16px; transform:none; }
}
@media (max-width:760px) {
  body { font-size:16px; }
  .topbar { top:8px; left:8px; right:8px; padding:8px; gap:8px; grid-template-columns:1fr auto; grid-template-areas:"modes right" "search search" "views views"; border-radius:10px; }
  .mode-contemplation .topbar { grid-template-areas:"modes right" "search search"; }
  .brand { display:none; }
  .seg button { min-height:44px; padding:6px 9px; font-size:14px; }
  .search input { min-height:44px; font-size:16px; }
  .fresh-pill { padding:0 9px; min-height:44px; border:0; }
  .top-right { gap:4px; }
  .dec-badge { padding:0 10px; }
  .views { padding-top:6px; scrollbar-width:none; }
  .views button { min-height:44px; font-size:14px; }
  .status-chips { top:184px; left:8px; right:8px; max-width:none; padding-bottom:4px; }
  .chip { min-height:36px; }
  .map-caption { top:148px; left:24px; }
  .map-caption h1 { font-size:23px; margin:6px 0; }
  .map-caption p { font-size:14px; }
  .eyebrow { font-size:10px; }
  .map-key { left:24px; bottom:100px; max-width:calc(100% - 110px); }
  .map-key-line { font-size:11px; gap:4px; }
  .map-key-line .key-divider { display:none; }
  .map-key-line span:last-child { flex-basis:100%; }
  .map-signal { font-size:12px; }
  .btn,.btn.small,.icon-btn,.panel-actions .icon-btn,.tabs button,.chip-btn,.now-line { min-height:44px; }
  .icon-btn,.panel-actions .icon-btn { width:44px; height:44px; }
  .map-tools { right:8px; bottom:96px; gap:3px; padding:4px; }
  .map-tools .btn { min-height:44px; }
  .timeline { left:8px; right:8px; bottom:8px; min-height:68px; padding:8px; gap:8px; }
  .tl-label { width:60px; }
  .panel.sheet { border-radius:12px 12px 0 0; padding-bottom:env(safe-area-inset-bottom); }
  .panel.sheet[data-sheet=full] { height:calc(100dvh - 70px) !important; }
  .panel-head { padding:8px 10px; min-height:60px; }
  .panel-body { padding:16px; }
  .panel-title { font-size:15px; }
  .insp-name { font-size:24px; }
  .badge-pill,.tabs button,.astate { font-size:14px; }
  .kv { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); font-size:14px; gap:8px 12px; }
  .kv.small,.small,.hint { font-size:14px; }
  .prefs { left:8px; right:8px; top:68px; width:auto; max-height:calc(100dvh - 80px); overflow:auto; }
  .team-row { padding:12px; }
  .team-row .team-name { flex-basis:calc(100% - 100px); }
  .modal { padding:12px; }
  .modal-box { padding:20px; max-height:calc(100dvh - 24px); overflow:auto; }
  .key-divider { display:none; }
  body:has(.panel.sheet:not([hidden])) .map-caption,body:has(.panel.sheet:not([hidden])) .map-key { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
body.reduced *,body.reduced *::before,body.reduced *::after { animation:none !important; transition:none !important; }
@media (prefers-contrast:more) { :root { --glass:#0c121a; --glass2:#0c121a; --mute:#b6c4d0; --line:rgba(200,219,233,.4); --line2:rgba(200,219,233,.6); } }
.icon-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.node.context-muted { opacity:.24 !important; }
.has-map-selection .map-caption { display:none; }
.has-map-selection .map-key-line { display:none; }
.map-key { background:linear-gradient(90deg,rgba(8,11,16,.94),rgba(8,11,16,.7)); border-radius:6px; padding:8px 12px; }
@media(max-width:760px) {
  .map-tools { flex-direction:row; }
  #mini-toggle,#reset-orbits { display:none; }
  .dec-badge::before { content:"!"; font:500 16px var(--sans); }
}
@media(max-width:760px) {
  body:has(.panel.sheet[data-sheet=full]:not([hidden])) .map-tools { visibility:hidden; }
}
/* Readability floor for screen-space UI; SVG world labels remain zoomable. */
body { font-size:16px; }
.brand-sub,.fresh-pill,.chip,.eyebrow,.map-key-line,.map-signal,.badge-pill,.sec,.astate,.tabs button,.kpi span,.tl-label span,.tip dl,.grounds,.grounds code,.kv.small,.tl-ev,.chain,.fl,.layers,.towner,.ttype,.sr-meta,code { font-size:14px; }
.node .slabel { font-size:14px; }
@media(max-width:760px) {
  .eyebrow,.map-key-line,.map-signal { font-size:14px; }
  .tl-ev { font-size:0; }
}
@media(max-width:760px) {
  .panel.sheet[data-sheet=half] { height:54dvh !important; }
}
.data-origin { display:none; }
@media(max-width:760px) {
  .dec-badge { min-width:44px; }
  .data-origin { display:block; position:absolute; right:12px; top:22px; transform:translateY(-50%); color:var(--st-demo); font-size:14px; letter-spacing:.04em; pointer-events:none; }
  .search input { padding-right:88px; }
}
.mini { right:112px; }
.kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kpi { min-width:0; }
.kpi span { overflow-wrap:anywhere; }
@media(min-width:1201px) {
  .views { grid-column:1 / -1; grid-row:2; padding-right:260px; }
  .data-modes { position:absolute; right:16px; bottom:14px; }
}
@media(max-width:760px) {
  .dec-badge { min-width:44px; min-height:44px; }
  .kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Bound the existing floating panels below global chrome; detail cards stay above the view surface. */
#panels { position:relative; z-index:20; }
#panel-view { z-index:18 !important; }
.node.depth-0:focus-visible .core-rim,.node.depth-0.selected .core-rim { stroke:var(--focus); stroke-width:2; }
.modes,.cols2 { grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); }
.agent-grid { grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
/* Compact overview chrome must not cover map labels on phones. */
@media(max-width:760px) {
  .map-caption { display:none; }
  .map-key { bottom:156px; max-width:calc(100% - 48px); }
}
@media(max-width:360px) {
  .top-right .fresh-pill { display:none; }
}
