.game-page{padding:var(--space-8) var(--content-gutter) var(--space-10);border-bottom:var(--border-width-divider) solid var(--divider);color:var(--foreground);font-family:var(--font-family-sans)}.game-page [hidden]{display:none}.game-page strong{font-weight:var(--font-weight-label)}.game-page p{text-wrap:pretty}.game-heading{justify-content:space-between;align-items:end;gap:var(--space-7);max-width:var(--frame-content-max);margin:0 auto var(--space-6);display:flex}.game-kicker{margin:0 0 var(--space-3);color:var(--muted-foreground);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-mono);letter-spacing:var(--tracking-mono)}.game-heading h2,.game-result-card h2,.game-crash-recovery h2{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-display);line-height:var(--line-height-4xl);letter-spacing:var(--tracking-display);text-wrap:balance;margin:0}.game-heading-copy{max-width:38ch;color:var(--muted-foreground);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0}.game-playfield{isolation:isolate;padding:var(--space-7);background:var(--card);max-width:var(--frame-content-max);margin-inline:auto;position:relative}.game-dashboard{transition:opacity var(--duration-fast) var(--ease-standard)}.game-page[data-started=false] .game-dashboard,.game-page[data-crashed=true] .game-dashboard{opacity:.4;pointer-events:none;user-select:none}.game-stage{border:var(--border-width-divider) solid var(--divider);background:var(--background);color:var(--foreground)}.game-hud{font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.hud-heading{align-items:center;gap:var(--space-5);border-bottom:var(--border-width-divider) solid var(--divider);padding:var(--space-4) var(--space-6);background:var(--card);color:var(--card-foreground);font-family:var(--font-family-mono);font-size:var(--font-size-xs);grid-column:1/-1;display:flex}.hud-heading>strong{font-weight:var(--font-weight-mono)}.hud-heading>small{font-size:inherit;margin-left:auto}.hud-live{align-items:center;gap:var(--space-3);display:inline-flex}.hud-live i{width:var(--space-3);height:var(--space-3);background:var(--success);border-radius:50%}.hud-forecast{padding:var(--space-4) var(--space-6);color:var(--muted-foreground);font-size:var(--font-size-sm);line-height:var(--line-height-sm);grid-column:1/-1;margin:0}.hud-primary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hud-demand,.game-utilization{gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);display:grid}.hud-demand>span,.game-utilization>span,.hud-metrics dt{color:var(--muted-foreground);font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.hud-demand>strong,.game-utilization>strong{font-family:var(--font-family-mono);font-size:var(--font-size-3xl);font-weight:var(--font-weight-mono);line-height:var(--line-height-3xl)}.hud-demand small{font-size:var(--font-size-xs)}.game-utilization strong[data-status=hot]{color:var(--warning)}.game-utilization strong[data-status=critical]{color:var(--destructive)}.hud-metrics{padding:var(--space-4) var(--space-6) var(--space-6) 0;grid-template-columns:1.5fr repeat(4,1fr);align-items:start;margin:0;display:grid}.hud-metrics>div{border-left:var(--border-width-divider) solid var(--divider);min-width:0;padding-inline:var(--space-4)}.hud-metrics dt{margin-bottom:var(--space-3)}.hud-metrics dd{font-family:var(--font-family-mono);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0}.hud-metrics dd strong{font-weight:var(--font-weight-mono)}.hud-metrics dd small{font-size:var(--font-size-xs)}.hud-runway dd>small{color:var(--muted-foreground);display:block}.game-board-shell{min-width:0}.game-board{border-block:var(--border-width-divider) solid var(--divider);background:var(--card);min-height:360px;color:var(--card-foreground);padding:var(--space-6);grid-template-columns:.7fr .8fr 1.4fr 1.3fr;display:grid;position:relative}.traffic-canvas,.game-connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.game-connections{z-index:1}.game-connections path{fill:none;stroke:var(--brand-paper-2);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.game-connections[data-bottleneck=application] path,.game-connections[data-bottleneck=data] path{stroke:var(--warning)}.game-board[data-failure=true] .game-connections path{stroke:var(--destructive);stroke-dasharray:4 4}.traffic-canvas{z-index:1}.game-zone{z-index:2;justify-content:center;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-9) var(--space-3) var(--space-5);flex-direction:column;display:flex;position:relative}.game-zone>h3{width:100%;color:var(--muted-foreground);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-mono);line-height:var(--line-height-xs);text-align:center;margin:0;position:absolute;top:0;left:0}.client-cluster{grid-template-columns:repeat(3, var(--space-7));gap:var(--space-3);display:grid}.client-device-icon,.client-phone{width:var(--space-7);height:var(--space-8);color:var(--muted-foreground);place-items:center;display:grid}.client-device-icon svg,.client-phone svg{width:var(--space-6);height:var(--space-6)}.game-page svg use{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.game-node,.game-slot{width:100%;min-width:0;min-height:var(--space-12);justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width-control) solid var(--input);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);padding:var(--space-3);text-align:center;flex-direction:column;display:flex;position:relative}.game-node{width:min(100%,128px)}.game-node strong,.game-slot strong{font-size:var(--font-size-sm);line-height:var(--line-height-sm);overflow-wrap:anywhere}.game-node small,.game-slot small{color:var(--muted-foreground);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.node-icon{width:var(--space-7);height:var(--space-7);color:var(--brand-paper-2);font-size:var(--font-size-xl);place-items:center;display:grid}.node-icon svg{width:var(--space-6);height:var(--space-6)}.game-slot{background:var(--card);color:var(--card-foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);border-style:dashed}.game-slot[data-compatible=true]{border-color:var(--ring);background:var(--accent);color:var(--accent-foreground)}@media (hover:hover){.game-slot:not(:disabled):hover{border-color:var(--ring);background:var(--accent);color:var(--accent-foreground)}}.game-slot[data-compatible=true]{border-style:solid}.game-slot[data-filled=true]{background:var(--background);color:var(--foreground);border-style:solid}.game-slot-plus{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:var(--font-weight-body)}.game-slot-label{overflow-wrap:anywhere;font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.game-slot-stack{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:208px;display:grid}.game-slot-stack-edge{max-width:var(--space-12);grid-template-columns:1fr}.game-slot-stack-data{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.game-zone-application{place-items:center;gap:var(--space-4);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.game-zone-data{padding-right:var(--space-9)}.success-gate{width:var(--space-7);height:var(--space-7);background:var(--success-subtle);color:var(--success-subtle-foreground);border-radius:50%;place-items:center;display:grid;position:absolute;right:0}.build-area{align-items:center;gap:var(--space-5);padding:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.build-instruction{grid-column:1/-1}.build-instruction>div{align-items:baseline;gap:var(--space-4);display:flex}.build-instruction strong{font-size:var(--font-size-base)}.build-instruction small{color:var(--muted-foreground);font-size:var(--font-size-sm)}.build-tray{gap:var(--space-3);min-width:0;padding:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.build-card{min-width:0;min-height:var(--space-12);justify-content:center;align-items:center;gap:var(--space-3);border:var(--border-width-control) solid var(--input);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);padding:var(--space-4);text-align:left;cursor:grab;touch-action:none;transition:background-color var(--duration-fast) var(--ease-standard);display:flex;position:relative}.build-card[aria-pressed=true]{border-color:var(--ring);background:var(--accent);color:var(--accent-foreground)}@media (hover:hover){.build-card:not(:disabled):hover{border-color:var(--ring);background:var(--accent);color:var(--accent-foreground)}}.build-card[aria-pressed=true]:after{inset:auto var(--space-4) 0;height:var(--space-2);content:"";background:currentColor;position:absolute}.build-card.is-dragging{opacity:.4;cursor:grabbing;pointer-events:none}.build-card-drag-preview{z-index:10000;pointer-events:none;touch-action:none;will-change:transform;min-height:0;margin:0;position:fixed;top:0;left:0}.build-card-icon{width:var(--space-7);height:var(--space-7);color:inherit;flex:none;place-items:center;display:grid}.build-card-icon svg{width:var(--space-6);height:var(--space-6)}.build-card-copy{gap:var(--space-2);display:grid}.build-card-copy strong{font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.build-card-copy small{color:var(--muted-foreground);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.game-actions{display:flex}.game-action:disabled,.build-card:disabled,.game-slot:disabled{opacity:.5;cursor:not-allowed}.game-slot[data-filled=true]:disabled{opacity:1;cursor:default}.game-crash-recovery{z-index:40;align-content:center;justify-items:center;gap:var(--space-5);padding:var(--space-6);text-align:center;display:grid;position:absolute;inset:0}.game-intro{z-index:3;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-6);display:grid;position:absolute;inset:0}.game-start-button{gap:var(--space-6)}.game-crash-recovery{background:var(--background);color:var(--foreground)}.game-crash-recovery p{max-width:38ch;color:var(--muted-foreground);margin:0}.game-crash-recovery>div{justify-content:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.game-result{z-index:60;background:var(--overlay);padding:var(--space-5);place-items:center;display:grid;position:fixed;inset:0}.game-result-card{width:min(100%,680px);max-height:calc(100svh - var(--space-7));overscroll-behavior:contain;border:var(--border-width-divider) solid var(--divider);background:var(--popover);color:var(--popover-foreground);padding:var(--space-8);position:relative;overflow:auto}.game-result-close{top:var(--space-4);right:var(--space-4);width:var(--control-height-lg);height:var(--control-height-lg);background:var(--popover);color:var(--popover-foreground);font-size:var(--font-size-2xl);cursor:pointer;border:0;place-items:center;display:grid;position:absolute}@media (hover:hover){.game-result-close:hover{background:var(--accent);color:var(--accent-foreground)}}.game-result-card .game-kicker{padding-right:var(--space-9)}.game-result-card h2{padding-right:var(--space-5)}.game-result[data-outcome=crashed] h2{color:var(--destructive)}.game-result-card>p:not(.game-kicker){margin-block:var(--space-6);font-size:var(--font-size-base);line-height:var(--line-height-base)}.game-result-card .result-lesson{border-left:var(--space-2) solid var(--brand-paper-2);background:var(--card);color:var(--card-foreground);padding:var(--space-5)}.result-stats{gap:var(--space-5);margin-block:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.result-stats>div{border-top:var(--border-width-divider) solid var(--divider);min-width:0;padding-top:var(--space-4)}.result-stats span,.result-stats strong{display:block}.result-stats span{color:var(--muted-foreground);font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.result-stats strong{margin-top:var(--space-3);font-family:var(--font-family-mono);font-size:var(--font-size-base);overflow-wrap:anywhere}.result-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.ultra-policy{color:var(--muted-foreground);font-size:var(--font-size-sm)}@media (width<=1100px){.game-hud{grid-template-columns:1fr}.hud-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.hud-metrics{padding:0 var(--space-6) var(--space-6)}.hud-metrics>div:first-child{border-left:0;padding-left:0}.game-zone-application{display:flex}.game-slot-stack-data{grid-template-columns:repeat(2,minmax(0,1fr));max-width:208px}.game-board{min-height:440px}.build-card{text-align:center;padding:var(--space-3);flex-direction:column}}@media (width<=700px){.game-page{padding:var(--space-7) var(--space-5)}.game-heading{align-items:start;gap:var(--space-4);flex-direction:column}.game-heading h2{font-size:var(--font-size-3xl);line-height:var(--line-height-3xl)}.hud-heading{gap:var(--space-3);padding-inline:var(--space-5);flex-wrap:wrap}.hud-heading>small{flex-basis:100%}.hud-forecast,.hud-demand,.game-utilization{padding-inline:var(--space-5)}.hud-metrics{gap:var(--space-5) 0;padding-inline:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.hud-metrics>div:nth-child(4){border-left:0;padding-left:0}.game-board{gap:var(--space-6) var(--space-3);padding:var(--space-5) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"clients edge""data application"}.game-zone-clients{grid-area:clients}.game-zone-edge{grid-area:edge}.game-zone-application{grid-area:application}.game-zone-data{padding-right:var(--space-3);padding-bottom:var(--space-9);grid-area:data}.game-zone{padding-top:var(--space-7)}.game-slot-stack-edge{max-width:var(--space-12);grid-template-columns:1fr}.game-slot{min-height:var(--space-11)}.game-slot strong{font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.game-slot{padding:var(--space-2)}.game-slot small{overflow-wrap:anywhere}.success-gate{bottom:0;right:calc(50% - var(--space-5))}.build-area{gap:var(--space-4);padding:var(--space-5) var(--space-4);grid-template-columns:minmax(0,1fr)}.build-instruction>div{gap:var(--space-2) var(--space-4);flex-wrap:wrap}.build-tray{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:var(--space-2) var(--space-2) var(--space-4);display:flex;overflow-x:auto}.build-card{scroll-snap-align:start;touch-action:pan-x;flex:0 0 112px}.game-actions .button{width:100%}.game-start-button{justify-content:space-between;width:100%}.game-crash-recovery{padding-top:var(--space-12);align-content:start}.game-result-card{padding:var(--space-7) var(--space-5)}.result-stats{grid-template-columns:1fr}.result-stats>div{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.result-stats strong{margin:0}.result-actions .button{width:100%}}@media (width<=380px){.game-slot-stack{max-width:var(--space-12);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.game-page *,.game-page :before,.game-page :after{scroll-behavior:auto;transition:none;animation:none}}.game-page[data-started=false] .game-hud,.game-page[data-started=false] .build-area,.game-page[data-started=false] .game-slot-stack:not(.game-slot-stack-edge),.game-page[data-started=false] .game-slot-stack-edge>:not(:first-child),.game-page[data-started=false] .client-cluster>:nth-child(n+4){display:none}.game-page[data-started=false] .game-board{min-height:calc(var(--space-12) * 4)}@media (width<=700px){.game-playfield{padding:var(--space-5)}.game-page[data-started=false] .game-zone{padding-block:var(--space-7) var(--space-4)}}
