.robot-planning{border:1px solid var(--color-accent);background:var(--color-card);color:var(--color-foreground);border-radius:.5rem;margin:1.5rem 0;padding:1rem;font-size:.875rem;line-height:1.5;container:workshop/inline-size}.robot-planning *{box-sizing:border-box}.robot-planning h3{font:inherit;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.robot-planning h4{color:var(--color-foreground);font:inherit;margin:0 0 .5rem;font-weight:600}.robot-planning button{border:1px solid var(--color-accent);background:var(--color-muted);min-height:2.5rem;color:var(--color-foreground);font:inherit;cursor:pointer;border-radius:.25rem;padding:.5rem .75rem}.robot-planning button:hover:not(:disabled){border-color:var(--color-muted-foreground);background:var(--color-accent)}.robot-planning button:disabled{color:var(--color-muted-foreground);border-color:var(--color-border);cursor:not-allowed;background:0 0}.robot-planning button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.robot-planning .rp-visualization{background:var(--color-secondary);border-radius:.25rem;padding:.5rem}.robot-planning .rp-places{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.robot-planning .rp-place{text-align:center;border-bottom:2px solid #0000;flex-direction:column;align-items:center;padding:.5rem 0;font-size:.75rem;display:flex}.robot-planning .rp-place[data-current=true]{border-color:var(--color-primary)}.robot-planning svg{fill:none;stroke:var(--color-foreground);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;display:block}.robot-planning .rp-station{width:min(100%,8rem);margin:0 auto .5rem}.robot-planning .rp-detail{stroke:var(--color-muted-foreground)}.robot-planning .rp-parcel{fill:color-mix(in srgb, var(--color-queens-orange) 20%, var(--color-card));stroke:var(--color-queens-orange)}.robot-planning .rp-power{fill:var(--color-primary);stroke:var(--color-primary)}.robot-planning .rp-lane{height:5rem;position:relative}.robot-planning .rp-line{border-top:1px solid var(--color-muted-foreground);position:absolute;top:3.5rem;left:16.667%;right:16.667%}.robot-planning .rp-robot{width:5rem;transition:left .4s;position:absolute;top:.5rem;transform:translate(-50%)}.robot-planning .rp-robot svg{width:100%}.robot-planning .rp-body{fill:var(--color-muted)}.robot-planning .rp-face,.robot-planning .rp-wheel{fill:var(--color-card)}.robot-planning .rp-state{grid-template-columns:1fr 1fr;gap:.5rem 1rem;display:grid}.robot-planning .rp-state-label{color:var(--color-muted-foreground);font-size:.75rem;display:block}.robot-planning strong{font-weight:600}.robot-planning .rp-charge{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.robot-planning .rp-battery{border:1px solid var(--color-muted-foreground);border-radius:2px;gap:2px;padding:2px;display:flex}.robot-planning .rp-battery>span{background:var(--color-accent);width:5px;height:10px}.robot-planning .rp-battery>span[data-filled=true]{background:var(--color-primary)}.robot-planning .rp-status{color:var(--color-muted-foreground);min-height:3em;margin:.5rem 0 0}.robot-planning .rp-controls{gap:1rem;margin-top:1rem;display:grid}.robot-planning .rp-reset{justify-content:center;align-items:center;gap:.5rem;display:flex}.robot-planning .rp-reset svg{width:1.25rem;height:1.25rem}.robot-planning .rp-manual-buttons,.robot-planning .rp-step-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.robot-planning .rp-manual-buttons button:last-child{grid-column:1/-1}.robot-planning .rp-plan-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 .5rem;margin-bottom:.5rem;display:flex}.robot-planning .rp-plan-heading h4{margin:0}.robot-planning .rp-plan-heading>span{color:var(--color-muted-foreground);font-size:.75rem}.robot-planning .rp-play{background:var(--color-primary);border-color:var(--color-primary);width:100%;color:var(--color-primary-foreground);margin-bottom:.5rem;font-weight:600}.robot-planning .rp-play:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.robot-planning .rp-plan-sequence{color:var(--color-muted-foreground);margin:1rem 0 0;font-size:.75rem;line-height:1.75}.robot-planning .rp-plan-sequence strong{color:var(--color-foreground)}.robot-planning .rp-active-step{color:var(--color-foreground);text-underline-offset:.25rem;font-weight:600;text-decoration:underline}@container workshop (width>=32rem){.robot-planning .rp-visualization{padding:1rem}.robot-planning .rp-place{font-size:.875rem}.robot-planning .rp-state{grid-template-columns:1fr 1fr 1.5fr auto}.robot-planning .rp-status{min-height:1.5em}.robot-planning .rp-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.robot-planning .rp-reset{grid-column:1/-1;justify-self:start}}@container workshop (width>=42rem){.robot-planning .rp-controls{grid-template-columns:5rem minmax(0,1fr) minmax(0,1fr);gap:1.5rem}.robot-planning .rp-reset{flex-direction:column;grid-column:auto;place-self:start stretch;min-height:6rem;margin-top:1.75rem}}@media (prefers-reduced-motion:reduce){.robot-planning .rp-robot{transition:none}}@media (forced-colors:active){.robot-planning .rp-place[data-current=true],.robot-planning .rp-battery>span[data-filled=true]{border:2px solid highlight}.robot-planning .rp-play{border:2px solid buttontext}.robot-planning svg{stroke:canvastext}}@media (prefers-contrast:more){.robot-planning button{border-color:var(--color-muted-foreground)}.robot-planning .rp-state-label,.robot-planning .rp-status{color:var(--color-foreground)}}.layered-graph{border:1px solid var(--color-accent);background:var(--color-card);color:var(--color-foreground);border-radius:.5rem;margin:1.5rem 0;padding:1rem;font-size:.875rem;line-height:1.5;container:layered-graph/inline-size}.layered-graph *{box-sizing:border-box}.layered-graph h3{font:inherit;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.layered-graph h4{font:inherit;color:var(--color-foreground);margin:0 0 .5rem;font-weight:600}.layered-graph p{margin:.5rem 0;line-height:1.6}.layered-graph .lg-automaton{gap:.5rem 1.5rem;margin-bottom:1rem;display:grid}.layered-graph .lg-controls,.layered-graph .lg-domains{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.layered-graph .lg-controls label{flex-wrap:wrap}.layered-graph .lg-domains{margin:1rem 0}.layered-graph label{align-items:center;gap:.5rem;display:flex}.layered-graph button,.layered-graph select{border:1px solid var(--color-accent);background:var(--color-muted);min-height:2.5rem;color:var(--color-foreground);font:inherit;cursor:pointer;border-radius:.25rem;padding:.5rem .75rem}.layered-graph button:hover{background:var(--color-accent);border-color:var(--color-muted-foreground)}.layered-graph button:focus-visible,.layered-graph select:focus-visible,.layered-graph .lg-scroll:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.layered-graph .lg-graphs{gap:1rem;display:grid}.layered-graph .lg-panel{border-top:1px solid var(--color-accent);min-width:0;padding-top:1rem}.layered-graph .lg-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.layered-graph .lg-panel-heading>span{color:var(--color-muted-foreground);font-size:.75rem}.layered-graph .lg-scroll{min-width:0;overflow-x:auto}.layered-graph svg{max-width:none;font:inherit;margin:0 auto;font-size:12px;display:block}.layered-graph .lg-dfa{width:370px;max-width:none;height:auto}.layered-graph .lg-domain{fill:var(--color-foreground)}.layered-graph .lg-supported{color:var(--color-foreground)}.layered-graph .lg-removed{color:var(--color-muted-foreground)}.layered-graph .lg-future{color:var(--color-primary)}.layered-graph .lg-future-area{fill:var(--color-secondary)}.layered-graph .lg-future-label{fill:var(--color-muted-foreground)}.layered-graph .lg-boundary{stroke:var(--color-muted-foreground);stroke-dasharray:2 4}.layered-graph .lg-edge line,.layered-graph .lg-edge>path{fill:none;stroke:currentColor;stroke-width:1.5px}.layered-graph .lg-edge.lg-removed line{stroke-dasharray:5 4}.layered-graph .lg-edge.lg-future line{stroke-dasharray:2 4}.layered-graph .lg-edge text{fill:currentColor;stroke:var(--color-card);stroke-width:4px;paint-order:stroke;stroke-linejoin:round}.layered-graph .lg-node text,.layered-graph .lg-arrow{fill:currentColor}.layered-graph .lg-node circle{fill:var(--color-card);stroke:currentColor;stroke-width:1.5px}.layered-graph .lg-node.lg-removed circle{stroke-dasharray:5 4}.layered-graph .lg-propagation{background:var(--color-secondary);border-radius:.25rem;margin:1rem 0;padding:1rem}@media (forced-colors:active){.layered-graph .lg-supported,.layered-graph .lg-removed{color:canvastext}.layered-graph .lg-future{color:linktext}.layered-graph .lg-node circle{fill:canvas}}.fifteen-puzzle{width:min(100%,16rem);color:var(--color-foreground);margin:1.5rem 0}.fifteen-puzzle *{box-sizing:border-box}.fp-board{aspect-ratio:1;background:var(--color-secondary);border-radius:.25rem;position:relative}.fp-cell{width:25%;height:25%;padding:.25rem;transition:transform .18s;position:absolute;inset:0 auto auto 0}.fifteen-puzzle .fp-tile{border:1px solid var(--color-accent);background:var(--color-muted);width:100%;height:100%;color:var(--color-foreground);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:.25rem;padding:0;font-size:1.25rem;font-weight:600}.fifteen-puzzle .fp-tile:disabled{cursor:default}.fifteen-puzzle .fp-tile:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-accent)}.fifteen-puzzle button:focus-visible,.fp-board:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fp-footer{justify-content:flex-end;display:flex}.fifteen-puzzle .fp-reset{min-height:2rem;color:var(--color-muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem .5rem;font-size:.75rem}.fifteen-puzzle .fp-reset:hover{color:var(--color-foreground);text-decoration:underline}@media (prefers-reduced-motion:reduce){.fp-cell{transition:none}}
