/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"DM Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"DM Sans", sans-serif;--default-mono-font-family:var(--font-mono);--font-display:var(--heading-family);--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--shadow-card:var(--shadow-card);--shadow-sheet:var(--shadow-sheet)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}html{background:var(--color-background);min-height:100%;overflow-x:clip}body{background:var(--color-background);min-height:100%;color:var(--color-foreground);font-family:var(--font-sans);letter-spacing:0;margin:0;overflow-x:clip}button,img{-webkit-tap-highlight-color:transparent}button{-webkit-user-select:none;user-select:none}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.end-10{inset-inline-end:calc(var(--spacing) * 10)}.end-11{inset-inline-end:calc(var(--spacing) * 11)}.end-12{inset-inline-end:calc(var(--spacing) * 12)}.end-13{inset-inline-end:calc(var(--spacing) * 13)}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:0}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-\[max\(1rem\,env\(safe-area-inset-top\)\)\]{top:max(1rem, env(safe-area-inset-top))}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:0}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-\[6\%\]{left:6%}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2/span 2}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-3\/5{height:60%}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-\[1px\]{height:1px}.h-\[13px\]{height:13px}.h-\[96\%\]{height:96%}.h-\[calc\(100dvh-max\(12px\,env\(safe-area-inset-top\)\)\)\]{height:calc(100dvh - max(12px, env(safe-area-inset-top)))}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-full\!{height:100%!important}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[300px\]{max-height:300px}.max-h-\[calc\(100dvh-max\(12px\,env\(safe-area-inset-top\)\)\)\]{max-height:calc(100dvh - max(12px, env(safe-area-inset-top)))}.max-h-\[min\(88dvh\,740px\)\]{max-height:min(88dvh,740px)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-\[60px\]{min-height:60px}.min-h-\[70dvh\]{min-height:70dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:0}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-\[13px\]{width:13px}.w-\[88\%\]{width:88%}.w-\[100px\]{width:100px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-full\!{width:100%!important}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.grid-cols-\[1fr_3\.5rem\]{grid-template-columns:1fr 3.5rem}.grid-cols-\[3\.5rem_1fr\]{grid-template-columns:3.5rem 1fr}.grid-cols-\[44px_minmax\(0\,1fr\)_auto\]{grid-template-columns:44px minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[5px\]{border-radius:5px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 1px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 3px)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 1px);border-bottom-left-radius:calc(var(--radius) - 1px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 3px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-current{border-color:currentColor}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.border-foreground{border-color:var(--foreground)}.border-input{border-color:var(--border)}.border-primary,.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.border-success\/40{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.border-success\/40{border-color:color-mix(in oklab, var(--success) 40%, transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-board-dark{background-color:var(--board-dark)}.bg-board-light{background-color:var(--board-light)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-error{background-color:var(--error)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-overlay{background-color:var(--overlay)}.bg-peach{background-color:var(--peach)}.bg-popover{background-color:var(--card)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground,.bg-primary-foreground\/20{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-primary-foreground\/20{background-color:color-mix(in oklab, var(--primary-foreground) 20%, transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/15{background-color:color-mix(in oklab, var(--success) 15%, transparent)}}.bg-track{background-color:var(--track)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-peach{fill:var(--peach)}.fill-primary{fill:var(--primary)}.object-contain{object-fit:contain}.object-bottom{object-position:bottom}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-\[env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pt-\[max\(1\.25rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(1.25rem, env(safe-area-inset-top))}.pt-\[max\(1rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(1rem, env(safe-area-inset-top))}.pt-\[max\(2rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(2rem, env(safe-area-inset-top))}.pt-\[max\(3rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(3rem, env(safe-area-inset-top))}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-\[calc\(\.75rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.pb-\[calc\(1\.25rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.pb-\[calc\(2rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.pb-\[calc\(7\.5rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-display{font-family:var(--heading-family)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[length\:var\(--type-page\)\]{font-size:var(--type-page)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground,.text-card-foreground{color:var(--foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--foreground)}.text-error{color:var(--error)}.text-foreground,.text-foreground\/85{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/85{color:color-mix(in oklab, var(--foreground) 85%, transparent)}}.text-muted-foreground,.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/80{color:color-mix(in oklab, var(--muted-foreground) 80%, transparent)}}.text-peach{color:var(--peach)}.text-popover-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--foreground)}.text-success{color:var(--success)}.text-success-foreground{color:var(--success-foreground)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-card{--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sheet{--tw-shadow:var(--shadow-sheet);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-tactile{--tw-shadow:0 5px 0 var(--tw-shadow-color,var(--primary-shadow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-tactile-secondary{--tw-shadow:0 5px 0 var(--tw-shadow-color,var(--secondary-shadow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-tactile-success{--tw-shadow:0 5px 0 var(--tw-shadow-color,var(--success-shadow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-primary,.ring-ring{--tw-ring-color:var(--primary)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.ring-offset-card{--tw-ring-offset-color:var(--card)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:2rem\]{--cell-size:2rem}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible=icon] *){padding:0!important}.group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--primary)}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:var(--spacing)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 1px);border-bottom-left-radius:calc(var(--radius) - 1px)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-error\/90:hover{background-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/90:hover{background-color:color-mix(in oklab, var(--error) 90%, transparent)}}.hover\:bg-foreground\/10:hover{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-foreground\/10:hover{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover,.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-inherit:hover{color:inherit}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--primary)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-1:active{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-focus\:border-ring:has(:focus){border-color:var(--primary)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:var(--spacing)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 1px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 1px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--border)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}@media not all and (width>=40rem){.max-sm\:max-w-\[calc\(100\%-6rem\)\]{max-width:calc(100% - 6rem)}}@media (width>=40rem){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width>=48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state=collapsed]~*):is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 2)}}.after\:md\:hidden:after{content:var(--tw-content)}@media (width>=48rem){.after\:md\:hidden:after{display:none}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 1px);border-bottom-left-radius:calc(var(--radius) - 1px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\>svg\]\:size-6>span>svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:h-5>svg{height:calc(var(--spacing) * 5)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:w-5>svg{width:calc(var(--spacing) * 5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\:last-child\]\:size-5>svg:last-child{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--heading-family:"Nunito", sans-serif;--heading-weight:800;--radius:.75rem;--background:oklch(19% .035 295);--foreground:oklch(96% .012 80);--card:oklch(25% .045 294);--primary:oklch(76% .1 294);--primary-foreground:oklch(20% .04 294);--primary-shadow:oklch(48% .1 294);--secondary:oklch(29% .04 294);--secondary-shadow:oklch(14% .03 294);--muted:oklch(29% .035 294);--muted-foreground:oklch(75% .035 294);--note-ink:#b3abc4;--note-divider:#3a3350;--accent:oklch(32% .05 294);--destructive:oklch(67% .18 25);--border:oklch(34% .055 294);--track:oklch(31% .035 294);--success:oklch(80% .09 162);--success-foreground:oklch(22% .045 164);--success-shadow:oklch(53% .1 164);--peach:oklch(78% .12 42);--badge-lavender:#3a3350;--badge-lavender-light:#b9a6f2;--badge-lavender-light-edge:#9079c8;--badge-lavender-edge:#262136;--badge-peach:#f6a98a;--badge-peach-edge:#d9866b;--badge-pip:#f6f1ea;--badge-pip-shadow:#dacfc3;--badge-bolt:#b9a6f2;--badge-mint:#8fdcc0;--badge-mint-edge:#6bc7a6;--badge-gold:#f6d38a;--avatar-sky:#a7cfeb;--avatar-rose:#eba9bc;--avatar-pawn:#766e89;--avatar-default:#aaa3b6;--badge-card-accent:#a591d6;--board-light:oklch(92% .035 73);--board-dark:oklch(78% .065 76);--board-frame:#a88a5e;--board-lip:#7a6040;--tutorial-dim:oklch(0% 0 0/.4);--tutorial-board-dim:var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--tutorial-board-dim:color-mix(in oklab, var(--background) 20%, transparent)}}:root{--tutorial-glow:oklch(82% .09 292/.72);--selected:oklch(82% .08 294);--mated:oklch(78% .12 42);--winning:#bfe8d6;--error:#e5646e;--overlay:oklch(8% .02 294/.72);--shadow-card:0 8px 20px oklch(8% .02 294/.28);--shadow-sheet:0 24px 70px oklch(8% .02 294/.52)}.puzzle-screen{height:100dvh;overflow:hidden}.puzzle-shell{max-width:36rem;height:100%;min-height:0;padding:max(.75rem, env(safe-area-inset-top)) 1rem max(.75rem, env(safe-area-inset-bottom));flex-direction:column;gap:clamp(.55rem,1.8vh,1.25rem);display:flex}.puzzle-topbar,.puzzle-title{flex:none}.puzzle-title h1{margin-top:.25rem}.puzzle-coach{flex:none;min-height:4.5rem}.puzzle-board-area{isolation:isolate;flex:1 1 0;place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.puzzle-board-area .board-edge{width:min(100cqw, 480px, calc((100cqh - 3rem) * var(--board-columns,1) / var(--board-rows,1)))}.puzzle-action-slot{z-index:15;min-height:5.25rem;padding:.75rem .5rem max(.75rem, env(safe-area-inset-bottom));flex:none;align-items:center;display:grid;position:relative}.puzzle-actions{width:100%}.complete-bar{min-height:5.25rem}.board-edge{box-sizing:border-box;border-bottom:10px solid var(--board-lip);background:var(--board-frame);border-radius:16px;padding:10px;position:relative;box-shadow:0 20px 32px oklch(8% .02 294/.46)}.board-edge>div{border-radius:7px;overflow:hidden}.board-square{aspect-ratio:1;min-width:0;position:relative}.board-square:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px oklch(35% .04 75/.14)}.square-selected{background:var(--selected)!important}.square-hint{box-shadow:inset 0 0 0 5px var(--primary);z-index:2}.board-square.square-mated{background:var(--mated)!important}.square-winning{background:var(--winning)!important}.square-wrong{box-shadow:inset 0 0 0 3px var(--error);z-index:2}.chess-piece{z-index:4;object-fit:contain;object-position:center bottom;cursor:grab;filter:drop-shadow(0 5px 3px oklch(12% .03 294/.38));touch-action:none;width:88%;height:96%;transition:transform .18s ease-out;position:absolute;bottom:-1%;left:6%}.chess-piece:active{cursor:grabbing}.chess-piece[data-motion]{transition:none}.legal-dot,.legal-capture{z-index:5;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.legal-dot{aspect-ratio:1;background:oklch(30% .06 294/.45);border-radius:999px;width:21%;animation:1.4s ease-in-out infinite legal-pulse}.legal-capture{aspect-ratio:1;border:clamp(4px,1.2vw,8px) solid oklch(30% .06 294/.42);border-radius:999px;width:76%;animation:1.4s ease-in-out infinite legal-pulse}.drag-piece{z-index:50;pointer-events:none;filter:drop-shadow(0 12px 6px oklch(8% .02 294/.5));width:min(20vw,100px);height:min(20vw,100px);margin-top:calc(-1*min(13vw,65px));margin-left:calc(-1*min(10vw,50px));position:fixed}.motion-capture-puff{z-index:5;aspect-ratio:1;background:var(--muted-foreground);border-radius:999px;width:10%;position:absolute;top:55%;left:50%}.motion-correct-pulse{z-index:3;pointer-events:none;background:var(--success);box-shadow:inset 0 0 0 3px var(--success);position:absolute;inset:0}.motion-mate-sparkles{z-index:14;pointer-events:none;position:absolute;inset:0}.motion-mate-sparkle{aspect-ratio:1;background:var(--gold);border-radius:3px;width:9%;position:absolute;top:50%;left:50%;transform:rotate(45deg)}.piece-shake{animation:.22s ease-in-out piece-shake}.piece-moving{transform:translate(calc(var(--move-x) * 113.64%), calc(var(--move-y) * 104.17%));z-index:12}.captured-piece-ghost{z-index:3;opacity:.72}.animate-sheet{animation:.26s ease-out both sheet-up}.coach-avatar{background:var(--primary);width:48px;height:48px;color:var(--foreground);box-shadow:0 5px 0 var(--primary-shadow);border-radius:999px;flex:0 0 48px;place-items:center;display:grid}.coach-bubble{border:1px solid var(--border);background:var(--card);min-width:0;min-height:4.5rem;color:var(--muted-foreground);text-align:left;box-shadow:var(--shadow-card);border-radius:8px;flex:1;align-items:center;padding:10px 16px;font-size:.875rem;line-height:1.3;display:flex;position:relative}.coach-bubble p{overflow-wrap:anywhere}.coach-tail{border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--card);border-bottom-left-radius:4px;width:14px;height:14px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg)}.pip-speech{border:1px solid var(--border);background:var(--card);min-width:0;box-shadow:var(--shadow-card);border-radius:8px;padding:.7rem .85rem;position:relative}.pip-speech:before{content:"";border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--card);border-bottom-left-radius:4px;width:11px;height:11px;position:absolute;top:1rem;left:-6px;transform:rotate(45deg)}.coach-bubble-error{border-color:var(--error);animation:.3s ease-in-out coach-wiggle,1s ease-out coach-error-border}.coach-bubble-error .coach-tail{border-color:var(--error)}.coach-bubble-success{border-color:var(--success);animation:.42s ease-out coach-pop}.coach-bubble-success .coach-tail{border-color:var(--success)}.coach-avatar-success{animation:.48s ease-out coach-hop}.star-gold{color:#f6d38a;fill:#f6d38a}.star-empty{color:var(--border);fill:#0000}.star-pop{animation:.36s cubic-bezier(.3,1.6,.5,1) both star-pop}.square-hint{animation:1.1s ease-in-out infinite hint-pulse}@keyframes star-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}@keyframes hint-pulse{0%,to{box-shadow:inset 0 0 0 5px var(--primary)}50%{box-shadow:inset 0 0 0 5px var(--primary), inset 0 0 18px 6px color-mix(in oklab, var(--primary) 60%, transparent)}}@media (prefers-reduced-motion:reduce){.star-pop,.square-hint{animation:none}}@keyframes legal-pulse{50%{opacity:.48;transform:translate(-50%,-50%)scale(.82)}}@keyframes piece-shake{25%{transform:translate(-7px)}50%{transform:translate(7px)}75%{transform:translate(-4px)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(30px)}}@keyframes coach-wiggle{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes coach-error-border{0%,75%{border-color:var(--error)}to{border-color:var(--border)}}@keyframes coach-pop{0%{transform:scale(.95)}55%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes coach-hop{0%,to{transform:translateY(0)}45%{transform:translateY(-10px)}70%{transform:translateY(2px)}}@media (height<=699px){.puzzle-shell{padding-top:max(.5rem, env(safe-area-inset-top));padding-bottom:max(.5rem, env(safe-area-inset-bottom));gap:.35rem}.puzzle-title p{font-size:.65rem}.puzzle-title h1{font-size:1.75rem;line-height:1.1}.puzzle-coach{gap:.6rem;min-height:3.75rem}.coach-avatar{flex-basis:40px;width:40px;height:40px}.coach-avatar svg{width:1.8rem;height:1.8rem}.coach-bubble{min-height:3.75rem;padding:.35rem .75rem}.puzzle-actions .h-14{height:3rem}.puzzle-action-slot{min-height:4.5rem}.complete-bar{min-height:4.5rem;padding-block:.35rem}.complete-bar .h-14{height:3rem}}@media (width>=640px){.coach-bubble{font-size:1rem}}@media (width>=768px) and (orientation:landscape){.puzzle-shell{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);column-gap:clamp(2rem,5vw,5rem);max-width:74rem;padding-inline:clamp(1.5rem,4vw,4rem);display:grid}.puzzle-board-area{grid-area:1/1/6}.puzzle-board-area .board-edge{width:min(100cqw, 480px, calc((100cqh - 3rem) * var(--board-columns,1) / var(--board-rows,1)))}.puzzle-topbar{grid-area:1/2}.puzzle-title{text-align:left;grid-area:2/2}.puzzle-coach{grid-area:3/2;margin-inline:0}.puzzle-action-slot{grid-area:5/2;padding-inline:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--last-move:oklch(88% .1 85/.45)}.square-last-move{background-image:linear-gradient(var(--last-move), var(--last-move))}.board-failed{filter:grayscale(.6)brightness(.85);transition:filter .3s ease-out}.piece-arrive{z-index:12;animation:.18s ease-out both piece-arrive}.capture-fx{z-index:3;pointer-events:none;position:absolute;inset:0}.captured-piece-fade{cursor:default;animation:.2s ease-in .12s both capture-fade}.capture-puff{aspect-ratio:1;background:var(--muted-foreground);opacity:0;border-radius:999px;width:9%;animation:.32s ease-out .14s both capture-puff;position:absolute;top:55%;left:50%}.undo-pulse{animation:1.4s ease-in-out infinite undo-pulse}@keyframes piece-arrive{0%{transform:translate(calc(var(--move-x) * 113.64%), calc(var(--move-y) * 104.17%))}to{transform:none}}@keyframes capture-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}@keyframes capture-puff{0%{opacity:.85;transform:translate(-50%, -50%) rotate(var(--puff-angle)) translateX(0) scale(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--puff-angle)) translateX(260%) scale(.4)}}@keyframes undo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.puzzle-title .star-meter{justify-content:center}@media (width>=768px) and (orientation:landscape){.puzzle-title .star-meter{justify-content:flex-start}}.star-meter-star{transition:opacity .3s ease-out,transform .3s ease-out}.star-lost{opacity:.3;transform:scale(.8)}.hint-cost-note{z-index:2;white-space:nowrap;background:var(--card);border:1px solid var(--border);color:#f6d38a;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700;position:absolute;top:-.6rem;left:50%;transform:translate(-50%,-100%)}.square-clip{overflow:visible}.square-mated{animation:.5s ease-out mated-flash}:is(.board-square:has(.king-topple),.trap-square:has(.king-topple)){overflow:visible;z-index:100!important}.king-topple-wrap{z-index:101;pointer-events:none;position:absolute;inset:0}.king-topple-wrap .chess-piece.king-topple{transform-origin:50%;animation:.4s ease-out forwards king-tip;z-index:101!important}@keyframes mated-flash{0%,60%{filter:brightness(1.25)}to{filter:none}}@keyframes king-wobble{25%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-8deg)}to{transform:rotate(0)}}@keyframes king-tip{0%{transform:rotate(0)}75%{transform:rotate(calc(68deg * var(--tip-direction,1)))}to{transform:rotate(calc(60deg * var(--tip-direction,1)))}}@media (prefers-reduced-motion:reduce){.king-topple{transform:rotate(calc(60deg * var(--tip-direction,1)));animation:none!important}.square-mated{animation:none!important}}:root{--gold:#f6d38a;--nav-surface:#262136;--nav-outline:#3a3350}.text-gold{color:var(--gold)}.app-screen{background:var(--background);flex-direction:column;height:100dvh;min-height:100dvh;display:flex;position:relative;overflow:hidden}.app-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-width:0;min-height:0;overflow:clip auto}.tab-page-header{z-index:25;padding-top:env(safe-area-inset-top);background:var(--background);border-bottom:1px solid #0000;flex:none;position:relative}.tab-page-header-scrolled{border-bottom-color:var(--border)}.tab-page-header-inner{flex-direction:column;justify-content:center;max-width:28rem;min-height:3.5rem;margin-inline:auto;padding-inline:1.25rem;display:flex}.tab-page-title{min-width:0;font-family:var(--font-display);font-size:1.5rem;line-height:1.2;font-weight:var(--heading-weight);overflow-wrap:anywhere}.brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:2.25rem;display:block}.app-screen:has(>.screen-action-dock){height:100dvh}.screen-action-dock{z-index:10;width:100%;padding:1rem max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--background) 25%);position:sticky;bottom:0}.screen-action-dock>*{max-width:28rem;margin-inline:auto}.tour-offer-screen{overflow-y:auto}.tour-offer-content{width:100%;max-width:28rem;padding:max(2rem, env(safe-area-inset-top)) 1.5rem calc(3rem + env(safe-area-inset-bottom));flex-direction:column;gap:2rem;margin-inline:auto;display:flex}.tour-offer-intro{text-align:center;flex-direction:column;align-items:center;padding-block:.5rem;display:flex}.tour-offer-glow{margin-bottom:1.5rem;display:block;position:relative}.tour-offer-glow:before{content:"";background:radial-gradient(circle, var(--primary), transparent 70%);border-radius:9999px;position:absolute;inset:-12%}@supports (color:color-mix(in lab, red, red)){.tour-offer-glow:before{background:radial-gradient(circle, color-mix(in oklab, var(--primary) 38%, transparent), transparent 70%)}}.tour-offer-glow:before{filter:blur(8px)}.tour-offer-pip{max-width:100%;display:block;position:relative;flex-basis:auto!important;width:min(40vw,11rem)!important;height:auto!important}.tour-offer-pip>img{object-fit:contain;width:100%;height:auto;display:block}.tour-offer-intro h1{font-size:2rem;line-height:1.12;font-weight:var(--heading-weight)}.tour-offer-intro p{max-width:17rem;color:var(--muted-foreground);text-wrap:balance;margin-top:.6rem;font-size:.95rem;line-height:1.4}.tour-offer-facts{justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.tour-offer-facts span{background:var(--primary);border-radius:9999px;align-items:center;gap:.35rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.tour-offer-facts span{background:color-mix(in oklab, var(--primary) 16%, transparent)}}.tour-offer-facts span{padding:.4rem .8rem;font-size:.8rem;font-weight:600}.tour-offer-facts svg{width:1rem;height:1rem;color:var(--primary)}.tour-offer-journey h2{color:var(--muted-foreground);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:700}.tour-offer-journey ol{gap:1.25rem;display:grid}.tour-offer-journey li{align-items:center;gap:.9rem;display:flex;position:relative}.tour-offer-journey li:not(:last-child):after{content:"";border-left:2px dotted var(--primary);height:1.25rem;position:absolute;top:44px;left:21px}@supports (color:color-mix(in lab, red, red)){.tour-offer-journey li:not(:last-child):after{border-left:2px dotted color-mix(in oklab, var(--primary) 60%, transparent)}}.tour-stop-tile{background:var(--primary);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}@supports (color:color-mix(in lab, red, red)){.tour-stop-tile{background:color-mix(in oklab, var(--primary) 16%, transparent)}}.tour-stop-tile{color:var(--primary)}.tour-stop-tile svg{width:1.3rem;height:1.3rem}.tour-stop-text{flex-direction:column;line-height:1.3;display:flex}.tour-stop-text strong{font-weight:700}.tour-stop-description{color:var(--muted-foreground);font-size:.85rem}.tour-offer-actions{gap:.75rem;display:grid}.tour-offer-helper{color:var(--muted-foreground);text-align:center;font-size:.8rem}.tour-offer-later{margin-top:.5rem;font-size:.72rem}.tour-avatar-pointer{z-index:30;border:1px solid var(--primary);background:var(--card);width:13rem;box-shadow:var(--shadow-card);color:var(--foreground);text-align:left;border-radius:8px;padding:.6rem .75rem;font-size:.78rem;line-height:1.3;position:absolute;top:calc(100% + .75rem);right:0}.tour-avatar-pointer:before{content:"";border-top:1px solid var(--primary);border-left:1px solid var(--primary);background:var(--card);width:.7rem;height:.7rem;position:absolute;top:-.4rem;right:1rem;transform:rotate(45deg)}.page-enter{animation:.25s ease-out both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}}.press{transition:transform .12s ease-out}.press:active,button:active:not(:disabled){transform:translateY(2px)}.pip-avatar{background:var(--primary);color:var(--foreground);box-shadow:0 5px 0 var(--primary-shadow);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.player-avatar{background:var(--avatar-background);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.player-avatar-empty{--avatar-background:var(--avatar-default)}.player-avatar-lavender,.avatar-swatch-lavender{--avatar-background:var(--badge-lavender-light);background:var(--avatar-background)}.player-avatar-peach,.avatar-swatch-peach{--avatar-background:var(--badge-peach);background:var(--avatar-background)}.player-avatar-mint,.avatar-swatch-mint{--avatar-background:var(--badge-mint);background:var(--avatar-background)}.player-avatar-gold,.avatar-swatch-gold{--avatar-background:var(--badge-gold);background:var(--avatar-background)}.player-avatar-sky,.avatar-swatch-sky{--avatar-background:var(--avatar-sky);background:var(--avatar-background)}.player-avatar-rose,.avatar-swatch-rose{--avatar-background:var(--avatar-rose);background:var(--avatar-background)}.player-avatar-image{object-fit:contain;width:100%;height:100%}.player-avatar-bold{position:relative}.player-avatar-bold .player-avatar-image{top:var(--bold-top);width:var(--bold-zoom);height:var(--bold-zoom);max-width:none;position:absolute;left:50%;transform:translate(-50%)}.player-avatar-bold-white-knight-flat{--bold-zoom:152%;--bold-top:-3.2%}.player-avatar-bold-black-knight-flat{--bold-zoom:151%;--bold-top:-3.2%}.player-avatar-bold-white-knight-classic{--bold-zoom:152%;--bold-top:-4.5%}.player-avatar-bold-black-knight-classic{--bold-zoom:151%;--bold-top:-4.5%}.player-avatar-bold-white-bishop-flat{--bold-zoom:148%;--bold-top:-5.2%}.player-avatar-bold-black-bishop-flat{--bold-zoom:145%;--bold-top:-5%}.player-avatar-bold-white-bishop-classic{--bold-zoom:148%;--bold-top:-5.4%}.player-avatar-bold-black-bishop-classic{--bold-zoom:145%;--bold-top:-5.1%}.player-avatar-bold-white-rook-flat{--bold-zoom:150%;--bold-top:-3.5%}.player-avatar-bold-black-rook-flat{--bold-zoom:149%;--bold-top:-3.4%}.player-avatar-bold-white-rook-classic{--bold-zoom:150%;--bold-top:-2%}.player-avatar-bold-black-rook-classic{--bold-zoom:149%;--bold-top:-1.3%}.player-avatar-bold-white-queen-flat{--bold-zoom:152%;--bold-top:-5.6%}.player-avatar-bold-black-queen-flat{--bold-zoom:151%;--bold-top:-5.5%}.player-avatar-bold-white-queen-classic{--bold-zoom:152%;--bold-top:-5.6%}.player-avatar-bold-black-queen-classic{--bold-zoom:151%;--bold-top:-5.5%}.player-avatar-bold-white-king-flat{--bold-zoom:148%;--bold-top:-5.2%}.player-avatar-bold-black-king-flat{--bold-zoom:145%;--bold-top:-5%}.player-avatar-bold-white-king-classic{--bold-zoom:148%;--bold-top:-5.2%}.player-avatar-bold-black-king-classic{--bold-zoom:145%;--bold-top:-5%}.player-avatar-pawn{width:72%;height:72%;color:var(--avatar-pawn)}.profile-streak-badge{border:1px solid var(--border);background:var(--card);min-width:1.65rem;height:1.35rem;color:var(--foreground);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:.1rem;padding:0 .22rem;font-size:.7rem;font-weight:700;line-height:1;display:flex;position:absolute;bottom:-.4rem;right:0}.pip-avatar-art{transform-origin:50% 78%;animation:4.2s ease-in-out infinite pip-soft-bob}.pip-eyes{transform-origin:50% 13px;animation:6.8s ease-in-out infinite pip-blink}.pip-react-hop{animation:.38s ease-out pip-small-hop,4.2s ease-in-out .38s infinite pip-soft-bob}.pip-react-tilt{animation:.42s ease-in-out pip-head-tilt,4.2s ease-in-out .42s infinite pip-soft-bob}@keyframes pip-soft-bob{50%{transform:translateY(-2px)}}@keyframes pip-blink{0%,47%,49%,to{transform:scaleY(1)}48%{transform:scaleY(.08)}}@keyframes pip-small-hop{40%{transform:translateY(-6px)scale(1.03)}75%{transform:translateY(1px)scale(.98,1.02)}}@keyframes pip-head-tilt{35%,70%{transform:rotate(10deg)}}.splash{transition:opacity .25s ease-out}.launch-splash{z-index:100;background:var(--background);flex-direction:column;min-height:100dvh;transition:opacity .25s ease-out;display:flex;position:fixed;inset:0;overflow-y:auto}.splash-out{opacity:0}.logo-bob{animation:1.6s ease-in-out infinite logo-bob}@keyframes logo-bob{50%{transform:translateY(-10px)}}.loading-dot{background:var(--primary);border-radius:999px;width:12px;height:12px;animation:.9s ease-in-out infinite dot-pulse}.screen-loader{z-index:90;background:var(--background);place-items:center;animation:.18s ease-out both loader-in;display:grid;position:fixed;inset:0}.screen-loader-out{opacity:0;pointer-events:none;transition:opacity .18s ease-out}.screen-loader-content{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.screen-loader-dots{gap:.5rem;display:flex}.screen-loader .loading-dot{width:8px;height:8px}@keyframes loader-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.screen-loader .pip-avatar-art{animation:none!important}.screen-loader .loading-dot{animation:1.6s ease-in-out infinite dot-pulse!important}}html[data-reduce-motion=on] .screen-loader .pip-avatar-art{animation:none!important}html[data-reduce-motion=on] .screen-loader .loading-dot{animation:1.6s ease-in-out infinite dot-pulse!important}@keyframes dot-pulse{50%{opacity:.35;transform:scale(.8)}}.choice-card{border:2px solid var(--border);background:var(--card);box-shadow:0 4px 0 var(--secondary-shadow);border-radius:1.25rem;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:border-color .15s,background .15s,transform .12s;display:flex}.choice-selected{border-color:var(--primary);background:var(--accent)}.stat-chip{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:1.1rem;font-weight:700;display:inline-flex}.stat-chip-button{color:var(--foreground);transition:transform .17s,background-color .17s}.stat-chip-button:active{transform:scale(.94)}.stat-chip-button:hover{background:var(--muted)}.streak-week-day{aspect-ratio:1;border:1px solid var(--border);background:var(--muted);border-radius:50%;place-items:center;width:min(2.5rem,9vw);display:grid}.streak-week-today{border:2px solid var(--badge-peach)}@media (prefers-reduced-motion:reduce){.stat-chip-button{transition:none}.stat-chip-button:active{transform:none}}html[data-reduce-motion=on] .stat-chip-button{transition:none}html[data-reduce-motion=on] .stat-chip-button:active{transform:none}.flame{transform-origin:50% 90%;animation:1.8s ease-in-out infinite flame-flicker}.streak-gain{animation:.42s cubic-bezier(.22,1.4,.4,1) both streak-bump}@keyframes streak-bump{45%{transform:scale(1.17)}}@keyframes flame-flicker{0%,to{transform:scale(1)rotate(0)}30%{transform:scale(1.06,.96)rotate(-3deg)}60%{transform:scale(.97,1.05)rotate(3deg)}}.continue-card{background:var(--primary);color:var(--primary-foreground);box-shadow:inset 0 6px 0 var(--primary-shadow);border-radius:1.75rem;padding:1.5rem}@supports (color:color-mix(in lab, red, red)){.continue-card{box-shadow:inset 0 6px 0 color-mix(in oklab, var(--primary-shadow) 60%, transparent)}}.home-wordmark{font-size:clamp(.95rem,4vw,1.2rem)}.home-tile{border:1px solid var(--border);background:var(--card);text-align:left;box-shadow:0 5px 0 var(--secondary-shadow);border-radius:1.5rem;flex-direction:column;align-items:flex-start;padding:1.25rem;display:flex;position:relative}.home-tile-copy{margin-top:.75rem;display:block}.home-tile-wide{flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}.home-tile-wide .home-tile-copy{margin-top:0}.daily-home{border:1px solid var(--border);background:var(--card);min-height:5.5rem;box-shadow:0 5px 0 var(--secondary-shadow);border-radius:.5rem;flex-direction:column;padding:.75rem;display:flex}.daily-home-row{align-items:center;gap:.75rem;display:flex}.daily-home-note-foot{border-top:1px solid var(--note-divider);align-items:center;gap:.55rem;margin-top:.65rem;padding-top:.65rem;display:flex}.daily-home-note-foot p{min-width:0;color:var(--note-ink);font-size:.75rem;line-height:1.25rem}.daily-home-note-foot .pip-speech{flex:1;padding:.4rem .55rem}.daily-home-note-foot .pip-speech:before{top:.65rem}.openings-thumb{border:3px solid var(--board-frame);background:var(--board-light);width:4.25rem;height:4.25rem;box-shadow:0 3px 0 var(--secondary-shadow);border-radius:.35rem;flex:0 0 4.25rem;margin-left:auto;overflow:hidden;transform:rotate(-6deg)}.daily-thumbnail{border:3px solid var(--board-frame);background:var(--board-light);border-radius:.35rem;flex:0 0 64px;width:64px;height:64px;display:block;overflow:hidden}.daily-coach-intro{z-index:1;animation:3.2s ease-out both daily-intro-fade}@keyframes daily-intro-fade{0%,55%{opacity:1}to{opacity:0}}.daily-difficulty{text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.25rem .7rem;font-size:.7rem;font-weight:700}.daily-easy{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.daily-easy{background:color-mix(in oklab, var(--success) 20%, transparent)}}.daily-easy{color:var(--success)}.daily-medium{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.daily-medium{background:color-mix(in oklab, var(--primary) 20%, transparent)}}.daily-medium{color:var(--primary)}.daily-hard{background:var(--peach)}@supports (color:color-mix(in lab, red, red)){.daily-hard{background:color-mix(in oklab, var(--peach) 20%, transparent)}}.daily-hard{color:var(--peach)}.daily-streak-bump{animation:.5s ease-out .5s both star-pop}.daily-calendar-day{height:2.4rem;color:var(--foreground);font-variant-numeric:tabular-nums;border-radius:.35rem;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.daily-calendar-today{background:var(--accent);font-weight:700}.daily-calendar-dot{background:var(--gold);border-radius:50%}.daily-calendar-dot-1{width:4px;height:4px}.daily-calendar-dot-2{width:6px;height:6px}.daily-calendar-dot-3{width:8px;height:8px}@media (prefers-reduced-motion:reduce){.daily-streak-bump,.daily-coach-intro{animation:none}}.soon-badge{background:var(--accent);text-transform:uppercase;color:var(--muted-foreground);border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.tile-icon{border-radius:1rem;place-items:center;width:4rem;height:4rem;display:grid}.tile-peach{background:var(--peach)}.tile-mint{background:var(--success)}.tile-cream{background:var(--board-light)}.tile-violet{background:var(--accent)}.pip-badge{background:var(--badge-peach);box-shadow:inset 0 -4px 0 var(--badge-peach-edge);border-radius:1rem;flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.pip-badge-tricks{background:var(--badge-lavender-light);box-shadow:inset 0 -4px 0 var(--badge-lavender-light-edge)}.pip-badge-openings{background:var(--badge-mint);box-shadow:inset 0 -4px 0 var(--badge-mint-edge)}.pip-badge-daily{background:var(--gold);box-shadow:inset 0 -4px 0 var(--badge-peach-edge)}.pip-badge-layer{width:100%;height:100%;position:absolute;inset:0}.pip-badge-pawn{transform-origin:50%}.pip-pawn-rush{transform:translate(-6%)rotate(12deg)scale(1.12)}.pip-pawn-tricks{transform:rotate(-9deg)scale(.76)}.pip-pawn-openings{transform:translate(-15%,2%)scale(.96)}.pip-pawn-daily{transform:translate(-15%)scale(1.13)}@keyframes pip-lines-streak{0%,70%,to{opacity:.85;transform:translate(0)}77%{opacity:1;transform:translate(-3px)}88%{opacity:0;transform:translate(-9px)}94%{opacity:0;transform:translate(3px)}}.pip-badge-idle .pip-speed-lines{animation:3.8s ease-in-out infinite pip-lines-streak}.pip-badge-idle-art{transform-origin:50% 70%;animation:4.2s ease-in-out infinite pip-soft-bob}@media (prefers-reduced-motion:reduce){.pip-badge-idle .pip-speed-lines{animation:none}}.tab-bar{z-index:30;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));border:1px solid var(--nav-outline);background:var(--nav-surface);border-radius:999px;width:calc(100% - 2rem);max-width:28rem;padding:.375rem;position:absolute}@supports (color:color-mix(in lab, red, red)){.tab-bar{background:color-mix(in srgb, var(--nav-surface) 75%, transparent)}}.tab-bar{box-shadow:0 14px 32px var(--background), 0 2px 8px var(--background)}@supports (color:color-mix(in lab, red, red)){.tab-bar{box-shadow:0 14px 32px color-mix(in srgb, var(--background) 55%, transparent), 0 2px 8px color-mix(in srgb, var(--background) 35%, transparent)}}.tab-bar{-webkit-backdrop-filter:blur(24px)saturate(150%);transform:translate(-50%)}.tab-bar-compact{transform:translate(-50%)scale(.94)}.tab-bar-inner{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative}.tab-indicator{background:var(--primary);width:20%;transition:transform .54s linear(0, .2 8%, .61 20%, 1.01 39%, 1.1 51%, 1.04 68%, .99 84%, 1);pointer-events:none;border-radius:999px;position:absolute;top:0;bottom:0;left:0;transform:translate(0)}.tab-indicator-1{transform:translate(100%)}.tab-indicator-2{transform:translate(200%)}.tab-indicator-3{transform:translate(300%)}.tab-indicator-4{transform:translate(400%)}.tab-item{z-index:1;min-width:0;min-height:3.75rem;color:var(--muted-foreground);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;font-size:.7rem;font-weight:700;transition:color .18s;display:flex;position:relative}.tab-item:focus-visible{outline:2px solid var(--foreground);outline-offset:-3px}.tab-active{color:var(--primary-foreground)}@media (prefers-reduced-motion:reduce){.tab-bar,.tab-indicator,.tab-item{transition:none}.tab-bar-compact{transform:translate(-50%)}}.path-unit-0{--unit-color:#f4e8d4}.path-unit-1,.path-unit-5{--unit-color:#b9a6f2}.path-unit-2,.path-unit-6{--unit-color:#8fdcc0}.path-unit-3,.path-unit-7{--unit-color:#f6a98a}.path-unit-4{--unit-color:#f6d38a}.unit-header{background:var(--unit-color);color:var(--primary-foreground);box-shadow:inset 0 5px 0 var(--unit-color);border-radius:1.5rem;padding:1.1rem 1.4rem}@supports (color:color-mix(in lab, red, red)){.unit-header{box-shadow:inset 0 5px 0 color-mix(in oklab, var(--unit-color) 65%, var(--background))}}.unit-header-icon{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.unit-header-icon{background:color-mix(in oklab, var(--background) 10%, transparent)}}.unit-header-icon.unit-header-medallion{background:0 0}.unit-medallion-image{object-fit:contain;width:100%;height:100%;display:block}.unit-medallion-locked{filter:grayscale()brightness(.85);opacity:.6}.unit-locked{background:var(--unit-color)}@supports (color:color-mix(in lab, red, red)){.unit-locked{background:color-mix(in oklab, var(--unit-color) 20%, var(--background))}}.unit-locked{color:var(--unit-color);box-shadow:none}.unit-locked .unit-header-icon{background:var(--unit-color)}@supports (color:color-mix(in lab, red, red)){.unit-locked .unit-header-icon{background:color-mix(in oklab, var(--unit-color) 12%, transparent)}}.unit-header-icon.unit-header-medallion,.unit-locked .unit-header-icon.unit-header-medallion{box-shadow:none;background:0 0;border:0}.unit-header-icon.unit-header-medallion:before,.unit-header-icon.unit-header-medallion:after{content:none}.path-node-row{flex:none;width:calc(100% - 5.5rem);height:172px}.path-scroll .path-node-position{width:min(100%,12rem)}.path-scroll .pip-idle{margin-inline:0}.path-scroll .pip-idle.left-full{left:auto;right:-3.1rem}.path-scroll .pip-idle.right-full{left:-3.1rem;right:auto}.path-unit .path-node-row:last-child:not(:has(.current-node-label)){height:136px}.path-node-position{z-index:1}.path-current-avatar{z-index:2;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.path-current-avatar-right{left:calc(100% + 8px)}.path-current-avatar-left{right:calc(100% + 8px)}.path-node{border-radius:999px;place-items:center;width:5.5rem;height:5.5rem;transition:transform .12s;display:grid;position:relative}.path-node-big{width:7rem;height:7rem}.current-node-label{min-width:0}.path-unit .node-completed{background:var(--unit-color);color:var(--primary-foreground);box-shadow:0 6px 0 var(--unit-color)}@supports (color:color-mix(in lab, red, red)){.path-unit .node-completed{box-shadow:0 6px 0 color-mix(in oklab, var(--unit-color) 65%, var(--background))}}.path-unit .node-current{background:var(--unit-color);color:var(--primary-foreground);box-shadow:0 6px 0 var(--unit-color)}@supports (color:color-mix(in lab, red, red)){.path-unit .node-current{box-shadow:0 6px 0 color-mix(in oklab, var(--unit-color) 65%, var(--background))}}.node-locked{background:var(--secondary);color:var(--muted-foreground);box-shadow:0 6px 0 var(--secondary-shadow)}.node-locked:not(.node-checkpoint){color:var(--note-divider)}.node-locked .locked-board .bg-board-dark,.node-locked .locked-board .bg-board-light{background:var(--note-divider)}@supports (color:color-mix(in lab, red, red)){.node-locked .locked-board .bg-board-light{background:color-mix(in srgb, var(--note-divider) 60%, var(--secondary))}}.node-locked .locked-board .bg-background{background:var(--secondary)}.node-lock-badge{border:2px solid var(--background);background:var(--note-divider);width:1.65rem;height:1.65rem;color:var(--foreground);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.path-scroll>div{padding-bottom:calc(10rem + env(safe-area-inset-bottom))}.path-jump{z-index:20;left:50%;bottom:calc(6.25rem + env(safe-area-inset-bottom));white-space:nowrap;position:absolute;transform:translate(-50%)}.path-jump:active{transform:translate(-50%)translateY(2px)}.node-review{background:var(--peach);color:var(--primary-foreground);box-shadow:0 6px 0 var(--peach)}@supports (color:color-mix(in lab, red, red)){.node-review{box-shadow:0 6px 0 color-mix(in oklab, var(--peach) 55%, black)}}.path-unit .node-checkpoint.node-completed,.path-unit .node-checkpoint.node-current{background:var(--unit-color);color:var(--primary-foreground);box-shadow:0 6px 0 var(--unit-color)}@supports (color:color-mix(in lab, red, red)){.path-unit .node-checkpoint.node-completed,.path-unit .node-checkpoint.node-current{box-shadow:0 6px 0 color-mix(in oklab, var(--unit-color) 65%, var(--background))}}.node-ring{border:6px solid var(--primary);border-radius:999px;position:absolute;inset:-14px}@supports (color:color-mix(in lab, red, red)){.node-ring{border:6px solid color-mix(in oklab, var(--primary) 35%, transparent)}}.node-ring{animation:1.8s ease-out infinite ring-pulse}@keyframes ring-pulse{0%{opacity:1;transform:scale(.92)}to{opacity:0;transform:scale(1.12)}}.node-unlock{animation:.7s cubic-bezier(.3,1.5,.5,1) both node-unlock}.path-current-bob{animation:3.6s ease-in-out infinite path-node-bob;display:inline-block}.path-current-bob-delayed{animation-delay:.8s}.path-connector{z-index:0;pointer-events:none;width:200px;height:172px;position:absolute;top:56px;left:50%;overflow:visible;transform:translate(-50%)}.path-connector path{fill:none;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.path-connector-complete{stroke:var(--unit-color)}.path-connector-upcoming{stroke:var(--note-divider);stroke-dasharray:1 13}.path-connector-draw{stroke-dasharray:220;stroke-dashoffset:220px;animation:.6s ease-out forwards path-line-draw}@keyframes path-line-draw{to{stroke-dashoffset:0}}@keyframes path-node-bob{50%{transform:translateY(-4px)}}@keyframes node-unlock{0%{background:var(--secondary);transform:scale(.7)}60%{transform:scale(1.1)}to{transform:scale(1)}}.pip-idle{animation:2.2s ease-in-out infinite logo-bob}.pip-bounce{animation:.9s ease-in-out infinite pip-bounce}@keyframes pip-bounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-18px)scale(1.03)}55%{transform:translateY(0)scale(1.04,.96)}}.stat-card{border:3px solid;border-radius:1rem;overflow:hidden}.stat-card-value{background:var(--background);border-radius:.8rem;margin:0 3px 3px;padding:.9rem 0;font-size:1.6rem;font-weight:700}.stat-lavender{border-color:var(--primary);background:var(--primary)}.stat-lavender .stat-card-value{color:var(--primary)}.stat-mint{border-color:var(--success);background:var(--success)}.stat-mint .stat-card-value{color:var(--success)}.stat-peach{border-color:var(--peach);background:var(--peach)}.stat-peach .stat-card-value{color:var(--peach)}.confetti{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.confetti span{opacity:.9;animation:linear both confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{opacity:.6;transform:translateY(105dvh)rotate(540deg)}}.confetti~*{z-index:1;position:relative}.trophy-pop{animation:.6s cubic-bezier(.3,1.6,.5,1) both star-pop}.checkpoint-chip{background:var(--peach);color:var(--primary-foreground);border-radius:999px;padding:.1rem .5rem}.heart-full{color:var(--error);fill:var(--error)}.heart-empty{color:var(--border);fill:#0000}.heart-lost{animation:.3s ease-in-out piece-shake}@media (prefers-reduced-motion:reduce){.logo-bob,.pip-idle,.pip-bounce,.flame,.node-ring,.loading-dot,.confetti span{animation:none!important}.confetti{display:none}}.tutorial-screen{height:100dvh;position:relative;overflow:hidden}.tutorial-shell{height:100%;min-height:0;padding:max(3.5rem, env(safe-area-inset-top)) 1rem max(.75rem, env(safe-area-inset-bottom));flex-direction:column;gap:clamp(.5rem,1.5vh,1rem);display:flex}.tutorial-heading,.tutorial-coach,.tutorial-board-area,.tutorial-actions,.tutorial-next{position:relative}.tutorial-coach{flex:none;min-height:4.5rem}.tutorial-board-area{isolation:isolate;flex:1 1 0;place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.tutorial-board-area:has(.tutorial-board-dim){z-index:21}.tutorial-board-area .board-edge{width:min(100cqw,480px,100cqh - 3rem)}.tutorial-actions{flex:none}.tutorial-next{z-index:32;min-height:3.5rem;padding:.5rem 0 max(.5rem, env(safe-area-inset-bottom));flex:none;position:relative}.tutorial-skip{z-index:50;right:max(1rem, env(safe-area-inset-right));top:max(.75rem, env(safe-area-inset-top));color:var(--foreground);position:fixed}.tutorial-dimmer{z-index:20;background:var(--tutorial-dim);position:fixed;inset:0}.tutorial-target,.tutorial-interactive,.tutorial-control-target,.tutorial-skip,.tutorial-coach{z-index:30}.tutorial-board{z-index:30;position:relative}.tutorial-square-dim:before{content:"";z-index:6;pointer-events:none;background:var(--tutorial-board-dim);position:absolute;inset:0}.tutorial-board-dim .chess-piece{filter:drop-shadow(0 5px 3px oklch(12% .03 294/.38));opacity:1}.tutorial-square-spotlight{z-index:7;box-shadow:inset 0 0 0 4px var(--primary), 0 0 16px var(--tutorial-glow);animation:1.5s ease-in-out infinite tutorial-spotlight}.tutorial-target,.tutorial-control-target{isolation:isolate;filter:drop-shadow(0 0 12px var(--tutorial-glow));position:relative}.tutorial-interactive{position:relative}.tutorial-screen .legal-dot{z-index:30}.tutorial-control-target{overflow:visible}.tutorial-ring:before{content:"";z-index:8;pointer-events:none;border:4px solid var(--primary);border-radius:999px;animation:.9s ease-in-out infinite tutorial-ring;position:absolute;inset:10%}.guide-hand{z-index:12;pointer-events:none;color:var(--foreground);filter:drop-shadow(0 3px 4px var(--background));position:absolute}.guide-hand svg{width:2rem;height:2rem;fill:var(--foreground);color:var(--background)}.guide-hand-piece{top:-1rem;right:-1rem}.guide-hand-square{bottom:-1rem;right:-1rem}.guide-hand-button{top:-2rem;right:.5rem}.motion-hand{transform-origin:35% 75%;animation:1.5s ease-in-out infinite tutorial-tap}.tap-ripple{border:2px solid var(--primary);opacity:0;border-radius:999px;width:1rem;height:1rem;animation:1.5s ease-out infinite tutorial-tap-ripple;position:absolute;bottom:.15rem;left:.2rem}.static-arrow{display:none;fill:none!important;color:var(--foreground)!important}.tutorial-success{animation:.42s ease-out coach-pop}@keyframes tutorial-tap{0%,20%,to{transform:translate(0)scale(1)}45%{transform:translate(-5px,7px)scale(1)}55%{transform:translate(-5px,7px)scale(.9)}70%{transform:translate(0)scale(1)}}@keyframes tutorial-tap-ripple{0%,48%{opacity:0;transform:scale(.35)}55%{opacity:.9;transform:scale(.35)}78%{opacity:0;transform:scale(1.8)}to{opacity:0}}@keyframes tutorial-spotlight{0%,to{box-shadow:inset 0 0 0 4px var(--primary), 0 0 12px var(--tutorial-glow)}50%{box-shadow:inset 0 0 0 4px var(--primary), 0 0 22px var(--tutorial-glow)}}@keyframes tutorial-ring{50%{opacity:.45;transform:scale(.85)}}@media (height<=699px){.tutorial-shell{padding-top:max(3rem, env(safe-area-inset-top));gap:.35rem}.tutorial-heading h1{font-size:1.75rem;line-height:1.1}.tutorial-coach{min-height:3.75rem}.tutorial-actions,.tutorial-next{min-height:3rem}.tutorial-actions .h-14,.tutorial-next .h-14{height:3rem}}@media (prefers-reduced-motion:reduce){.motion-hand,.tap-ripple{display:none}.static-arrow{display:block}.guide-hand,.tutorial-ring:before,.tutorial-square-spotlight{animation:none!important}}.lesson-gem{z-index:4;aspect-ratio:1;filter:drop-shadow(0 3px 2px oklch(25% .05 280/.4));width:58%;animation:2.2s ease-in-out infinite lesson-gem-bob;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gem-facet{background:var(--primary);clip-path:polygon(50% 0,88% 24%,100% 58%,50% 100%,0 58%,12% 24%);box-shadow:inset 0 0 0 2px var(--foreground);position:absolute;inset:8%}@supports (color:color-mix(in lab, red, red)){.gem-facet{box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--foreground) 24%, transparent)}}.gem-facet:before{content:"";background:linear-gradient(135deg, var(--foreground) 0 28%, transparent 29% 58%, var(--background) 59%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.gem-facet:before{background:linear-gradient(135deg, color-mix(in oklab, var(--foreground) 34%, transparent) 0 28%, transparent 29% 58%, color-mix(in oklab, var(--background) 22%, transparent) 59%)}}.gem-facet:before{clip-path:inherit}.gem-shine{color:var(--primary-foreground);text-shadow:0 1px 3px var(--background);font-size:clamp(.65rem,4vw,1rem);line-height:1;position:absolute;top:4%;right:10%}@keyframes lesson-gem-bob{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-56%)scale(1.05)}}.gem-burst{z-index:14;pointer-events:none;position:absolute;inset:0}.gem-captured{animation:.32s ease-out both gem-captured}@keyframes gem-captured{0%{opacity:1;filter:drop-shadow(0 0 #0000);transform:translate(-50%,-50%)scale(1)}60%{opacity:.9;filter:drop-shadow(0 0 8px var(--success));transform:translate(-50%,-50%)scale(1.35)}to{opacity:0;filter:drop-shadow(0 0 12px var(--success));transform:translate(-50%,-50%)scale(.2)}}.gem-spark{aspect-ratio:1;background:var(--success);opacity:0;border-radius:999px;width:10%;animation:.38s ease-out 80ms both capture-puff;position:absolute;top:50%;left:50%}.promote-sparkle{z-index:13;pointer-events:none;background:radial-gradient(circle, var(--gold,#f6d38a) 0%, transparent 70%);border-radius:999px;position:absolute;inset:6%}@supports (color:color-mix(in lab, red, red)){.promote-sparkle{background:radial-gradient(circle, color-mix(in oklab, var(--gold,#f6d38a) 85%, transparent) 0%, transparent 70%)}}.promote-sparkle{animation:.7s ease-out both promote-sparkle}@keyframes promote-sparkle{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(1.6)}}.demo-arrow{z-index:20;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.demo-arrow line{stroke:var(--primary);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120px;opacity:.9;vector-effect:non-scaling-stroke;stroke-width:7px;animation:1.6s ease-in-out infinite demo-draw}.demo-arrow marker path{fill:var(--primary)}@keyframes demo-draw{0%{stroke-dashoffset:120px}55%,85%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:0}}.node-optional{background:var(--card);color:var(--foreground);border:3px solid var(--primary);box-shadow:0 6px 0 var(--primary)}@supports (color:color-mix(in lab, red, red)){.node-optional{box-shadow:0 6px 0 color-mix(in oklab, var(--primary) 45%, black)}}.node-optional img,.node-current img.lesson-node-piece,.node-completed img.lesson-node-piece{width:60%;height:60%}.rush-scroll{padding:1rem 1.25rem 1.5rem;overflow-y:auto}.rush-lobby{position:relative}.rush-lobby-footer{z-index:10;padding:.75rem 1.25rem calc(6.125rem + env(safe-area-inset-bottom));background:var(--background);flex:none;position:relative}.rush-start-btn{pointer-events:auto}.rush-start-label{align-items:center;animation:.18s ease-out rush-crossfade;display:inline-flex}.rush-combo-tip{text-align:left;color:var(--muted-foreground);align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;display:flex}.rush-mode-card{border:2px solid var(--border);background:var(--card);width:100%;box-shadow:0 5px 0 var(--secondary-shadow);border-radius:1rem;align-items:center;gap:1rem;padding:1rem;transition:border-color .15s,background .15s,transform .12s;display:flex}.rush-mode-selected{border-color:var(--primary);background:var(--accent);animation:.22s ease-out rush-mode-pop}.rush-mode-icon{background:var(--secondary);width:3.25rem;height:3.25rem;color:var(--primary);border-radius:999px;flex:0 0 3.25rem;place-items:center;display:grid}@keyframes rush-crossfade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes rush-mode-pop{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.rush-topbar{flex:none;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:.5rem;display:grid}.rush-mode-chip{background:var(--accent);text-transform:uppercase;color:var(--primary);border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:800}.rush-score{font-family:var(--font-display);color:var(--foreground);justify-self:center;font-size:2.4rem;line-height:1}.rush-clock{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.3rem;min-width:4.7rem;font-weight:800;display:flex}.rush-clock svg,.rush-combo svg{width:1.15rem;height:1.15rem}.rush-clock-low{color:var(--error);animation:.7s ease-in-out infinite rush-clock-pulse}.rush-combo{min-width:3rem;color:var(--muted-foreground);justify-content:center;align-items:center;gap:.2rem;font-weight:800;display:flex}.rush-combo-live{color:var(--peach);filter:drop-shadow(0 0 7px var(--peach))}@supports (color:color-mix(in lab, red, red)){.rush-combo-live{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--peach) var(--combo-glow), transparent))}}.rush-combo-live{transition:filter .32s ease-out}.rush-combo-live svg{fill:var(--peach);animation:1.1s ease-in-out infinite flame-flicker}.rush-status{text-transform:uppercase;min-height:3.25rem;color:var(--muted-foreground);flex:0 0 3.25rem;place-items:center;font-size:.85rem;font-weight:800;display:grid}.rush-king-tip{animation-duration:.4s;animation-delay:0s}@keyframes rush-clock-pulse{50%{opacity:.45;transform:scale(1.08)}}@media (width<=390px){.rush-topbar{gap:.25rem}.rush-mode-chip{padding-inline:.45rem}.rush-score{font-size:2rem}.rush-clock{min-width:4rem}}@media (width>=768px) and (orientation:landscape){.rush-run .puzzle-shell{grid-template-rows:auto auto 1fr auto}.rush-run .rush-topbar{grid-area:1/2}.rush-run .puzzle-title{grid-area:2/2}.rush-run .rush-status{grid-area:4/2}}@media (prefers-reduced-motion:reduce){.lesson-gem,.gem-captured,.gem-spark,.demo-arrow line,.rush-clock-low,.rush-combo-live svg{animation:none}.demo-arrow line{stroke-dashoffset:0}.promote-sparkle{animation-duration:1ms}}.rush-clock{position:relative}.rush-penalty-float{color:var(--error);pointer-events:none;font-weight:900;animation:.9s ease-out forwards rush-float-up;position:absolute;top:0;left:50%}.rush-square-miss{animation:.6s ease-out rush-miss-flash}.rush-board-shake{animation:.32s ease-in-out rush-board-shake}.rush-missed{color:var(--error);font-size:1rem}.rush-reveal-arrow{z-index:5;opacity:.92;animation:.2s ease-out fade-in}.rush-reveal-arrow line{stroke:#b9a6f2}.rush-reveal-arrow path{fill:#b9a6f2}.rush-combo-drain{animation:.45s ease-in rush-drain}.rush-heart-crack{animation:.42s ease-out rush-heart-crack}@keyframes rush-float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-1.6rem)}}@keyframes rush-miss-flash{0%,60%{background-color:var(--error)}}@keyframes rush-board-shake{25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes rush-drain{0%{opacity:1;transform:scaleY(1.2)}to{opacity:.4;transform:scaleY(.6)}}@keyframes rush-heart-crack{0%{transform:scale(1)}35%{transform:scale(1.35)rotate(-8deg)}60%{transform:scale(.8)rotate(6deg)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rush-penalty-float,.rush-board-shake,.rush-combo-drain,.rush-heart-crack,.rush-reveal-arrow,.rush-start-label,.rush-mode-selected{animation:none}.rush-penalty-float{transform:translate(-50%,-1.2rem)}.rush-square-miss{background-color:var(--error);animation:none}}:root{--trap-back:#262136;--trap-face:#f4e8d4;--trap-ink:#1b1726;--trap-gold-deep:#e0a94f;--trap-gold-edge:#ffe4ab;--trap-card-line:#3a3350;--trap-art-shadow:#1b1726;--trap-medallion:#2a2340;--trap-back-line:#b9a6f2}.trap-card{aspect-ratio:3/4.3;border:2px solid var(--border);text-align:left;width:100%;box-shadow:0 5px 0 var(--secondary-shadow);border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:.5rem;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.trap-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.trap-card-locked{background:var(--trap-back);color:var(--foreground)}.trap-card-collected{background:var(--trap-face);color:var(--trap-ink)}.trap-card-art{border-radius:3px;flex:1;place-items:center;width:100%;min-height:0;display:grid;overflow:hidden}.trap-card-art>div{place-items:center;width:100%;min-width:0;display:grid}.trap-card-locked .trap-card-art{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.trap-card-locked .trap-card-art{border:1px solid color-mix(in oklab, var(--primary) 40%, transparent)}}.trap-card-collected .trap-card-art{background:var(--board-frame);padding:4px}.trap-card-info{min-height:5.25rem;padding:.6rem .15rem .1rem;display:block}.trap-deck-unknown{font-family:var(--font-display);color:#3a3350;font-size:3rem;font-weight:700;line-height:1}.trap-difficulty-dot{opacity:.25;background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.trap-dot-active{opacity:1}.trap-board{aspect-ratio:1;border-radius:2px;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,10.25rem);display:grid;overflow:hidden}.trap-square{aspect-ratio:1;min-width:0;position:relative}.trap-square img{object-fit:contain;object-position:center bottom;width:92%;height:98%;position:absolute;bottom:0;left:4%}.trick-detail{max-width:28rem;padding-bottom:max(2rem, env(safe-area-inset-bottom));margin-inline:auto}.trick-watch-scroll>div{height:100%;padding-bottom:max(.75rem, env(safe-area-inset-bottom));flex-direction:column;display:flex}.trick-detail.trick-watch-layout{flex-direction:column;flex:1;width:100%;min-height:0;padding-bottom:0;display:flex}.trick-watch-heading{flex:none}.trick-watch-board-slot{flex:auto;place-items:center;min-height:0;display:grid;container-type:size}.trick-watch-board-slot .trap-watch-frame{width:min(100%,100cqh - 12px)}.trick-watch-board-slot:has(.trick-detail-art){flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.trick-watch-board-slot:has(.trick-detail-art) .trap-watch-frame{width:min(100%,100cqh - clamp(52px,14dvh,120px) - 8px)}.trick-detail-art{object-fit:contain;width:min(44%,152px);height:clamp(52px,14dvh,120px);filter:drop-shadow(0 7px 6px var(--trap-art-shadow));flex:none;display:block}@supports (color:color-mix(in lab, red, red)){.trick-detail-art{filter:drop-shadow(0 7px 6px color-mix(in srgb, var(--trap-art-shadow) 32%, transparent))}}.trick-try-art:empty{display:none}.trick-try-art:has(.trick-detail-art){justify-content:center;margin:0 auto .5rem;display:flex}.trick-try-art .trick-detail-art{width:min(42%,170px);height:min(22dvh,160px)}.trick-watch-controls{flex:none;padding-top:.5rem}.trap-watch-frame{width:min(100%,28rem);margin-inline:auto}.trap-watch-board{aspect-ratio:1;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid}.trap-watch-piece{cursor:default}.trap-piece-arrive{animation:.2s ease-out trap-piece-appear}@keyframes trap-piece-appear{0%{opacity:.4;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.trap-piece-arrive{animation:none}}.trap-try-board [data-square]{cursor:pointer;touch-action:none}.trap-try-board [data-square]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:2}.trap-correct-pulse{box-shadow:inset 0 0 0 3px var(--primary);animation:.85s ease-in-out 2 trap-pulse}@keyframes trap-pulse{50%{box-shadow:inset 0 0 0 6px var(--primary);filter:brightness(1.18)}}.trap-reveal{text-align:center;flex-direction:column;align-items:center;padding-top:1rem;display:flex}.trap-reveal-card{aspect-ratio:3/4.3;width:min(70%,15rem);transform-style:preserve-3d;transition:transform .65s ease-in-out;position:relative}.trap-reveal-flipped{transform:rotateY(180deg)}.trap-reveal-back,.trap-reveal-face{backface-visibility:hidden;border:2px solid var(--border);border-radius:8px;padding:.5rem;position:absolute;inset:0}.trap-reveal-back{background:var(--trap-back);justify-content:center;align-items:center;display:flex}.trap-reveal-back .trap-deck-unknown{font-size:4rem}.trap-reveal-face{background:var(--trap-face);color:var(--trap-ink);flex-direction:column;gap:.75rem;display:flex;transform:rotateY(180deg)}.trap-reveal-face .trap-card-art{background:var(--board-frame);padding:4px}.trap-card-foil{box-shadow:0 0 0 2px var(--foil), 0 5px 0 var(--secondary-shadow);border-color:var(--foil)!important}.trap-card-foil:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg, transparent 20%, var(--foil) 50%, transparent 80%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.trap-card-foil:after{background:linear-gradient(110deg, transparent 20%, color-mix(in srgb, var(--foil) 35%, transparent) 50%, transparent 80%)}}.trap-card-foil:after{background-size:220% 100%;animation:4s ease-in-out infinite trap-foil}@keyframes trap-foil{0%,42%,to{background-position:140% 0}70%{background-position:-140% 0}}.trap-card-shine{animation:1.2s ease-out 2 trap-shine}@keyframes trap-shine{50%{filter:brightness(1.25);transform:translateY(-3px)}}.text-foil{color:var(--foil)}:root{--foil:#f6d38a}@media (prefers-reduced-motion:reduce){.trap-correct-pulse,.trap-card-foil:after,.trap-card-shine{animation:none}.trap-reveal-card{transition:none}}:root{--trap-silhouette:#3a3350;--trap-emblem-cream:#f6f1ea}.trap-deck-card{aspect-ratio:3/4.5;isolation:isolate;padding:0;display:flex;position:relative}.trap-deck-card:before{content:"";z-index:1;border:1px solid var(--trap-silhouette);pointer-events:none;border-radius:4px;position:absolute;inset:7px}.trap-deck-card.trap-card-collected:before{border-color:var(--trap-emblem-accent);opacity:.55}.trap-deck-card.trap-card-locked{background:var(--trap-back);color:var(--foreground)}.trap-deck-card.trap-card-collected{background:var(--trap-face);color:var(--trap-ink)}.trap-deck-number{z-index:2;font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1;position:absolute;top:15px;left:17px}.trap-deck-lock{opacity:.65;position:absolute;top:17px;right:17px}.trap-deck-art{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;width:100%;min-height:0;padding:24px 16px 4px;display:flex}.trap-emblem{width:min(80%,112px);height:auto;color:var(--trap-emblem-accent);flex:0 auto;display:block;overflow:visible}.trap-deck-fools-mate{--trap-emblem-accent:var(--badge-peach)}.trap-deck-scholars-mate{--trap-emblem-accent:#b9a6f2}.trap-deck-legals-mate{--trap-emblem-accent:var(--badge-mint)}.trap-deck-blackburne-shilling{--trap-emblem-accent:var(--badge-gold);--trap-coin-gap:var(--trap-back);--trap-coin-rim:var(--badge-pip)}.trap-deck-blackburne-shilling.trap-card-collected{--trap-coin-gap:var(--trap-face)}.trap-deck-englund-gambit{--trap-emblem-accent:#f6a98a}.trap-deck-kieninger{--trap-emblem-accent:#8fdcc0}.trap-deck-card.trap-card-locked .trap-emblem{color:var(--trap-silhouette);--trap-emblem-cream:var(--trap-silhouette)}.trap-deck-card.trap-card-locked{--trap-coin-rim:var(--trap-silhouette)}.trap-deck-card.trap-card-locked .trap-deck-art{padding-bottom:0}.trap-deck-board{border:3px solid var(--board-frame);border-radius:3px;place-items:center;width:min(60%,112px);min-width:0;display:grid;position:relative;overflow:hidden}.trap-deck-board>div{place-items:center;width:100%;min-width:0;display:grid}.trap-deck-board .trap-board{width:100%}.trap-deck-arrow{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trap-deck-arrow line{stroke:var(--primary);stroke-width:4px;stroke-linecap:round;opacity:.95}.trap-deck-arrow marker path{fill:var(--primary)}.trap-deck-name{text-align:center;width:100%;padding:0 18px 3px;font-size:1rem;line-height:1.15;display:block}.trap-deck-desc{-webkit-line-clamp:2;text-align:center;width:100%;color:var(--muted-foreground);opacity:.85;-webkit-box-orient:vertical;padding:0 16px 24px;font-size:.72rem;line-height:1.3;display:-webkit-box;overflow:hidden}.trap-deck-dots{gap:3px;display:flex;position:absolute;bottom:13px;right:16px}.trap-deck-dots .trap-difficulty-dot{width:5px;height:5px}@media (width<=380px){.trap-deck-art{padding-inline:9px}.trap-deck-board{width:min(63%,96px)}.trap-deck-name{font-size:.9rem}}.opening-row{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;align-items:center;gap:.9rem;padding:.8rem;display:flex}.opening-row-locked{opacity:.55}.opening-thumb{flex-shrink:0;width:4.5rem}.opening-thumb .trap-board{width:100%}.opening-status{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.opening-status-new{background:var(--primary);color:var(--primary-foreground)}.opening-status-in-progress{background:var(--muted);color:var(--foreground)}.opening-status-locked{color:var(--muted-foreground)}.opening-mastered{background:var(--foil);width:1.75rem;height:1.75rem;color:var(--trap-ink);border-radius:999px;place-items:center;display:grid}.opening-arrow{pointer-events:none;z-index:5;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px}.opening-arrow line{stroke:var(--opening-arrow,#b9a6f2)}.opening-arrow polygon{fill:var(--opening-arrow,#b9a6f2)}.opening-arrow-in{animation:.32s ease-out opening-arrow-in}@keyframes opening-arrow-in{0%{opacity:0}to{opacity:.9}}.opening-run-dot{border:2px solid var(--mint,#8fdcc0);border-radius:999px;width:.8rem;height:.8rem;transition:background-color .3s}.opening-run-dot-on{background:var(--mint,#8fdcc0)}.opening-celebrate{animation:.52s cubic-bezier(.2,1.4,.4,1) opening-pop}.opening-celebrate .opening-mastered{width:4rem;height:4rem}@keyframes opening-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.opening-arrow-in,.opening-celebrate,.opening-run-dot{transition:none;animation:none}}.unit-intro-target{box-shadow:inset 0 0 0 4px var(--peach);z-index:2;animation:1.1s ease-in-out infinite hint-pulse}@media (prefers-reduced-motion:reduce){.unit-intro-target{animation:none}.pip-avatar-art,.pip-eyes,.pip-react-hop,.pip-react-tilt,.pip-badge-idle-art,.streak-gain,.path-current-bob,.path-connector-draw,.node-unlock{animation:none!important}.path-connector-draw{stroke-dashoffset:0}.rush-combo-live{transition:none}}.trap-captured-piece{z-index:2;pointer-events:none;margin:auto;animation:.52s ease-in .25s forwards trap-capture-shrink;position:absolute;inset:0}@keyframes trap-capture-shrink{to{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:reduce){.trap-captured-piece{display:none}}.trap-deck-caro-kann-smother{--trap-emblem-accent:#b9a6f2}.trap-deck-petrov-trap{--trap-emblem-accent:#f6a98a}.trap-deck-elephant-trap{--trap-emblem-accent:#f6d38a}.trap-deck-noahs-ark{--trap-emblem-accent:#8fdcc0}.trap-deck-lasker-trap{--trap-emblem-accent:#b9a6f2}.trap-deck-tactic-free-piece,.trap-deck-tactic-mate-in-two{--trap-emblem-accent:var(--badge-mint)}.trap-deck-tactic-fork,.trap-deck-tactic-endgame{--trap-emblem-accent:var(--badge-peach)}.trap-deck-tactic-pin-skewer{--trap-emblem-accent:var(--badge-gold)}.trap-deck-tactic-back-rank{--trap-emblem-accent:var(--badge-lavender-light)}.trap-tactics-card .trap-deck-art{flex:1}.trap-tactics-card .trap-deck-desc{min-height:3.7rem}.trap-set-1{--trap-set-accent:var(--badge-peach)}.trap-set-2{--trap-set-accent:var(--badge-mint)}.trap-set-tactics{--trap-set-accent:var(--badge-lavender-light)}.trap-set-progress{background:var(--track);border-radius:999px;height:4px;margin:0 0 15px;overflow:hidden}.trap-set-progress>span{border-radius:inherit;background:var(--trap-set-accent);height:100%;transition:width .45s;display:block}.trap-set .trap-deck-card{aspect-ratio:auto;height:auto;min-height:290px;transform-style:preserve-3d;padding-bottom:22px}.trap-set .trap-deck-card:before{border-color:var(--trap-card-line)}.trap-set .trap-deck-card.trap-card-available{border:1px solid var(--trap-card-line);background:var(--trap-back);color:var(--foreground);--trap-emblem-accent:var(--trap-set-accent);--trap-emblem-cream:var(--trap-set-accent)}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-available{--trap-emblem-cream:color-mix(in srgb, var(--trap-set-accent) 62%, var(--trap-back))}}.trap-set .trap-deck-card.trap-card-available{--trap-coin-gap:var(--trap-back);--trap-coin-rim:var(--badge-gold)}.trap-set .trap-deck-card.trap-card-available:hover{background:var(--trap-back);color:var(--foreground)}.trap-set .trap-deck-card.trap-card-collected{border:1px solid var(--badge-gold);background:linear-gradient(to bottom, var(--badge-gold), var(--trap-gold-deep));color:var(--trap-ink);--trap-coin-gap:var(--trap-gold-deep)}.trap-set .trap-deck-card.trap-card-collected:before{border-color:var(--trap-gold-edge);opacity:.85;inset:5px}.trap-set .trap-deck-card.trap-card-collected:hover{background:linear-gradient(to bottom, var(--badge-gold), var(--trap-gold-deep));color:var(--trap-ink)}.trap-set .trap-deck-card.trap-card-collected:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(110deg, transparent 30%, var(--badge-gold) 50%, transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-collected:after{background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--badge-gold) 24%, transparent) 50%, transparent 70%)}}.trap-set .trap-deck-card.trap-card-collected:after{animation:6s ease-in-out infinite trap-collection-sweep;transform:translate(-120%)}@keyframes trap-collection-sweep{0%,55%{transform:translate(-120%)}78%,to{transform:translate(120%)}}.trap-set .trap-deck-card.trap-requirement-locked{border:1px solid var(--trap-card-line);background:var(--trap-back);color:var(--foreground);--trap-emblem-accent:var(--trap-set-accent);--trap-emblem-cream:var(--trap-set-accent)}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-requirement-locked{--trap-emblem-cream:color-mix(in srgb, var(--trap-set-accent) 62%, var(--trap-back))}}.trap-set .trap-deck-card.trap-requirement-locked:hover,.trap-set .trap-deck-card.trap-requirement-locked:focus-visible{background:var(--trap-back);color:var(--foreground)}.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-number{opacity:.6}.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-desc{color:var(--foreground);opacity:1}.trap-set .trap-deck-card .trap-deck-art{padding-top:35px;padding-bottom:0}.trap-set .trap-deck-card .trap-deck-board{aspect-ratio:1;flex:none;width:min(48%,70px)}.trap-set .trap-deck-card .trap-deck-name{z-index:2;color:inherit;padding:0 16px 4px;position:relative}.trap-set .trap-deck-card .trap-deck-desc{z-index:2;min-height:2.5em;color:inherit;opacity:.8;flex:none;padding:0 16px;font-size:.68rem;line-height:1.25;display:block;position:relative}.trap-set .trap-deck-card.trap-tactics-card .trap-deck-desc{min-height:2.5em}.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-desc{min-height:0}.trap-set .trap-deck-card .trap-deck-lock{z-index:3}.trap-set .trap-deck-card.trap-card-available:before{display:none}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-art{isolation:isolate;position:relative}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-art:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle, var(--trap-set-accent) 0%, var(--trap-set-accent) 45%, transparent 75%);border-radius:50%;width:min(94%,140px);position:absolute}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-art:before{background:radial-gradient(circle, color-mix(in srgb, var(--trap-set-accent) 25%, transparent) 0%, color-mix(in srgb, var(--trap-set-accent) 12%, transparent) 45%, transparent 75%)}}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-art:before{pointer-events:none}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:before{background:radial-gradient(circle, var(--trap-gold-edge) 0%, var(--trap-gold-edge) 50%, transparent 78%)}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:before{background:radial-gradient(circle, color-mix(in srgb, var(--trap-gold-edge) 53%, transparent) 0%, color-mix(in srgb, var(--trap-gold-edge) 22%, transparent) 50%, transparent 78%)}}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-emblem{filter:drop-shadow(0 7px 5px var(--trap-art-shadow))}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-emblem{filter:drop-shadow(0 7px 5px color-mix(in srgb, var(--trap-art-shadow) 35%, transparent))}}.trap-set .trap-deck-card.trap-card-available .trap-deck-art:after{content:"✦";color:var(--badge-gold);text-shadow:0 1px 3px var(--trap-art-shadow);pointer-events:none;font-size:.8rem;line-height:1;position:absolute;top:33%;right:22%}.trap-set .trap-deck-card .trap-3d-art,.trap-arrival-back .trap-3d-art{z-index:1;object-fit:contain;width:70%;max-height:100%;filter:drop-shadow(0 7px 6px var(--trap-art-shadow));flex:0 auto;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card .trap-3d-art,.trap-arrival-back .trap-3d-art{filter:drop-shadow(0 7px 6px color-mix(in srgb, var(--trap-art-shadow) 35%, transparent))}}.trap-set .trap-deck-card.trap-card-available .trap-deck-art:has(.trap-3d-art):after{content:none}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):after{content:"";z-index:0;aspect-ratio:1;border:2px solid var(--trap-gold-edge);background:var(--trap-medallion);width:min(80%,132px);box-shadow:inset 0 0 0 2px var(--trap-gold-edge), 0 5px 12px var(--trap-art-shadow);border-radius:50%;position:absolute}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):after{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--trap-gold-edge) 35%, transparent), 0 5px 12px color-mix(in srgb, var(--trap-art-shadow) 28%, transparent)}}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):after{pointer-events:none}.trap-arrival-back .trap-3d-art{width:70%}.trap-check-seal{z-index:3;border:2px solid var(--trap-gold-edge);background:var(--trap-ink);width:25px;height:25px;color:var(--badge-gold);box-shadow:0 1px 3px var(--secondary-shadow);border-radius:50%;place-items:center;display:grid;position:absolute;top:11px;right:11px}.trap-difficulty-tag{z-index:2;align-self:center;margin:7px 0 16px;line-height:1.3;position:relative}.trap-card-collected .trap-difficulty-tag.daily-easy{background:var(--trap-back);color:var(--success)}.trap-card-collected .trap-difficulty-tag.daily-medium{background:var(--trap-back);color:var(--primary)}.trap-card-collected .trap-difficulty-tag.daily-hard{background:var(--trap-back);color:var(--peach)}.trap-set .trap-deck-card.trap-tactics-card .trap-deck-desc,.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-desc{margin-bottom:16px}.trap-deck-number-inverted{font-family:var(--font-display);inset:auto 17px 14px auto;transform:rotate(180deg)}.trap-deck-number{font-family:var(--font-display)}.trap-set .trap-deck-card .trap-deck-art{border:1px solid var(--trap-set-accent);width:calc(100% - 26px);margin:34px 13px 8px;padding:8px}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card .trap-deck-art{border:1px solid color-mix(in srgb, var(--trap-set-accent) 34%, var(--trap-card-line))}}.trap-set .trap-deck-card .trap-deck-art{border-radius:7px}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art{border-color:var(--trap-ink)}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-collected .trap-deck-art{border-color:color-mix(in srgb, var(--trap-ink) 24%, var(--trap-gold-edge))}}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-art{border:0;padding:8px}.trap-set .trap-deck-card.trap-requirement-locked .trap-locked-art{isolation:isolate;border:0;position:relative;overflow:hidden}.trap-locked-art-image{filter:grayscale()brightness(1.7)blur(6px);opacity:.4;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.trap-locked-art-image .trap-3d-art{width:100%;max-height:100%;transform:scale(1.2)}.trap-locked-art-image .trap-emblem{width:min(100%,140px);transform:scale(1.2)}.trap-lock-badge{z-index:2;border:1px solid var(--trap-card-line);background:var(--trap-medallion);width:44px;height:44px;color:var(--foreground);box-shadow:0 2px 8px var(--trap-art-shadow);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.trap-lock-badge{box-shadow:0 2px 8px color-mix(in srgb, var(--trap-art-shadow) 30%, transparent)}}.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-name,.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-desc{color:var(--foreground)}.trap-set .trap-deck-card.trap-requirement-locked .trap-deck-desc{padding-bottom:12px}.trap-set .trap-deck-card .trap-arrival-back{padding-bottom:22px}.trap-set .trap-deck-card:is(.trap-card-available,.trap-card-collected) .trap-deck-desc,.trap-arrival-back .trap-deck-desc{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):after{content:none}.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):before{background:radial-gradient(circle, var(--trap-gold-edge), transparent 78%)}@supports (color:color-mix(in lab, red, red)){.trap-set .trap-deck-card.trap-card-collected .trap-deck-art:has(.trap-3d-art):before{background:radial-gradient(circle, color-mix(in srgb, var(--trap-gold-edge) 30%, transparent), transparent 78%)}}.trap-underlined-digit{border-bottom:1px solid;padding-bottom:1px;display:inline-block}.trap-pip-message{z-index:35;left:50%;bottom:calc(6rem + env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--card);width:min(100% - 2rem,26rem);color:var(--foreground);box-shadow:var(--shadow-sheet);border-radius:8px;align-items:center;gap:9px;padding:9px 8px 9px 12px;font-size:.84rem;line-height:1.3;display:flex;position:fixed;transform:translate(-50%)}.trap-pip-message>span{flex:1}.trap-pip-message button{flex:none}.trap-arrival-back{z-index:5;background:var(--trap-back);color:var(--foreground);--trap-emblem-accent:var(--trap-set-accent);--trap-emblem-cream:var(--trap-set-accent);flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.trap-arrival-back{--trap-emblem-cream:color-mix(in srgb, var(--trap-set-accent) 62%, var(--trap-back))}}.trap-arrival-back{pointer-events:none;animation:.9s ease-in-out both trap-arrival-back}.trap-arrival-back:before{content:"";border:1px solid var(--trap-card-line);pointer-events:none;position:absolute;inset:0}.trap-arrival-back .trap-deck-art{isolation:isolate;position:relative}.trap-arrival-back .trap-deck-art:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle, var(--trap-set-accent), transparent 75%);border-radius:50%;width:min(94%,140px);position:absolute}@supports (color:color-mix(in lab, red, red)){.trap-arrival-back .trap-deck-art:before{background:radial-gradient(circle, color-mix(in srgb, var(--trap-set-accent) 25%, transparent), transparent 75%)}}.trap-arrival-back .trap-emblem{width:65%}.trap-arrival-back .trap-difficulty-tag{margin-bottom:13px}.trap-card-arrival{animation:.9s ease-in-out both trap-arrival-flip,.7s ease-out .95s both trap-arrival-sparkle}@keyframes trap-arrival-flip{0%{transform:perspective(800px)rotateY(0)}49%{transform:perspective(800px)rotateY(90deg)}50%{transform:perspective(800px)rotateY(-90deg)}to{transform:perspective(800px)rotateY(0)}}@keyframes trap-arrival-back{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes trap-arrival-sparkle{0%{filter:brightness()}45%{filter:brightness(1.25) drop-shadow(0 0 9px var(--badge-gold))}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.trap-set-progress>span{transition:none}.trap-set .trap-deck-card.trap-card-collected:after{display:none}.trap-card-arrival{animation:.5s ease-out both trap-arrival-fade}.trap-arrival-back{animation:.5s ease-out both trap-arrival-fade-back}@keyframes trap-arrival-fade{0%{opacity:.45}to{opacity:1}}@keyframes trap-arrival-fade-back{0%{opacity:1}to{opacity:0}}}.trap-checkpoint-reveal{width:min(38vw,8rem)}.trap-checkpoint-reveal .trap-reveal-face{--trap-emblem-cream:var(--trap-face);align-items:center;gap:0;padding:.5rem}.trap-checkpoint-reveal .trap-deck-art{padding:1rem .5rem 0}.trap-checkpoint-reveal .trap-emblem{width:80%}.trap-checkpoint-reveal strong{padding-bottom:.6rem;font-size:.85rem}.trap-deck-unlock{animation:.6s cubic-bezier(.2,.8,.2,1) both trap-deck-slide;position:relative;overflow:hidden}.trap-deck-unlock:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,oklab(88.0551% .00891468 .0990373/.55) 50%,#0000 70%);animation:1.1s ease-out .35s forwards trap-deck-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes trap-deck-slide{0%{clip-path:inset(0 0 100%);transform:translateY(-8px)}to{clip-path:inset(0);transform:none}}@keyframes trap-deck-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.trap-deck-unlock,.trap-deck-unlock:after{animation:none}.trap-deck-unlock:after{display:none}}.trap-sheet-overlay{z-index:50;background:var(--background);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.trap-sheet-overlay{background:color-mix(in oklab, var(--background) 75%, transparent)}}.trap-locked-sheet{z-index:51;width:min(100%,28rem);max-height:85dvh;padding:1.5rem 1.5rem calc(2rem + env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--card);color:var(--foreground);text-align:center;box-shadow:var(--shadow-sheet);border-radius:8px 8px 0 0;flex-direction:column;align-items:center;animation:.26s ease-out both trap-sheet-rise;display:flex;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.trap-locked-sheet:focus{outline:none}.trap-sheet-emblem{place-items:center;width:5.5rem;height:5.5rem;margin-bottom:.5rem;display:grid}.trap-sheet-emblem .trap-emblem{width:100%}@keyframes trap-sheet-rise{0%{opacity:0;transform:translate(-50%,20px)}}.trap-locked-card-shake{animation:.45s ease-in-out trap-locked-shake}.trap-locked-banner-flash{animation:.75s ease-out trap-banner-highlight}@keyframes trap-locked-shake{25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes trap-banner-highlight{0%,85%{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 18%, var(--card))}}@media (prefers-reduced-motion:reduce){.trap-locked-card-shake,.trap-locked-sheet{animation:none}}html[data-heading-font=fraunces]{--heading-family:"Fraunces", serif;--heading-weight:600}html[data-heading-font=nunito]{--heading-family:"Nunito", sans-serif;--heading-weight:800}html[data-heading-font=fredoka]{--heading-family:"Fredoka", sans-serif;--heading-weight:600}.headline-font-option{align-content:center;gap:.25rem;min-height:5.25rem;padding:.5rem .25rem}.headline-font-preview{max-width:100%;font-size:1rem;line-height:1.1;display:block}.headline-font-preview-fraunces{font-family:Fraunces,serif;font-weight:600}.headline-font-preview-nunito{font-family:Nunito,sans-serif;font-weight:800}.headline-font-preview-fredoka{font-family:Fredoka,sans-serif;font-weight:600}html[data-board-theme=lavender]{--board-light:#ede6ff;--board-dark:#b9a6f2}html[data-board-theme=mint]{--board-light:#e6f7f0;--board-dark:#8fdcc0}html[data-legal=off] .legal-dot,html[data-legal=off] .legal-capture{display:none}html[data-legal=off] .tutorial-screen .legal-dot{display:block}html[data-coords=on] .board-square[data-rank-label]:before{content:attr(data-rank-label);z-index:4;pointer-events:none;color:oklch(30% .06 294/.7);font-size:clamp(8px,2.4vw,11px);font-weight:700;line-height:1;position:absolute;top:3%;left:6%}html[data-coords=on] .board-square[data-file-label]:after{content:attr(data-file-label);z-index:4;color:oklch(30% .06 294/.7);justify-content:flex-end;align-items:flex-end;padding:0 6% 3% 0;font-size:clamp(8px,2.4vw,11px);font-weight:700;line-height:1;display:flex}html[data-reduce-motion=on] *,html[data-reduce-motion=on] :before,html[data-reduce-motion=on] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-reduce-motion=on] .confetti{display:none}.settings-row{text-align:left;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.theme-option{border:2px solid var(--border);background:var(--card);border-radius:.75rem;justify-items:center;gap:.5rem;width:100%;min-width:0;padding:.625rem;font-size:.8rem;font-weight:700;display:grid}.theme-option[aria-checked=true]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.theme-option[aria-checked=true]{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent)}}.theme-preview{aspect-ratio:1;border:3px solid var(--board-frame);border-radius:.35rem;grid-template-columns:repeat(4,1fr);width:5rem;max-width:100%;display:grid;overflow:hidden}.theme-preview-wood{--board-light:oklch(92% .035 73);--board-dark:oklch(78% .065 76)}.board-theme-carousel{scroll-snap-type:x proximity;scrollbar-width:none;gap:.5rem;padding:3px 3px 5px;display:flex;overflow:auto hidden}.board-theme-carousel::-webkit-scrollbar{display:none}.board-theme-carousel>.theme-option{scroll-snap-align:start;flex:0 0 calc(29.4118% - .294118rem);align-content:start;gap:.25rem;min-width:0;min-height:6.25rem;padding:.375rem .2rem;line-height:1.15}.board-theme-carousel .theme-option>span:first-child{width:min(100%,3.25rem);display:block}.board-theme-carousel .theme-preview{width:100%}.board-theme-carousel .theme-option>span:last-child{overflow-wrap:anywhere}.make-yours-preview{width:min(9rem,max(6.75rem,20dvh))}.make-it-yours-sheet .piece-style-preview+*{line-height:1.1}.make-it-yours-sheet .theme-option{gap:.25rem;padding:.375rem}.make-yours-footer-fade:before{content:"";pointer-events:none;background:linear-gradient(to top, var(--card), transparent);height:1.75rem;position:absolute;bottom:100%;left:0;right:0}.make-yours-content{scrollbar-width:thin}@media (height<=700px){.make-yours-preview{width:min(6rem,15dvh)}}.theme-preview-lavender{--board-light:#ede6ff;--board-dark:#b9a6f2}.theme-preview-mint{--board-light:#e6f7f0;--board-dark:#8fdcc0}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wP.svg"]{content:url(/pieces/classic/wP.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wN.svg"]{content:url(/pieces/classic/wN.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wB.svg"]{content:url(/pieces/classic/wB.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wR.svg"]{content:url(/pieces/classic/wR.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wQ.svg"]{content:url(/pieces/classic/wQ.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/wK.svg"]{content:url(/pieces/classic/wK.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bP.svg"]{content:url(/pieces/classic/bP.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bN.svg"]{content:url(/pieces/classic/bN.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bB.svg"]{content:url(/pieces/classic/bB.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bR.svg"]{content:url(/pieces/classic/bR.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bQ.svg"]{content:url(/pieces/classic/bQ.png)}html[data-piece-style=classic] img:is(.chess-piece,.unit0-piece,.drag-piece,.trap-square img,.daily-thumbnail img,.openings-thumb img)[src="/pieces/bK.svg"]{content:url(/pieces/classic/bK.png)}.piece-style-option{grid-template-columns:minmax(0,1fr);align-content:start}.piece-style-preview{aspect-ratio:1;border:3px solid var(--board-frame);border-radius:.35rem;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.piece-preview-square{display:block;position:relative}.piece-preview-square img{object-fit:contain;object-position:center bottom;width:88%;height:96%;position:absolute;bottom:-1%;left:6%}.piece-preview-classic .piece-preview-square img{object-fit:contain;object-position:center bottom;z-index:1;width:100%;height:100%;bottom:0;left:0}.piece-preview-classic .piece-preview-square{background-image:radial-gradient(33% 9% at 50% 92%,#3e261659,#0000 100%)}html[data-piece-style=classic] .board-edge{padding-top:calc(10px + 2.5%)}html[data-piece-style=classic] .board-edge>div,html[data-piece-style=classic] .board-square,html[data-piece-style=classic] .trap-square{overflow:visible}html[data-piece-style=classic] .board-square:has(.king-topple){z-index:100!important}html[data-piece-style=classic] .board-square:has(img):not(.path-unit .board-square){z-index:var(--piece-depth,1);background-image:radial-gradient(33% 9% at 50% 92%,#3e261659,#0000 100%)}html[data-piece-style=classic] .trap-square:has(img){z-index:var(--piece-depth,1);background-image:radial-gradient(33% 9% at 50% 92%,#3e261659,#0000 100%)}html[data-piece-style=classic] .daily-thumbnail .grid>span:has(img){z-index:var(--piece-depth,1);background-image:radial-gradient(33% 9% at 50% 92%,#3e261659,#0000 100%)}html[data-piece-style=classic] .openings-thumb .grid>span:has(img){z-index:var(--piece-depth,1);background-image:radial-gradient(33% 9% at 50% 92%,#3e261659,#0000 100%)}.make-it-yours-sheet .board-edge .grid{isolation:isolate}html[data-piece-style=classic] .chess-piece,html[data-piece-style=classic] .trap-square img,html[data-piece-style=classic] .daily-thumbnail .grid>span img,html[data-piece-style=classic] .openings-thumb .grid>span img{object-fit:contain;object-position:center bottom;filter:none;pointer-events:none;width:100%;height:115%;bottom:5%;left:0}html[data-piece-style=classic] .unit0-piece{object-fit:contain;object-position:center bottom;pointer-events:none;filter:none;height:14.4%;margin-top:-2.5%}html[data-piece-style=classic] .drag-piece{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 10px #3e261666);height:min(23vw,115px);margin-top:calc(-1*min(17vw,85px))}.make-it-yours-sheet[data-state=open]{animation:.34s cubic-bezier(.22,1,.36,1) both make-yours-slide}@keyframes make-yours-slide{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.make-it-yours-sheet[data-state=open]{animation:.18s ease-out both make-yours-fade}}html[data-reduce-motion=on] .make-it-yours-sheet[data-state=open]{animation:.18s ease-out both make-yours-fade!important}@keyframes make-yours-fade{0%{opacity:0}to{opacity:1}}.badge-art-wrap{flex:none;place-items:center;display:inline-grid;position:relative}.badge-art-image{object-fit:contain;width:100%;height:100%;display:block}.badge-art-image-locked{filter:grayscale();opacity:.4}.badge-art-lock{border:1px solid var(--border);background:var(--card);width:31%;min-width:17px;height:31%;min-height:17px;color:var(--foreground);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:0}.badge-medal{--badge:#b9a6f2;overflow:visible}.badge-streaks{--badge:#f6a98a}.badge-rush{--badge:#8fdcc0}.badge-collections{--badge:#f6d38a}.badge-hex{fill:var(--badge)}@supports (color:color-mix(in lab, red, red)){.badge-hex{fill:color-mix(in oklab, var(--badge) 70%, #1b1726)}}.badge-inner{fill:var(--badge)}.badge-icon{fill:none;stroke:#1b1726;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.badge-locked .badge-hex{fill:#2a2438}.badge-locked .badge-inner{fill:#3a3350}.badge-locked .badge-icon{stroke:#1b1726;opacity:.7}.badge-progress{background:#3a3350;border-radius:999px;width:44px;height:4px;display:block;overflow:hidden}.badge-progress>span{border-radius:inherit;background:var(--muted-foreground);height:100%;display:block}.achievement-celebration{z-index:110;background:var(--overlay);position:fixed;inset:0;overflow:auto}@supports (color:color-mix(in lab, red, red)){.achievement-celebration{background:color-mix(in oklab, var(--overlay) 55%, black)}}.achievement-celebration{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--foreground);isolation:isolate;animation:.26s ease-out both achievement-fade}.achievement-celebration-content{width:min(100%,32rem);min-height:100dvh;padding:max(1.5rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));text-align:center;grid-template-rows:minmax(3.5rem,1fr) auto minmax(6rem,1fr);place-items:center;margin:auto;display:grid}.achievement-celebration-heading{align-self:start;padding-top:clamp(.75rem,4vh,3rem);animation:.4s ease-out .6s both achievement-rise}.achievement-celebration-heading p{font-family:var(--font-display);font-weight:var(--heading-weight);font-size:clamp(1.75rem,4vh,2.5rem);line-height:1.14}.achievement-celebration-center{width:100%;min-width:0}.achievement-celebration-art{aspect-ratio:1;isolation:isolate;place-items:center;width:min(60vw,18rem,32vh);margin-inline:auto;display:grid;position:relative}.achievement-celebration-rays{z-index:-1;background:repeating-conic-gradient(from 0deg, var(--badge-gold) 0deg 12deg, transparent 12deg 30deg);border-radius:50%;position:absolute;inset:-18%}@supports (color:color-mix(in lab, red, red)){.achievement-celebration-rays{background:repeating-conic-gradient(from 0deg, color-mix(in oklab, var(--badge-gold) 26%, transparent) 0deg 12deg, transparent 12deg 30deg)}}.achievement-celebration-rays{filter:blur(9px);pointer-events:none;animation:.5s ease-out both achievement-rays-in,28s linear .5s infinite achievement-rays-spin;-webkit-mask-image:radial-gradient(circle,#0000 0 25%,#000 42%,#0000 72%);mask-image:radial-gradient(circle,#0000 0 25%,#000 42%,#0000 72%)}.achievement-celebration-medal{place-items:center;width:100%;height:100%;animation:.58s cubic-bezier(.22,1.2,.36,1) .1s both achievement-pop;display:grid;position:relative}.achievement-celebration-medal .badge-art-wrap{flex-shrink:0}.achievement-celebration-pip{z-index:3;animation:.48s ease-out .62s both achievement-hop;position:absolute;bottom:-15%;right:-10%}.achievement-celebration-pip .pip-flat-img,.achievement-celebration-pip .pip-3d-img{animation:none}.achievement-celebration-sparks{z-index:2;pointer-events:none;position:absolute;inset:0}.achievement-celebration-spark{color:var(--badge-gold);font-size:1.5rem;line-height:1;animation:.68s ease-out .45s both achievement-burst;position:absolute;top:50%;left:50%}.achievement-celebration-spark-0{--spark-x:-100px;--spark-y:-70px}.achievement-celebration-spark-1{--spark-x:-35px;--spark-y:-110px}.achievement-celebration-spark-2{--spark-x:48px;--spark-y:-100px}.achievement-celebration-spark-3{--spark-x:108px;--spark-y:-53px}.achievement-celebration-spark-4{--spark-x:110px;--spark-y:40px}.achievement-celebration-spark-5{--spark-x:42px;--spark-y:110px}.achievement-celebration-spark-6{--spark-x:-58px;--spark-y:100px}.achievement-celebration-spark-7{--spark-x:-112px;--spark-y:28px}.achievement-confetti{z-index:4;pointer-events:none;position:absolute;inset:0}.achievement-confetti span{background:var(--badge-lavender-light);opacity:0;width:8px;height:14px;animation:achievement-confetti-fall 1.7s ease-out calc(.52s + var(--delay,0s)) both;border-radius:2px;position:absolute;top:43%;left:-20%}.achievement-confetti-right span{--side:-1;left:auto;right:-20%}.achievement-confetti span:nth-child(4n+2){background:var(--badge-peach)}.achievement-confetti span:nth-child(4n+3){background:var(--badge-mint)}.achievement-confetti span:nth-child(4n){background:var(--badge-gold)}.achievement-confetti span:nth-child(6n+1){--spread:16px;--rise:-95px;--delay:0s}.achievement-confetti span:nth-child(6n+2){--spread:55px;--rise:-140px;--delay:60ms}.achievement-confetti span:nth-child(6n+3){--spread:90px;--rise:-75px;--delay:.11s}.achievement-confetti span:nth-child(6n+4){--spread:125px;--rise:-125px;--delay:40ms}.achievement-confetti span:nth-child(6n+5){--spread:155px;--rise:-55px;--delay:.16s}.achievement-confetti span:nth-child(6n){--spread:190px;--rise:-105px;--delay:90ms}.achievement-confetti span:nth-child(n+7){top:56%}.achievement-celebration-copy{z-index:5;margin-top:clamp(2.5rem,5vh,4rem);animation:.42s ease-out .62s both achievement-rise;position:relative}.achievement-celebration-copy h2{font-size:clamp(1.8rem,4vh,2.5rem);font-weight:var(--heading-weight);line-height:1.15}.achievement-celebration-copy p{color:var(--muted-foreground);margin-top:.65rem;font-size:1rem;line-height:1.4}.achievement-celebration-actions{z-index:5;align-self:end;gap:.45rem;width:100%;animation:.3s ease-out .8s both achievement-actions-in;display:grid;position:relative}.achievement-celebration-link{color:var(--foreground);text-underline-offset:4px;justify-self:center;text-decoration:underline}@keyframes achievement-fade{0%{opacity:0}to{opacity:1}}@keyframes achievement-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes achievement-pop{0%{opacity:0;transform:scale(.25)}62%{opacity:1;transform:scale(1.13)}82%{transform:scale(.96)}to{transform:scale(1)}}@keyframes achievement-rays-in{0%{opacity:0}to{opacity:1}}@keyframes achievement-rays-spin{to{transform:rotate(360deg)}}@keyframes achievement-hop{0%{opacity:0;transform:translateY(45px)scale(.8)}65%{opacity:1;transform:translateY(-12px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes achievement-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}35%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(1)}}@keyframes achievement-confetti-fall{0%{opacity:0;transform:translate(0)rotate(0)}12%{opacity:1}40%{transform:translate(calc(var(--spread) * var(--side,1)), var(--rise)) rotate(200deg)}to{opacity:0;transform:translate(calc(var(--spread) * var(--side,1) * 1.4), 48vh) rotate(620deg)}}@keyframes achievement-actions-in{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@media (prefers-reduced-motion:reduce){.achievement-celebration-rays,.achievement-celebration-sparks,.achievement-confetti{display:none}.achievement-celebration-medal,.achievement-celebration-pip,.achievement-celebration-heading,.achievement-celebration-copy,.achievement-celebration-actions{animation:.25s ease-out both achievement-fade}.achievement-celebration .pip-3d-bounce,.achievement-celebration .pip-flat-bounce{animation:none}}html[data-reduce-motion=on] .achievement-celebration-rays,html[data-reduce-motion=on] .achievement-celebration-sparks,html[data-reduce-motion=on] .achievement-confetti{display:none}html[data-reduce-motion=on] .achievement-celebration-medal,html[data-reduce-motion=on] .achievement-celebration-pip,html[data-reduce-motion=on] .achievement-celebration-heading,html[data-reduce-motion=on] .achievement-celebration-copy,html[data-reduce-motion=on] .achievement-celebration-actions{animation:.25s ease-out both achievement-fade}html[data-reduce-motion=on] .achievement-celebration .pip-3d-bounce,html[data-reduce-motion=on] .achievement-celebration .pip-flat-bounce{animation:none}.intro-screen{flex-direction:column;display:flex;position:relative;overflow:hidden}.intro-skip{top:max(1rem, env(safe-area-inset-top));z-index:2;color:var(--muted-foreground);background:var(--muted);border-radius:999px;padding:.5rem .9rem;font-size:.9rem;font-weight:600;position:absolute;right:1.25rem}@supports (color:color-mix(in lab, red, red)){.intro-skip{background:color-mix(in oklab, var(--muted) 60%, transparent)}}.intro-track{touch-action:pan-y;flex:1;min-height:0;display:flex}.intro-card{text-align:center;min-width:0;padding:max(4rem, env(safe-area-inset-top)) 2rem calc(5rem + env(safe-area-inset-bottom));flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;display:flex;overflow-y:auto}.intro-card>:first-child{margin-top:auto}.intro-card>:last-child{margin-bottom:auto}.intro-screen .screen-action-dock{padding-bottom:.5rem}.intro-pip-wrap{aspect-ratio:1;will-change:transform;border-radius:50%;place-items:center;width:min(17.5rem,72vw);margin-bottom:1.25rem;display:grid}.intro-pip-wrap-0{background:var(--badge-lavender-light)}@supports (color:color-mix(in lab, red, red)){.intro-pip-wrap-0{background:color-mix(in srgb, var(--badge-lavender-light) 15%, var(--badge-lavender-edge))}}.intro-pip-wrap-1{background:var(--badge-peach)}@supports (color:color-mix(in lab, red, red)){.intro-pip-wrap-1{background:color-mix(in srgb, var(--badge-peach) 15%, var(--badge-lavender-edge))}}.intro-pip-wrap-2{background:var(--badge-gold)}@supports (color:color-mix(in lab, red, red)){.intro-pip-wrap-2{background:color-mix(in srgb, var(--badge-gold) 15%, var(--badge-lavender-edge))}}.intro-pip-wrap-3{background:var(--badge-mint)}@supports (color:color-mix(in lab, red, red)){.intro-pip-wrap-3{background:color-mix(in srgb, var(--badge-mint) 15%, var(--badge-lavender-edge))}}.intro-pip{width:14.3rem;max-width:86%;height:auto;overflow:visible}.intro-dots{z-index:3;padding:.5rem 0 max(1.5rem, env(safe-area-inset-bottom));background:var(--background);flex:none;justify-content:center;gap:.5rem;display:flex;position:relative}.intro-dot{background:var(--muted-foreground);opacity:.35;border-radius:999px;width:.55rem;height:.55rem;transition:width .25s,opacity .25s}.intro-dot-active{opacity:1;background:var(--primary);width:1.4rem}.tab-tips{z-index:70;padding-top:max(12px, env(safe-area-inset-top));pointer-events:auto;touch-action:none;position:fixed;inset:0;overflow:hidden}.tab-tips-missing{background:var(--tutorial-dim)}.tab-tips-highlight{border:2px solid var(--badge-lavender-light);box-shadow:0 0 0 200vmax var(--tutorial-dim), 0 0 18px var(--tutorial-glow);pointer-events:none;border-radius:10px;position:fixed}.tab-tips-coach{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:.5rem .625rem;max-height:calc(100dvh - 24px);display:grid;position:fixed;overflow-y:auto}.tab-tips-coach-centered{width:min(100% - 24px,448px);top:50%;left:50%;transform:translate(-50%,-50%)}.tab-tips-pip{z-index:2;margin-right:-14px;transform:translate(9px)translateY(-12px)}.tab-tips-coach .tab-tips-bubble{padding-left:1.1rem}.tab-tips-bubble{border:1px solid var(--border);background:var(--card);min-width:0;min-height:3.75rem;box-shadow:var(--shadow-card);border-radius:8px;flex-direction:column;justify-content:center;gap:.1rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.15rem;display:flex;position:relative}.tab-tips-bubble strong{color:var(--foreground)}.tab-tips-bubble span{color:var(--muted-foreground)}.tab-tips-bubble:before{content:"";left:clamp(.5rem, calc(var(--tip-caret-left) - 47px), calc(100% - 1rem));background:var(--card);border-left:1px solid var(--border);border-top:1px solid var(--border);width:.7rem;height:.7rem;position:absolute;transform:rotate(45deg)}.tab-tips-coach-below .tab-tips-bubble:before{top:-.4rem}.tab-tips-coach-above .tab-tips-bubble:before{bottom:-.4rem;transform:rotate(225deg)}.tab-tips-coach-pinned .tab-tips-bubble:before{display:none}.tab-tips-actions{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-card);border-radius:8px;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.tab-tips-actions button{flex-shrink:0}.tab-tips-intro{background:var(--tutorial-dim);place-items:center;padding:1rem;display:grid}.tab-tips-intro-card{border:1px solid var(--border);background:var(--card);width:min(100%,23rem);box-shadow:var(--shadow-sheet);border-radius:8px;padding:1.25rem}@media (prefers-reduced-motion:reduce){.intro-dot{transition:none}}.install-sheet{gap:0}.install-step{border:1px solid var(--border);background:var(--background);border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.install-step-num{background:var(--primary);width:1.5rem;height:1.5rem;color:var(--primary-foreground);border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.install-step-icon{background:var(--card);min-width:2.25rem;height:2.25rem;color:var(--primary);border-radius:10px;flex:none;place-items:center;padding:0 .4rem;display:grid}:root{--type-page:2rem;--type-section:1.375rem;--type-card:1.125rem;--type-body:1rem;--type-description:.875rem;--type-caption:.8125rem;--type-eyebrow:.75rem}body{font-size:var(--type-body);line-height:1.45}h1.font-display,.puzzle-title h1,.tutorial-heading h1{font-family:var(--font-display);font-size:var(--type-page);overflow-wrap:anywhere;font-weight:600;line-height:1.2}h2.font-display,.app-screen h2.font-display{font-family:var(--font-display);font-size:var(--type-section);overflow-wrap:anywhere;font-weight:600;line-height:1.25}.settings-section h2,.app-screen h2.text-xs.uppercase{font-family:var(--font-sans);font-size:var(--type-eyebrow);letter-spacing:.08em;font-weight:700;line-height:1.45}.unit-header h2.font-display,.daily-home h2.font-display,.opening-row strong.font-display,.trap-deck-name.font-display,.home-tile-copy>span:first-child,.rush-mode-card strong,.puzzle-action-slot h2.font-display{font-family:var(--font-display);font-size:var(--type-card);overflow-wrap:anywhere;font-weight:600;line-height:1.2}.unit-header h2.font-display,.home-tile-copy>span:first-child{font-size:1.25rem}.opening-row strong.font-display{font-size:var(--type-card)}.trap-deck-name{font-family:var(--font-display);font-size:var(--type-card);font-weight:600}.trap-deck-desc{font-size:var(--type-caption);line-height:1.25}.coach-bubble,.pip-speech,.daily-home-note-foot p{font-family:var(--font-sans);font-size:var(--type-body);overflow-wrap:anywhere;font-weight:400;line-height:1.45}.coach-bubble{line-height:1.45}.settings-row{font-family:var(--font-sans);font-size:var(--type-body);font-weight:500;line-height:1.45}.settings-row .font-bold{font-weight:500}.settings-row .text-xs,.settings-row .text-sm,.opening-row .text-muted-foreground:not(.opening-status),.rush-mode-card .min-w-0 .text-muted-foreground,.theme-option{font-size:var(--type-description);font-weight:400}.settings-row .text-muted-foreground{color:var(--note-ink)}.theme-option{font-weight:500}.stat-chip,.stat-chip .tabular-nums,.home-progress-sheet .font-display,.stat-card-value,.rush-score,.rush-mode-card .text-right strong,.app-screen .stat-number,.app-screen .stat-value{font-family:var(--font-display);font-weight:600}.rush-clock,.rush-combo,.rush-penalty-float,.puzzle-title p.tabular-nums,.app-screen .countdown,.puzzle-screen .tabular-nums{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.type-caption{font-family:var(--font-sans);font-size:var(--type-caption)}.pip-speech.font-display,h2.pip-speech.font-display{font-family:var(--font-sans);font-size:var(--type-body);font-weight:400;line-height:1.45}.settings-row,.settings-row span.font-bold{font-weight:500}.app-screen .screen-action-dock button,.app-screen .puzzle-action-slot button{font-family:var(--font-sans);font-size:var(--type-body);font-weight:500}.stat-number{font-family:var(--font-display);font-weight:600}.tricks-scroll header>p,.app-screen header>p:not(.text-xs),.app-screen .screen-action-dock>p,.app-screen .puzzle-action-slot>p{font-size:var(--type-body);line-height:1.45}.home-tile-copy>span:last-child,.opening-row .text-muted-foreground:not(.opening-status),.settings-row .text-muted-foreground{font-size:var(--type-description);color:var(--note-ink)}.tricks-scroll section>div>span.tabular-nums{font-size:var(--type-caption);color:var(--muted-foreground)}.stat-chip-button{font-family:var(--font-display);font-weight:600}.stat-chip-button .tabular-nums{font-family:var(--font-display)}.continue-card h1.font-display{font-size:1.25rem;line-height:1.2}.daily-home h2.font-display{font-size:var(--type-section);line-height:1.25}.opening-row strong.font-display,.home-tile-copy>span:first-child,.rush-mode-card strong{font-size:var(--type-card)}.opening-row strong.font-display,.home-tile-copy>span:first-child{font-weight:600}.opening-progress-label,.achievement-count{font-family:var(--font-sans);font-size:var(--type-caption);color:var(--muted-foreground)}.app-screen .settings-row .text-xs,.app-screen .settings-row .text-sm{font-size:var(--type-description);color:var(--note-ink)}.settings-row-primary,.settings-row-primary .text-xs,.app-screen .settings-row.settings-row-primary .text-xs,.app-screen .settings-row.settings-row-primary .text-sm,.app-screen .settings-row.settings-row-primary .text-muted-foreground{color:var(--primary-foreground)}html[data-heading-font] .font-display:not(.pip-speech),html[data-heading-font] .tab-page-title,html[data-heading-font] .stat-number,html[data-heading-font] .stat-chip,html[data-heading-font] .stat-chip-button,html[data-heading-font] .stat-card-value,html[data-heading-font] .stat-value,html[data-heading-font] .rush-score,html[data-heading-font] .rush-mode-card strong,html[data-heading-font] .home-tile-copy>span:first-child,html[data-heading-font] .trap-deck-name,html[data-heading-font] .trap-deck-number,html[data-heading-font] .trap-deck-unknown{font-weight:var(--heading-weight)}.board-controls{align-items:center;gap:.25rem;display:flex}.board-control-btn{width:2.25rem;height:2.25rem;color:var(--muted-foreground);border-radius:999px;place-items:center;display:grid}.board-control-btn:hover,.board-control-btn:focus-visible{color:var(--foreground);background:var(--card)}.board-control-btn svg{width:1.2rem;height:1.2rem}.rush-topbar{grid-template-columns:auto auto 1fr auto auto auto}.term{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);cursor:help;font:inherit;color:inherit;background:0 0;padding:0}.term-bubble{border:1px solid var(--border);background:var(--card);max-width:16rem;color:var(--foreground);z-index:80;border-radius:1rem;padding:.6rem .8rem;font-size:.875rem;line-height:1.4;box-shadow:0 10px 30px #00000059}.unit0-scene .app-scroll{flex-direction:column;display:flex;overflow:hidden}.unit0-scene-content{flex-direction:column;flex:1 1 0;justify-content:center;min-height:0;display:flex}.unit0-board{flex:1 1 0;place-items:center;min-height:0;display:grid;container-type:size}.unit0-board .board-edge{width:min(100cqw,440px,100cqh - 2rem);margin-inline:auto}.unit0-piece{width:12.5%;height:12.5%;padding:.5%;transition:left .45s cubic-bezier(.3,1.3,.5,1),top .45s cubic-bezier(.3,1.3,.5,1);position:absolute}.square-glow{box-shadow:inset 0 0 0 999px var(--primary)}@supports (color:color-mix(in lab, red, red)){.square-glow{box-shadow:inset 0 0 0 999px color-mix(in oklab, var(--primary) 42%, transparent)}}.piece-enter{animation:.52s cubic-bezier(.3,1.2,.5,1) both piece-enter}@keyframes piece-enter{0%{transform:translateY(var(--enter-y));opacity:0}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.unit0-piece{transition:none}.piece-enter{animation:none}}:root[data-reduce-motion=on] .unit0-piece{transition:none}:root[data-reduce-motion=on] .piece-enter{animation:none}.square-tap-guide{z-index:2;box-shadow:inset 0 0 0 4px var(--tap-guide,var(--primary));animation:1.4s ease-in-out infinite tap-guide-pulse;position:relative}@keyframes tap-guide-pulse{0%,to{box-shadow:inset 0 0 0 4px var(--tap-guide,var(--primary))}50%{box-shadow:inset 0 0 0 4px var(--tap-guide,var(--primary)), inset 0 0 20px 6px color-mix(in oklab, var(--tap-guide,var(--primary)) 55%, transparent)}}.square-shake{animation:.36s ease-in-out square-shake}.square-shake.square-tap-guide{animation:.36s ease-in-out square-shake,1.4s ease-in-out infinite tap-guide-pulse}@keyframes square-shake{0%,to{translate:0}25%{translate:-4px}50%{translate:4px}75%{translate:-2px}}@media (prefers-reduced-motion:reduce){.square-tap-guide,.square-shake,.square-shake.square-tap-guide{animation:none}}html[data-reduce-motion=on] .square-tap-guide,html[data-reduce-motion=on] .square-shake{animation:none!important}html[data-board-theme=lavender],.theme-preview-lavender{--board-frame:#8a7ab0;--board-lip:#5e4f86}html[data-board-theme=mint],.theme-preview-mint{--board-frame:#6fa089;--board-lip:#477260}.theme-preview-wood{--board-frame:#a88a5e;--board-lip:#7a6040}.theme-preview{border-bottom-width:5px;border-bottom-color:var(--board-lip)}html[data-board-theme=lavender]{--selected:#f6d38abf;--last-move:#f6d38a8c;--tap-guide:#f6d38a}html[data-board-theme=lavender] .square-hint{--primary:#f6d38a}.pip-avatar-3d{position:relative;overflow:hidden}.pip-avatar-3d .pip-3d-img{object-fit:contain;transform-origin:50% 80%;width:120%;max-width:none;height:120%;position:absolute;inset:-10%}.pip-avatar-flat{position:relative;overflow:hidden}.pip-avatar-flat .pip-flat-img{object-fit:cover;transform-origin:50% 80%;width:100%;height:100%}.pip-body{flex-shrink:0;place-items:center;display:grid}.pip-body .pip-3d-img{object-fit:contain;width:100%;height:100%}.pip-body .pip-flat-img{object-fit:contain;width:100%;height:100%;animation:.15s ease-out pip-3d-fade}.pip-body .pip-flat-img.pip-flat-bounce{animation:.15s ease-out pip-3d-fade,.42s ease-out pip-3d-pop}.pip-avatar-flat .pip-flat-img{animation:.15s ease-out pip-3d-fade}.pip-avatar-flat .pip-flat-img.pip-flat-bounce{animation:.15s ease-out pip-3d-fade,.42s ease-out pip-3d-pop}.pip-3d-img{animation:.15s ease-out pip-3d-fade}.pip-3d-img.pip-3d-bounce{animation:.15s ease-out pip-3d-fade,.42s ease-out pip-3d-pop}@keyframes pip-3d-fade{0%{opacity:0}to{opacity:1}}@keyframes pip-3d-pop{0%,to{transform:translateY(0)}40%{transform:translateY(-8%)scale(1.04)}70%{transform:translateY(0)scale(1.02,.97)}}html[data-reduce-motion=on] .pip-3d-img.pip-3d-bounce{animation:.15s ease-out pip-3d-fade}@media (prefers-reduced-motion:reduce){.pip-3d-img.pip-3d-bounce{animation:.15s ease-out pip-3d-fade}}html[data-reduce-motion=on] .pip-flat-img.pip-flat-bounce{animation:.15s ease-out pip-3d-fade}@media (prefers-reduced-motion:reduce){.pip-flat-img.pip-flat-bounce{animation:.15s ease-out pip-3d-fade}}.screen-loader .pip-avatar-3d .pip-3d-img,.screen-loader .pip-avatar-flat .pip-flat-img{animation:4.2s ease-in-out infinite pip-soft-bob}html[data-reduce-motion=on] .screen-loader .pip-avatar-3d .pip-3d-img,html[data-reduce-motion=on] .screen-loader .pip-avatar-flat .pip-flat-img{animation:none}@media (prefers-reduced-motion:reduce){.screen-loader .pip-avatar-3d .pip-3d-img,.screen-loader .pip-avatar-flat .pip-flat-img{animation:none}}.art-float{flex-shrink:0;place-items:center;display:inline-grid;position:relative}.art-float-img{object-fit:contain;width:100%;height:100%;animation:2.5s ease-in-out infinite art-float;position:relative}.art-float-shadow{filter:blur(3px);background:oklch(10% .02 294/.45);border-radius:50%;width:62%;height:9%;animation:2.5s ease-in-out infinite art-float-shadow;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}@keyframes art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes art-float-shadow{0%,to{opacity:1;transform:translate(-50%)scale(1)}50%{opacity:.7;transform:translate(-50%)scale(.82)}}.intro-art-3d{object-fit:contain;width:75%;height:75%}.intro-art-pop{animation:.52s cubic-bezier(.34,1.56,.64,1) intro-pop}@keyframes intro-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes art-fade{0%{opacity:0}to{opacity:1}}.pip-badge-3d{place-items:center;display:inline-grid}.pip-badge-3d img{object-fit:contain;width:100%;height:100%}.rush-mode-icon-3d img{object-fit:contain;width:78%;height:78%}html[data-reduce-motion=on] .art-float-img,html[data-reduce-motion=on] .intro-art-pop{animation:.4s ease-out art-fade}html[data-reduce-motion=on] .art-float-shadow{animation:none}@media (prefers-reduced-motion:reduce){.art-float-img,.intro-art-pop{animation:.4s ease-out art-fade}.art-float-shadow{animation:none}}.chill-solved{color:var(--muted-foreground);margin-left:auto;font-size:.875rem;font-weight:800}.chill-summary-backdrop{z-index:60;background:var(--background);place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.chill-summary-backdrop{background:color-mix(in oklab, var(--background) 70%, transparent)}}.chill-summary-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chill-summary{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:1.25rem;width:100%;max-width:22rem;padding:1.5rem}html[data-board-theme=crystal],.theme-preview-crystal{--board-light:#eef6fc;--board-dark:#8fbde3;--board-frame:#2b5a8c;--board-lip:#1a3b60}html[data-board-theme=candy],.theme-preview-candy{--board-light:#fff3e3;--board-dark:#efa2ba;--board-frame:#b02e5c;--board-lip:#7a1b3e}html[data-board-theme=marble],.theme-preview-marble{--board-light:#f3f4ee;--board-dark:#8fb99d;--board-frame:#2c5c43;--board-lip:#1b3d2c}html[data-board-theme=midnight],.theme-preview-midnight{--board-light:#9aaac6;--board-dark:#5a7099;--board-frame:#14171d;--board-lip:#08090c}html[data-board-theme=gold],.theme-preview-gold{--board-light:#fbf5e1;--board-dark:#d8b458;--board-frame:#775710;--board-lip:#4e3906}.theme-preview-midnight{box-shadow:0 0 0 2px #c3cad6}html[data-board-theme=midnight] .board-edge{box-shadow:inset 0 0 0 2px #c3cad6,0 20px 32px oklch(8% .02 294/.46)}html[data-board-theme=midnight] :is(.daily-thumbnail,.openings-thumb,.trap-deck-board){outline-offset:-1px;outline:2px solid #c3cad6}html[data-board-theme=crystal] :is(.bg-board-light,.bg-board-dark):not(.theme-preview>*),.theme-preview-crystal>span{background-image:linear-gradient(135deg,#ffffff8c 0%,#ffffff1f 38%,#0000 40% 70%,#ffffff2e 100%)}html[data-board-theme=marble] .bg-board-light:not(.theme-preview>*),.theme-preview-marble>.bg-board-light{background-image:linear-gradient(115deg,#0000 30%,#78827824 33%,#0000 37% 62%,#7882781a 64%,#0000 67%)}html[data-board-theme=marble] .bg-board-dark:not(.theme-preview>*),.theme-preview-marble>.bg-board-dark{background-image:linear-gradient(65deg,#0000 25%,#fff3 28%,#0000 32% 58%,#1e462d24 61%,#0000 65%)}html[data-board-theme=gold] :is(.bg-board-light,.bg-board-dark):not(.theme-preview>*),.theme-preview-gold>span{background-image:radial-gradient(circle at 30% 25%,#ffffff61,#0000 60%)}html[data-board-theme=crystal],html[data-board-theme=midnight]{--selected:#f6d38acc;--last-move:#f6d38a80;--tap-guide:#f6d38a}html[data-board-theme=crystal] .square-hint,html[data-board-theme=midnight] .square-hint{--primary:#f6b73c}html[data-board-theme=gold]{--selected:#a48cf0b3;--last-move:#a48cf066}html[data-board-theme=gold] .square-hint,html[data-board-theme=candy] .square-hint{--primary:#6b4fd8}html[data-board-theme=candy]{--mated:#e2452f;--selected:#967deb99}html[data-board-theme=marble]{--mated:#e2603a}html[data-board-theme=midnight]{--mated:#f07a45}html[data-board-theme=midnight] .legal-dot{background:#ffffffb3}.theme-option-locked{opacity:1;cursor:not-allowed}.theme-option-locked .theme-preview{filter:grayscale(.55)brightness(.9);opacity:.6}.theme-lock{color:var(--foreground);place-items:center;display:grid;position:absolute;inset:0}.theme-lock svg{box-sizing:content-box;background:var(--card);border-radius:999px;padding:.3rem}.board-unlock-preview{border-width:6px;border-radius:.75rem;width:100%;height:100%}.token-chip{gap:.35rem;padding:.45rem .8rem;font-size:1rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}
