.puzzle-page{--puzzle-color:#bd9bff;--puzzle-tint:#483163;min-height:100vh;background:radial-gradient(ellipse at 5% 13%,color-mix(in srgb,var(--puzzle-tint) 36%,transparent),transparent 48%),var(--background)}.puzzle-footer,.puzzle-main,.puzzle-topbar{width:min(1220px,calc(100% - 80px));margin-inline:auto}.puzzle-topbar{min-height:90px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:20px}.puzzle-wordmark-label{color:var(--muted-foreground);font:11px var(--font-mono);letter-spacing:.15em;padding-left:20px;border-left:1px solid var(--border)}.puzzle-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:13px;min-height:44px}.puzzle-back:hover{color:var(--foreground)}.puzzle-game-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}.puzzle-main{padding-block:45px 54px}.puzzle-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}.puzzle-intro .eyebrow{color:var(--puzzle-color);font-size:11px;letter-spacing:.12em}.puzzle-intro h1{font-size:clamp(36px,4.2vw,58px);line-height:1.15;letter-spacing:-.05em;font-weight:600;margin:16px 0 12px}.puzzle-intro h1 span{color:var(--puzzle-color)}.puzzle-intro p{margin:0;color:var(--muted-foreground);font-size:15px;line-height:1.7}.puzzle-local-badge{flex-shrink:0;display:flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:11px;margin-bottom:6px}.puzzle-local-badge>span{width:6px;height:6px;border-radius:50%;background:#83dbb2;box-shadow:0 0 12px #83dbb22c}.puzzle-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr);align-items:start;gap:24px}.puzzle-arena,.puzzle-panel{min-width:0;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,#ffffff06,#ffffff02);box-shadow:inset 0 1px 0 #ffffff06}.puzzle-arena{padding:26px}.puzzle-arena-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.puzzle-overline{font:10px var(--font-mono);color:var(--puzzle-color);letter-spacing:.13em}.puzzle-arena h2{font-size:26px;line-height:1.25;letter-spacing:-.04em;margin:7px 0 0;font-weight:600}.puzzle-state{border:1px solid var(--border);background:#ffffff03;border-radius:100px;padding:7px 10px;color:var(--muted-foreground);font-size:10px;text-align:center}.puzzle-state.is-complete{border-color:#83dbb255;color:#83dbb2;background:#83dbb210}.puzzle-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:17px 0;margin:20px 0;border-block:1px solid var(--border)}.puzzle-stats>div{padding-left:20px;border-left:1px solid var(--border)}.puzzle-stats>div:first-child{border:0;padding-left:0}.puzzle-stats dt{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted-foreground)}.puzzle-stats dd{margin:5px 0 0;font:25px var(--font-mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.puzzle-stats>div:last-child dd{color:var(--puzzle-color)}.puzzle-board-wrap{position:relative;overflow:hidden;padding:5px;border:1px solid color-mix(in srgb,var(--puzzle-color) 25%,transparent);border-radius:14px;background:#08091290;box-shadow:0 18px 40px -22px #0009}.puzzle-board{position:relative;width:100%;aspect-ratio:1;border-radius:8px;outline-offset:-3px!important}.puzzle-empty,.puzzle-tile{position:absolute;border-radius:6px;background-repeat:no-repeat}.puzzle-tile{border:1px solid #ffffff20;padding:0;overflow:hidden;cursor:pointer;transition:left .16s ease,top .16s ease,border-color .15s,box-shadow .15s}.puzzle-tile.can-slide:not(:disabled){border-color:color-mix(in srgb,var(--puzzle-color) 65%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--puzzle-color) 15%,transparent)}.puzzle-tile.can-slide:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--puzzle-color),0 0 16px #ffffff10}.puzzle-tile:focus-visible{z-index:2;outline:3px solid var(--puzzle-color);outline-offset:-3px}.puzzle-tile:disabled{cursor:default}.puzzle-tile-number{position:absolute;top:6px;left:6px;min-width:23px;height:23px;display:grid;place-items:center;border-radius:5px;background:#0a0d18da;color:#f5f3ff;border:1px solid #ffffff22;font:11px var(--font-mono);box-shadow:0 2px 8px #0004}.puzzle-empty{display:grid;place-items:center;border:1px dashed #ffffff1a;color:#aaa0bd66}.puzzle-empty>span{display:grid;justify-items:center;gap:7px}.puzzle-empty small{font:8px var(--font-mono);letter-spacing:.13em}.puzzle-empty.puzzle-last-piece{border-style:solid;border-color:#ffffff20}.puzzle-board.is-won .puzzle-tile{border-color:#83dbb238}.puzzle-board.is-won .puzzle-tile-number{opacity:0}.puzzle-pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;text-align:center;border-radius:inherit;background:#10101dd9;backdrop-filter:blur(5px)}.puzzle-pause-icon{width:65px;height:65px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--puzzle-color) 40%,transparent);border-radius:19px;color:var(--puzzle-color);background:color-mix(in srgb,var(--puzzle-color) 10%,transparent);margin-bottom:19px;box-shadow:0 0 50px color-mix(in srgb,var(--puzzle-tint) 40%,transparent)}.puzzle-pause-overlay h3{font-size:clamp(17px,2vw,25px);line-height:1.3;letter-spacing:-.04em;font-weight:600;margin:0 0 9px;color:#f2f0fa}.puzzle-pause-overlay p{color:#b1adc3;font-size:13px;margin:0 0 24px}.puzzle-pause-overlay small{color:#a39bb7;font-size:11px;margin-top:17px}.puzzle-primary{min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:12px 22px;border:1px solid var(--puzzle-color);border-radius:10px;color:#171126;background:var(--puzzle-color);font-size:14px;font-weight:650}.puzzle-primary:hover{filter:brightness(1.1)}.puzzle-board-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--muted-foreground)}.puzzle-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:19px 0 15px}.puzzle-controls button{min-height:44px;padding:8px 5px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;border:1px solid var(--border);border-radius:8px;color:var(--muted-foreground);background:#ffffff03}.puzzle-controls button:hover:not(:disabled),.puzzle-controls button[aria-expanded=true],.puzzle-controls button[aria-pressed=true]{background:color-mix(in srgb,var(--puzzle-color) 10%,transparent);color:var(--puzzle-color);border-color:color-mix(in srgb,var(--puzzle-color) 32%,transparent)}.puzzle-controls button:disabled{opacity:.4}.puzzle-instructions{color:var(--muted-foreground);font-size:12px;line-height:1.8;margin:0}.puzzle-panel.puzzle-reference{position:sticky;top:24px;z-index:2;background:var(--background);border-color:color-mix(in srgb,var(--puzzle-color) 40%,transparent);box-shadow:0 14px 35px #0005}.puzzle-reference[hidden]{display:none}.puzzle-reference-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.puzzle-reference h2{font-size:20px;line-height:1.3;margin:5px 0 0}.puzzle-reference-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--border);border-radius:8px;color:var(--muted-foreground);background:#ffffff05}.puzzle-reference-close:hover{color:var(--puzzle-color);border-color:var(--puzzle-color)}.puzzle-reference img{display:block;width:min(100%,320px,calc(100dvh - 160px));height:auto;aspect-ratio:1;margin-inline:auto;border:1px solid var(--border);border-radius:10px}.puzzle-result{display:flex;align-items:center;gap:12px;padding:16px;margin-top:19px;border:1px solid #83dbb23d;border-radius:11px;color:#a6e7c5;background:#83dbb208}.puzzle-result strong{display:block;font-size:15px}.puzzle-result span{display:block;margin-top:5px;font-size:11px;color:var(--muted-foreground)}.puzzle-result button{display:flex;align-items:center;gap:5px;margin-left:auto;padding:5px;min-height:44px;font-size:12px;white-space:nowrap}.puzzle-sidebar{display:flex;flex-direction:column;gap:18px}.puzzle-panel{padding:23px}.puzzle-panel-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.puzzle-step{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--puzzle-color);font:10px var(--font-mono)}.puzzle-panel-heading h2{font-size:16px;letter-spacing:-.025em;font-weight:600;margin:0 0 6px;line-height:1.3}.puzzle-panel-heading p{font-size:12px;color:var(--muted-foreground);margin:0;line-height:1.5}.puzzle-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.puzzle-picker button{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;padding:8px 3px 10px;border:1px solid transparent;border-radius:10px;background:#ffffff04;color:var(--muted-foreground);transition:background .15s,border-color .15s}.puzzle-picker button:hover:not(:disabled){background:#ffffff09}.puzzle-picker button[aria-pressed=true]{background:color-mix(in srgb,var(--puzzle-color) 10%,transparent);border-color:color-mix(in srgb,var(--puzzle-color) 65%,transparent);color:var(--puzzle-color)}.puzzle-picker img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 5px 7px #0005)}.puzzle-picker button>span{font-size:10px;margin-top:6px}.puzzle-picker-check{position:absolute;top:4px;right:4px}.puzzle-difficulty{display:grid;grid-template-columns:1fr 1fr;gap:10px}.puzzle-difficulty button{display:flex;gap:11px;align-items:center;border:1px solid var(--border);border-radius:11px;background:#ffffff03;padding:14px 11px;text-align:left;color:var(--muted-foreground)}.puzzle-difficulty button[aria-pressed=true]{border-color:color-mix(in srgb,var(--puzzle-color) 60%,transparent);background:color-mix(in srgb,var(--puzzle-color) 8%,transparent);color:var(--puzzle-color)}.puzzle-difficulty strong{display:block;font-size:15px;font-weight:600}.puzzle-difficulty small{display:block;margin-top:4px;font-size:9px}.puzzle-difficulty button>svg{margin-left:auto}.puzzle-grid-icon{width:25px;height:25px;flex-shrink:0;display:grid;gap:2px}.puzzle-grid-icon i{display:block;background:currentColor;opacity:.7;border-radius:1px}.puzzle-grid-icon i:last-child{opacity:.1}.puzzle-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.puzzle-record-grid dt{font-size:10px;color:var(--muted-foreground)}.puzzle-record-grid dd{margin:7px 0 0;font:20px var(--font-mono);font-variant-numeric:tabular-nums}.puzzle-records h3{font-size:11px;color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;margin:25px 0 10px;font-weight:500}.puzzle-history{list-style:none;padding:0;margin:0}.puzzle-history li{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);font-size:10px;color:var(--muted-foreground)}.puzzle-history li>span:first-child{display:flex;gap:7px;align-items:center}.puzzle-history svg{color:var(--puzzle-color)}.puzzle-history strong{color:var(--foreground);font:12px var(--font-mono)}.puzzle-empty-record{display:flex;align-items:center;gap:12px;margin:20px 0 0;padding:17px 12px;background:#ffffff03;border-radius:10px;color:var(--puzzle-color)}.puzzle-empty-record p{margin:0;font-size:12px}.puzzle-empty-record p,.puzzle-storage-note{line-height:1.7;color:var(--muted-foreground)}.puzzle-storage-note{font-size:11px;margin:18px 0 0}.puzzle-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding-block:23px;font-size:10px;line-height:1.7;color:var(--muted-foreground)}.puzzle-footer a{text-decoration:underline;text-underline-offset:3px}.puzzle-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.puzzle-confirm{border-color:var(--border);background:var(--background);color:var(--foreground);border-radius:18px;padding:26px}.puzzle-confirm [data-slot=alert-dialog-description]{line-height:1.7}.puzzle-confirm [data-slot=alert-dialog-action],.puzzle-confirm [data-slot=alert-dialog-cancel]{min-height:44px}@media (max-width:1100px){.puzzle-footer,.puzzle-main,.puzzle-topbar{width:calc(100% - 48px)}.puzzle-layout{grid-template-columns:minmax(0,1.2fr) minmax(295px,.85fr);gap:18px}.puzzle-arena{padding:20px}.puzzle-panel{padding:18px}.puzzle-local-badge{display:none}.puzzle-difficulty button{gap:8px;padding:12px 9px}.puzzle-difficulty button>svg{display:none}.puzzle-controls{gap:5px}.puzzle-controls button{font-size:10px;gap:4px}.puzzle-controls svg{width:14px}}@media (max-width:820px){.puzzle-layout{grid-template-columns:minmax(0,1fr)}.puzzle-intro,.puzzle-layout{max-width:610px;margin-inline:auto}.puzzle-panel.puzzle-reference{position:fixed;top:calc(12px + env(safe-area-inset-top, 0px));right:calc(12px + env(safe-area-inset-right, 0px));z-index:40;width:clamp(156px,28vw,210px);max-height:calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));overflow-y:auto;padding:12px;border-radius:14px}.puzzle-reference-heading{margin-bottom:9px}.puzzle-reference .puzzle-overline{font-size:8px}.puzzle-reference h2{font-size:14px}.puzzle-picker{grid-template-columns:repeat(8,minmax(0,1fr))}.puzzle-panel{padding:20px}.puzzle-picker button>span{font-size:9px}.puzzle-difficulty button>svg{display:block}.puzzle-stats{margin-block:17px}.puzzle-controls button{font-size:11px}.puzzle-controls{gap:8px}}@media (max-width:560px){.puzzle-footer,.puzzle-main,.puzzle-topbar{width:calc(100% - 32px)}.puzzle-topbar{min-height:72px;gap:12px}.puzzle-topbar .wordmark{gap:11px}.puzzle-wordmark-label{font-size:9px;letter-spacing:.08em;padding-left:11px}.puzzle-back{font-size:11px;gap:5px}.puzzle-back svg{width:14px}.puzzle-main{padding-top:28px}.puzzle-intro{margin-bottom:23px}.puzzle-intro .eyebrow{font-size:9px;gap:7px}.puzzle-intro h1{font-size:36px;margin-top:13px}.puzzle-intro p{font-size:13px;max-width:310px}.puzzle-arena{padding:15px;border-radius:17px}.puzzle-arena h2{font-size:23px}.puzzle-state{font-size:9px}.puzzle-stats{padding-block:13px}.puzzle-stats>div{padding-left:13px}.puzzle-stats dt{font-size:10px}.puzzle-stats dd{font-size:23px}.puzzle-board-wrap{padding:3px;border-radius:11px}.puzzle-empty,.puzzle-tile{border-radius:4px}.puzzle-tile-number{min-width:18px;height:18px;top:4px;left:4px;font-size:9px;border-radius:3px}.puzzle-pause-icon{width:49px;height:49px;border-radius:15px;margin-bottom:14px}.puzzle-pause-overlay h3{font-size:19px;max-width:230px}.puzzle-pause-overlay p{font-size:11px;margin-bottom:17px}.puzzle-pause-overlay small{font-size:10px;margin-top:13px}.puzzle-primary{min-height:44px;padding:10px 18px;font-size:12px}.puzzle-controls{gap:5px;margin-top:15px}.puzzle-controls button{font-size:10px;gap:4px;flex-direction:column;min-height:52px}.puzzle-instructions{font-size:11px}.puzzle-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.puzzle-picker button>span{font-size:10px}.puzzle-panel{padding:19px;border-radius:17px}.puzzle-footer{flex-direction:column;gap:7px;padding-block:18px}.puzzle-result{flex-wrap:wrap;padding:12px;gap:9px}.puzzle-result strong{font-size:14px}.puzzle-result button{font-size:11px}}@media (max-width:360px){.puzzle-wordmark-label{display:none}.puzzle-intro h1{font-size:32px}.puzzle-arena{padding:11px}.puzzle-pause-overlay{padding:12px}.puzzle-pause-icon{display:none}}@media (prefers-reduced-motion:reduce){.puzzle-tile{transition:none}}