.puzzle-board-wrapper,.puzzle-board-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg,16px);-webkit-user-select:none;user-select:none;box-sizing:border-box;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#38bdf84d #0f172a80;-webkit-overflow-scrolling:touch;background:#0f172ab3;border:1px solid #38bdf833;flex-direction:column;justify-content:flex-start;align-items:safe center;width:100%;max-width:100%;padding:16px 20px;display:flex;overflow:auto visible;box-shadow:0 16px 40px #0000008c,0 0 20px #38bdf80f}@media (width<=640px){.puzzle-board-wrapper,.puzzle-board-container{border-radius:var(--radius-md,10px);padding:10px 8px}}@media (width<=380px){.puzzle-board-wrapper,.puzzle-board-container{padding:8px 4px}}.puzzle-board-grid{grid-template:"corner header"max-content"sidebar canvas"max-content/max-content max-content;place-items:end start;width:max-content;max-width:none;margin:0 auto;display:grid}.puzzle-corner-spacer{z-index:6;background:#0f172af5;grid-area:corner;position:sticky;left:0}.puzzle-header-slot{background:#0f172aa6;border-bottom:1px solid #38bdf840;border-top-left-radius:6px;border-top-right-radius:6px;grid-area:header;place-self:end start}.puzzle-sidebar-slot{z-index:5;-webkit-backdrop-filter:blur(10px);background:#0f172af5;border-right:1px solid #38bdf859;border-top-left-radius:6px;border-bottom-left-radius:6px;grid-area:sidebar;place-self:start end;position:sticky;left:0;box-shadow:2px 0 8px #0006}.puzzle-canvas-slot{grid-area:canvas;place-self:start}.puzzle-board-wrapper.free-pan .puzzle-corner-spacer,.puzzle-board-wrapper.free-pan .puzzle-sidebar-slot,.puzzle-board-container.free-pan .puzzle-corner-spacer,.puzzle-board-container.free-pan .puzzle-sidebar-slot{box-shadow:none!important;position:static!important;left:auto!important}:root{--bg-app:#080c14;--bg-surface:#0f172a;--bg-surface-elevated:#182234;--bg-surface-hover:#1e293b;--bg-viewport:#111827;--tile-bg-empty:#1e293b;--tile-bg-hover:#334155;--tile-fill:#38bdf8;--tile-fill-glow:#38bdf873;--tile-flag:#64748b;--tile-flag-line:#94a3b8;--tile-mistake:#f43f5e;--tile-mistake-glow:#f43f5e80;--grid-line-subtle:#ffffff14;--grid-line-major:#38bdf859;--grid-border:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dimmed:#334155;--text-cyan:#38bdf8;--text-pink:#f472b6;--text-yellow:#facc15;--text-green:#4ade80;--accent-cyan:#38bdf8;--accent-blue:#2563eb;--accent-gradient:linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);--accent-glow:0 0 25px #38bdf859;--gold-gradient:linear-gradient(135deg, #fbbf24 0%, #d97706 100%);--glass-bg:#0f172abf;--glass-border:#ffffff14;--glass-border-hover:#38bdf84d;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 32px #0009;--tile-size:36px;--grid-w:5;--grid-h:5;--clue-header-height:120px;--clue-sidebar-width:120px;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background-color:var(--bg-app);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-display);touch-action:pan-x pan-y;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{background:radial-gradient(circle at 50% 10%, #182234b3 0%, var(--bg-app) 75%);flex-direction:column;min-height:100vh;display:flex}.app-main{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;padding:20px 16px;display:flex}@media (width<=640px){.app-main{padding:10px 6px}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-md);font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 14px #38bdf84d}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 20px #38bdf873}.btn-secondary{background:var(--bg-surface-elevated);border-color:var(--glass-border);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--glass-border-hover);color:var(--text-primary)}.btn-icon{border-radius:var(--radius-md);background:var(--bg-surface-elevated);border:1px solid var(--glass-border);width:42px;height:42px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--bg-surface-hover);border-color:var(--glass-border-hover);color:var(--text-primary)}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #38bdf84d}50%{box-shadow:0 0 30px #38bdf899}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--bg-surface-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-surface-hover)}.hero-card{box-sizing:border-box;padding:32px 36px}.app-header{border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);z-index:100;box-sizing:border-box;background:#0f172ae0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 24px;display:flex;position:sticky;top:0}@media (width<=640px){.app-header{gap:8px!important;padding:8px 12px!important}.app-header .btn{padding:6px 10px!important;font-size:.8rem!important}.hero-card{padding:20px 16px!important}.hero-btn{white-space:normal!important;text-align:center!important;padding:10px 16px!important;font-size:.9rem!important}.level-select-header,.level-select-grid-panel{padding:14px 12px!important}}@media (width<=440px){.app-header-version,.app-header-progressbar{display:none!important}}
