.polypivot-root{width:100%;outline:none}.polypivot-shell{display:grid;gap:var(--space-3);width:min(1040px,100%);margin:0 auto}.polypivot-hud{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.polypivot-hud span{padding:.38rem .68rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text-secondary);font-size:var(--type-caption);font-weight:750;letter-spacing:.015em}.polypivot-focus{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.7rem .85rem;border:1px solid var(--line);border-left:4px solid var(--selected-piece,var(--game-accent,var(--accent)));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft)}.polypivot-focus strong{color:var(--text);font-size:var(--type-small)}.polypivot-focus span{color:var(--muted);font-size:var(--type-caption);text-align:right}.polypivot-stage{position:relative;width:100%;padding:clamp(.35rem,1vw,.7rem);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(145deg,color-mix(in srgb,var(--surface2) 88%,var(--game-accent,var(--accent)) 12%),var(--surface));box-shadow:var(--shadow)}.polypivot-board{display:block;width:100%;height:auto;max-height:min(72vh,820px);margin:auto;touch-action:manipulation;user-select:none}.polypivot-workspace{fill:color-mix(in srgb,var(--surface2) 88%,transparent);stroke:var(--line)}.polypivot-grid-line{fill:none;stroke:color-mix(in srgb,var(--line-strong) 62%,transparent);stroke-width:.7}.polypivot-target{fill:color-mix(in srgb,var(--game-accent,var(--accent)) 7%,var(--surface));stroke:color-mix(in srgb,var(--game-accent,var(--accent)) 74%,var(--text) 26%);stroke-width:3;stroke-dasharray:9 6;vector-effect:non-scaling-stroke}.polypivot-target-label{fill:var(--text-secondary);font:800 10px/1 var(--font-mono);letter-spacing:1.4px}.polypivot-fill{stroke:color-mix(in srgb,#fff 20%,transparent);stroke-width:.75;transition:filter .15s ease,opacity .15s ease}.polypivot-fill.is-overlap{stroke:#fff;stroke-width:1.35;filter:saturate(1.2) brightness(1.08) drop-shadow(0 0 5px color-mix(in srgb,#fff 45%,transparent))}.polypivot-piece-outline{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;opacity:.46;pointer-events:none;vector-effect:non-scaling-stroke}.polypivot-piece-outline.is-selected{stroke-width:4;opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.62))}.polypivot-hit{fill:transparent;cursor:pointer}.polypivot-hit:hover{fill:color-mix(in srgb,#fff 8%,transparent)}.polypivot-screw{cursor:pointer;outline:none}.polypivot-screw-shadow{fill:rgba(0,0,0,.4);stroke:rgba(255,255,255,.32);stroke-width:1.25}.polypivot-screw-head{fill:#aab4c5;stroke:#eef4ff;stroke-width:1.15;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}.polypivot-screw-slot{stroke:#3f4857;stroke-width:2.05;stroke-linecap:round}.polypivot-screw-label{fill:#f8fafc;stroke:rgba(0,0,0,.72);stroke-width:2.4;paint-order:stroke;stroke-linejoin:round;font:900 8px/1 var(--font-mono);pointer-events:none}.polypivot-screw:hover .polypivot-screw-head,.polypivot-screw:focus-visible .polypivot-screw-head{fill:#d9e2ef;stroke:#fff;stroke-width:2}.polypivot-screw.is-piece-selected .polypivot-screw-shadow{stroke:var(--game-accent,var(--accent));stroke-width:2}.polypivot-screw.is-active .polypivot-screw-head{fill:#f7d88b;stroke:#fff4c7;stroke-width:2}.polypivot-screw.is-active .polypivot-screw-slot{stroke:#55431b}.polypivot-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);color:var(--text-subtle);font-size:var(--type-caption)}.polypivot-legend span{display:inline-flex;align-items:center;gap:.42rem}.polypivot-legend i{display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:4px;font-style:normal}.polypivot-legend-target{border:2px dashed var(--game-accent,var(--accent));background:color-mix(in srgb,var(--game-accent,var(--accent)) 10%,transparent)}.polypivot-legend-mix{background:linear-gradient(135deg,#55c4ff 0 45%,#b75fff 55% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.polypivot-legend-screw{border-radius:50%!important;background:#aab4c5;color:#3f4857;font-weight:950;box-shadow:inset 0 0 0 1px #eef4ff}.polypivot-root:focus-visible .polypivot-stage{outline:3px solid color-mix(in srgb,var(--blue) 70%,transparent);outline-offset:3px}@media(max-width:720px){.polypivot-shell{gap:var(--space-2)}.polypivot-focus{align-items:flex-start;flex-direction:column}.polypivot-focus span{text-align:left}.polypivot-stage{padding:.25rem;border-radius:var(--radius-sm)}.polypivot-board{max-height:68vh}.polypivot-hud{gap:.3rem}.polypivot-hud span{padding:.3rem .5rem}.polypivot-legend{justify-content:flex-start;gap:.5rem 1rem}}@media(max-width:420px){.polypivot-hud span:nth-child(2){display:none}.polypivot-target-label{font-size:8px}.polypivot-piece-outline{stroke-width:1.7}.polypivot-piece-outline.is-selected{stroke-width:3}.polypivot-legend{font-size:.68rem}}
