.poly-example{text-align:center;margin:0}.poly-example #poly-example{max-width:28rem;margin:auto}.poly-example svg{width:100%;height:15rem;display:block}.poly-example figcaption{color:var(--muted);margin:1rem 0}.poly-workspace{grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr);align-items:start;gap:2rem;display:grid}.poly-drawing{min-width:0}.poly-drawing #poly-scene{min-height:18rem}.poly-drawing #poly-scene>svg{touch-action:pan-y;width:100%;height:clamp(18rem,40vw,27rem);display:block}.poly-controls{gap:1rem;display:grid}.poly-controls label{gap:.5rem;font-weight:600;display:grid}.poly-controls select{width:100%;min-height:3rem}.poly-controls #poly-preview{height:10rem}.poly-controls #poly-preview svg{width:100%;height:100%;display:block}.poly-controls #poly-preview-label{color:var(--muted);margin:0}.poly-controls .btn-primary{justify-self:end;min-width:12rem}.poly-view,.poly-tools{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.poly-view{grid-template-columns:3rem 3rem minmax(0,1fr);max-width:25rem;margin:1rem auto 0;display:grid}.poly-view svg{width:1.25rem;height:1.25rem;display:block}.poly-view button{justify-content:center;align-items:center;width:100%;min-width:3rem;min-height:3rem;display:flex}.poly-status{min-height:1.5em}.polycube-practice[data-phase=question] .practice-setup,.polycube-practice[data-phase=complete] .practice-setup{display:none}.polycube-practice #poly-heading:focus{outline:none}.polycube-practice [hidden]{display:none!important}@media (width<=700px){.poly-workspace{grid-template-columns:1fr;gap:1rem}.poly-controls{grid-template-columns:1fr 1fr}.poly-controls #poly-preview,.poly-controls #poly-preview-label,.poly-controls .btn-primary{grid-column:1/-1}.poly-controls .btn-primary{width:100%}.poly-drawing #poly-scene{min-height:14rem}.poly-drawing #poly-scene>svg{height:14rem}}.polycube-practice .poly-controls select{min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);font:inherit;background:var(--card);color:var(--ink);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m4 7 6 6 6-6' fill='none' stroke='%2374897c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.2rem;min-width:0;max-width:100%;padding:10px 2.5rem 10px 12px}.polycube-practice .poly-tools>.btn{flex:0 auto;width:auto;min-height:44px}@media (width<=700px){.polycube-practice[data-puzzle-mode=cut] #poly-position-label{grid-column:1/-1}}.poly-drag-help{color:var(--muted);margin:1rem 0 .65rem;font-size:.875rem;line-height:1.5}.poly-tray{flex-wrap:wrap;gap:.5rem;display:flex}.poly-piece{border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--card);max-width:7rem;min-height:6rem;color:var(--ink);font:inherit;cursor:grab;touch-action:none;user-select:none;flex:4.5rem;justify-items:center;gap:.2rem;padding:.35rem;font-size:.8rem;display:grid}.poly-piece svg{pointer-events:none;width:100%;height:3.75rem}.poly-piece[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.poly-piece:hover{background:var(--accent-soft)}.poly-piece:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.poly-dragging,.poly-dragging *{user-select:none;cursor:grabbing!important}.poly-drop-target{pointer-events:none}.poly-drop-target circle{fill:var(--card);stroke:var(--accent);stroke-width:2px}.poly-drop-target line{stroke:var(--accent);stroke-width:1px}.poly-drop-target text{fill:var(--ink);font:600 18px var(--font-body,sans-serif)}.poly-drop-target.is-selected circle{fill:var(--accent)}.poly-drop-target.is-selected text{fill:var(--card)}.polycube-practice[data-puzzle-mode=cut] #poly-scene,.polycube-practice[data-puzzle-mode=pyramid] #poly-scene,.polycube-practice[data-puzzle-mode=cut] #poly-scene>svg,.polycube-practice[data-puzzle-mode=pyramid] #poly-scene>svg{touch-action:none}@media (width<=700px){.poly-drop-target text{font-size:23px}}
