:root,html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--pp-bg:#f4f4f5;--pp-surface:#fff;--pp-surface-raised:#fafafa;--pp-text:#0a0a0b;--pp-text-muted:#5c5c66;--pp-border:#0a0a0b1f;--pp-overlay:#0a0a0b0f;--pp-button-fg:#fff;--pp-button-bg:#0a0a0b;--pp-hero-caption:#3f3f46;--pp-shadow:0 12px 32px #0a0a0b14;--pp-shadow-soft:0 4px 16px #0a0a0b0f;--pp-game-match:#ff5a00;--pp-game-photo-puzzle:#7c5cff;--pp-game-sliding:#00b8a9;--pp-game-rotate:#ffb000;--pp-game-missing:#f43f5e;--pp-radius-sm:12px;--pp-radius-md:18px;--pp-radius-lg:28px;--pp-radius-pill:999px;--pp-space-xs:6px;--pp-space-sm:10px;--pp-space-md:16px;--pp-space-lg:24px;--pp-space-xl:32px;--pp-space-xxl:48px;--pp-ease-out:cubic-bezier(.2,.8,.2,1);--pp-motion-fast:.16s;--pp-motion-normal:.26s;--pp-motion-slow:.42s;--pp-safe-top:env(safe-area-inset-top,0px);--pp-safe-right:env(safe-area-inset-right,0px);--pp-safe-bottom:env(safe-area-inset-bottom,0px);--pp-safe-left:env(safe-area-inset-left,0px);--pp-content-max:1180px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--pp-bg:#050505;--pp-surface:#0d0d0f;--pp-surface-raised:#151519;--pp-text:#fff;--pp-text-muted:#b8b8c0;--pp-border:#ffffff24;--pp-overlay:#0000008a;--pp-button-fg:#060606;--pp-button-bg:#fff;--pp-hero-caption:#ffffffdb;--pp-shadow:0 12px 32px #00000073;--pp-shadow-soft:0 4px 16px #00000047;--pp-game-match:#ff5a00;--pp-game-photo-puzzle:#7c5cff;--pp-game-sliding:#00b8a9;--pp-game-rotate:#ffb000;--pp-game-missing:#f43f5e}*{box-sizing:border-box}html,body{background:var(--pp-bg);min-height:100%;color:var(--pp-text);margin:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.pp-app{background:var(--pp-bg);min-height:100dvh;color:var(--pp-text)}.pp-swipe-deck{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;height:100dvh;min-height:100dvh;position:relative;overflow:hidden}.pp-swipe-deck.is-dragging{cursor:grabbing}.pp-swipe-track{will-change:transform;width:100%;height:100%;display:flex}.pp-swipe-page{flex:0 0 100%;min-width:0;height:100%;min-height:100dvh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pp-game-slide{--game-accent:var(--pp-game-match);isolation:isolate;background:radial-gradient(circle at 62% 40%, color-mix(in srgb, var(--game-accent) 16%, transparent), transparent 40%), linear-gradient(180deg, var(--pp-bg) 0%, color-mix(in srgb, var(--pp-bg) 92%, var(--pp-surface)) 55%, var(--pp-bg) 100%);min-height:100dvh;position:relative;overflow:hidden}.pp-game-slide[data-game=match]{--game-accent:var(--pp-game-match)}.pp-game-slide[data-game=photo-puzzle]{--game-accent:var(--pp-game-photo-puzzle)}.pp-game-slide[data-game=sliding]{--game-accent:var(--pp-game-sliding)}.pp-game-slide[data-game=rotate]{--game-accent:var(--pp-game-rotate)}.pp-game-slide[data-game=missing]{--game-accent:var(--pp-game-missing)}.pp-slide-inner{width:min(100%, var(--pp-content-max));min-height:100dvh;padding:max(18px, var(--pp-safe-top)) max(18px, var(--pp-safe-right)) max(20px, var(--pp-safe-bottom)) max(18px, var(--pp-safe-left));grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(12px,1.8vh,20px);margin-inline:auto;display:grid}.pp-slide-copy{text-align:center;flex-direction:column;align-items:center;display:flex}.pp-eyebrow{color:var(--game-accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:clamp(11px,1.4vh + .2vw,13px);font-weight:800}.pp-display{letter-spacing:-.04em;text-align:center;max-width:14ch;margin:0;font-size:clamp(28px,5.2vw,44px);font-weight:900;line-height:1.02}.pp-display .accent{color:var(--game-accent)}.pp-description{color:var(--pp-text-muted);text-align:center;max-width:34rem;margin:10px 0 0;font-size:clamp(14px,1.6vw,17px);line-height:1.4}.pp-hero-stage{align-items:center;min-height:0;display:grid}.pp-hero-frame{aspect-ratio:16/10;border-radius:var(--pp-radius-lg);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--game-accent) 14%, var(--pp-surface)), var(--pp-surface-raised) 72%);border:1px solid var(--pp-border);width:100%;min-height:260px;max-height:48dvh;box-shadow:var(--pp-shadow);position:relative;overflow:hidden}.pp-hero-play{appearance:none;width:100%;color:inherit;cursor:pointer;border-radius:var(--pp-radius-lg);text-align:left;transition:transform var(--pp-motion-fast) var(--pp-ease-out);background:0 0;border:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.pp-hero-play:active{transform:scale(.985)}.pp-hero-play:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent) 70%, var(--pp-text));outline-offset:3px}.pp-hero-frame.pp-hero-clear{place-items:center;padding:clamp(12px,2.2vh,20px);display:grid;overflow:hidden}.pp-hero-frame.pp-hero-clear:after{display:none}.pp-hero-caption{text-align:center;color:var(--pp-hero-caption);letter-spacing:.01em;margin:10px 0 0;font-size:clamp(13px,1.8vw,15px);font-weight:700}.pp-selector-chrome{top:max(12px, var(--pp-safe-top));right:max(12px, var(--pp-safe-right));z-index:30;position:fixed}.pp-theme-toggle{appearance:none;border-radius:var(--pp-radius-pill);border:1px solid var(--pp-border);background:color-mix(in srgb, var(--pp-surface) 88%, transparent);min-height:42px;color:var(--pp-text);cursor:pointer;box-shadow:var(--pp-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.pp-theme-toggle-icon{opacity:.9;font-size:15px;line-height:1}.pp-theme-toggle:focus-visible{outline:2px solid var(--game-accent,var(--pp-text));outline-offset:2px}.pp-theme-toggle:hover{border-color:color-mix(in srgb, var(--pp-text) 28%, transparent)}.pp-game-header-end{justify-content:flex-end;justify-self:end;display:flex}.pp-hero-match{width:min(100%,520px)}.pp-hero-match-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.6vw,14px);display:grid}.pp-hero-face-down,.pp-hero-face-up{aspect-ratio:3/4;border-radius:14px;overflow:hidden;box-shadow:0 14px 28px #0006}.pp-hero-face-down{background:linear-gradient(145deg, color-mix(in srgb, var(--game-accent) 22%, var(--pp-surface-raised)), var(--pp-surface-raised));color:var(--game-accent);border:1px solid var(--pp-border);place-items:center;font-size:clamp(1.4rem,4vw,2rem);font-weight:900;display:grid}.pp-hero-face-up img{object-fit:cover;width:100%;height:100%;display:block}.pp-hero-face-up.is-pair{outline:3px solid color-mix(in srgb, var(--game-accent) 80%, #fff);outline-offset:0}.pp-hero-jigsaw,.pp-hero-sliding,.pp-hero-rotate,.pp-hero-missing{justify-items:center;width:min(100%,420px);max-width:100%;display:grid;overflow:hidden}.pp-hero-jigsaw-board,.pp-hero-slide-grid,.pp-hero-rotate-grid,.pp-hero-missing-board{aspect-ratio:1;background:color-mix(in srgb, var(--pp-text) 8%, var(--pp-surface));width:min(100%,260px);max-width:100%;box-shadow:var(--pp-shadow);border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid;overflow:hidden}.pp-hero-jig-cell,.pp-hero-slide-tile,.pp-hero-miss-cell{background-repeat:no-repeat;border-radius:6px;min-width:0;min-height:0}.pp-hero-jig-cell.is-filled,.pp-hero-slide-tile:not(.is-empty),.pp-hero-miss-cell:not(.is-hole){background-color:#222}.pp-hero-jig-cell.is-empty,.pp-hero-slide-tile.is-empty,.pp-hero-miss-cell.is-hole{background:#00000073;box-shadow:inset 0 0 0 1px #ffffff1f}.pp-hero-jigsaw-tray,.pp-hero-missing-tray{justify-content:center;gap:10px;margin-top:12px;display:flex}.pp-hero-jig-loose,.pp-hero-miss-loose{aspect-ratio:1;outline:2px solid color-mix(in srgb, var(--game-accent) 55%, transparent);background-repeat:no-repeat;border-radius:8px;width:clamp(42px,10vw,56px);box-shadow:0 10px 20px #00000059}.pp-hero-jig-cell.is-filled,.pp-hero-jig-loose{border-radius:8px}.pp-hero-rotate-cell{background:#111;border-radius:6px;min-width:0;min-height:0;overflow:hidden}.pp-hero-rotate-tile{background-repeat:no-repeat;width:100%;height:100%;display:block}.pp-actions{justify-items:center;gap:14px;display:grid}.pp-primary-button{border-radius:var(--pp-radius-pill);background:var(--pp-button-bg);width:min(100%,430px);min-height:62px;color:var(--pp-button-fg);cursor:pointer;box-shadow:var(--pp-shadow-soft);transition:transform var(--pp-motion-fast) var(--pp-ease-out), opacity var(--pp-motion-fast) var(--pp-ease-out), background var(--pp-motion-fast) var(--pp-ease-out);border:0;padding:16px 28px;font-size:18px;font-weight:900}.pp-primary-button:active{transform:scale(.985)}.pp-secondary-button{border-radius:var(--pp-radius-pill);border:1px solid var(--pp-border);min-height:48px;color:var(--pp-text);background:color-mix(in srgb, var(--pp-surface) 80%, transparent);cursor:pointer;transition:background var(--pp-motion-fast) var(--pp-ease-out);padding:10px 18px;font-weight:700}.pp-secondary-button:hover{background:var(--pp-surface-raised)}.pp-dots{justify-content:center;align-items:center;gap:8px;display:flex}.pp-dot{background:color-mix(in srgb, var(--pp-text) 32%, transparent);width:7px;height:7px;transition:all var(--pp-motion-normal) var(--pp-ease-out);border-radius:99px}.pp-dot[aria-current=true]{background:var(--pp-text);width:32px}.pp-game-shell{height:100dvh;min-height:100dvh;padding:max(16px, var(--pp-safe-top)) max(14px, var(--pp-safe-right)) max(16px, var(--pp-safe-bottom)) max(14px, var(--pp-safe-left));background:var(--pp-bg);--game-accent:var(--pp-game-match);flex-direction:column;display:flex;overflow:hidden}.pp-game-shell[data-game=match]{--game-accent:var(--pp-game-match)}.pp-game-shell[data-game=photo-puzzle]{--game-accent:var(--pp-game-photo-puzzle)}.pp-game-shell[data-game=sliding]{--game-accent:var(--pp-game-sliding)}.pp-game-shell[data-game=rotate]{--game-accent:var(--pp-game-rotate)}.pp-game-shell[data-game=missing]{--game-accent:var(--pp-game-missing)}.pp-game-header{flex:none;grid-template-columns:minmax(7.5rem,auto) minmax(0,1fr) minmax(7.5rem,auto);align-items:center;gap:12px;margin-bottom:8px;display:grid}.pp-game-title{letter-spacing:-.03em;text-align:center;color:var(--pp-text);margin:0;font-size:clamp(18px,2.8vw,26px);font-weight:900;line-height:1.1}.pp-back-button{white-space:nowrap;justify-self:start;min-height:44px;padding-inline:14px;font-size:14px}.pp-game-header-spacer{visibility:hidden;justify-self:end;width:1px;height:1px}.pp-game-status{text-align:center;flex:none;margin-bottom:8px}.pp-game-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.pp-game-body>.game{width:100%;height:100%}.pp-dot-button{appearance:none;cursor:pointer;background:0 0;border:0;place-items:center;min-width:28px;min-height:28px;margin:0;padding:8px 4px;display:grid}.pp-dot-button:focus-visible{outline:2px solid var(--pp-text);outline-offset:2px;border-radius:999px}.pp-desktop-nav{display:none}@media (min-width:1100px) and (orientation:landscape){.pp-desktop-nav{display:block}.pp-nav-arrow{z-index:20;border:1px solid var(--pp-border);background:color-mix(in srgb, var(--pp-surface) 88%, transparent);width:48px;height:48px;color:var(--pp-text);cursor:pointer;box-shadow:var(--pp-shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;font-size:28px;line-height:1;position:fixed;top:50%;transform:translateY(-50%)}.pp-nav-arrow-prev{left:max(16px, var(--pp-safe-left))}.pp-nav-arrow-next{right:max(16px, var(--pp-safe-right))}.pp-nav-arrow:focus-visible{outline:2px solid var(--pp-text);outline-offset:2px}}.pp-primary-button:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent) 70%, #fff);outline-offset:3px}@media (orientation:landscape) and (max-height:700px){.pp-slide-inner{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(220px,.75fr) minmax(0,1.4fr);align-items:center;gap:clamp(10px,1.6vh,18px)}.pp-slide-copy{text-align:center;grid-area:1/1;align-items:center}.pp-hero-stage{grid-area:1/2}.pp-actions{grid-area:2/1/auto/-1;justify-content:center;align-items:center;display:flex}.pp-display{font-size:clamp(24px,4.2vw,34px)}.pp-description{margin-top:8px;font-size:14px}.pp-hero-frame{min-height:200px;max-height:68dvh}}@media (max-width:520px){.pp-slide-inner{gap:clamp(12px,1.8vh,18px);padding-inline:16px}.pp-display{font-size:clamp(26px,8vw,36px)}.pp-primary-button{width:100%}.pp-hero-frame{min-height:210px;max-height:42dvh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--pp-bg,#f4f4f5);--ink:var(--pp-text,#0a0a0b);--muted:var(--pp-text-muted,#5c5c66);--card-back:#1c1c22;--card-back-text:#e8e8ef;--matched:#16a34a;--matched-ring:#86efac;--button:var(--pp-button-bg,#0a0a0b);--button-hover:color-mix(in srgb, var(--pp-button-bg,#0a0a0b) 88%, #fff);--shadow:var(--pp-shadow,0 12px 32px #0a0a0b14);--radius:clamp(8px, 1.2vmin, 14px);--page-pad-x:clamp(.5rem, 1.8vw, 1rem);--page-pad-y:clamp(.35rem, 1.2vh, .75rem);--grid-gap:clamp(.28rem, 1vmin, .7rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--pp-bg,#050505);color:var(--pp-text,#fff);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif}.page{background:var(--pp-bg,#050505);flex-direction:column;width:100%;max-width:100dvw;height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}.game{flex-direction:column;flex:auto;gap:clamp(.25rem,.9vh,.65rem);width:min(1100px,100%);min-width:0;min-height:0;margin:0 auto;display:flex;overflow:hidden}.game.puzzle-play{overflow:visible}.game-top{text-align:center;flex:none}.game-top-row{justify-content:flex-start;margin-bottom:.15rem;display:flex}.game-top h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.15rem,2.8vh + .6vw,2.1rem);line-height:1.1}.game-instructions{color:var(--muted);margin:.2rem 0 0;font-size:clamp(.75rem,1.4vh + .25vw,.95rem)}.game-stats{margin:.25rem 0 0;font-size:clamp(.75rem,1.5vh + .2vw,1rem);font-weight:600}.game-complete{border-radius:var(--pp-radius-pill,999px);background:color-mix(in srgb, var(--game-accent,#16a34a) 14%, var(--pp-surface,#fff));max-width:min(36rem,100%);color:var(--pp-text,#0a0a0b);border:1px solid color-mix(in srgb, var(--game-accent,#16a34a) 40%, transparent);margin:.35rem auto 0;padding:clamp(.35rem,.9vh,.6rem) clamp(.75rem,1.6vw,1.1rem);font-size:clamp(.75rem,1.4vh + .25vw,.95rem);font-weight:700}.game-actions{flex-wrap:wrap;flex:none;justify-content:center;gap:.5rem;display:flex}.text-button{appearance:none;color:var(--pp-text-muted,var(--muted));font:inherit;cursor:pointer;background:0 0;border:0;min-height:36px;padding:.35rem .2rem;font-size:clamp(.75rem,1.3vh + .2vw,.9rem);font-weight:650}.text-button:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent,#fff) 55%, transparent);outline-offset:2px;border-radius:6px}.new-game-button{appearance:none;border-radius:var(--pp-radius-pill,999px);background:var(--pp-button-bg,var(--button));color:var(--pp-button-fg,#fff);font:inherit;cursor:pointer;min-height:clamp(40px,5.5vh,48px);box-shadow:var(--pp-shadow-soft,var(--shadow));transition:transform var(--pp-motion-fast,.16s) var(--pp-ease-out,ease), background var(--pp-motion-fast,.16s) var(--pp-ease-out,ease);border:0;padding:clamp(.45rem,1.1vh,.7rem) clamp(1rem,2vw,1.35rem);font-size:clamp(.8rem,1.4vh + .25vw,.95rem);font-weight:800}.new-game-button:hover{background:var(--button-hover)}.new-game-button:active{transform:scale(.985)}.new-game-button:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent,var(--pp-text)) 55%, transparent);outline-offset:2px}.secondary-button{background:var(--pp-surface,#fff);color:var(--pp-text,#0a0a0b);box-shadow:inset 0 0 0 1px var(--pp-border,#0a0a0b1f)}.secondary-button:hover{background:var(--pp-surface-raised,#fafafa)}.menu{flex-direction:column;flex:auto;justify-content:flex-start;gap:clamp(.65rem,2vh,1.25rem);width:min(900px,100%);min-height:0;margin:0 auto;padding-bottom:.25rem;display:flex;overflow:auto}.menu-header{text-align:center;flex:none;padding-top:clamp(.25rem,1.5vh,.75rem)}.menu-header h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,3.5vh + .4vw,2.4rem)}.menu-cards{grid-template-columns:1fr;gap:clamp(.55rem,1.5vh,.9rem);display:grid}@media (min-width:700px) and (orientation:landscape){.menu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.menu-card{appearance:none;text-align:left;cursor:pointer;border-radius:calc(var(--radius) + 4px);min-height:clamp(4.4rem,11vh,6.25rem);box-shadow:var(--shadow);background:#fff;border:0;flex-direction:row;align-items:center;gap:clamp(.7rem,2vw,1rem);padding:clamp(.85rem,2.4vh,1.25rem) clamp(.9rem,2.5vw,1.25rem);display:flex}.menu-card:hover{outline:3px solid color-mix(in srgb, var(--button) 35%, white)}.menu-card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.menu-card-icon{color:#1d4ed8;background:linear-gradient(145deg,#dbeafe,#eff6ff);border-radius:14px;flex:none;place-items:center;width:clamp(2.4rem,6vh,3.2rem);height:clamp(2.4rem,6vh,3.2rem);font-size:clamp(1.15rem,2.8vh,1.55rem);font-weight:700;display:grid}.menu-card-text{flex-direction:column;gap:.25rem;min-width:0;display:flex}.menu-card-title{letter-spacing:-.02em;font-size:clamp(1.05rem,2.2vh + .35vw,1.45rem);font-weight:700}.menu-card-desc{color:var(--muted);font-size:clamp(.8rem,1.4vh + .2vw,.98rem)}.difficulty-select{justify-content:center;width:min(640px,100%)}.difficulty-options{flex:none;gap:clamp(.65rem,1.8vh,1rem);display:grid}.difficulty-option{appearance:none;text-align:left;cursor:pointer;border-radius:var(--pp-radius-md,18px);background:var(--pp-surface,#fff);min-height:clamp(4.5rem,12vh,6rem);color:var(--pp-text,#0a0a0b);box-shadow:var(--pp-shadow-soft,var(--shadow));border:0;border:1px solid var(--pp-border,#0a0a0b1f);transition:transform var(--pp-motion-fast,.16s) var(--pp-ease-out,ease), border-color var(--pp-motion-fast,.16s) var(--pp-ease-out,ease);flex-direction:column;justify-content:center;gap:.3rem;padding:clamp(1rem,3vh,1.4rem) clamp(1rem,2.5vw,1.35rem);display:flex}.difficulty-option:hover{border-color:color-mix(in srgb, var(--game-accent,var(--pp-text)) 55%, transparent)}.difficulty-option:active{transform:scale(.99)}.difficulty-option:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent,var(--pp-text)) 70%, transparent);outline-offset:2px}.difficulty-option-title{letter-spacing:-.02em;font-size:clamp(1.15rem,2.5vh + .3vw,1.55rem);font-weight:800}.difficulty-option-detail{color:var(--pp-text-muted,var(--muted));font-size:clamp(.85rem,1.5vh + .2vw,1rem)}.tile-game{width:min(900px,100%)}.tile-board-wrap{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.tile-board{aspect-ratio:1;background:color-mix(in srgb, var(--pp-text-muted) 28%, var(--pp-surface));border-radius:var(--pp-radius-md,18px);width:min(100%,70dvh,560px);box-shadow:var(--pp-shadow-soft,var(--shadow));gap:2px;display:grid;overflow:hidden}.tile-slot{appearance:none;background:color-mix(in srgb, var(--pp-surface-raised) 85%, var(--pp-text-muted));border:0;min-width:0;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.tile-slot.has-image{cursor:pointer;background:#94a3b8}.tile-slot.is-empty{background:#e2e8f0}.tile-slot.is-movable{cursor:pointer}.tile-slot:disabled{cursor:default}.tile-slot:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #93c5fd}.rotate-slot{overflow:hidden}.rotate-tile{transform-origin:50%;transition:transform .16s}.puzzle-slot.is-missing-slot{background:#cbd5e1;box-shadow:inset 0 0 0 1px #94a3b8}.puzzle-slot.is-fixed{cursor:default}.board{flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.card-grid{gap:var(--grid-gap);flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:grid}@media (orientation:portrait){.card-grid{grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr))}}@media (orientation:landscape){.card-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr))}.game-top h1,.menu-header h1{font-size:clamp(1rem,3.2vh,1.7rem)}.game-instructions,.game-stats,.game-complete{font-size:clamp(.7rem,2.2vh,.9rem)}}@media (orientation:landscape) and (max-height:500px){:root{--page-pad-y:.25rem;--page-pad-x:.45rem;--grid-gap:clamp(.18rem, .8vmin, .4rem)}.game-instructions{display:none}.new-game-button{min-height:34px;padding:.3rem .85rem;font-size:.8rem}}.card{appearance:none;border-radius:var(--radius);cursor:pointer;width:100%;min-width:0;height:100%;min-height:0;box-shadow:var(--shadow);background:var(--card-back);border:0;padding:0;position:relative;overflow:hidden}.card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.card:disabled{cursor:default}.card-back{width:100%;height:100%;color:var(--card-back-text);background:linear-gradient(145deg, color-mix(in srgb, var(--game-accent,#ff5a00) 35%, #2a2a36) 0%, var(--card-back) 55%, #121218 100%);place-items:center;font-size:clamp(1rem,4vmin,2.2rem);font-weight:700;display:grid}.card img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block}.card.is-matched{box-shadow:var(--shadow), inset 0 0 0 3px var(--matched-ring), inset 0 0 0 5px var(--matched)}.puzzle-select{width:min(900px,100%)}.photo-picker{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.55rem,1.4vmin,.9rem);min-height:0;padding-bottom:.25rem;display:grid;overflow:auto}@media (min-width:640px){.photo-picker{grid-template-columns:repeat(5,minmax(0,1fr))}}.photo-picker-item{appearance:none;border-radius:var(--pp-radius-md,var(--radius));background:var(--pp-surface,#fff);color:var(--pp-text,#0a0a0b);box-shadow:var(--pp-shadow-soft,var(--shadow));border:0;border:1px solid var(--pp-border,#0a0a0b1f);cursor:pointer;min-height:0;transition:transform var(--pp-motion-fast,.16s) var(--pp-ease-out,ease);flex-direction:column;padding:0;display:flex;overflow:hidden}.photo-picker-item:hover{border-color:color-mix(in srgb, var(--game-accent,var(--pp-text)) 45%, transparent)}.photo-picker-item:active{transform:scale(.985)}.photo-picker-item:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.photo-picker-item img{aspect-ratio:1;object-fit:cover;pointer-events:none;width:100%;display:block}.photo-picker-item span{text-align:center;padding:.45rem .5rem;font-size:clamp(.75rem,1.3vh + .2vw,.9rem);font-weight:600}.puzzle-play{width:min(1200px,100%);overflow:visible}.puzzle-layout{flex-direction:column;flex:auto;gap:clamp(.45rem,1.2vh,.8rem);min-height:0;display:flex;overflow:hidden}.game.puzzle-play .puzzle-layout{overflow:visible}.puzzle-main{flex-direction:column;flex:auto;align-items:center;gap:.45rem;min-height:0;display:flex;overflow:visible}.puzzle-reference{flex-direction:column;flex:none;align-items:center;gap:.2rem;display:flex}.puzzle-reference-label,.puzzle-tray-label{color:var(--muted);margin:0;font-size:clamp(.7rem,1.2vh + .15vw,.85rem);font-weight:650}.puzzle-reference img{object-fit:cover;width:clamp(52px,10vmin,88px);height:clamp(52px,10vmin,88px);box-shadow:var(--shadow);border-radius:8px;display:block}.puzzle-board{aspect-ratio:1;width:min(100%,62dvh,520px);box-shadow:var(--shadow);background:#cbd5e1;border-radius:10px;flex:0 auto;gap:2px;min-height:0;display:grid;overflow:hidden}.puzzle-board.jigsaw-board{background:color-mix(in srgb, var(--pp-text-muted,#94a3b8) 40%, var(--pp-surface,#fff));border-radius:12px;gap:0;padding:clamp(.55rem,2.2vmin,1rem);overflow:visible}.puzzle-slot{appearance:none;background:color-mix(in srgb, var(--pp-surface-raised,#e2e8f0) 90%, #94a3b8);cursor:pointer;border:0;min-width:0;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.puzzle-slot.jigsaw-slot{background:0 0;overflow:visible}.puzzle-slot:focus-visible{outline:2px solid color-mix(in srgb, var(--game-accent,#2563eb) 70%, #93c5fd);outline-offset:-2px;z-index:1}.puzzle-slot.is-selected{outline:3px solid color-mix(in srgb, var(--game-accent,#2563eb) 85%, #fff);outline-offset:-3px;z-index:2}.puzzle-slot.jigsaw-slot.is-selected{z-index:6;outline:none}.puzzle-slot.jigsaw-slot.is-selected .jigsaw-svg{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--game-accent,#2563eb) 90%, #fff)) drop-shadow(0 0 6px color-mix(in srgb, var(--game-accent,#2563eb) 45%, transparent))}.puzzle-tile{background-repeat:no-repeat;width:100%;height:100%;display:block}.jigsaw-svg{pointer-events:none;width:136%;height:136%;display:block;position:absolute;top:-18%;left:-18%;overflow:visible}.jigsaw-outline{stroke:color-mix(in srgb, var(--pp-text,#0f172a) 28%, transparent)}.puzzle-tray-wrap{flex-direction:column;flex:0 auto;gap:.3rem;min-height:0;max-height:34%;display:flex}.puzzle-tray{flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(.28rem,1vmin,.55rem);min-height:0;padding:.15rem;display:grid;overflow:auto}.puzzle-tray.jigsaw-tray{gap:clamp(.55rem,1.6vmin,.9rem);padding:clamp(.45rem,1.2vmin,.7rem);overflow:auto}.puzzle-tray-piece{appearance:none;aspect-ratio:1;cursor:pointer;background:var(--pp-surface-raised,#e2e8f0);box-shadow:var(--shadow);border:0;border-radius:8px;min-width:0;padding:0;position:relative;overflow:hidden}.puzzle-tray-piece.jigsaw-tray-piece{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.puzzle-tray-piece.is-selected{outline:3px solid color-mix(in srgb, var(--game-accent,#2563eb) 85%, #fff);outline-offset:1px}.puzzle-tray-piece.jigsaw-tray-piece.is-selected{outline:none}.puzzle-tray-piece.jigsaw-tray-piece.is-selected .jigsaw-svg{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--game-accent,#2563eb) 90%, #fff)) drop-shadow(0 0 6px color-mix(in srgb, var(--game-accent,#2563eb) 45%, transparent))}.puzzle-tray-piece:focus-visible{outline:3px solid color-mix(in srgb, var(--game-accent,#2563eb) 70%, #93c5fd);outline-offset:1px}.puzzle-actions{padding-top:.1rem}@media (orientation:landscape) and (min-width:800px){.puzzle-layout{flex-direction:row;align-items:stretch}.puzzle-main{flex:58%;justify-content:center}.puzzle-board{width:min(100%,70dvh,560px)}.puzzle-tray-wrap{flex:42%;max-height:none}.puzzle-tray{grid-template-columns:repeat(5,minmax(0,1fr));align-content:start}}@media (orientation:landscape) and (max-height:500px){.puzzle-reference img{width:44px;height:44px}.puzzle-tray-wrap{max-height:40%}}
