:root {
  color-scheme: dark;
  --bg: #04070a;
  --panel: #091119;
  --panel-raised: #0d1821;
  --ink: #eef6f8;
  --muted: #8da2ad;
  --faint: #536b78;
  --line: #243743;
  --line-strong: #395461;
  --green: #80f0bd;
  --cyan: #80c9dd;
  --amber: #eabf72;
  --red: #ff7f7f;
  --display: "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  background: var(--bg);
  color: var(--ink);
}

* { box-sizing: border-box; }
html { background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 78% -12%, #123139 0, transparent 33rem), linear-gradient(145deg, #04070a, #071118); }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .2; background-image: linear-gradient(rgba(128,240,189,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(128,240,189,.06) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 70%); }
button, input, select { font: inherit; }
button, input, select, [tabindex] { outline: none; }
button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible, a:focus-visible { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--green); }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 10px; transform: translateY(-160%); background: var(--green); color: var(--bg); padding: 8px 12px; font: 700 .72rem var(--mono); }.skip-link:focus { transform: none; }
.playground-shell { position: relative; width: min(1640px, calc(100% - 28px)); margin: 0 auto; padding: 14px 0 50px; }
.command-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 20px 0 18px; border-bottom: 1px solid var(--line-strong); }
.eyebrow, .section-label > span, .panel-heading > span, legend, .control-grid label > span, .palette-heading span, .palette-search span { color: var(--green); font: 700 .62rem/1.4 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
h1 { max-width: 760px; margin: .24em 0 .14em; font: 800 clamp(2rem, 3.6vw, 3.7rem)/.94 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.header-deck { max-width: 720px; margin: 13px 0 0; color: #a8bbc6; font: .8rem/1.6 var(--mono); }
.header-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }.header-actions a, .command-button { cursor: pointer; border: 1px solid var(--line); background: #071018; color: #b8cad2; padding: 9px 11px; font: 700 .61rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.header-actions a:hover, .command-button:hover { border-color: var(--green); color: var(--green); }.command-button span { margin-right: 7px; color: var(--green); }
.preset-strip { display: grid; grid-template-columns: 180px 1fr; gap: 14px; align-items: center; margin-top: 12px; border: 1px solid var(--line); background: rgba(9,17,25,.78); padding: 12px; }
.section-label h2 { margin: 4px 0 0; font: 800 .95rem var(--display); text-transform: uppercase; letter-spacing: .06em; }
.preset-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }.preset-button { cursor: pointer; min-height: 58px; border: 1px solid var(--line); background: #071018; color: #a9bcc5; padding: 9px 10px; text-align: left; font: 700 .64rem/1.35 var(--mono); text-transform: uppercase; letter-spacing: .05em; }.preset-button small { display: block; margin-top: 5px; color: var(--faint); font-size: .56rem; text-transform: none; letter-spacing: 0; }.preset-button:hover, .preset-button[aria-pressed="true"] { border-color: var(--green); color: var(--ink); background: #0d1b22; }.preset-button[aria-pressed="true"] { box-shadow: inset 3px 0 var(--green); }
.workbench { display: grid; grid-template-columns: minmax(420px, .76fr) minmax(520px, 1.24fr); gap: 10px; margin-top: 10px; }
.panel { position: relative; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(12,23,32,.98), rgba(6,12,18,.98)); padding: 15px; }.panel::after { content: ""; position: absolute; width: 8px; height: 8px; top: -1px; right: -1px; border-top: 1px solid var(--green); border-right: 1px solid var(--green); }
.panel-heading { display: grid; grid-template-columns: 92px 1fr auto; gap: 10px; align-items: start; margin-bottom: 14px; }.panel-heading h2 { margin: 0; font: 800 .96rem var(--display); letter-spacing: .07em; text-transform: uppercase; }.panel-heading p { margin: 5px 0 0; color: var(--muted); font: .64rem/1.45 var(--mono); }
.status-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--green); border: 1px solid currentColor; padding: 5px 7px; font: 700 .58rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }.status-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }.status-badge[data-status="WARN"] { color: var(--amber); }.status-badge[data-status="ERROR"] { color: var(--red); }
fieldset { border: 0; padding: 0; margin: 0 0 13px; }legend { margin-bottom: 6px; }
.segmented-control { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }.segmented-control label { cursor: pointer; }.segmented-control input { position: absolute; opacity: 0; pointer-events: none; }.segmented-control span { display: block; border: 1px solid var(--line); background: #061018; color: var(--muted); padding: 9px 7px; text-align: center; font: .62rem var(--mono); }.segmented-control input:checked + span { border-color: var(--green); background: #10251f; color: var(--green); }.segmented-control input:focus-visible + span { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--green); }
.control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.control-grid label { display: block; }.control-grid label.wide { grid-column: 1 / -1; }.control-grid label > span { display: block; margin: 0 0 5px; color: var(--faint); }.control-grid input, .control-grid select { width: 100%; border: 1px solid var(--line); background: #050d13; color: var(--ink); padding: 9px 10px; font: .67rem var(--mono); }.control-grid small { display: block; margin-top: 5px; color: var(--faint); font: .58rem/1.4 var(--mono); }.control-grid code { color: var(--green); }
.toggle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 12px; }.toggle-grid label { cursor: pointer; display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; border: 1px solid var(--line); background: #061018; padding: 9px; }.toggle-grid input { accent-color: var(--green); }.toggle-grid b, .toggle-grid small { display: block; }.toggle-grid b { font: 700 .62rem var(--mono); }.toggle-grid small { margin-top: 4px; color: var(--faint); font: .56rem/1.4 var(--mono); }
.publication-note { margin: 10px 0 0; border-left: 2px solid var(--green); background: #061018; color: #9eb2bc; padding: 9px 11px; font: .6rem/1.5 var(--mono); }
.preview-panel { min-width: 0; }.preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-bottom: 0; background: #09151d; padding: 8px; }.preview-toolbar > div { display: flex; align-items: center; gap: 7px; }.preview-toolbar code { color: #b8cad2; font: .64rem var(--mono); }.file-indicator { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.utility-button, .text-button { cursor: pointer; border: 1px solid var(--line-strong); background: #09151d; color: #bcd0d8; padding: 7px 9px; font: 700 .58rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.utility-button:hover, .text-button:hover { border-color: var(--green); color: var(--green); }.utility-button--strong { background: var(--green); border-color: var(--green); color: var(--bg); }.utility-button--strong:hover { color: var(--bg); }
#yaml-preview, #manifest-preview { overflow: auto; margin: 0; border: 1px solid #1c303b; background: #03080c; color: #b6cbd4; font: .65rem/1.48 var(--mono); white-space: pre; tab-size: 2; scrollbar-color: #183e34 #03080c; }#yaml-preview { height: 430px; padding: 15px; }#manifest-preview { height: 263px; padding: 13px; white-space: pre-wrap; }
.copy-feedback { min-height: 15px; margin: 7px 0 0; color: var(--green); font: .6rem var(--mono); }
.support-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-top: 10px; }.manifest-panel { grid-column: span 3; }
.diagnostic-list, .artifact-list { list-style: none; margin: 0; padding: 0; }.diagnostic-list li { display: grid; grid-template-columns: 48px 1fr; gap: 9px; border-top: 1px solid #172832; padding: 9px 0; color: #b8cad2; font: .62rem/1.45 var(--mono); }.diagnostic-list b { font-size: .56rem; letter-spacing: .08em; }.diagnostic-list li[data-level="PASS"] b { color: var(--green); }.diagnostic-list li[data-level="WARN"] b { color: var(--amber); }.diagnostic-list li[data-level="ERROR"] b { color: var(--red); }
.workflow-graph { min-height: 184px; display: flex; align-items: center; justify-content: center; overflow-x: auto; padding: 16px 4px; }.graph-node { min-width: 82px; border: 1px solid var(--line-strong); background: #071119; padding: 10px 7px; text-align: center; }.graph-node i { display: block; width: 6px; height: 6px; margin: 0 auto 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 7px var(--green); }.graph-node b, .graph-node small { display: block; }.graph-node b { font: 700 .59rem/1.3 var(--mono); text-transform: uppercase; }.graph-node small { margin-top: 4px; color: var(--faint); font: .52rem var(--mono); }.graph-node[data-optional="true"] { border-style: dashed; }.graph-edge { min-width: 28px; height: 1px; background: var(--green); position: relative; }.graph-edge::after { content: ""; position: absolute; right: -1px; top: -3px; border-left: 5px solid var(--green); border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.artifact-list { counter-reset: artifact; }.artifact-list li { counter-increment: artifact; display: grid; grid-template-columns: 25px 1fr auto; gap: 8px; border-top: 1px solid #172832; padding: 8px 0; font: .61rem var(--mono); }.artifact-list li::before { content: counter(artifact, decimal-leading-zero); color: var(--green); }.artifact-list span { color: var(--faint); }.snippet-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 12px; padding: 15px 0; border-top: 1px solid var(--line); }footer p { margin: 0; color: var(--muted); font: .61rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.text-button { border-color: transparent; background: transparent; }
dialog { width: min(620px, calc(100% - 24px)); border: 1px solid var(--line-strong); background: #071018; color: var(--ink); padding: 0; box-shadow: 0 30px 90px rgba(0,0,0,.7); }dialog::backdrop { background: rgba(0,4,7,.78); backdrop-filter: blur(4px); }.palette-heading { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding: 14px; }.palette-heading h2 { margin: 4px 0 0; font: 800 1rem var(--display); letter-spacing: .08em; text-transform: uppercase; }.palette-heading kbd { border: 1px solid var(--line); color: var(--muted); padding: 5px 7px; font: .58rem var(--mono); }.palette-search { display: block; padding: 10px 14px; }.palette-search span { display: block; margin-bottom: 5px; color: var(--faint); }.palette-search input { width: 100%; border: 1px solid var(--line); background: #03080c; color: var(--ink); padding: 10px; font: .7rem var(--mono); }.palette-commands { max-height: 360px; overflow: auto; padding: 0 8px 8px; }.palette-command { cursor: pointer; width: 100%; display: flex; justify-content: space-between; gap: 10px; border: 1px solid transparent; background: transparent; color: #b8cad2; padding: 10px; text-align: left; font: .65rem var(--mono); }.palette-command:hover, .palette-command:focus-visible { border-color: var(--green); background: #0b1920; color: var(--ink); }.palette-command small { color: var(--faint); }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; } }
@media (max-width: 1180px) { .workbench { grid-template-columns: 1fr; }.support-grid { grid-template-columns: 1fr 1fr; }.manifest-panel { grid-column: span 2; }.preset-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .playground-shell { width: min(100% - 16px, 1640px); }.command-header { display: block; }.header-actions { justify-content: flex-start; margin-top: 16px; }.preset-strip { grid-template-columns: 1fr; }.preset-list { grid-template-columns: 1fr 1fr; }.support-grid { grid-template-columns: 1fr; }.manifest-panel { grid-column: auto; }.panel-heading { grid-template-columns: 1fr; }.segmented-control, .control-grid, .toggle-grid { grid-template-columns: 1fr; }.control-grid label.wide { grid-column: auto; }.preview-toolbar { align-items: flex-start; flex-direction: column; }#yaml-preview { height: 390px; }.workflow-graph { justify-content: flex-start; } }
@media (max-width: 460px) { h1 { font-size: clamp(1.9rem, 11vw, 2.8rem); }.preset-list { grid-template-columns: 1fr; }.header-actions a, .command-button { width: 100%; text-align: center; }.toggle-grid { grid-template-columns: 1fr; }footer { align-items: flex-start; flex-direction: column; } }
