/* Generated by scripts/site/build-guides.py from scripts/site/widgets. Do not edit. */
/* docker-ladder */
.gw-docker-ladder{max-width:720px;}
.gw-docker-ladder [hidden]{display:none !important;}
.gw-docker-ladder .dl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:12px;}
.gw-docker-ladder .dl-head2{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.gw-docker-ladder .dl-t{font:600 13px var(--mono);color:var(--fg);}
.gw-docker-ladder .dl-eg, .gw-docker-ladder .dl-n{font:12px var(--mono);color:var(--fg-3);}
.gw-docker-ladder code{font:13px/1.5 var(--mono);color:var(--fg);background:none;padding:0;overflow-wrap:anywhere;}
.gw-docker-ladder .dl-track{height:46px;padding:4px;border-radius:11px;border:1px dashed rgba(255,255,255,.24);background:repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), var(--line) 0 12.5%);}
.gw-docker-ladder .dl-in{position:relative;height:100%;}
.gw-docker-ladder .dl-in i{position:absolute;top:0;bottom:0;left:0;border-radius:7px;transition:left .7s var(--ease-out), width .8s var(--ease-out), opacity .3s;}
.gw-docker-ladder .dl-fill{background:linear-gradient(90deg, #A64DFF, #8656FF, #6A66FF, #4F7BFF, #3F93FF);box-shadow:0 6px 22px -10px #6A66FF;}
.gw-docker-ladder .dl-freed, .gw-docker-ladder .dl-sw{background:repeating-linear-gradient(135deg, rgba(255,255,255,.22) 0 2px, transparent 0 7px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);}
.gw-docker-ladder .dl-freed{width:0;opacity:0;}
.gw-docker-ladder.is-fr .dl-freed{opacity:1;}
.gw-docker-ladder.is-lost .dl-freed, .gw-docker-ladder.is-lost .dl-sw{background:repeating-linear-gradient(135deg, rgba(255,101,104,.45) 0 2px, rgba(255,101,104,.08) 0 7px);box-shadow:inset 0 0 0 1px rgba(255,101,104,.6);}
.gw-docker-ladder .dl-scale{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;margin-top:8px;font:12px/1.4 var(--mono);color:var(--fg-3);}
.gw-docker-ladder .dl-scale b{color:var(--fg);font-weight:600;}
.gw-docker-ladder .dl-fr{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);}
.gw-docker-ladder .dl-sw{width:12px;height:12px;border-radius:3px;}
.gw-docker-ladder.is-lost .dl-fr{color:#FF8A8C;}
.gw-docker-ladder .dl-max-l{margin-left:auto;}
.gw-docker-ladder p.dl-why{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--fg-2);}

.gw-docker-ladder .dl-steps{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:8px;}
.gw-docker-ladder button{appearance:none;border:0;margin:0;cursor:pointer;text-align:left;transition:background .2s, box-shadow .2s, color .2s;}
.gw-docker-ladder button:focus-visible{outline:2px solid var(--accent-b);outline-offset:2px;}
.gw-docker-ladder .dl-step{--c:#22C55E;display:grid;grid-template-rows:80px auto auto auto;gap:2px;padding:10px;border-radius:12px;color:var(--fg-2);background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px var(--line);}
.gw-docker-ladder .dl-step[data-v="ok2"]{--c:#6CBA4A;}
.gw-docker-ladder .dl-step[data-v="warn"]{--c:#F5A524;}
.gw-docker-ladder .dl-step[data-v="warn2"]{--c:#FB8249;}
.gw-docker-ladder button:hover{filter:brightness(1.2);}
.gw-docker-ladder .dl-step[aria-pressed="true"]{background:color-mix(in srgb, var(--c) 8%, transparent);box-shadow:inset 0 0 0 1px var(--c);}
.gw-docker-ladder .dl-bar{align-self:end;height:calc(var(--h) * 100%);min-height:6px;margin-bottom:8px;border-radius:6px;background:color-mix(in srgb, var(--c) 26%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent);transform-origin:50% 100%;transition:transform .7s var(--ease-out) calc(var(--h) * 200ms), background .2s;}
.gw-docker-ladder .dl-step:hover .dl-bar, .gw-docker-ladder [aria-pressed="true"] .dl-bar{background:var(--c);}
.gw-docker-ladder.dl-pre .dl-bar{transform:scaleY(0);}
.gw-docker-ladder .dl-c{font:600 12.5px/1.3 var(--mono);color:var(--fg);}
.gw-docker-ladder .dl-gb{font:12px var(--mono);}

.gw-docker-ladder .dl-panel{display:grid;gap:12px;margin-top:12px;padding:14px;border-radius:14px;background:#0A0A0C;box-shadow:0 0 0 1px var(--line);}
.gw-docker-ladder .dl-panel.is-in{animation:dlIn .4s var(--ease-out);}
@keyframes dlIn { from { opacity: 0; transform: translateY(6px); } }
.gw-docker-ladder .dl-ph{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;font:12.5px var(--mono);color:var(--fg-3);}
.gw-docker-ladder .dl-ph b, .gw-docker-ladder .dl-s{display:inline-flex;align-items:center;gap:7px;font:600 13px var(--mono);}
.gw-docker-ladder .dl-s svg{width:20px;height:20px;padding:3px;border-radius:50%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;background:color-mix(in srgb, currentColor 18%, transparent);}
.gw-docker-ladder .dl-ok{color:#5FDB8C;}
.gw-docker-ladder .dl-warn{color:#F8C062;}
.gw-docker-ladder .dl-no{color:#FF8A8C;}
.gw-docker-ladder .dl-cmd{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);}
.gw-docker-ladder .dl-cmd code{flex:1;font-size:13.5px;}
.gw-docker-ladder .dl-copy{flex:none;padding:5px 10px;border-radius:7px;font:600 12px var(--mono);color:var(--fg);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-strong);}
.gw-docker-ladder .dl-copy.is-ok{color:#5FDB8C;}
.gw-docker-ladder .dl-rk{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gw-docker-ladder .dl-rk > div > b{display:block;margin-bottom:6px;font:600 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);}
.gw-docker-ladder .dl-rk ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.gw-docker-ladder .dl-rk li{position:relative;padding-left:16px;font-size:14px;line-height:1.45;color:var(--fg-2);}
.gw-docker-ladder .dl-rk li::before{content:"-";position:absolute;left:2px;font:600 13px/1.5 var(--mono);color:#FF8A8C;}
.gw-docker-ladder .dl-rk div + div li::before{content:"+";color:#5FDB8C;}
.gw-docker-ladder p.dl-note{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg-3);}

.gw-docker-ladder .dl-never{position:relative;width:100%;margin-top:24px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;padding:12px 14px;border-radius:12px;font:14px/1.45 var(--font-text);color:var(--fg-2);background:rgba(255,101,104,.05);box-shadow:inset 0 0 0 1px rgba(255,101,104,.22);}
.gw-docker-ladder .dl-never::before{content:"";position:absolute;left:0;right:0;top:-13px;border-top:1px dashed var(--line-strong);}
.gw-docker-ladder .dl-never[aria-pressed="true"]{background:rgba(255,101,104,.12);box-shadow:inset 0 0 0 1px rgba(255,101,104,.6);}
.gw-docker-ladder.is-lost .dl-panel{opacity:.4;}

@media (max-width: 560px) {
  .gw-docker-ladder .dl-steps, .gw-docker-ladder .dl-rk, .gw-docker-ladder .dl-never{grid-template-columns:minmax(0, 1fr);}
  .gw-docker-ladder .dl-steps{gap:6px;}
  .gw-docker-ladder .dl-step{grid-template-columns:auto minmax(0, 1fr) auto;grid-template-rows:auto auto;align-items:baseline;gap:6px 10px;padding:10px 12px;}
  .gw-docker-ladder .dl-bar{grid-row:2;grid-column:1 / -1;height:5px;width:calc(var(--h) * 100%);margin:0;transform-origin:0 50%;}
  .gw-docker-ladder.dl-pre .dl-bar{transform:scaleX(0);}
}
.gw-docker-ladder.is-rm *{transition:none !important;animation:none !important;}
@media (prefers-reduced-motion: reduce) { .gw-docker-ladder * { transition: none !important; animation: none !important; } }

/* model-shelf */
.gw-model-shelf { margin: 28px 0; padding: 18px; border-radius: 18px; background: var(--card); box-shadow: 0 0 0 1px var(--line-strong); max-width: 720px; }
.gw-model-shelf .gw-ms-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin-bottom: 14px; }
.gw-model-shelf .gw-ms-title { font: 600 13px var(--mono); color: var(--fg); }
.gw-model-shelf .gw-ms-eg { font: 12px var(--mono); color: var(--fg-3); }
.gw-model-shelf .gw-ms-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 4px; border-radius: 12px; background: #0A0A0C; box-shadow: 0 0 0 1px var(--line); margin-bottom: 16px; }
.gw-model-shelf .gw-ms-tab { border: 0; border-radius: 8px; padding: 9px 2px; background: transparent; color: var(--fg-2); font: 600 12.5px var(--mono); cursor: pointer; transition: background .2s, color .2s; overflow-wrap: anywhere; }
.gw-model-shelf .gw-ms-tab:hover { color: var(--fg); }
.gw-model-shelf .gw-ms-tab[aria-selected="true"] { background: var(--elevated); color: var(--fg); box-shadow: 0 0 0 1px var(--line-strong); }
.gw-model-shelf button:focus-visible { outline: 2px solid var(--accent-b); outline-offset: 2px; }
.gw-model-shelf .gw-ms-h { font: 650 17px var(--font); color: var(--fg); margin: 0 0 10px; letter-spacing: -.01em; }
.gw-model-shelf .gw-ms-pane { display: grid; gap: 14px; }
.gw-model-shelf code { font: 12.5px/1.5 var(--mono); color: #D4D4DC; background: none; padding: 0; overflow-wrap: anywhere; }
.gw-model-shelf .gw-ms-lab { display: block; font: 11.5px var(--mono); color: var(--fg-3); margin-bottom: 4px; overflow-wrap: anywhere; }
.gw-model-shelf .gw-ms-path { margin: 0; font-size: 14px; line-height: 1.55; color: var(--fg-2); }
.gw-model-shelf .gw-ms-path .gw-ms-lab + code { display: block; color: var(--fg); font-size: 14px; margin-bottom: 4px; }
.gw-model-shelf .gw-ms-shelf { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-end; padding-bottom: 10px; position: relative; }
.gw-model-shelf .gw-ms-shelf::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px; background: linear-gradient(90deg, #A64DFF, #8656FF, #6A66FF, #4F7BFF, #3F93FF); opacity: .55; }
.gw-model-shelf .gw-ms-blk { flex: var(--gb) 1 0; min-width: 104px; height: 96px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; text-align: left; gap: 6px; padding: 10px; border: 0; border-radius: 9px; color: var(--fg); background: linear-gradient(160deg, rgba(134,86,255,.34), rgba(63,147,255,.2)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); cursor: pointer; transform-origin: bottom; transition: transform .6s var(--ease-out), box-shadow .2s, background .2s; }
.gw-model-shelf .gw-ms-blk:nth-child(2) { background: linear-gradient(160deg, rgba(166,77,255,.3), rgba(106,102,255,.2)); }
.gw-model-shelf .gw-ms-blk:nth-child(3) { background: linear-gradient(160deg, rgba(79,123,255,.34), rgba(63,147,255,.18)); }
.gw-model-shelf .gw-ms-blk:hover { box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.gw-model-shelf .gw-ms-blk[aria-pressed="true"] { box-shadow: inset 0 0 0 2px #8DB4FF; }
.gw-model-shelf .gw-ms-bn { font: 600 12.5px/1.35 var(--mono); overflow-wrap: anywhere; }
.gw-model-shelf .gw-ms-bs { font: 12px var(--mono); color: var(--fg-2); }
.gw-model-shelf .gw-ms-rows { display: grid; gap: 8px; }
.gw-model-shelf .gw-ms-cmd { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #0A0A0C; box-shadow: 0 0 0 1px var(--line); transition: opacity .25s, box-shadow .25s, background .25s; }
.gw-model-shelf .gw-ms-cmd .gw-ms-lab { grid-column: 1 / -1; margin: 0; }
.gw-model-shelf .gw-ms-note { grid-column: 1 / -1; font-size: 13.5px; line-height: 1.55; color: var(--fg-2); margin-top: 2px; }
.gw-model-shelf .gw-ms-note b, .gw-model-shelf .gw-ms-dnote b { font-weight: 600; color: var(--fg); }
.gw-model-shelf .gw-ms-note b.gw-ok, .gw-model-shelf .gw-ms-note b.gw-no { display: inline-flex; align-items: center; gap: 4px; }
.gw-model-shelf .gw-ms-note b.gw-ok { color: var(--ok); } .gw-model-shelf .gw-ms-note b.gw-no { color: var(--danger); }
.gw-model-shelf .gw-ms-note code { font-size: 12px; }
.gw-model-shelf .gw-ic { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gw-model-shelf .gw-ms-dnote { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--fg-2); }
.gw-model-shelf .gw-ms-dnote code { font-size: 12px; }
.gw-model-shelf .gw-copy { font: 600 12px var(--mono); padding: 7px 11px; min-width: 64px; border-radius: 8px; border: 0; background: rgba(255,255,255,.07); color: var(--fg); cursor: pointer; transition: background .2s; }
.gw-model-shelf .gw-copy:hover { background: rgba(255,255,255,.13); }
.gw-model-shelf .gw-copy.is-done { color: var(--ok); }
.gw-model-shelf .gw-cap { margin-top: 16px; font: 12.5px/1.5 var(--mono); color: var(--fg-3); }
.gw-model-shelf:not(.is-js) .gw-copy, .gw-model-shelf:not(.is-js) .gw-ms-tabs { display: none; }
.gw-model-shelf:not(.is-js) .gw-ms-cmd { grid-template-columns: 1fr; }
.gw-model-shelf:not(.is-js) .gw-ms-blk { cursor: default; }
.gw-model-shelf:not(.is-js) .gw-ms-pane { margin-bottom: 26px; }
.js .gw-model-shelf:not(.is-js) .gw-ms-pane:not(:first-of-type) { display: none; }
.gw-model-shelf.is-js .gw-ms-pane[hidden] { display: none; }
.gw-model-shelf.is-js .gw-ms-rows.has-sel .gw-ms-del:not(.is-sel) { opacity: .4; }
.gw-model-shelf.is-js .gw-ms-del.is-sel { background: rgba(79,123,255,.12); box-shadow: 0 0 0 1px rgba(141,180,255,.5); }
.gw-model-shelf.is-armed .gw-ms-blk { transform: scaleY(0); transition: none; }
@media (max-width: 420px) { .gw-model-shelf .gw-ms-tabs { grid-template-columns: repeat(2, 1fr); } .gw-model-shelf .gw-ms-blk { min-width: 100%; height: 64px; } }
@media (prefers-reduced-motion: reduce) { .gw-model-shelf * { transition: none !important; } }

/* node-caches */
.gw-node-caches { margin: 28px 0; padding: 18px; border-radius: 18px; background: var(--card); box-shadow: 0 0 0 1px var(--line-strong); max-width: 720px; }
.gw-node-caches .gw-nc-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin-bottom: 14px; }
.gw-node-caches .gw-nc-title { font: 600 13px var(--mono); color: var(--fg); }
.gw-node-caches .gw-nc-eg, .gw-node-caches .gw-nc-eg2 { font: 12px var(--mono); color: var(--fg-3); margin: 0; }
.gw-node-caches .gw-nc-seg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 4px; border-radius: 12px; background: #0A0A0C; box-shadow: 0 0 0 1px var(--line); margin-bottom: 16px; }
.gw-node-caches .gw-nc-tab { border: 0; border-radius: 8px; padding: 9px 4px; background: transparent; color: var(--fg-2); font: 600 13.5px var(--mono); cursor: pointer; transition: background .2s, color .2s; }
.gw-node-caches .gw-nc-tab:hover { color: var(--fg); }
.gw-node-caches .gw-nc-tab[aria-selected="true"] { background: var(--elevated); color: var(--fg); box-shadow: 0 0 0 1px var(--line-strong); }
.gw-node-caches button:focus-visible, .gw-node-caches input:focus-visible { outline: 2px solid var(--accent-b); outline-offset: 2px; }
.gw-node-caches .gw-nc-h { font: 650 17px var(--font); color: var(--fg); margin: 0 0 10px; letter-spacing: -.01em; }
.gw-node-caches .gw-nc-cols { display: grid; gap: 16px; }
.gw-node-caches .gw-nc-info { display: grid; gap: 10px; min-width: 0; }
.gw-node-caches code { font: 12.5px/1.5 var(--mono); color: #D4D4DC; background: none; padding: 0; overflow-wrap: anywhere; }
.gw-node-caches .gw-nc-lab { display: block; font: 11.5px var(--mono); color: var(--fg-3); margin-bottom: 4px; }
.gw-node-caches .gw-nc-loc { margin: 0; font-size: 14px; line-height: 1.55; color: var(--fg-2); }
.gw-node-caches .gw-nc-loc .gw-nc-lab + code { display: block; color: var(--fg); font-size: 14px; margin-bottom: 4px; }
.gw-node-caches .gw-nc-cmd { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #0A0A0C; box-shadow: 0 0 0 1px var(--line); }
.gw-node-caches .gw-nc-cmd .gw-nc-lab { grid-column: 1 / -1; margin: 0; }
.gw-node-caches .gw-nc-note { grid-column: 1 / -1; font-size: 13.5px; line-height: 1.5; color: var(--fg-2); margin-top: 2px; }
.gw-node-caches .gw-nc-note b { color: var(--fg); font-weight: 600; }
.gw-node-caches .gw-nc-note code { font-size: 12px; }
.gw-node-caches .gw-copy, .gw-node-caches .gw-nc-prev { font: 600 12px var(--mono); padding: 7px 11px; border-radius: 8px; border: 0; background: rgba(255,255,255,.07); color: var(--fg); cursor: pointer; transition: background .2s; }
.gw-node-caches .gw-copy { min-width: 64px; }
.gw-node-caches .gw-copy:hover, .gw-node-caches .gw-nc-prev:hover { background: rgba(255,255,255,.13); }
.gw-node-caches .gw-copy.is-done { color: var(--ok); }
.gw-node-caches .gw-nc-prev { background: var(--accent-grad); color: #fff; padding: 9px 14px; font-size: 13px; }
.gw-node-caches .gw-nc-prev:hover { background: var(--accent-grad); filter: brightness(1.12); }
.gw-node-caches .gw-nc-viz { display: grid; gap: 10px; align-content: start; justify-items: start; }
.gw-node-caches .gw-nc-blocks { display: grid; grid-template-columns: repeat(8, 1fr); gap: 5px; width: 100%; max-width: 280px; }
.gw-node-caches .gw-nc-blocks i { aspect-ratio: 1; border-radius: 4px; background: #4F7BFF; transition: transform .45s var(--ease-out), opacity .45s var(--ease-out), background .3s; }
.gw-node-caches .gw-nc-blocks i:nth-child(5n+1) { background: #A64DFF; } .gw-node-caches .gw-nc-blocks i:nth-child(5n+2) { background: #8656FF; } .gw-node-caches .gw-nc-blocks i:nth-child(5n+3) { background: #6A66FF; } .gw-node-caches .gw-nc-blocks i:nth-child(5n+4) { background: #4F7BFF; } .gw-node-caches .gw-nc-blocks i:nth-child(5n) { background: #3F93FF; }
.gw-node-caches .gw-nc-blocks i.is-gone { transform: scale(.2); opacity: 0; }
.gw-node-caches .gw-nc-blocks i.is-keep { box-shadow: 0 0 0 1.5px rgba(255,255,255,.55); }
.gw-node-caches .gw-nc-status { margin: 0; font: 12.5px var(--mono); color: var(--fg-3); }
.gw-node-caches:not(.is-js) .gw-copy, .gw-node-caches:not(.is-js) .gw-nc-prev, .gw-node-caches:not(.is-js) .gw-nc-seg, .gw-node-caches:not(.is-js) .gw-nc-range { display: none; }
.gw-node-caches:not(.is-js) .gw-nc-cmd { grid-template-columns: 1fr; }
.gw-node-caches:not(.is-js) .gw-nc-pane { margin-bottom: 22px; }
.js .gw-node-caches:not(.is-js) .gw-nc-pane:not(:first-of-type) { display: none; }
.gw-node-caches.is-js .gw-nc-pane[hidden] { display: none; }
.gw-node-caches .gw-nc-find { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.gw-node-caches .gw-nc-find .gw-nc-h { margin: 0; }
.gw-node-caches .gw-nc-list { display: grid; gap: 6px; }
.gw-node-caches .gw-nc-p { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.025); transition: background .3s, box-shadow .3s; }
.gw-node-caches .gw-nc-p.is-old { background: rgba(245,165,36,.09); box-shadow: 0 0 0 1px rgba(245,165,36,.28); }
.gw-node-caches .gw-nc-pn { font: 600 13.5px var(--mono); color: var(--fg); overflow-wrap: anywhere; }
.gw-node-caches .gw-nc-ps { font: 13px var(--mono); color: var(--fg-2); text-align: right; }
.gw-node-caches .gw-nc-pa { font: 12px var(--mono); color: var(--fg-3); }
.gw-node-caches .gw-nc-p.is-old .gw-nc-pa { color: #F8C062; }
.gw-node-caches .gw-nc-pb { grid-column: 1 / -1; height: 6px; border-radius: 3px; background: rgba(255,255,255,.05); overflow: hidden; }
.gw-node-caches .gw-nc-pb i { display: block; height: 100%; width: var(--w); border-radius: 3px; background: linear-gradient(90deg, #6A66FF, #3F93FF); transform-origin: left; transition: transform .8s var(--ease-out); }
.gw-node-caches.is-armed .gw-nc-pb i { transform: scaleX(0); transition: none; }
.gw-node-caches .gw-nc-range { display: grid; gap: 8px; font-size: 13.5px; color: var(--fg-2); }
.gw-node-caches .gw-nc-range b { color: var(--fg); font-family: var(--mono); }
.gw-node-caches .gw-nc-range input { width: 100%; accent-color: #4F7BFF; }
.gw-node-caches .gw-nc-sum { margin: 0; font-size: 14px; color: var(--fg); }
.gw-node-caches .gw-cap { margin-top: 16px; font: 12.5px/1.5 var(--mono); color: var(--fg-3); }
@media (min-width: 640px) { .gw-node-caches .gw-nc-cols { grid-template-columns: 1.3fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .gw-node-caches * { transition: none !important; } }

/* sim-layers */
.gw-sim-layers{max-width:720px;}
.gw-sim-layers [hidden]{display:none !important;}
.gw-sim-layers .sl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:8px;}
.gw-sim-layers .sl-t{font:600 13px var(--mono);color:var(--fg);}
.gw-sim-layers .sl-eg, .gw-sim-layers p.sl-key{font:12px/1.4 var(--mono);color:var(--fg-3);}
.gw-sim-layers p.sl-key{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;}
.gw-sim-layers .sl-key span{display:inline-flex;align-items:center;gap:7px;}
.gw-sim-layers .sl-key i{display:inline-block;flex:none;}
.gw-sim-layers .sl-kd{width:9px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--fg-2);}
.gw-sim-layers .sl-kr{width:18px;height:10px;border-radius:3px;background:linear-gradient(90deg, #6A66FF, #3F93FF);}

.gw-sim-layers .sl-stack{display:grid;gap:16px;margin:16px 0 18px;}
.gw-sim-layers .sl-grp{display:grid;gap:6px;}
.gw-sim-layers .sl-devs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.gw-sim-layers .sl-dev{min-width:120px;display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;margin:0;padding:6px 11px 6px 9px;border-radius:8px;border:1px solid var(--line-strong);background:var(--elevated);transition:opacity .45s var(--ease-out), transform .45s var(--ease-out), border-color .3s, background .3s;}
.gw-sim-layers .sl-ic{grid-row:span 2;width:10px;height:18px;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--fg-2);}
.gw-sim-layers .sl-pad .sl-ic{width:14px;height:18px;}
.gw-sim-layers .sl-dn{font:550 13px/1.25 var(--font-text);color:var(--fg);}
.gw-sim-layers .sl-ds{font:11px/1.35 var(--mono);color:var(--fg-3);}
.gw-sim-layers .sl-dev.is-un, .gw-sim-layers .sl-dev.is-dep{border-style:dashed;border-color:rgba(245, 165, 36, .45);background:transparent;}
.gw-sim-layers .is-un .sl-ds, .gw-sim-layers .is-dep .sl-ds{color:#F8C062;}
.gw-sim-layers .sl-dev.is-dep{opacity:.55;}
.gw-sim-layers .sl-dev.is-dep .sl-dn{color:var(--fg-2);}
.gw-sim-layers .sl-dev > *{transition:opacity .45s var(--ease-out), transform .45s var(--ease-out);}
.gw-sim-layers .sl-dev.is-out{opacity:1;border-color:var(--line);background:transparent;}
.gw-sim-layers .sl-dev.is-out > *{opacity:0;transform:translateY(-10px) scale(.9);}

.gw-sim-layers .sl-slab{position:relative;width:var(--w, 100%);height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-radius:10px;border:1px solid transparent;color:#fff;transition:color .4s, border-color .4s;}
.gw-sim-layers .sl-fill{position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(90deg, #4F7BFF, #3F93FF);box-shadow:0 8px 24px -14px rgba(63, 147, 255, .9);transform-origin:0 50%;transition:transform .8s var(--ease-out);}
.gw-sim-layers .sl-old .sl-fill{background:linear-gradient(90deg, #A64DFF, #8656FF 60%, #6A66FF);box-shadow:0 8px 24px -14px rgba(166, 77, 255, .9);}
.gw-sim-layers .sl-rn, .gw-sim-layers .sl-rs{position:relative;white-space:nowrap;}
.gw-sim-layers .sl-rn{font:600 13.5px var(--font);letter-spacing:-.01em;}
.gw-sim-layers .sl-rs{font:600 12.5px var(--mono);font-variant-numeric:tabular-nums;}
.gw-sim-layers .sl-none, .gw-sim-layers .sl-slab.is-out{border:1px dashed var(--line-strong);color:var(--fg-3);}
.gw-sim-layers .sl-none{height:34px;}
.gw-sim-layers .sl-slab.is-out .sl-fill{transform:scaleX(0);}

.gw-sim-layers.sl-pre .sl-fill{transform:scaleX(0);}
.gw-sim-layers.sl-pre .sl-dev{opacity:0;transform:translateY(-8px);}
.gw-sim-layers.sl-enter .sl-g1 .sl-fill{transition-delay:90ms;}
.gw-sim-layers.sl-enter .sl-g2 .sl-fill{transition-delay:180ms;}
.gw-sim-layers.sl-enter .sl-dev{transition-delay:380ms;}
.gw-sim-layers.sl-enter .sl-g1 .sl-dev{transition-delay:450ms;}
.gw-sim-layers.sl-enter .sl-g2 .sl-dev{transition-delay:520ms;}

.gw-sim-layers .sl-acts{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}
.gw-sim-layers .sl-act{display:grid;gap:8px;align-content:start;padding:12px;border-radius:14px;background:#0A0A0C;box-shadow:0 0 0 1px var(--line);transition:background .3s, box-shadow .3s;}
.gw-sim-layers .sl-act.is-on{background:rgba(34, 197, 94, .05);box-shadow:0 0 0 1px rgba(34, 197, 94, .35);}
.gw-sim-layers .sl-act code{font:12.5px/1.5 var(--mono);color:var(--fg);background:none;padding:0;overflow-wrap:anywhere;}
.gw-sim-layers .sl-act p{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg-2);}
.gw-sim-layers .sl-btn, .gw-sim-layers .sl-reset{appearance:none;border:0;margin:0;justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:9px;font:600 13.5px var(--font);color:var(--fg);background:rgba(255, 255, 255, .06);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;transition:background .2s, color .2s, box-shadow .2s;}
.gw-sim-layers .sl-btn svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.gw-sim-layers .sl-btn:hover, .gw-sim-layers .sl-reset:hover{background:rgba(255, 255, 255, .11);}
.gw-sim-layers .sl-btn[aria-pressed="true"]{color:#5FDB8C;background:rgba(34, 197, 94, .1);box-shadow:inset 0 0 0 1px rgba(34, 197, 94, .4);}
.gw-sim-layers .sl-reset{background:transparent;color:var(--fg-2);}
.gw-sim-layers button:focus-visible{outline:2px solid var(--accent-b);outline-offset:2px;}
.gw-sim-layers .sl-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}
.gw-sim-layers p.sl-freed{margin:0;display:flex;align-items:baseline;gap:10px;font:12.5px var(--mono);color:var(--fg-3);}
.gw-sim-layers .sl-num{font:650 24px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:linear-gradient(90deg, #C07EFF, #6A8BFF 55%, #3FA9FF);-webkit-background-clip:text;background-clip:text;color:transparent;}

@media (max-width: 560px) {
  .gw-sim-layers .sl-acts{grid-template-columns:minmax(0, 1fr);}
}
.gw-sim-layers.is-rm *, .gw-sim-layers.is-rm *::before{transition:none !important;}
@media (prefers-reduced-motion: reduce) {
  .gw-sim-layers *{transition:none !important;}
}

.gw-sim-layers .sl-foot[hidden]{display:none;}

/* storage-bar */
.gw-storage-bar { --sb-h: 30px; }
.gw.gw-storage-bar p, .gw.gw-storage-bar ul { margin: 0; padding: 0; list-style: none; }
.gw.gw-storage-bar li { font-size: 14px; line-height: 1.5; color: var(--fg-2); }
.gw-storage-bar .sb-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; margin-bottom: 16px; }
.gw.gw-storage-bar .sb-eyebrow { font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 8px; }
.gw-storage-bar .sb-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--fg-2); font-size: 14px; }
.gw-storage-bar .sb-used { font: 650 30px/1 var(--font); letter-spacing: -0.03em; color: var(--fg); font-variant-numeric: tabular-nums; }
.gw-storage-bar .sb-freed { font: 600 13px var(--mono); color: #5FDB8C; font-variant-numeric: tabular-nums; }
.gw-storage-bar .sb-btn { height: 34px; padding: 0 14px; border: 0; border-radius: 8px; cursor: pointer; font: 600 13.5px var(--font); color: var(--fg); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px var(--line-strong); transition: background .2s, box-shadow .2s, color .2s; }
.gw-storage-bar:not(.is-js) .sb-btn { visibility: hidden; }
.gw-storage-bar .sb-btn:hover { background: rgba(255, 255, 255, .1); }
.gw-storage-bar .sb-btn[aria-pressed="true"] { color: #CFE0FF; background: rgba(59, 123, 255, .16); box-shadow: inset 0 0 0 1px rgba(59, 123, 255, .5); }
.gw-storage-bar .sb-bar { display: flex; height: var(--sb-h); border-radius: 9px; overflow: hidden; background: rgba(255, 255, 255, .035); box-shadow: inset 0 0 0 1px var(--line); }
.gw-storage-bar .sb-seg { flex: 0 0 var(--w); min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: var(--c); cursor: pointer; transition: flex-basis .6s var(--ease-out), opacity .25s, filter .2s; }
.gw-storage-bar .sb-seg + .sb-seg { box-shadow: inset 2px 0 0 var(--card); }
.gw-storage-bar .sb-seg.sb-sys, .gw-storage-bar .sb-sys .sb-sw { background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 6px); }
.gw-storage-bar .sb-seg:hover { filter: brightness(1.25); }
.gw-storage-bar .sb-seg:focus-visible { outline: 2px solid #fff; outline-offset: -2px; border-radius: 4px; }
.gw-storage-bar.has-sel .sb-seg:not([aria-pressed="true"]) { opacity: .38; }
.gw-storage-bar .sb-ghost { flex: 0 0 var(--w, 0%); background: repeating-linear-gradient(135deg, rgba(95, 219, 140, .4) 0 2px, transparent 2px 6px); box-shadow: inset 0 0 0 1px rgba(95, 219, 140, .55); border-radius: 0 4px 4px 0; transition: flex-basis .6s var(--ease-out); }
.gw-storage-bar.is-armed .sb-seg { flex-basis: 0; transition: none; }
.gw.gw-storage-bar .sb-scale { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; font: 11.5px var(--mono); color: var(--fg-3); font-variant-numeric: tabular-nums; }
.gw-storage-bar .sb-avail { color: var(--fg-2); }
.gw.gw-storage-bar .sb-legend { display: grid; gap: 14px; margin-top: 18px; }
.gw-storage-bar .sb-key { display: flex; align-items: center; gap: 9px; width: 100%; padding: 0; border: 0; background: none; text-align: left; font: 600 15px var(--font); color: var(--fg); cursor: pointer; border-radius: 7px; }
.gw-storage-bar .sb-sw { flex: none; width: 10px; height: 10px; border-radius: 3px; background-color: var(--c); }
.gw-storage-bar .sb-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gw-storage-bar .sb-gb { font: 500 12.5px var(--mono); color: var(--fg-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gw-storage-bar .sb-more { padding-left: 19px; margin-top: 4px; display: grid; gap: 3px; }
.gw-storage-bar .sb-what, .gw-storage-bar .sb-do { font-size: 14px; line-height: 1.5; color: var(--fg-2); }
.gw-storage-bar .sb-do span { display: block; font: 600 10.5px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-3); }
.gw.gw-storage-bar .sb-go { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 2px; }
.gw-storage-bar .sb-go a { font: 500 12.5px var(--mono); color: #8DB4FF; text-decoration: none; border-radius: 4px; }
.gw-storage-bar .sb-go a::after { content: " \2192"; }
.gw-storage-bar .sb-go a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gw.gw-storage-bar .sb-note { margin-top: 16px; font-size: 13.5px; line-height: 1.5; color: var(--fg-3); }
/* With JS: compact legend, one detail panel */
.gw.gw-storage-bar.is-js .sb-legend { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 2px 8px; margin-top: 14px; }
.gw-storage-bar.is-js .sb-more { display: none; }
.gw-storage-bar.is-js .sb-key { padding: 7px 8px; font-size: 13.5px; font-weight: 550; transition: background .2s, color .2s; }
.gw-storage-bar.is-js .sb-key:hover { background: rgba(255, 255, 255, .05); }
.gw-storage-bar.is-js .sb-key[aria-pressed="true"] { background: rgba(255, 255, 255, .08); }
.gw-storage-bar.has-sel .sb-key:not([aria-pressed="true"]) { color: var(--fg-2); }
.gw-storage-bar .sb-panel { position: relative; margin-top: 16px; min-height: 104px; padding: 14px 16px; border-radius: 12px; background: var(--elevated); box-shadow: 0 0 0 1px var(--line-strong); }
.gw-storage-bar .sb-panel::before { content: ""; position: absolute; top: -6px; left: clamp(14px, var(--x, 50%), calc(100% - 14px)); width: 10px; height: 10px; margin-left: -5px; background: var(--elevated); box-shadow: -1px -1px 0 0 var(--line-strong); transform: rotate(45deg); transition: left .35s var(--ease-out); }
.gw-storage-bar .sb-panel.is-empty::before { display: none; }
.gw.gw-storage-bar .sb-hint { margin-top: 8px; font-size: 12.5px; line-height: 1.4; color: var(--fg-3); }
.gw.gw-storage-bar .sb-ph { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; font: 650 16px var(--font); letter-spacing: -0.01em; }
.gw-storage-bar .sb-ph .sb-gb { margin-left: auto; font-size: 13px; color: var(--fg); }
.gw-storage-bar .sb-panel .sb-more { display: grid; padding: 0; margin: 0; gap: 6px; }
.gw-storage-bar .sb-fade { animation: sb-in .35s var(--ease-out); }
@keyframes sb-in { from { opacity: 0; transform: translateY(4px); } }
@media (max-width: 420px) {
  .gw-storage-bar { padding: 16px 14px; --sb-h: 26px; }
  .gw-storage-bar .sb-used { font-size: 26px; }
  .gw.gw-storage-bar.is-js .sb-legend { grid-template-columns: 1fr 1fr; gap: 0 4px; }
  .gw-storage-bar.is-js .sb-key { padding: 7px 6px; font-size: 13px; gap: 7px; }
  .gw-storage-bar .sb-gb { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-storage-bar .sb-seg, .gw-storage-bar .sb-ghost, .gw-storage-bar .sb-panel::before, .gw-storage-bar .sb-key { transition: none; }
  .gw-storage-bar .sb-fade { animation: none; }
}

/* system-data-split */
.gw-system-data-split { --sd-grey: #3A3A44; --sd-ok: #5FDB8C; }
.gw.gw-system-data-split p, .gw.gw-system-data-split ul { margin: 0; padding: 0; list-style: none; }
.gw-system-data-split .sd-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; margin-bottom: 14px; }
.gw-system-data-split .sd-eyebrow { font: 600 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); }
.gw.gw-system-data-split .sd-head .sd-eyebrow { margin-bottom: 8px; }
.gw-system-data-split .sd-title { display: flex; align-items: baseline; gap: 10px; font: 650 24px/1.1 var(--font); letter-spacing: -0.025em; }
.gw-system-data-split .sd-gb { font: 600 15px var(--mono); color: var(--fg-2); font-variant-numeric: tabular-nums; }
.gw-system-data-split .sd-btn { height: 34px; padding: 0 14px; border: 0; border-radius: 8px; cursor: pointer; font: 600 13.5px var(--font); color: var(--fg); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px var(--line-strong); transition: background .2s, box-shadow .2s; }
.gw-system-data-split:not(.is-js) .sd-btn { visibility: hidden; }
.gw-system-data-split .sd-btn:hover { background: rgba(255, 255, 255, .1); }
.gw-system-data-split .sd-bar { position: relative; display: flex; height: 34px; border-radius: 10px; overflow: hidden; background: var(--sd-grey); }
.gw-system-data-split .sd-chunk { flex: 0 0 var(--w); background-color: var(--c); transition: background-color .5s var(--ease-out), box-shadow .4s var(--ease-out), opacity .25s; transition-delay: calc(var(--i, 0) * 60ms); }
.gw-system-data-split .sd-chunk + .sd-chunk { box-shadow: inset 3px 0 0 var(--card); }
.gw-system-data-split .sd-barlabel { position: absolute; inset: 0; display: grid; place-items: center; font: 600 12.5px var(--mono); color: var(--fg-2); opacity: 0; pointer-events: none; transition: opacity .3s; }
.gw-system-data-split.has-hot .sd-chunk:not(.is-hot) { opacity: .35; transition-delay: 0s; }
.gw.gw-system-data-split .sd-parts { margin-top: 10px; }
.gw-system-data-split .sd-part { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; column-gap: 11px; row-gap: 2px; align-items: baseline; padding: 11px 0; border-top: 1px solid var(--line); transition: opacity .45s var(--ease-out), transform .45s var(--ease-out); transition-delay: calc(var(--i, 0) * 60ms + 120ms); }
.gw-system-data-split .sd-part:first-child { border-top: 0; }
.gw-system-data-split .sd-sw { width: 10px; height: 10px; border-radius: 3px; background: var(--c); align-self: center; transition: background .4s; }
.gw-system-data-split .sd-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
.gw-system-data-split .sd-name b { font: 600 15px/1.35 var(--font); color: var(--fg); letter-spacing: -0.01em; }
.gw-system-data-split .sd-sz { font: 500 13px var(--mono); color: var(--fg-2); font-variant-numeric: tabular-nums; }
.gw-system-data-split .sd-st { display: inline-flex; align-items: center; gap: 5px; font: 600 12px var(--mono); white-space: nowrap; }
.gw-system-data-split .sd-st svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gw-system-data-split .is-safe { color: var(--sd-ok); }
.gw-system-data-split .is-careful { color: #F8C062; }
.gw-system-data-split .is-never { color: #FF8A8C; }
.gw.gw-system-data-split .sd-do { grid-column: 2 / -1; font-size: 14px; line-height: 1.5; color: var(--fg-2); }
.gw-system-data-split .sd-do a { margin-left: 4px; font: 500 12.5px var(--mono); color: #8DB4FF; text-decoration: none; white-space: nowrap; border-radius: 4px; }
.gw-system-data-split .sd-do a::after { content: " \2192"; }
.gw-system-data-split .sd-do a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gw-system-data-split .sd-st, .gw-system-data-split .sd-sz { transition: opacity .35s; transition-delay: inherit; }
/* Merged: what Storage settings shows */
.gw-system-data-split.sd-noanim * { transition: none !important; }
.gw-system-data-split.is-merged .sd-chunk { background-color: var(--sd-grey); box-shadow: none; transition-delay: 0s; }
.gw-system-data-split.is-merged .sd-barlabel { opacity: 1; }
.gw-system-data-split.is-merged .sd-part { opacity: .3; transform: translateY(4px); transition-delay: 0s; }
.gw-system-data-split.is-merged .sd-sw { background: var(--sd-grey); }
.gw-system-data-split.is-merged .sd-st, .gw-system-data-split.is-merged .sd-sz { opacity: 0; }
/* Settings vs Finder */
.gw.gw-system-data-split .sd-key { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 12px; font: 11.5px var(--mono); color: var(--fg-3); }
.gw-system-data-split .sd-key span { display: inline-flex; align-items: center; gap: 6px; }
.gw-system-data-split .sd-key i { width: 10px; height: 10px; border-radius: 2px; background: #A64DFF; }
.gw-system-data-split .sd-key .k-purge { background: repeating-linear-gradient(135deg, #A64DFF 0 2px, rgba(166, 77, 255, .25) 2px 4px); }
.gw-system-data-split .sd-key .k-av { height: 6px; background: none; border: 2px solid var(--sd-ok); border-top: 0; border-radius: 0 0 3px 3px; }
.gw-system-data-split .sd-cmp { margin-top: 18px; padding: 16px; border-radius: 12px; background: var(--elevated); box-shadow: 0 0 0 1px var(--line); }
.gw.gw-system-data-split .sd-cmp-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.gw-system-data-split .sd-row + .sd-row { margin-top: 14px; }
.gw.gw-system-data-split .sd-rl { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin-bottom: 7px; font: 12px var(--mono); color: var(--fg-2); }
.gw-system-data-split .sd-av { font: 600 14px var(--font); color: var(--fg); font-variant-numeric: tabular-nums; }
.gw-system-data-split .sd-track { position: relative; display: flex; height: 14px; margin-bottom: 14px; border-radius: 5px; background: rgba(255, 255, 255, .035); box-shadow: inset 0 0 0 1px var(--line); }
.gw-system-data-split .sd-u { flex: 0 0 47%; border-radius: 5px 0 0 5px; background: #4A4A56; }
.gw-system-data-split .sd-snap { flex: 0 0 2.4%; min-width: 6px; background: #A64DFF; transition: box-shadow .3s; }
.gw-system-data-split .is-finder .sd-snap { background: repeating-linear-gradient(135deg, #A64DFF 0 2px, rgba(166, 77, 255, .25) 2px 5px); }
.gw-system-data-split .sd-brk { position: absolute; left: 49.4%; right: 0; bottom: -8px; height: 6px; border: 2px solid var(--sd-ok); border-top: 0; border-radius: 0 0 4px 4px; transition: left .75s var(--ease-out); }
.gw-system-data-split .is-finder .sd-brk { left: 47%; }
.gw.gw-system-data-split .sd-why { margin-top: 8px; font-size: 13.5px; line-height: 1.5; color: var(--fg-2); }
.gw-system-data-split.is-vs-arm .is-finder .sd-brk { left: 49.4%; transition: none; }
.gw-system-data-split.is-vs-arm .is-finder .sd-snap { background: #A64DFF; transition: none; }
.gw-system-data-split.is-vs-hl .sd-snap { box-shadow: 0 0 0 2px var(--elevated), 0 0 0 3.5px #C07EFF; }
@media (max-width: 420px) {
  .gw-system-data-split { padding: 16px 14px; }
  .gw-system-data-split .sd-title { font-size: 21px; }
  .gw-system-data-split .sd-cmp { padding: 14px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-system-data-split .sd-chunk, .gw-system-data-split .sd-part, .gw-system-data-split .sd-brk, .gw-system-data-split .sd-snap, .gw-system-data-split .sd-barlabel { transition: none; }
}

/* xcode-tree */
.gw-xcode-tree { margin: 28px 0; padding: 18px; border-radius: 18px; background: var(--card); box-shadow: 0 0 0 1px var(--line-strong); max-width: 720px; }
.gw-xcode-tree .gw-xt-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin-bottom: 14px; }
.gw-xcode-tree .gw-xt-title { font: 600 13px var(--mono); color: var(--fg); }
.gw-xcode-tree .gw-xt-eg { font: 12px var(--mono); color: var(--fg-3); }
.gw-xcode-tree .gw-xt-grid { display: grid; gap: 14px; }
.gw-xcode-tree .gw-xt-tree { display: grid; gap: 4px; align-content: start; min-width: 0; }
.gw-xcode-tree .gw-xt-grp { font: 600 12px var(--mono); color: var(--fg-3); margin: 10px 0 2px 4px; }
.gw-xcode-tree .gw-xt-grp:first-child { margin-top: 0; }
.gw-xcode-tree .gw-xt-row { all: unset; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; width: 100%; padding: 10px 12px; border-radius: 9px; cursor: default; }
.gw-xcode-tree .gw-xt-row:focus-visible { outline: 2px solid var(--accent-b); outline-offset: 2px; }
.gw-xcode-tree .gw-xt-name { font: 600 14px var(--mono); color: var(--fg); overflow-wrap: anywhere; }
.gw-xcode-tree .gw-xt-size { font: 13px var(--mono); color: var(--fg-2); text-align: right; }
.gw-xcode-tree .gw-xt-bar { grid-column: 1 / -1; display: block; height: 8px; border-radius: 4px; background: rgba(255,255,255,.05); overflow: hidden; }
.gw-xcode-tree .gw-xt-bar i { display: block; height: 100%; width: var(--w); border-radius: 4px; background: linear-gradient(90deg, #A64DFF, #8656FF, #6A66FF, #4F7BFF, #3F93FF); transform-origin: left; transition: transform .8s var(--ease-out); }
.gw-xcode-tree .gw-xt-bar-never i { background: repeating-linear-gradient(135deg, rgba(255,101,104,.35) 0 6px, rgba(255,101,104,.12) 6px 12px); }
.gw-xcode-tree .gw-xt-st, .gw-xcode-tree .gw-xt-h { display: inline-flex; align-items: center; gap: 5px; font: 600 12px var(--mono); }
.gw-xcode-tree .gw-xt-st { grid-column: 1 / -1; }
.gw-xcode-tree .gw-ic { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.gw-xcode-tree .gw-s-safe { color: var(--ok); }
.gw-xcode-tree .gw-s-careful { color: var(--warn); }
.gw-xcode-tree .gw-s-never { color: var(--danger); }
.gw-xcode-tree .gw-xt-detail, .gw-xcode-tree .gw-xt-panel { padding: 12px 12px 14px; display: grid; gap: 10px; min-width: 0; }
.gw-xcode-tree .gw-xt-detail p, .gw-xcode-tree .gw-xt-panel p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--fg-2); }
.gw-xcode-tree .gw-xt-detail b, .gw-xcode-tree .gw-xt-panel b { color: var(--fg); font-weight: 600; }
.gw-xcode-tree .gw-xt-detail .gw-xt-h, .gw-xcode-tree .gw-xt-panel .gw-xt-h { font-size: 13px; }
.gw-xcode-tree .gw-xt-cmd { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #0A0A0C; box-shadow: 0 0 0 1px var(--line); }
.gw-xcode-tree .gw-xt-lab { grid-column: 1 / -1; font: 11.5px var(--mono); color: var(--fg-3); }
.gw-xcode-tree .gw-xt-cmd code { font: 12.5px/1.5 var(--mono); color: #D4D4DC; background: none; padding: 0; overflow-wrap: anywhere; min-width: 0; }
.gw-xcode-tree .gw-copy { font: 600 12px var(--mono); padding: 6px 10px; border-radius: 7px; border: 0; background: rgba(255,255,255,.07); color: var(--fg); cursor: pointer; min-width: 64px; transition: background .2s; }
.gw-xcode-tree .gw-copy:hover { background: rgba(255,255,255,.13); }
.gw-xcode-tree .gw-copy:focus-visible { outline: 2px solid var(--accent-b); outline-offset: 2px; }
.gw-xcode-tree .gw-copy.is-done { color: var(--ok); }
.gw-xcode-tree .gw-cap { margin-top: 14px; font: 12.5px/1.5 var(--mono); color: var(--fg-3); }
.gw-xcode-tree:not(.is-js) .gw-copy { display: none; }
.gw-xcode-tree:not(.is-js) .gw-xt-cmd { grid-template-columns: 1fr; }
.gw-xcode-tree:not(.is-js) .gw-xt-item { padding-bottom: 6px; }
.gw-xcode-tree.is-js .gw-xt-detail { display: none; }
.gw-xcode-tree.is-js .gw-xt-row { cursor: pointer; transition: background .2s, box-shadow .2s; }
.gw-xcode-tree.is-js .gw-xt-row:hover { background: rgba(255,255,255,.04); }
.gw-xcode-tree.is-js .gw-xt-row[aria-selected="true"] { background: var(--elevated); box-shadow: 0 0 0 1px var(--line-strong); }
.gw-xcode-tree.is-js .gw-xt-panel { border-radius: 12px; background: var(--elevated); box-shadow: 0 0 0 1px var(--line); align-content: start; }
.gw-xcode-tree.is-armed .gw-xt-bar i { transform: scaleX(0); transition: none; }
.gw-xcode-tree.is-armed .gw-xt-bar i { transition-delay: 0s; }
@media (min-width: 640px) { .gw-xcode-tree.is-js .gw-xt-grid { grid-template-columns: 1.15fr 1fr; align-items: start; } }
@media (prefers-reduced-motion: reduce) { .gw-xcode-tree .gw-xt-bar i, .gw-xcode-tree .gw-copy { transition: none; } }
