:root{color-scheme:light;--purple:#7040ab;--ink:#43215f;--lime:#c3e867;--paper:#fffdf8;--line:#e9def1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:#f7f2fc;color:var(--ink);font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;line-height:1.5}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:4px solid #43215f;outline-offset:4px}img{display:block;max-width:100%}button{color:var(--ink)}[hidden]{display:none!important}main{max-width:1160px;margin:auto;padding:30px 24px 24px}h1,h2,p,figure{margin:0}.intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;color:#795c8f;margin-bottom:6px}h1{font-size:clamp(25px,3vw,36px);line-height:1.15;letter-spacing:-1.1px}h2{font-size:28px;line-height:1.2;letter-spacing:-.7px}.intro>div>p:last-child{margin-top:8px;color:#7e658c}.gallery-link{color:var(--purple);white-space:nowrap;font-size:14px;font-weight:900;text-decoration:none;border-bottom:2px solid #cab0df;padding:8px 0}.puzzle-stage{background:var(--paper);border:2px solid var(--line);border-radius:30px;box-shadow:0 7px 0 #e9dff0;padding:25px}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.collection-count{padding:7px 13px;border-radius:20px;background:#f0e5f9;color:var(--purple);font-size:13px;font-weight:800;white-space:nowrap}.level-bar{display:flex;gap:18px;align-items:center;margin-bottom:24px;font-size:15px;font-weight:800}.level-buttons{display:flex;gap:8px;flex-wrap:wrap}.level-buttons button{border:2px solid #e6d8f0;padding:7px 17px;border-radius:13px;min-height:44px;background:#fff;font-size:20px;font-weight:900}.level-buttons button span{font-size:12px;font-weight:700;margin-left:3px}.level-buttons button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 3px 0 #4b2675}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:25px;align-items:start}.board-column{min-width:0}.board-wrap{position:relative;aspect-ratio:3/2;border-radius:20px;overflow:hidden;background:#e9dfef;box-shadow:0 0 0 3px #ddcde9}.board{height:100%;display:grid;grid-template-columns:repeat(var(--cols,2),1fr);grid-template-rows:repeat(var(--rows,2),1fr);gap:3px;background:#fff}.tile{position:relative;border:0;padding:0;background-repeat:no-repeat;border-radius:3px;transition:filter .16s;min-width:0;min-height:0;outline-offset:-6px!important}.tile:hover:not(:disabled){filter:brightness(1.08)}.tile.is-selected{z-index:2;box-shadow:inset 0 0 0 6px #c3e867;filter:brightness(1.07)}.tile.is-correct:after{content:'✓';position:absolute;right:7px;bottom:7px;width:24px;height:24px;border-radius:50%;background:#c3e8a9;color:#2c571d;display:grid;place-items:center;font-size:15px;font-weight:900;box-shadow:0 1px 6px #0003}.tile .tile-number{position:absolute;left:6px;top:6px;background:#fffdf1ee;color:#43215f;border-radius:7px;min-width:25px;padding:1px 5px;font-size:14px;font-weight:900}.board.is-complete{gap:0}.board.is-complete .tile{border-radius:0}.board.is-complete .tile:after{display:none}.full-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.start-panel{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:28px 15px 22px;background:linear-gradient(transparent,#37204870)}.primary{background:var(--purple);color:white;border:2px solid #fff8;border-radius:15px;padding:12px 22px;font-weight:900;font-size:17px;box-shadow:0 4px 0 #472563}.primary:hover{background:#5b3293}.primary span{padding-left:13px}.status{font-size:15px;text-align:center;min-height:47px;padding:14px 8px 0;color:#695279;font-weight:700}.helper figure{border-radius:15px;background:#f1e9f6;padding:6px 6px 9px}.helper figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:fill;border-radius:10px}.helper figcaption{text-align:center;font-size:12px;margin-top:7px;color:#715486}.how-to{font-size:15px;line-height:1.45;margin:18px 0}.how-to strong{display:block}.progress-label{display:flex;align-items:baseline;gap:8px;font-size:12px}.progress-label strong{white-space:nowrap;font-size:20px;color:var(--purple)}progress{appearance:none;display:block;width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;margin:6px 0 17px;background:#ece2f3}progress::-webkit-progress-bar{background:#ece2f3}progress::-webkit-progress-value{background:#98ba42;border-radius:8px}progress::-moz-progress-bar{background:#98ba42}.game-actions{display:grid;gap:8px}.game-actions button,.reset-prompt button{border:2px solid #e3d4ed;background:#fff;border-radius:12px;min-height:42px;font-size:13px;font-weight:800;padding:8px}.game-actions button:disabled{opacity:.4}.game-actions button[aria-pressed=true]{background:#eee0f8;border-color:#7040ab}.game-actions #help{background:#eaf3d0;border-color:#d6e5b1}.game-actions .text-button{background:transparent;border-color:transparent;text-decoration:underline;color:#7e648e;font-size:12px}.reset-prompt{padding:12px;border-radius:15px;background:#ffedcc;font-size:13px}.reset-prompt button{display:block;width:100%;margin-top:8px}.win{text-align:center;background:#ecf4d7;border:2px solid #d1e4a7;border-radius:18px;padding:18px}.win strong{font-size:23px}.win p{font-size:14px;margin:5px 0 14px}.win .primary{font-size:15px}.gallery-section{margin-top:38px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.gallery-heading>p{font-size:13px;color:#806d8c}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.scene-card{position:relative;border:2px solid #e6d9ef;border-radius:18px;padding:5px 5px 11px;background:#fff;text-align:left;box-shadow:0 4px 0 #e6d9ef;overflow:hidden;transition:transform .15s}.scene-card:hover{transform:translateY(-3px)}.scene-card[aria-pressed=true]{border-color:var(--purple);box-shadow:0 4px 0 var(--purple)}.scene-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}.scene-card .scene-label{display:flex;gap:7px;align-items:baseline;padding:9px 5px 0;font-size:12px;font-weight:800;line-height:1.25}.scene-card .scene-label small{font-size:10px;color:#92799e}.scene-card .completed{position:absolute;top:11px;right:11px;background:#d3ed9c;border:2px solid white;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:#31571f;font-weight:900}.save-note{font-size:12px;color:#826c8e;text-align:center;margin:26px 0 3px}.gallery-section,.puzzle-stage{scroll-margin-top:16px}@media(min-width:1100px){.board-wrap{max-height:490px}}@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr) 200px;gap:18px}.puzzle-stage{padding:20px}.intro{align-items:start}.gallery-link{font-size:12px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-heading{display:block}.gallery-heading>p{margin-top:9px}}@media(max-width:650px){main{padding:20px 14px}.intro{display:block;margin-bottom:18px}.intro h1{font-size:27px;max-width:340px}.intro>div>p:last-child{font-size:14px}.gallery-link{display:inline-block;margin-top:4px}.puzzle-stage{padding:17px 13px;border-radius:22px}.scene-heading{align-items:start;gap:8px}.scene-heading h2{font-size:24px}.scene-heading .eyebrow{font-size:8px}.collection-count{font-size:10px;padding:6px 8px}.level-bar{display:block;margin-bottom:19px}.level-bar>span{display:block;font-size:12px;margin-bottom:8px}.level-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.level-buttons button{padding:5px;font-size:21px;min-height:46px}.level-buttons button span{display:block;font-size:10px;margin:0;line-height:1}.game-layout{grid-template-columns:1fr;gap:10px}.board-wrap{border-radius:13px}.helper{display:grid;grid-template-columns:114px minmax(0,1fr);gap:10px 14px}.helper figure{grid-row:1/3;align-self:start}.helper figcaption{font-size:10px}.how-to{font-size:13px;margin:0;align-self:start}.progress-label{font-size:10px;gap:6px}.progress-label strong{font-size:17px}progress{margin-bottom:0}.game-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}.game-actions .text-button{grid-column:1/-1}.reset-prompt{grid-column:1/-1}.status{font-size:13px;min-height:47px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}.scene-card{border-radius:13px;padding:3px 3px 9px}.scene-card img{border-radius:8px}.scene-card .scene-label{font-size:11px;display:block;padding:6px 3px 0}.scene-card .scene-label small{display:block;margin-bottom:2px}.gallery-heading h2{font-size:27px}.gallery-heading .eyebrow{font-size:8px}.start-panel{padding:25px 10px 17px}.primary{font-size:15px;padding:10px 16px}.tile.is-selected{box-shadow:inset 0 0 0 4px #c3e867}.tile.is-correct:after{width:18px;height:18px;font-size:12px;right:4px;bottom:4px}.tile .tile-number{font-size:11px;min-width:20px;left:3px;top:3px}.scene-card .completed{width:22px;height:22px;font-size:12px;right:7px;top:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.win-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.win-actions button{min-height:3rem;border:0;border-radius:.8rem;font-weight:900}.win-actions>button:first-child{background:#eee7f6;color:#56327d}@media(max-width:440px){.win-actions{grid-template-columns:1fr}}
