/* Gauge — page extras and the working model of the main window. Loaded only on gauge.newmac.app.
   The [data-app="gauge"] accent (lume teal on panel black, from the app icon) lives in style.css's App accents block. */

/* ───────── Page pieces ───────── */
.gv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.gv-col { padding: 22px 22px 18px; border-radius: var(--radius); background: var(--card); box-shadow: inset 0 0 0 1px var(--line); min-width: 0; }
.gv-col.us { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--accent-ink) 55%, transparent); }
.gv-k { margin: 0 0 4px; font: 700 12px/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.gv-n { margin: 0 0 14px; font: 700 clamp(34px, 5vw, 48px)/1 var(--font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gv-n small { font-size: 16px; font-weight: 600; color: var(--muted); letter-spacing: 0; margin-left: 6px; }
.gv-rows { list-style: none; margin: 0; padding: 0; font: 12.5px/1 var(--font-mono); color: var(--muted); }
.gv-rows li { display: flex; gap: 10px; justify-content: space-between; padding: 6px 0; border-top: 1px solid var(--line); white-space: nowrap; overflow: hidden; }
.gv-rows li span:first-child { overflow: hidden; text-overflow: ellipsis; }
.gv-rows .more { justify-content: center; font-style: italic; color: var(--faint); }
.gv-rows.app li { font: 14px/1.2 var(--font); color: var(--text); padding: 10px 0; white-space: normal; align-items: baseline; }
.gv-rows.app li span:first-child { overflow: visible; }
.gv-rows.app b { white-space: nowrap; }
.gv-rows.app li small { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.gv-rows.app b { font-variant-numeric: tabular-nums; }
.gv-foot { margin: 14px 0 0; font-size: 14.5px; color: var(--muted); }
.gv-fair { margin-top: 18px; }
@media (max-width: 760px) { .gv { grid-template-columns: 1fr; } }

.gl { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gl li { display: grid; gap: 3px; padding: 14px 16px; border-radius: 14px; background: var(--card); box-shadow: inset 0 0 0 1px var(--line); }
.gl b { font-size: 16px; }
.gl span { color: var(--muted); font-size: 15px; }
.g-term { margin: 0; padding: 18px 20px; border-radius: 16px; background: #14181d; color: #e9e6df; font: 13px/1.6 var(--font-mono); overflow-x: auto; box-shadow: 0 0 0 1px var(--line-2), var(--shadow); }
.g-term .pr { color: #5cc6b8; } .g-term .dim { color: rgba(233, 230, 223, .55); } .g-term .am { color: #f0b347; }

/* ───────── The model ───────── */
.gg {
  --face: #ecebe4; --bezel: #f8f7f3; --rail: #e3e1da; --well: #e2e0d9; --ink: #1a1c20; --ink2: rgba(26,28,32,.64); --ink3: rgba(26,28,32,.44);
  --tick: rgba(26,28,32,.34); --tick2: rgba(26,28,32,.16); --rule: rgba(26,28,32,.09); --rule2: rgba(26,28,32,.18); --wash: rgba(26,28,32,.045);
  --needle: #23262c; --fill: #3c4048; --lume: #0f6e6a; --lumesoft: rgba(15,110,106,.12); --onlume: #f8f7f3;
  --amber: #a86c08; --ambersoft: rgba(183,119,11,.14); --signal: #c6372a; --signalsoft: rgba(198,55,42,.12);
  --bar: rgba(246,245,241,.86); --shadowc: rgba(0,0,0,.18);
  position: relative; background: var(--face); color: var(--ink); font: 13px/1.35 var(--font); text-align: left;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .gg {
  --face: #0e1013; --bezel: #16191e; --rail: #121418; --well: #1e2228; --ink: #e9e6df; --ink2: rgba(233,230,223,.66); --ink3: rgba(233,230,223,.46);
  --tick: rgba(233,230,223,.34); --tick2: rgba(233,230,223,.16); --rule: rgba(233,230,223,.09); --rule2: rgba(233,230,223,.2); --wash: rgba(233,230,223,.06);
  --needle: #f1eee7; --fill: #c9c6bf; --lume: #5cc6b8; --lumesoft: rgba(92,198,184,.16); --onlume: #0e1013;
  --amber: #f0b347; --ambersoft: rgba(240,179,71,.16); --signal: #ff6a55; --signalsoft: rgba(255,106,85,.16); --bar: rgba(30,32,38,.9); --shadowc: rgba(0,0,0,.55); } }
:root[data-theme="dark"] .gg {
  --face: #0e1013; --bezel: #16191e; --rail: #121418; --well: #1e2228; --ink: #e9e6df; --ink2: rgba(233,230,223,.66); --ink3: rgba(233,230,223,.46);
  --tick: rgba(233,230,223,.34); --tick2: rgba(233,230,223,.16); --rule: rgba(233,230,223,.09); --rule2: rgba(233,230,223,.2); --wash: rgba(233,230,223,.06);
  --needle: #f1eee7; --fill: #c9c6bf; --lume: #5cc6b8; --lumesoft: rgba(92,198,184,.16); --onlume: #0e1013;
  --amber: #f0b347; --ambersoft: rgba(240,179,71,.16); --signal: #ff6a55; --signalsoft: rgba(255,106,85,.16); --bar: rgba(30,32,38,.9); --shadowc: rgba(0,0,0,.55); }
.gg button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
.gg button:focus-visible, .gg input:focus-visible { outline: 2px solid var(--lume); outline-offset: 1px; border-radius: 6px; }
.gg-i { width: 15px; height: 15px; flex: none; }
.gg .amber { color: var(--amber); } .gg .red { color: var(--signal); }
.gg-card { background: var(--bezel); border-radius: 12px; box-shadow: inset 0 0 0 1px var(--rule); }
.gg-cap { margin: 0; font: 600 10px/1.2 var(--font); letter-spacing: .1em; text-transform: uppercase; color: var(--ink3); }
.gg-cap2 { margin: 18px 0 8px; color: var(--ink3); font-size: 12px; } .gg-cap2 b { color: var(--ink); font-size: 13.5px; margin-right: 6px; }
.gg code, .gg-term { font-family: var(--font-mono); }
.gg-btn { padding: 3px 10px !important; border-radius: 6px; background: var(--bezel) !important; box-shadow: inset 0 0 0 1px var(--rule2); font-size: 12px !important; font-weight: 600 !important; white-space: nowrap; }
.gg-btn.stop { color: var(--signal); }
.gg-btn.danger { background: var(--signal) !important; color: var(--onlume); box-shadow: none; }
.gg-btn.lume { background: var(--lume) !important; color: var(--onlume); box-shadow: none; }
.gg-seg { display: inline-flex; padding: 2px; border-radius: 8px; background: var(--well); gap: 2px; }
.gg-seg button { padding: 3px 10px; border-radius: 6px; font-size: 12px; color: var(--ink2); white-space: nowrap; }
.gg-seg button:disabled { opacity: .4; cursor: default; }
.gg-seg button[aria-pressed="true"] { background: var(--bezel); color: var(--ink); font-weight: 600; box-shadow: 0 1px 2px var(--shadowc); }

/* Menu bar */
.gg-menubar { position: relative; z-index: 3; display: flex; align-items: center; gap: 14px; height: 30px; padding: 0 12px; background: var(--bar); border-bottom: 1px solid var(--rule); backdrop-filter: blur(12px); font-size: 13px; }
.gg-mb-app { display: flex; gap: 16px; align-items: center; white-space: nowrap; color: var(--ink); }
.gg-mb-app b { font-weight: 700; } .gg-mb-app b::before { content: ""; display: inline-block; width: 12px; height: 14px; border-radius: 50% 50% 45% 45%; background: currentColor; opacity: .85; vertical-align: -2px; }
.gg-mb-app span { color: var(--ink2); }
.gg-mb-items { margin-left: auto; display: flex; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.gg-mb-items::-webkit-scrollbar { display: none; }
.gg-mbi { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 7px !important; border-radius: 6px; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; transition: color .4s; }
.gg-mbi:hover, .gg-mbi[aria-expanded="true"] { background: var(--wash) !important; }
.gg-mbi .gg-i { width: 14px; height: 14px; }
.gg-mbi .v { min-width: 2.4em; }
.gg-bars { width: 26px; height: 14px; } .gg-bars rect { fill: currentColor; opacity: .85; }
.gg-two { display: inline-grid; font-size: 9.5px; line-height: 1.05; font-weight: 600; text-align: left; }
.gg-mb-sys { display: flex; align-items: center; gap: 12px; white-space: nowrap; color: var(--ink); }
.gg-mb-clock { font-variant-numeric: tabular-nums; }

/* Menu bar dropdown */
.gg-drop { position: absolute; z-index: 6; top: 34px; width: 280px; padding: 12px 14px 12px; border-radius: 12px; background: var(--bezel); box-shadow: 0 0 0 1px var(--rule2), 0 18px 40px var(--shadowc); }
.gg-dh { display: flex; align-items: center; gap: 6px; font-size: 13.5px; }
.gg-dh .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lume); }
.gg-dh .dot.amber { background: var(--amber); } .gg-dh .dot.red { background: var(--signal); }
.gg-dbig { margin: 8px 0 6px; } .gg-dbig b { font-size: 30px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gg-dbig small { display: block; color: var(--ink2); font-size: 11.5px; }
.gg-dbig.amber small, .gg-dbig.red small { color: var(--ink2); }
.gg-spark { display: block; width: 100%; height: 34px; margin-bottom: 10px; } .gg-spark path { fill: var(--wash); stroke: var(--fill); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.gg-drop ul { list-style: none; margin: 6px 0 10px; padding: 0; }
.gg-drop li { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
.gg-drop li span:not(.gg-tile) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gg-drop li b { font-variant-numeric: tabular-nums; font-weight: 600; }
.gg-dfoot { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--rule); }
.gg-note { font-size: 11px; color: var(--ink3); }

/* Window */
.gg-win { display: grid; grid-template-columns: 186px minmax(0, 1fr); height: 600px; }
.gg-side { display: flex; flex-direction: column; padding: 16px 10px 12px; background: var(--rail); border-right: 1px solid var(--rule); }
.gg-brand { display: flex; align-items: center; gap: 8px; padding: 0 8px 12px; font-weight: 700; font-size: 14px; }
.gg-brand svg { width: 18px; height: 18px; color: var(--lume); }
.gg-nav { display: grid; gap: 1px; }
.gg-nav hr { border: 0; border-top: 1px solid var(--rule2); margin: 6px 8px; }
.gg-nav button { display: flex; align-items: center; gap: 9px; padding: 5px 8px; border-radius: 7px; color: var(--ink); }
.gg-nav button:hover { background: var(--wash); }
.gg-nav button.on { background: var(--bezel); box-shadow: 0 1px 2px var(--shadowc); font-weight: 600; }
.gg-nav button.on .gg-i { color: var(--lume); }
.gg-nav span { flex: 1; }
.gg-nav em { white-space: nowrap; font-style: normal; font-size: 11px; font-weight: 600; color: var(--ink3); font-variant-numeric: tabular-nums; }
.gg-nav em.amber { color: var(--amber); } .gg-nav em.red { color: var(--signal); }
.gg-nav em.dot::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--amber); margin-right: 6px; vertical-align: 2px; }
.gg-nav em.amber::before, .gg-nav em.red::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: currentColor; margin-right: 5px; vertical-align: 2px; }
.gg-side-foot { margin: auto 0 0; padding: 0 8px; font-size: 11px; color: var(--ink3); }
.gg-main { position: relative; overflow: auto; padding: 18px 22px 22px; min-width: 0; }
.gg-tabs { display: none; }
.gg-pane { padding: 0; margin: 0; }
.gg-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 14px; }
.gg-head h4 { margin: 0; font: 700 22px/1.1 var(--font-display); letter-spacing: -.02em; font-stretch: condensed; }
.gg-sub { color: var(--ink3); font-size: 12px; }
.gg-status { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--ink2); }
.gg-status::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--lume); margin-right: 6px; }
.gg-status.amber::before, .gg-status.red::before { background: currentColor; }
.gg-stress { align-self: center; padding: 4px 12px !important; border-radius: 7px; background: var(--ink) !important; color: var(--face) !important; font-weight: 600 !important; font-size: 12px !important; }
.gg-stress[aria-pressed="true"] { background: var(--signal) !important; color: var(--onlume) !important; }
.gg-head .gg-mode { margin-left: auto; align-self: center; }

/* Overview */
.gg-away { margin-bottom: 14px; padding: 10px 14px; border-radius: 12px; background: var(--bezel); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amber) 55%, transparent); }
.gg-away-h { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; } .gg-away-h .gg-i { color: var(--amber); } .gg-away-h span { color: var(--ink3); font-size: 12px; }
.gg-away ul { list-style: none; margin: 0; padding: 0; }
.gg-away li { display: grid; grid-template-columns: 62px 18px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 3px 0; }
.gg-away li time { font-size: 11px; font-weight: 600; color: var(--ink2); font-variant-numeric: tabular-nums; }
.gg-away li .gg-i { width: 13px; height: 13px; color: var(--amber); }
.gg-away li em { font-style: normal; font-size: 11px; padding: 1px 7px; border-radius: 5px; background: var(--wash); color: var(--ink2); white-space: nowrap; }
.gg-away li.fresh { animation: gg-in .6s var(--ease); } .gg-away li.fresh span { font-weight: 600; }
@keyframes gg-in { from { opacity: 0; transform: translateY(-4px); background: var(--ambersoft); } }
.gg-dials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.gg-dcard { padding: 6px 8px 10px; transition: box-shadow .5s; }
.gg-dcard[data-s="1"] { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amber) 70%, transparent); }
.gg-dcard[data-s="2"] { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--signal) 70%, transparent); }
.gg-dial { display: block; width: 100%; height: auto; overflow: visible; }
.gg-dial .rim { fill: none; stroke: var(--tick2); stroke-width: 1; }
.gg-dial .band { fill: none; stroke-width: 3; opacity: .55; } .gg-dial .band.amber { stroke: var(--amber); } .gg-dial .band.red { stroke: var(--signal); }
.gg-dial .live { fill: none; stroke: var(--needle); stroke-width: 2; opacity: .5; }
.gg-dial .tk { stroke: var(--tick); stroke-width: 1.3; } .gg-dial .tk2 { stroke: var(--tick2); stroke-width: 1; }
.gg-dial .lab { fill: var(--ink3); font: 600 8.5px var(--font); text-anchor: middle; }
.gg-dial .needle { transform-origin: 100px 96px; transform-box: view-box; transition: transform .9s cubic-bezier(.3, 1.35, .45, 1); }
.gg-dial .needle line { stroke: var(--needle); stroke-width: 2; stroke-linecap: round; }
.gg-dial .needle circle { fill: var(--needle); } .gg-dial .needle .hub { fill: var(--bezel); }
.gg-dial .pip { fill: var(--ink3); transition: transform .9s; }
.gg-dial .big { fill: var(--ink); font: 700 22px var(--font-display); text-anchor: middle; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.gg-dial .big .u { font-size: 9px; font-weight: 600; fill: var(--ink2); }
.gg-dial .leg { fill: var(--ink3); font: 600 7.5px var(--font); letter-spacing: .14em; text-anchor: middle; }
.gg-dcard[data-s="1"] .needle line, .gg-dcard[data-s="1"] .needle circle:not(.hub) { stroke: var(--amber); fill: var(--amber); }
.gg-dcard[data-s="1"] .live { stroke: var(--amber); opacity: .9; } .gg-dcard[data-s="1"] .big { fill: var(--amber); }
.gg-dcard[data-s="2"] .needle line, .gg-dcard[data-s="2"] .needle circle:not(.hub) { stroke: var(--signal); fill: var(--signal); }
.gg-dcard[data-s="2"] .live { stroke: var(--signal); opacity: .9; } .gg-dcard[data-s="2"] .big { fill: var(--signal); }
.gg-pair { display: flex; justify-content: center; gap: 18px; margin-top: 2px; font: 600 9px/1.2 var(--font); letter-spacing: .1em; color: var(--ink3); }
.gg-pair span { display: grid; text-align: left; }
.gg-pair b { font-size: 13px; letter-spacing: 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.gg-pair b.amber { color: var(--amber); } .gg-pair b.red { color: var(--signal); }
.gg-anp { display: flex !important; flex-direction: column; gap: 8px; padding: 14px !important; }
.gg-anp:hover { box-shadow: inset 0 0 0 1px var(--lume); }
.gg-anp-n { font: 700 26px/1 var(--font-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gg-anp-n s { color: var(--ink3); font-weight: 600; } .gg-anp-n b { color: var(--ink); }
.gg-anp-t { color: var(--ink2); font-size: 12px; }
.gg-busy-h { display: flex; gap: 8px; align-items: baseline; margin: 0 0 8px; } .gg-busy-h span { color: var(--ink3); font-size: 12px; }
.gg-busy { padding: 4px 12px; }
.gg-brow, .gg-app { display: grid; grid-template-columns: 26px minmax(110px, 1.1fr) minmax(90px, 1.6fr) repeat(3, minmax(54px, .55fr)); align-items: center; gap: 4px 12px; padding: 7px 0; border-bottom: 1px solid var(--rule); }
.gg-brow:last-child { border-bottom: 0; }
.gg-tile { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; font-size: 11px; font-weight: 700; color: #fff; background: hsl(var(--h) 45% 46%); flex: none; }
.gg-tile.sys { background: var(--well); color: var(--ink2); font-size: 12px; }
.nm { display: grid; min-width: 0; } .nm b, .nm small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm b { font-weight: 600; } .nm small { color: var(--ink3); font-size: 11.5px; }
.bar { display: grid; gap: 4px; min-width: 0; } .bar b { font-weight: 700; font-variant-numeric: tabular-nums; }
.bar i { display: block; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--fill) var(--w, 0%), var(--well) 0); transition: background .6s; }
.gg .f { display: grid; font: 600 8.5px/1.2 var(--font); letter-spacing: .1em; color: var(--ink3); min-width: 0; }
.gg .f b { font-size: 12px; letter-spacing: 0; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Apps */
.gg-tools { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.gg-search { display: flex; align-items: center; gap: 6px; flex: 0 1 260px; padding: 5px 9px; border-radius: 8px; background: var(--well); color: var(--ink3); }
.gg-search input { flex: 1; min-width: 0; border: 0; background: none; font: inherit; color: var(--ink); outline: none; }
.gg-search input::placeholder { color: var(--ink3); }
.gg-listwrap { position: relative; overflow: hidden; }
.gg-list { height: 446px; overflow: auto; padding: 0 12px; overscroll-behavior: contain; }
.gg-app { width: 100%; grid-template-columns: 12px 26px minmax(110px, 1.1fr) minmax(90px, 1.6fr) repeat(4, minmax(54px, .5fr)); border-radius: 0; }
.gg-app:hover { background: var(--wash) !important; }
.gg-app .chev { width: 11px; height: 11px; color: var(--ink3); transition: transform .2s; }
.gg-app[aria-expanded="true"] .chev { transform: rotate(90deg); }
.gg-app[aria-expanded="true"] { background: var(--lumesoft) !important; }
.gg-kids { padding: 4px 0 10px 50px; border-bottom: 1px solid var(--rule); }
.gg-kh { margin: 2px 0 4px; font-weight: 600; } .gg-kh span { color: var(--ink3); font-weight: 400; margin-left: 4px; }
.gg-proc, .gg-prow, .gg-phead { display: grid; grid-template-columns: 52px minmax(0, 1fr) 60px 72px; gap: 10px; align-items: center; font-size: 12px; }
.gg-proc { padding: 2px 0; border-top: 1px solid var(--rule); } .gg-proc span:nth-child(n+3), .gg-prow span:nth-child(n+4), .gg-phead span:nth-child(n+4) { text-align: right; font-variant-numeric: tabular-nums; }
.gg-proc .pid, .gg-prow .pid { color: var(--ink3); font-family: var(--font-mono); font-size: 11px; text-align: right; }
.gg-proc .pn, .gg-prow .pn, .gg-prow .app { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gg-more { margin: 4px 0 0; color: var(--ink3); font-size: 11.5px; }
.gg-phead, .gg-prow { grid-template-columns: 52px minmax(0, 1.4fr) minmax(0, 1fr) 60px 72px; }
.gg-phead { position: sticky; top: 0; z-index: 1; height: 30px; background: var(--bezel); border-bottom: 1px solid var(--rule2); font-weight: 600; color: var(--ink2); }
.gg-phead span:first-child { text-align: right; }
.gg-prow { height: 26px; border-bottom: 1px solid var(--rule); } .gg-prow .app { color: var(--ink3); }
.gg-vlist { position: relative; } .gg-vrows { position: absolute; inset: 0 0 auto; }
.gg-empty { margin: 0; padding: 30px 0; text-align: center; color: var(--ink3); }
.gg-collapse { position: absolute; z-index: 2; right: 14px; top: 10px; padding: 6px 12px; border-radius: 8px; background: var(--ink); color: var(--face); font-size: 12px; opacity: 0; pointer-events: none; transition: opacity .3s; font-variant-numeric: tabular-nums; }
.gg-collapse b { font-size: 16px; margin-right: 4px; } .gg-collapse.on { opacity: 1; }
.gg-squash { animation: gg-squash .9s var(--ease); transform-origin: top; }
@keyframes gg-squash { 0% { transform: scaleY(1.6); opacity: .3; filter: blur(1px); } 100% { transform: none; opacity: 1; filter: none; } }

/* Developers */
.gg-servers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.gg-proj { padding: 8px 12px; transition: opacity .35s, transform .35s; }
.gg-proj.idle { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--amber) 65%, transparent); }
.gg-proj.gone { opacity: 0; transform: scale(.98); }
.gg-proj-h { display: flex; align-items: center; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--rule); min-width: 0; }
.gg-proj-h .gg-i { color: var(--ink2); } .gg-proj-h b { font-weight: 700; white-space: nowrap; }
.gg-proj-h code { color: var(--ink3); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.gg-proj-h .gg-btn { margin-left: auto; }
.gg .tag { display: inline-flex; align-items: center; gap: 4px; padding: 1px 6px; border-radius: 5px; background: var(--wash); color: var(--ink2); font-size: 11px; font-family: var(--font-mono); white-space: nowrap; }
.gg .tag.amber { background: var(--ambersoft); color: var(--amber); font-family: var(--font); font-weight: 600; }
.gg .tag .gg-i { width: 11px; height: 11px; }
.gg-srv { display: grid; grid-template-columns: 70px minmax(110px, 1.2fr) repeat(3, minmax(52px, .6fr)) minmax(90px, auto) auto auto; align-items: center; gap: 10px; padding-top: 7px; }
.gg-srv .rt { font-family: var(--font-mono); font-size: 12px; }
.gg-srv .ports { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; } .gg-srv .ports code { padding: 1px 6px; border-radius: 5px; background: var(--well); font-size: 11.5px; }
.gg-srv .pid { color: var(--ink3); font-family: var(--font-mono); font-size: 11px; white-space: nowrap; }
.gg-docker { padding: 4px 12px; }
.gg-dk { display: grid; grid-template-columns: 8px minmax(120px, 1fr) minmax(90px, auto) 56px 66px minmax(0, 1.3fr); gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--rule); }
.gg-dk:last-child { border-bottom: 0; }
.gg-dk i { width: 6px; height: 6px; border-radius: 50%; background: var(--ink3); } .gg-dk i.on { background: var(--lume); }
.gg-dk > span:nth-child(2) { display: grid; } .gg-dk small { color: var(--ink3); font-family: var(--font-mono); font-size: 11px; }
.gg-dk .up { color: var(--ink2); font-size: 12px; } .gg-dk code { color: var(--ink3); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gg-term { margin: 0; padding: 12px 14px; border-radius: 10px; background: #14181d; color: #e9e6df; font-size: 11.5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.gg-term .pr { color: #5cc6b8; } .gg-term .dim { color: rgba(233,230,223,.55); } .gg-term .am { color: #f0b347; }

/* Confirm sheet */
.gg-sheet { position: absolute; inset: 0; z-index: 8; display: grid; place-items: start center; padding-top: 84px; background: rgba(0,0,0,.18); }
.gg-sheet[hidden] { display: none; }
.gg-sheet-in { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; width: min(400px, calc(100% - 24px)); padding: 18px 18px 14px; border-radius: 12px; background: var(--bezel); box-shadow: 0 0 0 1px var(--rule2), 0 24px 60px var(--shadowc); animation: gg-sheet .25s var(--ease); }
@keyframes gg-sheet { from { transform: translateY(-10px); opacity: 0; } }
.gg-sheet-in .warn { width: 26px; height: 26px; color: var(--signal); }
.gg-sheet-in p { margin: 0 0 6px; color: var(--ink2); } .gg-sheet-in .t { color: var(--ink); font-weight: 700; font-size: 14px; }
.gg-sheet-in .m { color: var(--ink3); font-size: 12px; margin: 0 0 3px; }
.gg-sheet-in .b { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.gg-sheet-in .b .gg-btn { padding: 5px 14px !important; font-size: 13px !important; }

/* Narrow */
@media (max-width: 1000px) {
  .gg-dials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gg-app { grid-template-columns: 12px 26px minmax(100px, 1fr) minmax(80px, 1.2fr) repeat(2, minmax(54px, .5fr)); }
  .gg-app .f:nth-last-child(-n+2) { display: none; }
  .gg-srv { grid-template-columns: 64px minmax(90px, 1fr) repeat(3, minmax(48px, .6fr)) auto; }
  .gg-srv .pid, .gg-srv > span:empty { display: none; }
  .gg-srv .idle { grid-column: 2 / -2; justify-self: start; }
}
@media (max-width: 760px) {
  .gg-mb-app, .gg-mb-sys .gg-i { display: none; }
  .gg-menubar { gap: 8px; padding: 0 6px; }
  .gg-mb-items { margin-left: 0; flex: 1; }
  .gg-mb-sys { font-size: 11.5px; }
  .gg-win { grid-template-columns: 1fr; height: auto; }
  .gg-side { display: none; }
  .gg-main { overflow: visible; padding: 12px 12px 16px; }
  .gg-tabs { display: flex; gap: 2px; padding: 2px; margin-bottom: 14px; border-radius: 9px; background: var(--well); }
  .gg-tabs button { flex: 1; padding: 6px 0; border-radius: 7px; text-align: center; font-weight: 600; font-size: 12.5px; color: var(--ink2); }
  .gg-tabs button.on { background: var(--bezel); color: var(--ink); box-shadow: 0 1px 2px var(--shadowc); }
  .gg-head h4 { font-size: 19px; }
  .gg-head .gg-sub { order: 5; flex-basis: 100%; }
  .gg-away li { grid-template-columns: 56px minmax(0, 1fr); } .gg-away li .gg-i, .gg-away li em { display: none; } .gg-away li span { font-size: 12px; }
  .gg-dials { gap: 8px; } .gg-pair { gap: 10px; } .gg-pair b { font-size: 11.5px; }
  .gg-anp-n { font-size: 22px; }
  .gg-brow { grid-template-columns: 26px minmax(0, 1fr) minmax(70px, .9fr) 64px; } .gg-brow .hide-n { display: none; }
  .gg-app { grid-template-columns: 10px 24px minmax(0, 1fr) 76px 64px; gap: 4px 8px; }
  .gg-app .f:not(:nth-child(5)) { display: none; }
  .gg-kids { padding-left: 14px; }
  .gg-list { height: 380px; padding: 0 8px; }
  .gg-phead, .gg-prow { grid-template-columns: 44px minmax(0, 1fr) 50px 64px; } .gg-phead .hide-n, .gg-prow .hide-n { display: none; }
  .gg-proc { grid-template-columns: 44px minmax(0, 1fr) 50px 64px; }
  .gg-search { flex: 1 1 100%; }
  .gg-tools .gg-sort { overflow-x: auto; max-width: 100%; }
  .gg-srv { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 10px; }
  .gg-srv > * { min-width: 0; }
  .gg-busy-h { flex-wrap: wrap; }
  .gg-srv .rt, .gg-srv .ports { grid-column: span 1; }
  .gg-srv .ports { grid-column: span 2; }
  .gg-srv .idle { grid-column: 1 / 3; }
  .gg-srv .stop { grid-column: 3; justify-self: end; }
  .gg-proj-h code { display: none; }
  .gg-dk { grid-template-columns: 8px minmax(0, 1fr) 54px 60px; } .gg-dk .up, .gg-dk code { display: none; }
  .gg-drop { width: min(280px, calc(100% - 16px)); }
  .gg-sheet { padding-top: 40px; }
}
@media (max-width: 420px) { .gg-dial .lab { font-size: 10px; } }

/* Reduced motion: values still change, nothing swings or slides */
@media (prefers-reduced-motion: reduce) {
  .gg-dial .needle, .gg-dial .pip, .bar i, .gg-proj, .gg-mbi, .gg-dcard { transition: none; }
  .gg-away li.fresh, .gg-squash, .gg-sheet-in { animation: none; }
}
.gg-still .gg-dial .needle, .gg-still .gg-dial .pip { transition: none; }
