.act .section{max-width:760px;margin-left:auto;margin-right:auto}
.act-hero{text-align:center}
.act-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:1rem}
.act-tiles a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.8rem .5rem;border-radius:18px;background:var(--paper);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);font-weight:600;font-family:Fredoka,Poppins,sans-serif}
.act-tiles a span{font-size:1.7rem}
.act-tiles a:nth-child(6n+1){background:var(--pink)}.act-tiles a:nth-child(6n+2){background:var(--peach)}.act-tiles a:nth-child(6n+3){background:var(--lemon)}.act-tiles a:nth-child(6n+4){background:var(--mint)}.act-tiles a:nth-child(6n+5){background:var(--sky)}.act-tiles a:nth-child(6n){background:var(--lilac)}
@media(min-width:600px){.act-tiles{grid-template-columns:repeat(4,1fr)}}
.act-box{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem .8rem;margin-top:1.2rem;margin-bottom:1.2rem}
.act-lead{text-align:center;color:var(--ink-soft);margin:.2rem 0 .8rem}
.act-ctrl{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin-bottom:.8rem}
.act-ctrl select{font:inherit;padding:.35rem .5rem;border-radius:10px;border:2px solid var(--pink);background:#fff;max-width:100%}
.act-status{text-align:center;min-height:1.6em;margin:.6rem 0 0}
.linkbtn{background:none;border:0;color:var(--heart-dark);text-decoration:underline;font:inherit;cursor:pointer;padding:.2rem}
canvas{max-width:100%;display:block;margin:0 auto}
.c-pages{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .1rem .6rem;scroll-snap-type:x mandatory}
.c-pages .pg{flex:0 0 auto;width:92px;scroll-snap-align:start;border:3px solid transparent;border-radius:14px;background:#fff;padding:.25rem;cursor:pointer;font:inherit;font-size:.72rem;line-height:1.2;color:var(--ink)}
.c-pages .pg img{width:100%;height:100px;object-fit:contain}
.c-pages .pg[aria-pressed=true]{border-color:var(--heart)}
.c-tools{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;margin:.3rem 0}
.c-tools [aria-pressed=true],.act [data-tool][aria-pressed=true]{background:var(--heart);color:#fff;border-color:var(--heart)}
.c-size{font-size:.85rem;display:flex;align-items:center;gap:.3rem}.c-size input{width:100px}
.c-palette{display:grid;grid-template-columns:repeat(10,1fr);gap:.3rem;max-width:460px;margin:.4rem auto .7rem}
.sw{aspect-ratio:1;width:100%;min-width:0;border-radius:50%;border:2px solid rgba(0,0,0,.15);cursor:pointer;padding:0}
.sw[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:1px}
.sw-custom{background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red)}
.c-stage{background:#fff;border-radius:16px;overflow:hidden;border:2px solid var(--pink);max-width:600px;margin:0 auto}
#c-canvas{width:100%;height:auto;cursor:crosshair}
.c-caption{text-align:center;margin:.5rem 0;font-size:.9rem}
.c-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}
.s-pair{display:grid;grid-template-columns:1fr;gap:.6rem}.s-pair canvas{width:100%;max-width:380px;height:auto;border:2px solid var(--sky);border-radius:14px;background:#fff;cursor:pointer}
@media(min-width:640px){.s-pair{grid-template-columns:1fr 1fr}}
.j-wrap{position:relative;width:100%;max-width:560px;margin:0 auto;touch-action:none;user-select:none}
.j-board{position:absolute;left:0;top:0;background-size:100% 100%;opacity:.18;border-radius:8px;outline:2px dashed var(--wood)}
.j-piece{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.3);border-radius:4px;cursor:grab;touch-action:none}
.j-piece.drag{cursor:grabbing;box-shadow:0 6px 16px rgba(0,0,0,.35)}.j-piece.done{box-shadow:none;border-radius:0;cursor:default}
.w-grid{display:grid;gap:3px;max-width:440px;margin:0 auto}
.w-grid button{aspect-ratio:1;min-width:0;border:0;border-radius:6px;background:#fff8e6;font:600 clamp(.85rem,4.2vw,1.15rem) Fredoka,Poppins,sans-serif;color:var(--ink);padding:0;cursor:pointer}
.w-grid button.sel{background:var(--lemon);outline:2px solid var(--wood)}.w-grid button.found{background:var(--mint)}
.w-list{display:flex;flex-wrap:wrap;gap:.35rem .8rem;justify-content:center;list-style:none;padding:0;margin:.8rem 0 0;font-weight:600}
.w-list .found{text-decoration:line-through;color:var(--ink-soft)}
#m-canvas{width:100%;max-width:480px;height:auto;border-radius:12px;box-shadow:var(--shadow)}
.m-pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-areas:". u ." "l d r";gap:.35rem;justify-content:center;margin-top:.7rem}
.m-pad button{height:52px;border-radius:14px;border:0;background:var(--sky);font-size:1.3rem;cursor:pointer}
.m-pad [data-mv=u]{grid-area:u}.m-pad [data-mv=l]{grid-area:l}.m-pad [data-mv=d]{grid-area:d}.m-pad [data-mv=r]{grid-area:r}
.g-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;list-style:none;padding:0;margin:0}
.g-list li{background:#fff;border-radius:14px;padding:.4rem;box-shadow:var(--shadow)}.g-list img{width:100%;border-radius:10px}.g-list p{margin:.3rem 0 0;font-size:.85rem;text-align:center}
@media(min-width:600px){.g-list{grid-template-columns:repeat(3,1fr)}}
.g-empty{text-align:center;background:var(--lilac);border-radius:16px;padding:1rem}
.g-form{display:flex;flex-direction:column;gap:.45rem;max-width:480px;margin:0 auto}
.g-form input[type=text],.g-form input[type=file]{font:inherit;padding:.5rem;border-radius:12px;border:2px solid var(--pink);background:#fff;max-width:100%}
.g-preview{max-height:240px;width:auto;margin:0 auto;border-radius:12px;border:2px solid var(--mint)}
.g-form .hp{position:absolute;left:-9999px;width:1px;height:1px}
