/* Gameplay art uses generated raster assets; letters and controls stay native. */
.game-shell img{display:block;max-width:100%;object-fit:contain}
.game-shell .guide-face img{width:100%;height:100px;object-fit:contain}
.choice>img{height:95px;max-width:140px;margin:auto}.supply>button>img{height:135px;width:100%}
.slot>img{height:76px;width:100%}.memory-card>img{height:85px;width:100%}.bin>img{height:80px;width:100%}
.movement-hero>img{width:100%;height:230px;object-fit:contain}.demo-strip span>img{height:62px;width:65px;object-fit:contain}
.plate{position:relative;border:0;border-radius:0;background:transparent;padding:22px;isolation:isolate;min-height:210px}
.plate-picture{position:absolute;inset:0;z-index:-1;pointer-events:none}.plate-picture img{width:100%;height:100%;object-fit:fill}
.plate-items{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-height:160px;width:100%}
.plate .little-item img{height:58px;width:68px;object-fit:contain}.plate .small{background:var(--cream);border-radius:12px;padding:8px 12px}
.supply>[data-action="add"]{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.supply>[data-action="add"] img{-webkit-user-drag:none;pointer-events:none}.supply>[data-action="add"].dragging{opacity:.35;cursor:grabbing}
.count-drag-ghost{position:fixed;width:94px;height:94px;transform:translate(-50%,-50%);pointer-events:none;z-index:120;filter:drop-shadow(0 8px 8px #0004);user-select:none}.count-drag-ghost img{display:block;width:100%;height:100%;object-fit:contain}
.plate.dropover{background:transparent;outline:4px dashed var(--forest);outline-offset:-8px;border-radius:50%;box-shadow:0 0 0 8px color-mix(in srgb,var(--leaf) 35%,transparent)}
.drum-button{position:relative;border:0;box-shadow:none;background:transparent!important;border-radius:22px;height:170px;width:170px;padding:0 0 27px;transition:transform .16s}
.drum-button>img{width:100%;height:140px;object-fit:contain}.drum-button>span{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:3px 22px;line-height:1.2}
.drum-button.pulse{transform:scale(1.07)}.drum-button.pulse>span{background:var(--gold)}
.puzzle-tile{position:relative;aspect-ratio:1;min-width:0;min-height:0}.puzzle-tile .puzzle-picture{position:absolute;max-width:none;object-fit:fill;pointer-events:none}
.tile-number{position:absolute;left:6px;top:6px;min-width:25px;height:25px;padding:2px 6px;border-radius:8px;background:var(--cream);color:var(--ink);font-size:14px;line-height:21px;box-shadow:0 1px 4px #0002}
.kite-field{background-size:cover;background-position:center 30%;border:1px solid var(--line)}.kite{width:68px;height:86px}.kite img,.kite-star img{width:100%;height:100%;object-fit:contain}.kite-star{height:40px}
.paint-board{display:block;position:relative;width:min(590px,100%);background:white;border:2px solid var(--line);border-radius:20px;overflow:hidden;isolation:isolate}
.paint-lineart{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;mix-blend-mode:multiply;z-index:2;user-select:none}
.paint-zone{position:absolute;display:block;padding:0;border:0;background:transparent;cursor:pointer;z-index:1;touch-action:manipulation}
.paint-fill{display:block;position:absolute;inset:0;background:var(--paint-color,transparent);pointer-events:none}
.paint-zone.masked .paint-fill{mask-image:var(--paint-mask);-webkit-mask-image:var(--paint-mask);mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.paint-zone:focus-visible{background:var(--gold)}.paint-options{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;max-width:650px;margin:12px auto}
.paint-part{border:1px solid var(--line);border-radius:14px;padding:7px 12px;background:var(--paper);font-size:12px;min-height:36px}.paint-part[aria-pressed=true]{background:var(--paint-color,var(--mint));border-color:var(--ink)}
.paint-progress{text-align:center}.palette{flex-wrap:wrap}
.paint-helper{max-width:650px;margin:8px auto 12px}.paint-helper>summary{width:fit-content;margin:auto;padding:8px 12px;font-size:12px;color:var(--muted);cursor:pointer}.paint-helper:not([open])>.paint-options{display:none}
@media(max-width:740px){.choice>img{height:80px}.supply>button>img{height:100px}.plate{padding:12px;min-height:180px}.plate-items{min-height:150px}.plate .little-item img{height:48px;width:50px}.slot>img{height:64px}.memory-card>img{height:63px}.drum-button{width:125px;height:145px}.drum-button>img{height:115px}.game-shell .guide-face img{height:80px}.paint-part{font-size:11px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.drum-button{transition:none}}
