.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;background:#0f172ab3;border:1px solid #38bdf833;flex-direction:column;justify-content:center;align-items:center;max-width:100%;padding:16px 20px;display:flex;overflow-x:auto;box-shadow:0 16px 40px #0000008c,0 0 20px #38bdf80f}.puzzle-board-grid{grid-template:"corner header"max-content"sidebar canvas"max-content/max-content max-content;place-items:end start;display:grid}.puzzle-corner-spacer{grid-area:corner}.puzzle-header-slot{background:#0f172a66;border-top-left-radius:6px;border-top-right-radius:6px;grid-area:header;place-self:end start}.puzzle-sidebar-slot{background:#0f172a66;border-top-left-radius:6px;border-bottom-left-radius:6px;grid-area:sidebar;place-self:start end}.puzzle-canvas-slot{grid-area:canvas;place-self:start}: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}.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)}
