/* Four-zone workstation. The original landing and snake hub are unchanged. */
.ws-page{--ws-blue:#64b5ff;--ws-green:#9de8c6;--ws-amber:#edcc88;--ws-rose:#f7a5a5;--ws-muted:#8d9aab;--ws-border:#ffffff16;--ws-surface:#0c1015ee;font-size:12px}.ws-page [hidden]{display:none!important}.ws-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.ws-page .ws-page-heading h2{font-size:30px;letter-spacing:1px;margin-top:3px}.ws-title-dot{color:var(--ws-green)}.ws-demo-badge{display:inline-flex;align-items:center;gap:8px;font:10px/1.5 'Microsoft Yahei',sans-serif;letter-spacing:.4px;color:#b2c3c0;border:1px solid #a0f0ca25;border-radius:30px;padding:7px 11px;background:#101c18;white-space:nowrap}.ws-demo-badge i,.ws-workspace-footer i{width:5px;height:5px;border-radius:50%;background:var(--ws-green);box-shadow:0 0 8px #9de8c666;display:inline-block}.ws-grid{display:grid;grid-template-columns:244px minmax(0,1fr)264px;grid-template-rows:auto 1fr;grid-template-areas:'config probes verdict' 'config game verdict';gap:12px;align-items:stretch}.ws-panel{min-width:0;border:1px solid var(--ws-border);border-radius:14px;background:var(--ws-surface);overflow:hidden;backdrop-filter:blur(12px);position:relative;box-shadow:0 8px 32px #0002}.ws-panel:before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6}.ws-config{grid-area:config;--accent:var(--ws-blue)}.ws-probes{grid-area:probes;--accent:var(--ws-green)}.ws-game{grid-area:game;--accent:var(--ws-amber);display:flex;flex-direction:column}.ws-verdict{grid-area:verdict;--accent:var(--ws-rose)}.ws-panel-heading{height:55px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;border-bottom:1px solid var(--ws-border);gap:10px}.ws-page h3{font-size:13px;font-weight:550;margin:0;letter-spacing:.3px}.ws-panel-heading h3{display:flex;align-items:center;gap:9px;white-space:nowrap}.ws-section-no{font:10px monospace;color:var(--accent);opacity:.8}.ws-eyebrow{font:9px/1.5 Consolas,monospace;letter-spacing:1.2px;color:#788896}.ws-panel-body{padding:17px}.ws-page p{color:#98a6b6;font-size:11px;line-height:1.8;margin:8px 0}.ws-page .ws-hint{font-size:10px;color:#7f8c9d;line-height:1.8;margin:7px 0}.ws-page fieldset{padding:0;border:0;margin:0;min-width:0}.ws-page button{font-size:11px;padding:7px 10px;transition:background .15s,border-color .15s;line-height:1.5;cursor:pointer}.ws-page button:disabled{cursor:not-allowed;opacity:.4}.ws-page button:focus-visible,.ws-page summary:focus-visible,.ws-page canvas:focus-visible{outline:2px solid var(--ws-blue);outline-offset:3px}.ws-page input,.ws-page select,.ws-page textarea{background:#11171e;color:#dce3ed;border:1px solid #ffffff20;border-radius:8px;width:100%;padding:10px;box-sizing:border-box;font:11px/1.6 'Microsoft Yahei',sans-serif;min-width:0}.ws-page textarea{resize:vertical;min-height:80px;max-height:160px}.ws-page input:focus,.ws-page select:focus,.ws-page textarea:focus{outline:1px solid var(--ws-blue);border-color:var(--ws-blue)}.ws-page input::placeholder,.ws-page textarea::placeholder{color:#687888}.ws-page label{display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:11px;color:#b6c0cc;margin:15px 0 6px}.ws-page label span{font-size:9px;color:#738699}.ws-page .ws-blue{background:#228cff;border-color:#228cff;color:#fff;box-shadow:0 3px 12px #087dff18}.ws-page .ws-blue:hover{background:#429fff;border-color:#429fff;color:#fff}.ws-page .ws-blue-outline{background:#2087ed12;border-color:#4a9df74d;color:#91c6ff}.ws-page .ws-blue-outline:hover{background:#2087ed33;color:#c0e1ff}.ws-full{width:100%}.ws-page #ws-identify{margin-top:7px}.ws-secret{position:relative}.ws-secret input{padding-right:46px}.ws-page .ws-secret button{position:absolute;right:3px;top:4px;padding:6px;border:0;background:none;color:#7a91a7;font-size:10px}.ws-model-actions{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:8px 0}.ws-model-actions span{font-size:9px;color:#77838f}.ws-page .ws-model-actions button{font-size:10px;padding:6px 8px}.ws-advanced{background:#ffffff03;border:1px solid var(--ws-border);border-radius:8px;margin:14px 0 12px;padding:10px}.ws-advanced summary{font-size:11px;color:#a3afbc;cursor:pointer}.ws-advanced summary span{float:right;color:#728899}.ws-option-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0;gap:8px;color:#9eaaba;font-size:11px}.ws-segment{display:flex;gap:2px;background:#ffffff05;padding:3px;border-radius:8px}.ws-page .ws-segment button{padding:5px 12px;border:0;background:transparent;color:#7f8b9a}.ws-page .ws-segment button[aria-pressed=true]{background:#28313c;color:#e3ebf4;box-shadow:0 1px 3px #0005}.ws-run-actions{display:flex;gap:7px;margin-top:13px}.ws-run-actions #cs-run{flex:1;font-size:12px;padding:10px}.ws-page .ws-danger-outline{border-color:#f7959525;background:#f795950a;color:#efa1a1}.ws-page .ws-text-button{border:0;background:none;color:#7aa6cb;padding:8px}.ws-agent{border-top:1px solid var(--ws-border);padding:17px;background:linear-gradient(140deg,#aa6bf109,transparent)}.ws-agent h3{font-size:12px}.ws-agent #ws-agent-result{font-size:10px;color:#b29bc9;padding:11px;background:#b07ae911;border-radius:8px;margin:12px 0}.ws-agent button{border-color:#ae7ae83b;color:#c5abe5;background:#9b64de0c}.ws-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.ws-badge{font:9px/1.5 'Microsoft Yahei',sans-serif;white-space:nowrap;border-radius:5px;padding:3px 6px;color:#98a5b4;background:#ffffff08}.ws-badge.purple{background:#b679ee16;color:#c794f0}.ws-badge.pass{background:#6ee6ae16;color:#9de8c6}.ws-badge.fail{background:#ff858516;color:#f7a5a5}.ws-badge.running{background:#64b5ff18;color:#64b5ff}.ws-probe-top{padding:10px 16px 15px;border-bottom:1px solid var(--ws-border)}.ws-legend{display:flex;gap:10px;color:#7e8a97;font-size:9px;white-space:nowrap}.ws-legend span{display:flex;align-items:center;gap:4px}.ws-legend i{width:4px;height:4px;border-radius:50%;background:#627080}.ws-legend span:nth-child(2) i{background:var(--ws-green)}.ws-legend span:nth-child(3) i{background:var(--ws-rose)}.ws-probe-group{display:grid;grid-template-columns:27px 1fr;gap:7px;margin:8px 0 0;align-items:start}.ws-group-name{font-size:9px;padding-top:5px;letter-spacing:3px;color:var(--group-color)}.ws-chips{display:flex;flex-wrap:wrap;gap:5px}.ws-page .ws-probe-chip{font-size:10px;line-height:1.5;padding:3px 6px;border:1px solid #ffffff13;border-radius:5px;color:#8393a4;background:#ffffff03;display:flex;align-items:center;gap:5px}.ws-probe-chip i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.65}.ws-probe-chip b{font-weight:400;font:9px monospace}.ws-page .ws-probe-chip.pass{color:#9de8c6;border-color:#9de8c630;background:#9de8c609}.ws-page .ws-probe-chip.fail{color:#f7a5a5;border-color:#f7a5a530;background:#f7a5a50a}.ws-page .ws-probe-chip.running{color:#72b9ff;border-color:#72b9ff80;background:#72b9ff13}.ws-page .ws-probe-chip[aria-pressed=true]{border-color:#73b6f7;color:#b5d9ff;background:#3b9afb18;box-shadow:0 0 0 1px #3b9afb10}.ws-probe-detail{padding:16px}.ws-probe-detail h3{margin-top:4px;font-size:15px}.ws-detail-metrics{display:flex;gap:22px;margin:12px 0;color:#718093;font-size:10px}.ws-detail-metrics b{color:#b6c6d4;font-weight:400;margin-left:5px;font-family:Consolas,monospace}.ws-evidence{border:1px solid var(--ws-border);border-radius:8px;background:#ffffff03;margin-top:8px;overflow:hidden}.ws-evidence summary{font-size:10px;color:#acb8c5;cursor:pointer;padding:9px 11px}.ws-evidence summary span{float:right;color:#66798b;font-size:9px}.ws-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:10px/1.8 Consolas,'Microsoft Yahei',monospace;padding:10px 12px;border-top:1px solid var(--ws-border);margin:0;color:#9cafbd}.ws-log-details{background:#080d12;border-style:dashed}.ws-page #cs-log{height:82px;max-height:110px;min-height:0;margin:0;scrollbar-width:thin;scrollbar-color:#354451 transparent}.ws-game-body{padding:15px 16px;display:flex;flex:1;flex-direction:column}.ws-game-top{font:10px Consolas,monospace;color:#beab83;margin:0 0 12px}.ws-game-top b{font:17px Consolas,monospace;color:#f1d59e;margin-left:6px}.ws-game-led{display:inline-block;width:5px;height:5px;margin-right:7px;background:var(--ws-amber);box-shadow:0 0 10px #edcc8860}.ws-game-best{margin-left:18px;color:#6f7c89}.ws-game-best b{font-size:12px;color:#8d9cab}.ws-game-stage{position:relative;border:1px solid #edcc881c;border-radius:9px;overflow:hidden;background:#080d0f;flex:1;min-height:205px;display:grid;align-items:center}.ws-game-stage canvas{display:block;width:100%;height:auto;aspect-ratio:16/7;touch-action:none}.ws-game-stage #ws-game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;pointer-events:none;background:#070c10a6;backdrop-filter:blur(1px)}.ws-game-stage #ws-game-overlay strong{font-size:16px;letter-spacing:1px;color:#e1d3b6;font-weight:400}.ws-game-stage #ws-game-overlay span{color:#738598;font-size:10px}.ws-page .ws-game-start{pointer-events:auto;border:1px solid #edcc8840;color:#eed39d;background:#edcc8810;padding:8px 22px;margin-top:5px}.ws-game-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.ws-game-footer>span{font-size:10px;color:#687b8c}.ws-game-footer button{padding:4px 10px;font-size:10px;margin-left:5px}.ws-dpad{display:none;justify-content:center;gap:10px;margin-top:12px}.ws-dpad button{min-width:40px;min-height:36px;touch-action:manipulation}.ws-verdict-card{border:1px solid #edcc882b;border-radius:10px;padding:13px;background:linear-gradient(130deg,#edcc880a,#edcc8802)}.ws-verdict-card h3{font-size:15px;line-height:1.7;margin:6px 0}.ws-verdict-card p{font-size:10px}.ws-verdict-card.complete{border-color:#9de8c636;background:#9de8c608}.ws-verdict-card.issue{border-color:#f7a5a54d;background:#f7a5a509}.ws-verdict-card #ws-issue-count{font-size:10px;margin:10px 0;color:#9eaab6;border-top:1px solid var(--ws-border);padding-top:10px}.ws-report-actions{display:flex;gap:6px}.ws-report-actions button{flex:1;padding:6px 7px;font-size:10px;white-space:nowrap}.ws-progress-label{display:flex;justify-content:space-between;color:#8395a7;font-size:10px;margin-top:17px}.ws-progress-label b{font:10px Consolas,monospace}.ws-page progress{width:100%;height:4px;display:block;border:0;border-radius:4px;margin:8px 0 15px;appearance:none;background:#ffffff09;color:#6db9ff}.ws-page progress::-webkit-progress-bar{background:#ffffff09;border-radius:4px}.ws-page progress::-webkit-progress-value{background:linear-gradient(90deg,#52a9ff,#9de8c6);border-radius:4px;transition:width .3s}.ws-page progress::-moz-progress-bar{background:#6db9ff;border-radius:4px}.ws-summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ws-summary-metrics>div{padding:13px 11px;background:#ffffff04;border:1px solid #ffffff06;border-radius:9px}.ws-summary-metrics strong{font:28px/1.25 Consolas,monospace;color:var(--ws-green);display:block}.ws-summary-metrics .ws-risk-text{font:17px/35px 'Microsoft Yahei',sans-serif;color:#bbc5cf}.ws-summary-metrics span{display:block;font-size:9px;color:#7c8b9b;margin-top:5px}.ws-inline-metrics{display:flex;justify-content:space-between;color:#748696;font-size:9px;margin:10px 0 16px}.ws-inline-metrics b{font-weight:400;color:#b0c3d0}.ws-summary-box{padding:12px;background:#ffffff05;border:1px solid var(--ws-border);border-radius:10px;margin-top:12px}.ws-summary-box h4{margin:0;color:#bfcad5;font-size:11px;font-weight:500}.ws-summary-box dl{margin:9px 0 0}.ws-summary-box dl>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ws-border);padding:9px 0;font-size:10px}.ws-summary-box dt{color:#7e8b9b;flex-shrink:0}.ws-summary-box dd{margin:0;text-align:right;font:10px/1.5 Consolas,monospace;color:#b2c2d1;overflow-wrap:anywhere;min-width:0}.ws-page .ws-summary-box .ws-hint{font-size:9px;margin:0}.ws-muted{color:#6c8ba6}.ws-timeline{list-style:none;margin:10px 0 0;padding:0}.ws-timeline li{font-size:10px;position:relative;padding:0 0 12px 17px;color:#65798a;border-left:1px solid #ffffff10;margin-left:3px}.ws-timeline li:last-child{padding-bottom:0;border-color:transparent}.ws-timeline li:before{content:'';position:absolute;left:-3px;top:5px;width:5px;height:5px;background:#36424f;border-radius:50%}.ws-timeline li.done{color:#adc9bd}.ws-timeline li.done:before{background:#9de8c6}.ws-publish-box p{font-size:10px}.ws-publish-box .ws-hint{margin-top:8px!important}.ws-workspace-footer{display:flex;justify-content:space-between;gap:12px;font:9px/1.5 Consolas,'Microsoft Yahei',monospace;color:#617782;padding:17px 2px 8px;letter-spacing:1px}.ws-workspace-footer i{margin-right:6px;width:4px;height:4px}.ws-report-dialog{color:#dce4ef;background:#10161e;border:1px solid #ffffff30;border-radius:16px;padding:24px;width:min(700px,88vw);max-height:85vh;box-sizing:border-box}.ws-report-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.ws-report-dialog h3{font-size:20px;margin:6px 0}.ws-report-scroll{max-height:50vh;overflow:auto}.ws-report-dialog table{border-collapse:collapse;width:100%;font-size:11px}.ws-report-dialog td,.ws-report-dialog th{text-align:left;border-bottom:1px solid #ffffff13;padding:10px 8px}.ws-report-dialog th{color:#7f94a7;font-weight:400}.ws-report-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:10px;color:#8096a6}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}.ws-page :disabled{cursor:not-allowed}.cs-content{scrollbar-width:thin;scrollbar-color:#394650 transparent}.ws-page .ws-panel-body>form{margin:0}
@media(min-width:1250px){.cs-shell:has(.ws-page:not([hidden])) .cs-top,.cs-shell:has(.ws-page:not([hidden])) .cs-content{width:min(1360px,92vw)}.ws-grid{grid-template-columns:244px minmax(0,1fr)264px}.ws-probe-top{padding-top:14px;padding-bottom:18px}.ws-probe-group{margin-top:10px}.ws-probe-detail{padding:19px}.ws-game-stage{min-height:240px}}
@media(max-width:1100px){.ws-grid{grid-template-columns:225px minmax(0,1fr);grid-template-areas:'config probes' 'config game' 'verdict verdict';grid-template-rows:auto auto auto}.ws-verdict>.ws-panel-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ws-verdict-card{grid-row:span 3}.ws-verdict .ws-summary-box,.ws-verdict .ws-progress-label{margin:0}.ws-verdict progress{margin:0}.ws-inline-metrics{margin:0}.ws-verdict .ws-publish-box{grid-column:1/-1}.ws-game-stage{min-height:190px}}
@media(max-width:720px){.ws-page-heading{align-items:flex-start;flex-direction:column;gap:2px}.ws-demo-badge{margin-bottom:6px}.ws-grid{grid-template-columns:1fr;grid-template-areas:'config' 'probes' 'game' 'verdict';grid-template-rows:auto}.ws-panel-heading{padding:0 15px}.ws-config .ws-agent{padding:15px}.ws-verdict>.ws-panel-body{display:block}.ws-verdict .ws-summary-box{margin-top:12px}.ws-verdict .ws-progress-label{margin-top:15px}.ws-verdict progress{margin:8px 0 15px}.ws-inline-metrics{margin:10px 0}.ws-dpad{display:flex}.ws-game-stage{min-height:170px}.ws-game-stage #ws-game-overlay strong{font-size:13px}.ws-game-footer>span{font-size:9px}.ws-workspace-footer{flex-direction:column;gap:5px}.ws-detail-metrics{gap:14px}.ws-game-top{font-size:9px}.ws-probe-top>.ws-line{flex-wrap:wrap}.ws-report-bottom{align-items:start;flex-direction:column}.ws-report-dialog{padding:16px}.ws-report-dialog td,.ws-report-dialog th{padding:8px 4px}}
@media(pointer:coarse){.ws-dpad{display:flex}.ws-page .ws-probe-chip{padding:6px}.ws-page button{min-height:32px}}
@media(prefers-reduced-motion:reduce){.ws-page *{transition:none!important;scroll-behavior:auto!important}}

/* Readability on a dark animated background. Keep labels as legible as inputs. */
.ws-page {
  --ws-muted: #b4c0cf;
  --ws-border: #ffffff23;
  --ws-surface: #10151bf7;
  font-size: 14px;
  line-height: 1.7;
  color: #eef2f7;
}
.cs-shell:has(.ws-page:not([hidden])) .cs-top,
.cs-shell:has(.ws-page:not([hidden])) .cs-content {
  width: min(1480px, 94vw);
  box-sizing: border-box;
}
.cs-shell:has(.ws-page:not([hidden])) .cs-top button { font-size: 14px; }
.ws-grid { grid-template-columns: 260px minmax(0, 1fr) 290px; gap: 16px; }
.ws-page .ws-page-heading h2 { font-size: 29px; font-weight: 500; }
.ws-page .cs-kicker { font-size: 12px; letter-spacing: 2px; }
.ws-page > .ws-page-heading { padding: 16px 0 24px; }
.ws-demo-badge { font-size: 12px; padding: 8px 13px; color: #c2d9cf; }
.ws-panel-heading { height: 48px; padding: 0 20px; }
.ws-page h3 { font-size: 16px; font-weight: 600; }
.ws-section-no { font-size: 12px; opacity: 1; }
.ws-eyebrow { font-size: 12px; color: #a7b7c7; letter-spacing: .6px; }
.ws-panel-body { padding: 16px; }
.ws-page p { font-size: 13px; line-height: 1.8; color: #bac6d4; }
.ws-page .ws-hint { font-size: 12px; line-height: 1.8; color: #aab9c9; }
.ws-page button { font-size: 13px; line-height: 1.5; padding: 7px 10px; min-height: 36px; }
.ws-page label { font-size: 13px; font-weight: 500; color: #d1dae5; margin: 13px 0 6px; }
.ws-page label span { font-size: 12px; color: #a9b9ca; }
.ws-page input, .ws-page select, .ws-page textarea {
  font-size: 14px;
  line-height: 1.6;
  padding: 8px 10px;
  min-height: 40px;
  background: #171e27;
  color: #f0f4f9;
  border-color: #ffffff30;
}
.ws-page input::placeholder, .ws-page textarea::placeholder { color: #a8b5c5; opacity: 1; }
.ws-page textarea { min-height: 84px; }
.ws-page .ws-secret input { padding-right: 58px; }
.ws-page .ws-secret button { font-size: 12px; min-height: 34px; top: 6px; color: #b3c5d8; }
.ws-model-actions { flex-wrap: wrap; gap: 8px; }
.ws-model-actions span { font-size: 12px; color: #aab8c8; }
.ws-page .ws-model-actions button { font-size: 12px; padding: 7px 10px; min-height: 36px; }
.ws-advanced { padding: 10px; margin: 12px 0; }
.ws-advanced summary { font-size: 13px; color: #c4d0df; }
.ws-advanced summary span { color: #b1c3d5; }
.ws-option-row { font-size: 13px; color: #c6d1de; margin: 10px 0; }
.ws-page .ws-segment button { font-size: 13px; padding: 6px 12px; min-height: 36px; color: #b2c0d0; }
.ws-page .ws-segment button[aria-pressed=true] { color: #fff; background: #344353; }
.ws-run-actions #cs-run { font-size: 14px; min-height: 46px; }
.ws-page .ws-text-button { color: #a4ceef; font-size: 13px; }
.ws-agent { padding: 16px; }
.ws-agent h3 { font-size: 14px; }
.ws-agent #ws-agent-result { font-size: 12px; line-height: 1.8; color: #d0bae6; }
.ws-badge { font-size: 12px; line-height: 1.6; padding: 4px 7px; color: #c4d0dd; }
.ws-probe-top { padding: 8px 16px 12px; }
.ws-probe-top > .ws-line { flex-wrap: wrap; }
.ws-legend { font-size: 12px; color: #b3c0d0; gap: 14px; }
.ws-probe-group { grid-template-columns: 34px 1fr; gap: 9px; margin-top: 7px; }
.ws-group-name { font-size: 12px; letter-spacing: 1px; padding-top: 4px; }
.ws-chips { gap: 5px; }
.ws-page .ws-probe-chip { font-size: 12px; line-height: 1.5; padding: 3px 7px; min-height: 27px; color: #bfccdc; border-color: #ffffff27; }
.ws-probe-chip b { font-size: 12px; }
.ws-probe-detail { padding: 12px 16px; }
.ws-probe-detail h3 { font-size: 16px; margin-top: 5px; }
.ws-detail-metrics { font-size: 12px; color: #b1bfd0; gap: 20px; flex-wrap: wrap; margin: 10px 0; }
.ws-detail-metrics b { color: #e1e9f3; }
.ws-evidence { margin-top: 7px; }
.ws-evidence summary { font-size: 13px; color: #d1dbe7; padding: 8px 12px; }
.ws-evidence summary span { font-size: 12px; color: #a7b9cc; }
.ws-evidence pre { font-size: 12px; line-height: 1.85; color: #c2d2e2; padding: 8px 12px; }
.ws-page #cs-log { height: 72px; max-height: 100px; }
.ws-game-body { padding: 12px 16px; }
.ws-game-top { font-size: 12px; color: #d4c29b; margin-bottom: 10px; }
.ws-game-top b { font-size: 19px; }
.ws-game-best { color: #a7b8c8; margin-left: 14px; }
.ws-game-best b { font-size: 14px; color: #c4d0dc; }
.ws-game-stage { min-height: 190px; }
.ws-game-stage #ws-game-overlay strong { font-size: 17px; color: #f1e4ca; }
.ws-game-stage #ws-game-overlay span { font-size: 13px; color: #b6c6d6; }
.ws-page .ws-game-start { font-size: 14px; padding: 10px 24px; }
.ws-game-footer { flex-wrap: wrap; }
.ws-game-footer > span { font-size: 12px; color: #aabdd0; }
.ws-game-footer button { font-size: 12px; padding: 6px 11px; min-height: 36px; }
.ws-dpad button { font-size: 17px; min-height: 40px; min-width: 44px; }
.ws-verdict-card { padding: 16px; }
.ws-verdict-card h3 { font-size: 16px; line-height: 1.65; }
.ws-verdict-card p { font-size: 13px; }
.ws-verdict-card #ws-issue-count { font-size: 12px; color: #c6d1dd; line-height: 1.8; }
.ws-report-actions { flex-wrap: wrap; gap: 8px; }
.ws-report-actions button { font-size: 12px; padding: 8px 9px; }
.ws-progress-label { font-size: 13px; color: #bccbdb; margin-top: 14px; }
.ws-progress-label b { font-size: 13px; }
.ws-page progress { height: 6px; margin: 10px 0 18px; }
.ws-summary-metrics > div { padding: 12px 10px; }
.ws-summary-metrics strong { font-size: 30px; }
.ws-summary-metrics .ws-risk-text { font-size: 19px; line-height: 45px; color: #d8e2ec; }
.ws-summary-metrics span { font-size: 12px; color: #acbdcf; }
.ws-inline-metrics { font-size: 12px; color: #b3c3d5; flex-wrap: wrap; gap: 8px; }
.ws-inline-metrics b { color: #e1eaf4; }
.ws-summary-box { padding: 12px; margin-top: 12px; }
.ws-summary-box h4 { font-size: 14px; font-weight: 600; color: #dce6f1; }
.ws-summary-box dl > div { font-size: 12px; padding: 9px 0; gap: 9px; }
.ws-summary-box dt { color: #b5c4d5; }
.ws-summary-box dd { font-size: 12px; line-height: 1.7; color: #e0eaf6; }
.ws-page .ws-summary-box .ws-hint { font-size: 12px; color: #a9bbcd; }
.ws-muted { color: #a6bfd6; }
.ws-timeline { margin-top: 15px; }
.ws-timeline li { font-size: 13px; color: #a2b6ca; padding: 0 0 15px 19px; }
.ws-timeline li.done { color: #bee8d6; }
.ws-publish-box p { font-size: 13px; }
.ws-workspace-footer { font-size: 12px; color: #a2bac9; letter-spacing: .5px; padding-top: 20px; }
.ws-report-dialog { width: min(860px, 92vw); }
.ws-report-dialog h3 { font-size: 21px; }
.ws-report-dialog table { font-size: 13px; }
.ws-report-dialog th { color: #b0c3d7; }
.ws-report-bottom { font-size: 12px; color: #b2c7dc; }
@media (max-width: 1190px) and (min-width: 761px) {
  .ws-grid { grid-template-columns: 270px minmax(0, 1fr); grid-template-areas: 'config probes' 'config game' 'verdict verdict'; grid-template-rows: auto auto auto; }
  .ws-verdict > .ws-panel-body { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .ws-verdict-card { grid-row: span 3; }
  .ws-verdict .ws-summary-box, .ws-verdict .ws-progress-label { margin: 0; }
  .ws-verdict .ws-publish-box { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .ws-grid { grid-template-columns: 1fr; grid-template-areas: 'config' 'probes' 'game' 'verdict'; grid-template-rows: auto; gap: 14px; }
  .ws-page-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ws-page .ws-page-heading h2 { font-size: 27px; }
  .ws-panel-heading { padding: 0 18px; }
  .ws-panel-body, .ws-probe-detail, .ws-game-body { padding: 18px; }
  .ws-verdict > .ws-panel-body { display: block; }
  .ws-verdict .ws-summary-box { margin-top: 16px; }
  .ws-verdict .ws-progress-label { margin-top: 14px; }
  .ws-verdict progress { margin: 10px 0 18px; }
  .ws-inline-metrics { margin: 12px 0; }
  .ws-page input, .ws-page select, .ws-page textarea { font-size: 16px; }
  .ws-page .ws-probe-chip { font-size: 12px; min-height: 38px; }
  .ws-game-stage { min-height: 215px; }
  .ws-game-stage #ws-game-overlay strong { font-size: 15px; letter-spacing: 0; }
  .ws-game-stage #ws-game-overlay span { font-size: 12px; }
  .ws-game-best { margin-left: 8px; }
  .ws-game-top { font-size: 12px; }
  .ws-dpad { display: flex; }
  .ws-workspace-footer { flex-direction: column; gap: 7px; }
}

/* Keep the arcade near the first screen on shorter desktop viewports. */
@media (min-width: 1191px) {
  .ws-grid { grid-template-rows: clamp(285px, calc(100dvh - 490px), 460px) minmax(300px, 1fr); }
  .ws-probes { overflow-y: auto; scrollbar-width: thin; scrollbar-color: #4c6074 #10151b; }
  .ws-probes > .ws-panel-heading { position: sticky; top: 0; z-index: 2; background: #10151b; }
  .ws-game-body { flex: 0 0 auto; }
  .ws-game-stage { flex: 0 0 auto; min-height: 175px; }
}

/* A real square playfield; keep cells square instead of stretching the old wide board. */
.ws-page .ws-game-body { flex:0 0 auto; }
.ws-page .ws-game-stage { flex:0 0 auto; width:100%; min-height:0; aspect-ratio:1 / 1; box-sizing:border-box; display:block; }
.ws-page .ws-game-stage canvas { display:block; width:100%; height:auto; max-height:none; aspect-ratio:1 / 1; image-rendering:pixelated; }
