.rug-layout{display:flex;flex-direction:column}.question-rail{flex:0 0 auto;display:grid;gap:8px;padding:10px 16px 8px;background:#f4ead6}.question-rail .clue-card{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center}.clue-copy{min-width:0}.pattern-preview{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(5,1fr);gap:2px;width:min(320px,50vw);aspect-ratio:10 / 5;padding:3px;background:#6aa32e;border:2px solid #3a2414;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff2e}.pattern-preview span{border-radius:2px}.pattern-preview .green{background:#8fce4a}.pattern-preview .orange{background:#f07828}.pattern-preview .yellow{background:#f5d24a}.palette{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;pointer-events:auto}.swatch{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;font-size:.95rem;box-shadow:0 4px #8a4310}.swatch:before{content:"";width:14px;height:14px;border-radius:3px;border:2px solid #3a2414;background:currentColor}.swatch.orange:before{background:#f07828}.swatch.yellow:before{background:#f5d24a}.swatch.green:before{background:#8fce4a}.swatch[aria-pressed=true]{background:#3a2414;color:#fff6e8;box-shadow:0 4px #1c1008}.swatch[disabled]{opacity:.45}.counters{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.counter{display:flex;align-items:center;gap:8px;background:#fff6e8;border:2px solid #3a2414;border-radius:999px;padding:4px 12px}.counter strong{min-width:1.4em;text-align:center}.pattern-preview .locked{box-shadow:inset 0 0 0 1.5px #3a2414}.rug-layout #app{flex:1;min-height:0}.rug-layout #hud{justify-content:flex-end}.dock .ghost{background:#fff6e8;color:#3a2414;box-shadow:0 6px #c9a36a}.dock button[disabled]{opacity:.45}.overlay.end-overlay{place-items:center start;padding-left:28px;background:none;pointer-events:none}.overlay.end-overlay .panel{pointer-events:auto;width:min(320px,36vw)}@media(max-width:700px){.question-rail{padding:6px 10px 4px;gap:6px}.question-rail .clue-card{grid-template-columns:1fr;gap:8px;padding:8px 12px 10px}#clue{font-size:.92rem}.pattern-preview{width:min(200px,64vw)}.hint{display:none}.overlay.end-overlay{place-items:end start;padding-bottom:88px}.overlay.end-overlay .panel{width:min(280px,calc(100% - 32px))}}
