:root{--color-neutral-50: #F8F8F8;--color-neutral-100: #F3F4F6;--color-neutral-200: #E8E8E8;--color-neutral-300: #E0E0E0;--color-neutral-400: #C0C0C0;--color-neutral-500: #7F8C8D;--color-neutral-600: #6B7280;--color-neutral-700: #34495E;--color-neutral-800: #1F2937;--color-neutral-900: #000000;--color-blue-50: #EFF6FF;--color-blue-100: #DBEAFE;--color-blue-400: #4A90E2;--color-blue-500: #357ABD;--color-blue-600: #2563EB;--color-blue-700: #1D4ED8;--color-green-50: #F0FDF4;--color-green-100: #D1FAE5;--color-green-400: #ACF39D;--color-green-500: #10B981;--color-green-600: #059669;--color-red-50: #FEF2F2;--color-red-100: #FEE2E2;--color-red-500: #EF4444;--color-red-600: #DC2626;--color-red-700: #B91C1C;--color-amber-50: #FFFBEB;--color-amber-100: #FEF3C7;--color-amber-500: #F59E0B;--color-amber-600: #D97706;--color-hint-1: #FFB04A;--color-hint-2: #FF8C42;--color-hint-3: #FF6347;--color-hint-4: #FF4169;--color-hint-5: #F03A7C;--color-hint-6: #D4357F;--color-hint-7: #B02D8A;--color-hint-8: #8C1F7D;--color-hint-9: #661565;--color-primary: var(--color-blue-400);--color-primary-hover: var(--color-blue-500);--color-primary-active: var(--color-blue-600);--color-bg-base: var(--color-neutral-100);--color-bg-surface: var(--color-neutral-50);--color-bg-elevated: #FFFFFF;--color-bg-secondary: var(--color-neutral-100);--color-bg-hover: var(--color-neutral-200);--color-bg-active: var(--color-neutral-200);--color-text-primary: var(--color-neutral-700);--color-text-secondary: var(--color-neutral-500);--color-text-muted: var(--color-neutral-600);--color-text-disabled: var(--color-neutral-400);--color-text-on-primary: #FFFFFF;--color-text-emphasis: var(--color-neutral-800);--color-border: var(--color-neutral-300);--color-border-light: var(--color-neutral-200);--color-border-strong: var(--color-neutral-400);--color-canvas-bg: var(--color-neutral-100);--color-grid-line: var(--color-neutral-300);--color-solution-path: var(--color-blue-400);--color-player-path: var(--color-neutral-900);--color-player-path-win: var(--color-green-400);--color-hint-validated: var(--color-green-400);--color-hint-extra: var(--color-neutral-400);--color-success: var(--color-green-400);--color-success-bg: var(--color-amber-100);--color-success-icon: var(--color-amber-500);--color-partial: var(--color-green-500);--color-partial-bg: var(--color-green-100);--color-error: var(--color-red-500);--color-error-bg: var(--color-red-100);--color-warning: var(--color-amber-500);--color-warning-bg: var(--color-amber-100);--color-info: var(--color-blue-400);--color-info-bg: var(--color-blue-100);--color-neutral: var(--color-neutral-600);--color-neutral-bg: var(--color-neutral-100);--color-overlay-hover: rgba(52, 73, 94, .08);--color-overlay-active: rgba(52, 73, 94, .12);--color-overlay-subtle: rgba(0, 0, 0, .04);--color-shadow-sm: rgba(0, 0, 0, .1);--color-shadow-md: rgba(0, 0, 0, .15);--color-shadow-lg: rgba(0, 0, 0, .2);--color-backdrop: rgba(0, 0, 0, .5);--color-theme: var(--color-neutral-100)}@media (prefers-color-scheme: dark){:root{--color-neutral-50: #1A1A1A;--color-neutral-100: #242424;--color-neutral-200: #2E2E2E;--color-neutral-300: #3A3A3A;--color-neutral-400: #525252;--color-neutral-500: #9CA3AF;--color-neutral-600: #D1D5DB;--color-neutral-700: #E5E7EB;--color-neutral-800: #F3F4F6;--color-neutral-900: #FFFFFF;--color-blue-50: #1E3A5F;--color-blue-100: #1E4A7A;--color-blue-400: #60A5FA;--color-blue-500: #3B82F6;--color-blue-600: #2563EB;--color-blue-700: #1D4ED8;--color-green-50: #1A3A2E;--color-green-100: #234D3E;--color-green-400: #86EFAC;--color-green-500: #22C55E;--color-green-600: #16A34A;--color-red-50: #3A1A1A;--color-red-100: #4A2020;--color-red-500: #F87171;--color-red-600: #EF4444;--color-red-700: #DC2626;--color-amber-50: #3A2E1A;--color-amber-100: #4A3A20;--color-amber-500: #FCD34D;--color-amber-600: #F59E0B;--color-hint-1: #FFD580;--color-hint-2: #FFAD66;--color-hint-3: #FF8A6B;--color-hint-4: #FF6B8A;--color-hint-5: #FF5E9D;--color-hint-6: #E857A6;--color-hint-7: #D14DB3;--color-hint-8: #B845A0;--color-hint-9: #8A3A86;--color-bg-elevated: #2E2E2E;--color-theme: var(--color-neutral-100)}}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:block;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Monoton;font-style:normal;font-display:block;font-weight:400;src:url(/assets/monoton-latin-ext-400-normal-CgkMCLzF.woff2) format("woff2"),url(/assets/monoton-latin-ext-400-normal-D9FcGIS5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Monoton;font-style:normal;font-display:block;font-weight:400;src:url(/assets/monoton-latin-400-normal--Xn4BnFH.woff2) format("woff2"),url(/assets/monoton-latin-400-normal-CgrPpToo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0;padding:0}html{touch-action:none;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg-base);min-height:100vh;min-height:100dvh;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button{font-family:inherit}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}.top-bar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 4px;background-color:var(--color-bg-base);position:relative}.top-bar-title{position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:22px;font-weight:500;color:var(--color-text-primary);letter-spacing:0;line-height:28px;text-align:center;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar-actions{display:flex;align-items:center;gap:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:12px;background:none;border:none;cursor:pointer;color:var(--color-text-primary);border-radius:50%;transition:background-color .1s ease;flex-shrink:0}.icon-btn:hover{background-color:var(--color-overlay-hover)}.icon-btn:active{background-color:var(--color-overlay-active)}.icon-btn svg{display:block;width:24px;height:24px}.icon-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.btn{padding:12px 20px;font-size:16px;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-elevated);border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px var(--color-shadow-sm);transition:transform .1s ease,box-shadow .1s ease;min-width:48px;min-height:48px;flex-shrink:0}.btn:hover{box-shadow:0 4px 8px var(--color-shadow-md)}.btn:active{transform:scale(.98);box-shadow:0 1px 2px var(--color-shadow-sm)}.btn-secondary{color:var(--color-text-emphasis);background-color:var(--color-bg-secondary)}.btn-secondary:hover{background-color:var(--color-border-light)}.btn-secondary:active{transform:scale(.98);box-shadow:0 1px 2px var(--color-shadow-sm)}.game-controls{display:flex;gap:8px;width:100%;max-width:400px}.game-controls button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;background-color:var(--color-bg-elevated);box-shadow:0 2px 4px var(--color-shadow-sm);transition:all .1s ease-in-out}.game-controls #restart-btn,.game-controls #undo-btn{flex:1}.game-controls button:hover{background-color:var(--color-bg-elevated);box-shadow:0 2px 4px var(--color-shadow-sm)}.game-controls button:active{background-color:var(--color-bg-elevated);box-shadow:0 1px 2px var(--color-shadow-sm);transform:scale(.95)}.game-controls button:focus{outline:none;background-color:var(--color-bg-elevated);box-shadow:0 2px 4px var(--color-shadow-sm)}.game-controls button:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.game-controls button:disabled:active{transform:none;box-shadow:none}.game-controls button svg{display:block}.grid-size-select{padding:12px 36px 12px 16px;font-size:16px;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-elevated);border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px var(--color-shadow-sm);min-height:48px;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2334495E' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.grid-size-select:hover{box-shadow:0 4px 8px var(--color-shadow-md)}.grid-size-select:focus{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-label{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:16px;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-elevated);border-radius:8px;cursor:pointer;box-shadow:0 2px 4px var(--color-shadow-sm);-webkit-user-select:none;user-select:none;flex-shrink:0}.toggle-label:hover{box-shadow:0 4px 8px var(--color-shadow-md)}.toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.game-container{flex:1;display:flex;justify-content:center;align-items:center;padding:20px}.game-container canvas{background-color:var(--color-bg-elevated);border-radius:8px;box-shadow:0 4px 12px var(--color-shadow-sm);touch-action:none;-webkit-tap-highlight-color:transparent}.canvas-container{position:relative;display:flex;justify-content:center;align-items:center;--available-width: calc(100vw - var(--layout-horizontal-padding));--available-height: calc(100vh - var(--layout-top-bar-height));--cell-size-from-width: calc(var(--available-width) / 4);--cell-size-from-height: calc(var(--available-height) / 4);--cell-size-unclamped: min(var(--cell-size-from-width), var(--cell-size-from-height));--cell-size: clamp(var(--cell-size-min), var(--cell-size-unclamped), var(--cell-size-max));--total-size: calc(var(--cell-size) * 4);width:var(--total-size);height:var(--total-size)}.canvas-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg-elevated);border-radius:8px;box-shadow:0 4px 12px var(--color-shadow-sm);animation:canvas-skeleton-pulse 1.5s ease-in-out infinite;z-index:1}@keyframes canvas-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}#play-view .game-container .canvas-container canvas{position:relative;z-index:2;opacity:0;transition:opacity .3s ease-in-out}#play-view .game-container .canvas-container.canvas-ready canvas{opacity:1}#play-view .game-container .canvas-container.canvas-ready .canvas-skeleton{display:none}.view{display:none;flex-direction:column;height:100vh;height:100dvh;opacity:0}.view.active{display:flex;animation:fadeIn .2s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.home-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;gap:48px}.game-title{font-family:Monoton,Impact,Arial Black,cursive,sans-serif;font-size:72px;font-weight:400;color:var(--color-text-primary);margin:0;letter-spacing:0}.game-tagline{font-size:20px;font-weight:400;color:var(--color-text-secondary);margin:-48px 0 0}.home-buttons{display:flex;flex-direction:column;gap:16px;width:100%;max-width:300px}.btn-large{padding:16px 32px;font-size:18px;font-weight:600;min-height:56px;display:flex;align-items:center;justify-content:center;position:relative}.btn-complete-icon{display:none;position:absolute;left:16px}.btn-large.completed .btn-complete-icon{display:inline-flex}.btn-large.completed{color:var(--color-text-muted)}.btn-complete-icon svg{stroke:currentColor;fill:none}@media (max-width: 600px){.game-title{font-size:56px}.game-tagline{font-size:18px}}@media (max-width: 400px){.game-title{font-size:48px}.game-tagline{font-size:16px}}#play-view .game-container{flex-direction:column;gap:16px;padding:20px}#play-view .game-container p{font-size:16px;line-height:1.5em;color:var(--color-text-secondary);margin:0;max-width:500px;white-space:pre-line;text-align:center}#game-timer{font-variant-numeric:tabular-nums}#new-btn{display:none}#play-view.unlimited-mode #new-btn{display:flex}.bottom-sheet-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none;display:none}.bottom-sheet-overlay.visible{pointer-events:auto}.bottom-sheet{position:fixed;bottom:-40px;left:0;right:0;background-color:var(--color-bg-elevated);border-radius:16px 16px 0 0;transform:translateY(100%);padding-bottom:40px;transition:transform .3s cubic-bezier(.6,0,.9,1),box-shadow .3s cubic-bezier(.6,0,.9,1);overflow:visible;box-shadow:0 0 80px #0000;z-index:1001}.bottom-sheet-overlay.visible .bottom-sheet{transform:translateY(0);box-shadow:0 0 80px #0000001a;transition:transform .3s cubic-bezier(.34,1.3,.64,1),box-shadow .3s cubic-bezier(.34,1.3,.64,1)}.bottom-sheet-icon-container{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;margin:-40px auto 16px}.bottom-sheet-icon-container svg{display:block}.bottom-sheet-close-icon{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background-color:transparent;color:var(--color-text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;z-index:1}.bottom-sheet-close-icon:hover{background-color:var(--color-neutral-200);color:var(--color-text-secondary)}.bottom-sheet-close-icon:focus{outline:none;background-color:var(--color-neutral-200)}.bottom-sheet-close-icon:active{background-color:var(--color-neutral-300)}.bottom-sheet-close-icon svg{display:block}.bottom-sheet-header{display:flex;align-items:center;justify-content:center;padding:8px 20px}.bottom-sheet-header:first-child{padding-top:4px}.bottom-sheet-header h2{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0;text-align:center}.bottom-sheet-message{padding:0 20px 16px;text-align:center;font-size:16px;color:var(--color-text-secondary);line-height:1.5;text-wrap:balance}.bottom-sheet-message p{margin:0 0 12px}.bottom-sheet-message p:last-child{margin-bottom:0}.bottom-sheet-video-container{width:calc(100% - 40px);aspect-ratio:1 / 1;margin:16px 20px;border-radius:12px;background-color:var(--color-neutral-200);overflow:hidden;position:relative}.bottom-sheet-video-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--color-neutral-200) 0%,var(--color-neutral-300) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;z-index:1}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.bottom-sheet-video-container video{position:relative;z-index:2}.tutorial-scroll-container{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.tutorial-scroll-container::-webkit-scrollbar{display:none}.tutorial-section{flex:0 0 100%;scroll-snap-align:start;display:flex;flex-direction:column}.tutorial-section-message{padding:8px 20px 16px;text-align:center;font-size:16px;line-height:1.5;color:var(--color-text-primary);text-wrap:balance}.tutorial-section-message p{margin:0}.tutorial-paging-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px 20px}.tutorial-paging-dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-neutral-300);transition:all .2s ease;cursor:pointer}.tutorial-paging-dot.active{background-color:var(--color-primary);width:24px;border-radius:4px}.bottom-sheet-buttons{display:flex;flex-direction:column;gap:8px;margin:24px 20px 20px}.bottom-sheet-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:17px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.bottom-sheet-btn svg{width:20px;height:20px;flex-shrink:0}.bottom-sheet-btn-primary{color:var(--color-text-on-primary);background-color:var(--color-primary)}.bottom-sheet-btn-primary:hover{background-color:var(--color-primary-hover)}.bottom-sheet-btn-primary:active{transform:scale(.98)}.bottom-sheet-btn-secondary{color:var(--color-text-emphasis);background-color:var(--color-bg-secondary)}.bottom-sheet-btn-secondary:hover{background-color:var(--color-border-light)}.bottom-sheet-btn-secondary:active{transform:scale(.98)}.bottom-sheet-btn-destructive{color:var(--color-error);background-color:var(--color-bg-secondary)}.bottom-sheet-btn-destructive:hover{background-color:var(--color-error-bg)}.bottom-sheet-btn-destructive:active{transform:scale(.98)}.bottom-sheet-dismiss-btn{display:flex;align-items:center;justify-content:center;width:calc(100% - 40px);margin:24px 20px 20px;padding:14px 24px;font-size:17px;font-weight:600;color:var(--color-text-emphasis);background-color:var(--color-bg-secondary);border:none;border-radius:12px;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.bottom-sheet-dismiss-btn:hover{background-color:var(--color-border-light)}.bottom-sheet-dismiss-btn:active{transform:scale(.98)}@media (min-width: 768px){.bottom-sheet-overlay{background-color:var(--color-backdrop);opacity:0;transition:opacity .3s cubic-bezier(.6,0,.9,1)}.bottom-sheet-overlay.visible{opacity:1;transition:opacity .3s cubic-bezier(.34,1.3,.64,1)}.bottom-sheet{top:50%;left:50%;right:auto;bottom:auto;width:400px;border-radius:16px;padding-bottom:0;transform:translate(-50%,calc(-50% + 1rem));opacity:0;transition:transform .3s cubic-bezier(.6,0,.9,1),box-shadow .3s cubic-bezier(.6,0,.9,1),opacity .3s cubic-bezier(.6,0,.9,1)}.bottom-sheet-overlay.visible .bottom-sheet{transform:translate(-50%,-50%);opacity:1;transition:transform .3s cubic-bezier(.34,1.3,.64,1),box-shadow .3s cubic-bezier(.34,1.3,.64,1),opacity .3s cubic-bezier(.34,1.3,.64,1)}}.settings-list{padding:0}.settings-item{border-bottom:1px solid var(--color-border)}.settings-item:last-child{border-bottom:none}.settings-toggle-label{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;font-size:16px;font-weight:500;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;background-color:var(--color-bg-elevated);transition:background-color .1s ease}.settings-toggle-label:hover{background-color:var(--color-bg-surface)}.settings-toggle-label:active{background-color:var(--color-neutral-200)}.settings-toggle-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary);flex-shrink:0}.settings-toggle-label span{flex:1}.settings-control{display:flex;flex-direction:column;padding:20px 20px 16px;width:100%}.segmented-control{display:flex;background-color:var(--color-neutral-200);border-radius:9px;padding:2px;gap:0}.segment-btn{flex:1;padding:8px 16px;font-size:14px;font-weight:500;color:var(--color-text-primary);background-color:transparent;border:none;border-radius:7px;cursor:pointer;transition:background-color .2s ease,color .1s ease;min-height:32px;white-space:nowrap}.segment-btn:hover{background-color:var(--color-overlay-subtle)}.segment-btn.active{background-color:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.segment-btn.active:hover{background-color:var(--color-bg-elevated)}#difficulty-settings-item{display:none}#difficulty-settings-item.visible{display:block}
