/*! tailwindcss v4.2.1 | 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)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--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-outline-style:solid;--tw-duration:initial;--tw-content:"";--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-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;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--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-outline-style:solid;--tw-duration:initial;--tw-content:"";--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-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;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-extrabold:800;--radius-md:.7rem;--radius-4xl:2rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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,ui-sans-serif, system-ui, 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;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{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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--background);color:var(--foreground);min-width:0;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-1\/2{top:50%}.right-2\.5{right:calc(var(--spacing) * 2.5)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1{height:calc(var(--spacing) * 1)}.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-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);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)}.appearance-none{-webkit-appearance:none;appearance:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.justify-self-start{justify-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:.9rem}.rounded-md{border-radius:.7rem}.rounded-xl{border-radius:1.1rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[Canvas\]{background-color:canvas}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[3px\]{padding:3px}.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)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.035em}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[CanvasText\]{color:canvastext}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.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-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}.selection\:bg-primary ::selection,.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection,.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.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\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}:is(.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible){--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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:.9rem}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}.data-\[size\=sm\]\:py-0\.5[data-size=sm]{padding-block:calc(var(--spacing) * .5)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-xl{max-width:var(--container-xl)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-\[minmax\(0\,1fr\)_290px\]{grid-template-columns:minmax(0,1fr) 290px}.lg\:pt-1{padding-top:calc(var(--spacing) * 1)}.lg\:pb-8{padding-bottom:calc(var(--spacing) * 8)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){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-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){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-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--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-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--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)}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@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}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:#f4f7f9;--foreground:#10263b;--card:#fff;--card-foreground:#10263b;--popover:#fff;--popover-foreground:#10263b;--primary:#003d7c;--primary-foreground:#fff;--secondary:#e8f0f7;--secondary-foreground:#153b5e;--muted:#edf2f5;--muted-foreground:#607181;--accent:#fff0df;--accent-foreground:#793e00;--destructive:#b42318;--border:#d8e1e8;--input:#ccd8e1;--ring:#2b72b7;--orange:#ef7c00;--orange-soft:#fff0df;--orange-ink:#934c00;--blue-soft:#e7f1fa;--teal:#0b7a75;--violet:#6a4fa3;--success:#147d58;--success-soft:#e2f5ec;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Aptos Display", Inter, ui-sans-serif, system-ui, sans-serif;--type-display:clamp(1rem, 4vw, 1.875rem);--type-section:1rem;--type-term:.875rem;--type-body:.78rem;--type-label:.72rem;--type-meta:.64rem}.dark{--background:#081421;--foreground:#edf5fb;--card:#0f2132;--card-foreground:#edf5fb;--popover:#12283a;--popover-foreground:#edf5fb;--primary:#4d9ee8;--primary-foreground:#071626;--secondary:#173149;--secondary-foreground:#d9ecfb;--muted:#142b3e;--muted-foreground:#9eb1c1;--accent:#4b2d0b;--accent-foreground:#ffd9af;--destructive:#ff8a80;--border:#284158;--input:#355069;--ring:#77b8ee;--orange-soft:#432708;--orange-ink:#ffc27b;--blue-soft:#153858;--success-soft:#123b2f}.app-header{z-index:30;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in srgb, var(--card), transparent 4%)}}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.play-route{gap:.5rem;margin-bottom:.75rem;display:flex}.play-route>button{flex:1;min-height:44px}.daily-note{color:var(--muted-foreground);margin-top:.5rem;font-size:.8rem;line-height:1.6}.daily-controls{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.daily-controls label{gap:.3rem;font-size:.8rem;display:grid}.daily-complete{background:var(--success-soft);border-radius:.8rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;font-size:.85rem;display:flex}.daily-complete p{margin-top:.25rem}.header-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;max-width:72rem;min-height:64px;margin-inline:auto;padding:.5rem 1rem;display:grid}.brand-lockup{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;display:inline-grid;overflow:hidden}.brand-lockup>img{border-radius:.62rem;flex:none;width:2.5rem;height:2.5rem;box-shadow:0 4px 12px #003d7c24}.brand-copy{align-content:center;gap:.24rem;min-width:0;line-height:1;display:grid}.brand-copy>strong{color:var(--primary);font-family:var(--font-display);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:1.24rem;font-weight:800;overflow:hidden}.brand-copy small{width:100%;color:var(--orange);letter-spacing:-.01em;white-space:nowrap;justify-content:flex-start;align-items:center;gap:.28em;font-size:.98rem;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}.brand-by{color:var(--muted-foreground)}.brand-pharmanus{display:inline-flex}.brand-pharma{color:var(--orange)}.brand-nus{color:#0056a6}.dark .brand-nus{color:#66afea}.header-controls{justify-content:flex-end;align-items:center;gap:.45rem;min-width:max-content;display:flex}.header-icon-button{width:2.5rem;height:2.5rem;color:var(--foreground);border:1px solid var(--border);background:var(--background);border-radius:.62rem;flex:0 0 2.5rem;place-items:center;display:grid;position:relative}.header-icon-button:hover{color:var(--primary);background:var(--muted)}.header-icon-button:before{content:"";position:absolute;inset:-.2rem}.header-icon-button svg{width:1.2rem;height:1.2rem}.eyebrow{color:var(--muted-foreground);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.38rem;font-weight:800;display:flex}.eyebrow svg{width:.9rem;height:.9rem;color:var(--orange)}.mode-heading{max-width:100%;font-size:var(--type-display);text-overflow:ellipsis;white-space:nowrap;line-height:1.1;overflow:hidden}.mode-intro{margin-bottom:1rem}.mode-tabs{border:1px solid var(--border);background:var(--card);border-radius:.9rem;grid-template-columns:repeat(4,1fr);gap:.42rem;margin:0 0 .7rem;padding:.32rem;display:grid}@supports (color:color-mix(in lab, red, red)){.mode-tabs{background:color-mix(in srgb, var(--card), transparent 18%)}}.mode-tab{min-width:0;color:var(--muted-foreground);font-size:var(--type-label);border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;gap:.42rem;padding:.58rem .45rem;font-weight:800;transition:color .12s,background .12s,border-color .12s;display:flex}.mode-tab svg{flex:none;width:.9rem;height:.9rem}.mode-label-short{display:none}.mode-tab:hover{color:var(--foreground);background:var(--muted)}.mode-tab.is-active{color:var(--primary);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mode-tab.is-active{border-color:color-mix(in srgb, var(--primary), transparent 65%)}}.mode-tab.is-active{background:var(--blue-soft);box-shadow:0 2px 8px #10263b0d}.phase-strip{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.55rem;display:grid}.phase-step{min-width:0;color:var(--muted-foreground);border:1px solid var(--border);background:var(--card);border-radius:.85rem;align-items:center;gap:.55rem;padding:.58rem .65rem;display:flex}@supports (color:color-mix(in lab, red, red)){.phase-step{background:color-mix(in srgb, var(--card), transparent 20%)}}.phase-step>span{background:var(--muted);width:1.62rem;height:1.62rem;font-size:var(--type-label);border-radius:.52rem;flex:none;place-items:center;font-weight:900;display:grid}.phase-step svg{width:.9rem}.phase-step div{flex-direction:column;min-width:0;display:flex}.phase-step strong{font-size:var(--type-label)}.phase-step small{font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phase-step.is-active{color:var(--foreground);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.phase-step.is-active{border-color:color-mix(in srgb, var(--primary), transparent 30%)}}.phase-step.is-active{box-shadow:0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.phase-step.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 88%)}}.phase-step.is-active>span{color:#fff;background:var(--primary)}.phase-step.is-done>span{color:#fff;background:var(--success)}.forge-progress{padding:.85rem 1.1rem 0}.sr-progress{gap:0;height:2px;margin-bottom:.75rem}.sr-progress [data-slot=progress-track]{height:2px}.sr-progress [data-slot=progress-indicator]{background:linear-gradient(90deg, var(--primary), var(--orange))}.forge-card{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;min-height:505px;overflow:hidden;box-shadow:0 18px 50px #10263b14}.card-topline{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;padding:1rem 1.1rem .8rem;display:flex}.card-topline>[data-slot=badge]{text-overflow:ellipsis;white-space:nowrap;max-width:46%;overflow:hidden}.phase-number{color:#fff;background:var(--primary);width:2.35rem;height:2.35rem;font-size:var(--type-label);border-radius:.72rem;place-items:center;font-weight:900;display:grid}.card-topline>div{flex-direction:column;display:flex}.card-topline p{font-family:var(--font-display);font-size:var(--type-section);margin:0;font-weight:800}.card-topline div>span{color:var(--muted-foreground);font-size:var(--type-label)}.phase-content{padding:1.1rem}.task-prompt>span{color:var(--muted-foreground);font-size:var(--type-label);letter-spacing:.03em;text-transform:uppercase;font-weight:700}.task-prompt h2{max-width:42rem;font-family:var(--font-display);font-size:var(--type-display);letter-spacing:-.035em;margin:.3rem 0 1rem;font-weight:800;line-height:1.12}.build-zone,.shift-word{border:1px dashed var(--primary);align-items:stretch;gap:.45rem;min-height:88px;padding:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.build-zone,.shift-word{border:1px dashed color-mix(in srgb, var(--primary), transparent 35%)}}.build-zone,.shift-word{background:var(--blue-soft);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.build-zone,.shift-word{background:color-mix(in srgb, var(--blue-soft), transparent 30%)}}.empty-slot{border:1px dashed var(--input);background:var(--card);border-radius:.75rem;flex:6rem;min-width:0}@supports (color:color-mix(in lab, red, red)){.empty-slot{background:color-mix(in srgb, var(--card), transparent 35%)}}.placed-tile{border:1px solid var(--border);background:var(--card);border-radius:.75rem;flex-direction:column;flex:7rem;justify-content:center;align-items:center;gap:.16rem;min-width:0;padding:.75rem .5rem;display:flex;position:relative;box-shadow:0 4px 10px #10263b0f}.placed-tile:before{background:var(--role);content:"";border-radius:.75rem 0 0 .75rem;width:4px;position:absolute;inset:0 auto 0 0}.placed-tile strong{font-family:var(--font-display);font-size:var(--type-term)}.placed-tile small{max-width:100%;color:var(--muted-foreground);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.placed-tile.is-correct{border-color:var(--success);background:var(--success-soft);box-shadow:0 0 0 2px var(--success)}@supports (color:color-mix(in lab, red, red)){.placed-tile.is-correct{box-shadow:0 0 0 2px color-mix(in srgb, var(--success), transparent 82%)}}.placed-tile.is-correct:before{background:var(--success)}.placed-tile.is-correct small{color:var(--success)}.placed-tile.is-wrong{border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.placed-tile.is-wrong{background:color-mix(in srgb, var(--destructive), transparent 91%)}}.placed-tile.is-wrong{box-shadow:0 0 0 2px var(--destructive)}@supports (color:color-mix(in lab, red, red)){.placed-tile.is-wrong{box-shadow:0 0 0 2px color-mix(in srgb, var(--destructive), transparent 84%)}}.placed-tile.is-wrong:before{background:var(--destructive)}.placed-tile.is-wrong small{color:var(--destructive)}.role-prefix{--role:var(--orange)}.role-root{--role:var(--teal)}.role-suffix{--role:var(--violet)}.literal-line{align-items:baseline;gap:.65rem;margin:.65rem .2rem .9rem;display:flex}.literal-line small{color:var(--muted-foreground);font-size:var(--type-meta);letter-spacing:.06em;text-transform:uppercase;flex:none;font-weight:800}.literal-line strong{color:var(--primary);font-size:var(--type-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-bank{grid-template-columns:repeat(3,1fr);gap:.48rem;display:grid}.forge-groups{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.forge-group{border:1px solid var(--border);background:var(--muted);border-radius:.85rem;min-width:0;padding:.55rem}.forge-group>p{color:var(--foreground);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin:0 .15rem .45rem;font-weight:850;display:flex}.forge-group>p span{color:var(--muted-foreground);font-size:var(--type-meta);letter-spacing:.04em;font-weight:650}.forge-group-grid{grid-template-columns:repeat(3,1fr);gap:.36rem;display:grid}.forge-group-grid .morpheme-tile{padding:.65rem .42rem .6rem .58rem}.forge-group-grid .morpheme-tile strong{font-size:var(--type-term)}.forge-group-grid .morpheme-tile small{font-size:var(--type-meta);text-transform:uppercase}.morpheme-tile{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:.72rem;flex-direction:column;align-items:flex-start;gap:.08rem;min-width:0;padding:.67rem .7rem .67rem .85rem;transition:transform .12s,border-color .12s,background .12s;display:flex;position:relative;overflow:hidden}.morpheme-tile:before{background:var(--role);content:"";width:4px;position:absolute;inset:0 auto 0 0}.morpheme-tile:hover:not(:disabled),.morpheme-tile.is-selected{border-color:var(--role);background:var(--card);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.morpheme-tile:hover:not(:disabled),.morpheme-tile.is-selected{background:color-mix(in srgb, var(--card), var(--role) 5%)}}.morpheme-tile:disabled{opacity:.38}.morpheme-tile strong{font-family:var(--font-display);font-size:var(--type-term)}.morpheme-tile small{max-width:100%;color:var(--muted-foreground);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.placement-source{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none}.placement-source:active:not(:disabled){cursor:grabbing}.placement-source.is-selected{outline:2px solid var(--primary);outline-offset:2px}.placement-source.is-dragging{opacity:.58;transform:scale(.98)}.placement-destination{transition:border-color .12s,background .12s,outline-color .12s,transform .12s}.placement-destination.is-targeted{outline:2px solid var(--orange);outline-offset:2px}.placement-destination.is-drag-over{border-color:var(--primary);outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.placement-destination.is-drag-over{outline:3px solid color-mix(in srgb, var(--primary), transparent 72%)}}.placement-destination.is-drag-over{outline-offset:1px;background:var(--blue-soft)}@supports (color:color-mix(in lab, red, red)){.placement-destination.is-drag-over{background:color-mix(in srgb, var(--blue-soft), var(--card) 32%)}}.placement-destination.is-drag-over{transform:translateY(-1px)}.empty-slot.placement-destination{color:var(--muted-foreground);font-size:var(--type-meta);text-transform:uppercase;place-items:center;font-weight:750;display:grid}.placement-help{color:var(--muted-foreground);font-size:var(--type-meta);margin:-.35rem .15rem 0;font-weight:700}.swap-label,.decode-instruction{color:var(--muted-foreground);font-size:var(--type-label);align-items:center;gap:.4rem;margin:.75rem .2rem;font-weight:700;display:flex}.swap-label svg{width:.9rem;color:var(--orange)}.is-replaced{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange)}@supports (color:color-mix(in lab, red, red)){.is-replaced{box-shadow:0 0 0 3px color-mix(in srgb, var(--orange), transparent 80%)}}.is-replaced{animation:1.7s ease-in-out infinite breathe}@keyframes breathe{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--orange), transparent 90%)}}.decode-term{flex-wrap:wrap;align-items:baseline;display:flex}.decode-term em{padding:.08rem .16rem .24rem;font-style:normal;position:relative}.decode-term em:after{background:var(--role);content:"";border-radius:3px;height:3px;position:absolute;bottom:0;left:.16rem;right:.16rem}.gloss-builder{border:1px dashed var(--input);background:var(--muted);border-radius:.9rem;grid-template-columns:repeat(3,1fr);gap:.45rem;min-height:65px;padding:.65rem;display:grid}.gloss-builder button,.gloss-builder span{text-align:center;border:1px solid var(--border);background:var(--card);min-width:0;font-size:var(--type-label);border-radius:.62rem;place-items:center;padding:.6rem .4rem;font-weight:750;display:grid}.gloss-builder span,.gloss-builder button.is-empty{color:var(--muted-foreground);background:0 0;border-style:dashed;font-weight:500}.gloss-builder button.is-correct{color:var(--success);border-color:var(--success);background:var(--success-soft)}.gloss-builder button.is-wrong{color:var(--destructive);border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.gloss-builder button.is-wrong{background:color-mix(in srgb, var(--destructive), transparent 91%)}}.meaning-bank{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;display:flex}.meaning-bank button{border:1px solid var(--border);background:var(--card);font-size:var(--type-label);border-radius:999px;padding:.52rem .7rem;font-weight:700}.meaning-bank button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.meaning-bank button:disabled{opacity:.35}.feedback{font-size:var(--type-body);border-radius:.72rem;align-items:flex-start;gap:.55rem;margin:0 1.1rem .85rem;padding:.72rem .8rem;font-weight:650;display:flex}.feedback-reserve{align-items:end;min-height:4rem;display:grid}.feedback>span{border-radius:50%;flex:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}.feedback svg{width:.8rem}.feedback-correct{color:var(--success);background:var(--success-soft)}.feedback-wrong{color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.feedback-wrong{background:color-mix(in srgb, var(--destructive), transparent 90%)}}.feedback-hint{color:var(--orange-ink);background:var(--orange-soft)}.card-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.45rem;padding:.9rem 1.1rem 1.05rem;display:flex}.primary-action{background:linear-gradient(135deg,#00509f,#003d7c);min-width:9.2rem;box-shadow:0 6px 14px #003d7c29}.dark .primary-action{color:#fff}.mode-game-card{min-height:555px}.mode-game-card .phase-number svg{width:1.05rem;height:1.05rem}.mode-game{gap:.85rem;display:grid}.mode-game .task-prompt h2{margin-bottom:0}.mode-game .literal-line{min-height:1.25rem;margin:-.18rem .2rem 0}.mode-game .literal-line strong{white-space:normal}.mode-feedback-reserve{align-items:end;min-height:3.5rem;display:grid}.ladder-track{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.34rem;display:grid}.ladder-node{overflow-wrap:anywhere;min-width:0;min-height:2.15rem;color:var(--muted-foreground);border:1px dashed var(--input);background:var(--muted);font-size:var(--type-meta);text-align:center;text-overflow:ellipsis;border-radius:.62rem;place-items:center;padding:.34rem .42rem;font-weight:750;display:grid;position:relative;overflow:hidden}@media (max-width:640px){.ladder-track{grid-template-columns:repeat(2,minmax(0,1fr))}}.ladder-node:not(:last-child):after{z-index:2;background:var(--input);content:"";width:.4rem;height:2px;position:absolute;right:-.38rem}.ladder-node.is-current{color:var(--primary);border-color:var(--primary);background:var(--blue-soft)}.ladder-node.is-done{color:var(--success);border-style:solid;border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.ladder-node.is-done{border-color:color-mix(in srgb, var(--success), transparent 45%)}}.ladder-node.is-done{background:var(--success-soft)}.surgery-label{color:var(--muted-foreground);font-size:var(--type-label);align-items:center;gap:.42rem;font-weight:700;display:flex}.surgery-label svg{width:.9rem;color:var(--orange);flex:none}.mode-insight{color:var(--success);background:var(--success-soft);font-size:var(--type-body);border-radius:.72rem;align-items:flex-start;gap:.55rem;padding:.72rem .8rem;line-height:1.45;display:flex}.mode-insight>svg{flex:none;width:1rem;height:1rem;margin-top:.05rem}.mode-insight p{margin:0}.mode-insight a{color:var(--primary);text-underline-offset:2px;align-items:center;gap:.14rem;margin-left:.22rem;font-weight:800;text-decoration:underline;display:inline-flex}.mode-insight a svg{width:.72rem;height:.72rem}.origin-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.origin-stage{flex-direction:column;gap:.35rem;min-width:0;display:flex}.origin-stage>p{min-height:2.6em;color:var(--muted-foreground);font-size:var(--type-meta);letter-spacing:.05em;text-transform:uppercase;align-items:flex-start;margin:0 .15rem;font-weight:800;line-height:1.3;display:flex}.origin-card,.origin-empty{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:.72rem;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:.32rem;min-height:7.2rem;padding:.68rem;display:flex}.origin-card strong{font-size:var(--type-label);line-height:1.35}.origin-card small{color:var(--muted-foreground);font-size:var(--type-meta);line-height:1.4}.origin-card small.is-concealed{visibility:hidden}.origin-empty{color:var(--muted-foreground);background:var(--muted);font-size:var(--type-meta);border-style:dashed;align-items:stretch;display:grid}.origin-empty>span{grid-area:1/1}.origin-empty-prompt{z-index:1;text-align:center;align-self:center}.origin-empty-reserve{visibility:hidden;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:.32rem;display:flex}.origin-empty-reserve strong{font-size:var(--type-label);line-height:1.35}.origin-empty-reserve small{font-size:var(--type-meta);line-height:1.4}.origin-card.is-correct{color:var(--success);border-color:var(--success);background:var(--success-soft);box-shadow:0 0 0 2px var(--success)}@supports (color:color-mix(in lab, red, red)){.origin-card.is-correct{box-shadow:0 0 0 2px color-mix(in srgb, var(--success), transparent 84%)}}.origin-card.is-wrong{color:var(--destructive);border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.origin-card.is-wrong{background:color-mix(in srgb, var(--destructive), transparent 91%)}}.origin-card.is-wrong{box-shadow:0 0 0 2px var(--destructive)}@supports (color:color-mix(in lab, red, red)){.origin-card.is-wrong{box-shadow:0 0 0 2px color-mix(in srgb, var(--destructive), transparent 84%)}}.origin-bank{border:1px solid var(--border);background:var(--muted);border-radius:.82rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;padding:.5rem;display:grid}.origin-bank button{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:.62rem;flex-direction:column;align-items:flex-start;gap:.18rem;min-width:0;padding:.62rem;display:flex}.origin-bank button:hover:not(:disabled){border-color:var(--primary)}.origin-bank button:disabled{opacity:.3}.origin-bank strong{font-size:var(--type-label);line-height:1.3}.origin-bank small{color:var(--muted-foreground);font-size:var(--type-meta);text-transform:uppercase}.origin-bank.is-resolved{gap:.3rem;padding:.32rem}.origin-bank.is-resolved button{justify-content:center;min-height:2.35rem;padding:.32rem .42rem}.origin-bank.is-resolved strong{width:100%;font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.origin-bank.is-resolved small{display:none}.lens-panel{border:1px solid var(--border);background:var(--card);border-radius:1.1rem;align-self:start;padding:1rem}@supports (color:color-mix(in lab, red, red)){.lens-panel{background:color-mix(in srgb, var(--card), transparent 15%)}}.lens-panel h2{font-family:var(--font-display);letter-spacing:-.025em;margin:.28rem 0 0;font-size:1.12rem;font-weight:800}.role-list{gap:.5rem;margin:1rem 0;display:grid}.role-row{background:var(--muted);border-radius:.7rem;align-items:center;gap:.65rem;padding:.58rem;display:flex}.role-row>span{background:var(--role);border-radius:1rem;width:.35rem;height:2rem}.role-row div{flex-direction:column;display:flex}.role-row strong{text-transform:capitalize;font-size:.76rem}.role-row small{color:var(--muted-foreground);font-size:.64rem}.lens-note{border-left:3px solid var(--orange);background:var(--orange-soft);border-radius:.2rem .7rem .7rem .2rem;padding:.82rem}.lens-note strong{color:var(--orange-ink);font-size:.74rem}.lens-note p{color:var(--muted-foreground);margin:.3rem 0 0;font-size:.68rem;line-height:1.45}.case-switch{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:.75rem;justify-content:space-between;align-items:center;width:100%;margin-top:.8rem;padding:.65rem .75rem;display:flex}.case-switch span{flex-direction:column;display:flex}.case-switch small{color:var(--muted-foreground);text-transform:uppercase;font-size:.6rem}.case-switch strong{font-size:.73rem}.case-switch svg{width:1rem;color:var(--primary)}.story-view{text-align:center;padding:1.4rem}.success-seal{color:#fff;background:linear-gradient(145deg, var(--success), #075b40);border-radius:1rem;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto .7rem;display:grid;transform:rotate(-4deg);box-shadow:0 10px 22px #147d5833}.success-seal svg{width:1.5rem}.story-view>h2{font-family:var(--font-display);letter-spacing:-.05em;margin:.45rem 0 0;font-size:clamp(1.9rem,5vw,2.75rem);font-weight:900}.story-lead{color:var(--muted-foreground);margin:.1rem 0 1rem;font-size:.78rem}.story-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.story-grid section{border:1px solid var(--border);background:var(--muted);border-radius:.75rem;padding:.8rem}.story-grid span{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem;font-size:.62rem;font-weight:800;display:block}.story-grid strong,.story-grid p{margin:0;font-size:.72rem;line-height:1.45}.story-grid .nuance-card{border-color:var(--orange)}@supports (color:color-mix(in lab, red, red)){.story-grid .nuance-card{border-color:color-mix(in srgb, var(--orange), transparent 55%)}}.story-grid .nuance-card{background:var(--orange-soft)}.story-grid .nuance-card span{color:var(--orange-ink)}.story-actions{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.dialog-steps{gap:.6rem;padding:0;list-style:none;display:grid}.dialog-steps li{background:var(--muted);border-radius:.7rem;gap:.7rem;padding:.65rem;display:flex}.dialog-steps li>span{color:#fff;background:var(--primary);border-radius:.5rem;flex:none;place-items:center;width:1.65rem;height:1.65rem;font-size:.72rem;font-weight:900;display:grid}.dialog-steps strong{font-size:.77rem}.dialog-steps p{color:var(--muted-foreground);margin:.1rem 0 0;font-size:.69rem}.tip-box{color:var(--orange-ink);background:var(--orange-soft);border-radius:.7rem;gap:.55rem;padding:.7rem;display:flex}.tip-box svg{flex:none;width:1rem}.tip-box p{margin:0;font-size:.7rem;line-height:1.45}.about-copy{gap:.75rem;display:grid}.about-copy p{color:var(--muted-foreground);margin:0;font-size:.73rem;line-height:1.55}.about-inline-link{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);font-weight:800}@supports (color:color-mix(in lab, red, red)){.about-inline-link{-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%)}}.about-inline-link{text-underline-offset:.16em}.about-inline-link:hover{text-decoration-color:currentColor}.source-links{gap:.4rem;display:grid}.source-links a{color:var(--primary);border:1px solid var(--border);border-radius:.6rem;padding:.55rem .65rem;font-size:.7rem;font-weight:750}.source-links a:hover{background:var(--muted)}.support-body{gap:.8rem;min-height:0;display:grid}.support-body>p{color:var(--muted-foreground);margin:0;font-size:.75rem;line-height:1.55}.support-body>p a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);font-weight:800}@supports (color:color-mix(in lab, red, red)){.support-body>p a{-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);-webkit-text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%);text-decoration-color:color-mix(in srgb, var(--primary), transparent 65%)}}.support-body>p a{text-underline-offset:.16em}.support-card{border:1px solid var(--primary);padding:.85rem}@supports (color:color-mix(in lab, red, red)){.support-card{border:1px solid color-mix(in srgb, var(--primary), transparent 70%)}}.support-card{background:var(--primary);border-radius:.8rem}@supports (color:color-mix(in lab, red, red)){.support-card{background:color-mix(in srgb, var(--primary), transparent 94%)}}.support-card h3{color:var(--primary);margin:0 0 .6rem;font-size:.76rem}.support-card ul{gap:.48rem;margin:0;padding:0;list-style:none;display:grid}.support-card li{color:var(--foreground);align-items:flex-start;gap:.48rem;font-size:.7rem;line-height:1.4;display:flex}.support-card li svg{width:.88rem;height:.88rem;color:var(--orange);stroke-width:3px;flex:0 0 .88rem;margin-top:.06rem}.support-banner-link{border-radius:.72rem;transition:transform .12s,box-shadow .12s;display:block;overflow:hidden;box-shadow:0 7px 18px #003d7c1f}.support-banner-link:hover{transform:translateY(-1px);box-shadow:0 9px 22px #003d7c2e}.support-banner-link img{width:100%;height:auto;display:block}.support-note{text-align:center;font-size:1rem;font-weight:750}.stats-grid,.weekly-stats-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.stats-grid div,.weekly-stats-grid div{border:1px solid var(--border);background:var(--muted);border-radius:.7rem;flex-direction:column;align-items:center;padding:.7rem .25rem;display:flex}.stats-grid strong,.weekly-stats-grid strong{font-family:var(--font-display);font-size:1.35rem}.stats-grid span,.weekly-stats-grid span{color:var(--muted-foreground);text-transform:uppercase;font-size:.58rem}.mode-tallies{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.mode-tallies span{color:var(--muted-foreground);border:1px solid var(--border);border-radius:.55rem;justify-content:space-between;align-items:center;gap:.3rem;padding:.42rem .5rem;font-size:.59rem;display:flex}.mode-tallies strong{color:var(--foreground)}.mastery-list h3{align-items:center;gap:.4rem;margin:.3rem 0 .55rem;font-size:.76rem;display:flex}.mastery-list h3 svg{width:.9rem;color:var(--orange)}.mastery-list>div{grid-template-columns:5rem 1fr 1.5rem;align-items:center;gap:.5rem;margin:.38rem 0;font-size:.7rem;display:grid}.mastery-list p{color:var(--muted-foreground);font-size:.72rem}.mastery-list [data-slot=progress-track]{height:.35rem}.mastery-list small{color:var(--muted-foreground)}@media (max-width:1023px){.lens-panel{display:none}.forge-card{min-height:490px}}@media (max-width:640px){:root{--type-display:clamp(1rem, 4.5vw, 1.15rem)}.app-main{min-height:calc(100dvh - 68px)}.app-header{position:static}.play-column{flex-direction:column;gap:clamp(.48rem,1.25svh,.78rem);min-height:100%;display:flex}.header-inner{gap:.3rem;padding:.42rem .45rem}.brand-lockup{gap:.36rem}.brand-lockup>img{border-radius:.52rem;width:2rem;height:2rem}.brand-copy{gap:.18rem}.brand-copy>strong{font-size:1.08rem}.brand-copy small{font-size:.82rem}.header-controls{gap:.2rem}.header-icon-button{border-radius:.52rem;flex-basis:2rem;width:2rem;height:2rem}.header-icon-button svg{width:1.05rem;height:1.05rem}.mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.15rem;margin-bottom:0;padding:.18rem;overflow:visible}.mode-tab{min-width:0;font-size:var(--type-meta);white-space:nowrap;gap:.18rem;padding:.4rem .08rem}.mode-tab svg{width:.72rem;height:.72rem}.mode-label-wide{display:none}.mode-label-short{display:inline}.mode-intro{margin-bottom:0}.forge-progress{padding:.6rem .7rem 0}.phase-strip{gap:.25rem;margin-bottom:.35rem}.phase-step{justify-content:center;gap:.35rem;padding:.36rem .22rem}.phase-step>span{width:1.45rem;height:1.45rem}.phase-step div small{display:none}.sr-progress{margin-bottom:.5rem}.play-column>.forge-card{flex-direction:column;flex:1 0 auto;min-height:0;display:flex}.forge-card,.mode-game-card{border-radius:1rem;min-height:0}.card-topline{gap:.5rem;padding:.6rem .75rem .55rem}.phase-number{width:2rem;height:2rem}.phase-content,.story-view{flex:1}.phase-content{align-content:space-between;gap:.6rem;padding:.7rem;display:grid}.task-prompt h2{margin:.2rem 0 .65rem}.tile-bank{grid-template-columns:repeat(2,1fr)}.tile-bank-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.origin-game{grid-template-rows:auto auto auto auto minmax(5rem,1fr);align-content:stretch;row-gap:clamp(.6rem,1.4dvh,.9rem)}.mode-game{gap:.6rem}.mode-game .task-prompt h2{margin-bottom:0}.forge-groups{grid-template-columns:1fr;gap:.35rem}.forge-group{padding:.38rem}.forge-group>p{margin-bottom:.25rem}.forge-group-grid .morpheme-tile{padding:.5rem .35rem .45rem .5rem}.build-zone,.shift-word{min-height:72px;padding:.45rem}.placed-tile{flex-basis:4.2rem;padding:.5rem .3rem}.literal-line{margin:.45rem .1rem .6rem}.mode-game .literal-line{min-height:3.25rem}.swap-label,.decode-instruction{margin:.55rem .1rem}.meaning-bank{margin-top:.6rem}.feedback-reserve{min-height:3.75rem}.feedback{margin:0 .7rem .55rem;padding:.55rem .65rem}.mode-feedback-reserve{min-height:5rem}.card-actions{grid-template-columns:auto auto 1fr;padding:.55rem .7rem .65rem;display:grid}.card-actions .primary-action{min-width:0}.card-actions button{padding-left:.5rem;padding-right:.5rem}.mode-game-card .card-actions{grid-template-columns:auto 1fr}.ladder-node{min-height:2.1rem;padding:.22rem}.origin-slots,.origin-bank{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.origin-stage{gap:.22rem}.origin-stage>p{margin-inline:.05rem}.origin-card,.origin-empty{min-height:8rem;padding:.4rem}.origin-bank{padding:.35rem}.origin-bank button{padding:.42rem}.story-view{padding:1rem}.story-grid{grid-template-columns:1fr}.story-actions{flex-direction:column-reverse}.stats-grid,.weekly-stats-grid,.mode-tallies{grid-template-columns:repeat(2,1fr)}}@media (max-width:350px){.header-controls{gap:.12rem}.header-icon-button{flex-basis:1.9rem;width:1.9rem;height:1.9rem}.brand-lockup>img{width:1.9rem;height:1.9rem}.brand-copy>strong{font-size:.96rem}.brand-copy small{font-size:.73rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card-status{justify-content:center;align-items:center;gap:.25rem;margin-top:.2rem;font-size:.72rem;font-weight:750;line-height:1.25;display:inline-flex}.card-status svg{flex-shrink:0;width:.9rem;height:.9rem}.card-status-correct{color:var(--success)}.card-status-wrong{color:var(--destructive)}.mode-insight-wrong{color:var(--foreground);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.mode-insight-wrong{background:color-mix(in srgb, var(--destructive), transparent 94%)}}.mode-insight-wrong{border:1px solid var(--destructive)}.mode-insight-wrong>svg{color:var(--destructive);flex-shrink:0}.origin-remove{border:1px solid var(--border);background:var(--card);border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;min-height:2.5rem;margin-top:.35rem;padding:.35rem .6rem;font-size:.8rem;font-weight:650;display:inline-flex}.origin-remove svg{width:.9rem;height:.9rem}.origin-card[draggable=true]{touch-action:manipulation}.mode-session-loading{padding:2rem}:is(.placement-source:focus-visible,.placement-destination:focus-visible,.origin-remove:focus-visible){outline:3px solid var(--primary);outline-offset:3px}:root{--type-body:1rem;--type-label:.875rem;--type-meta:.75rem;--type-term:1.05rem}.mode-tabs[data-slot=tabs-list]{width:100%;height:auto;display:grid}.mode-tab{white-space:normal;min-height:44px}.mode-tab[data-active]{color:var(--primary)}.mode-heading{white-space:normal;line-height:1.2}.quick-start{border:1px solid var(--input);background:var(--blue-soft);font-size:var(--type-body);border-radius:.9rem;margin-block:.75rem;padding:1rem}.quick-start p{margin-block:.35rem .7rem}.practice-controls{flex-wrap:wrap;align-items:end;gap:.75rem;margin-block:.5rem 1rem;display:flex}.practice-controls label{min-width:0;font-size:var(--type-label);gap:.35rem;font-weight:700;display:grid}.practice-controls label:first-child{flex:240px}.practice-controls [data-slot=native-select-wrapper]{width:100%}.practice-controls select{max-width:100%;height:44px;font-size:.875rem}.game-fieldset{border:0;min-width:0;margin:0;padding:0}.phase-focus{scroll-margin-top:5rem}.phase-focus:focus-visible{outline:2px solid var(--ring);outline-offset:-3px}.flexible-build{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.answer-slot{flex-direction:column;gap:.25rem;min-width:0;display:flex}.answer-slot .placed-tile{width:100%;min-height:85px}.remove-placement{min-height:32px;color:var(--primary);padding:.25rem .5rem;font-size:.8rem;text-decoration:underline}.placed-tile small,.morpheme-tile small{white-space:normal;text-overflow:clip;overflow:visible}.placed-tile strong,.morpheme-tile strong{overflow-wrap:anywhere}.tile-verdict{justify-content:center;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.tile-verdict svg{width:16px;height:16px}.placement-help{margin:.75rem .15rem;font-weight:500;line-height:1.5}.answer-bank{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.feedback-reserve{height:auto;min-height:0}.feedback-wrong{color:var(--foreground);border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.feedback-wrong{background:color-mix(in srgb, var(--destructive), transparent 94%)}}.feedback p{font-size:var(--type-body);line-height:1.5}.feedback:empty{display:none}.card-actions{flex-wrap:wrap;gap:.5rem}.card-actions button{min-height:44px;font-size:.875rem}.transfer-options{gap:.7rem;display:grid}.transfer-option{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:.75rem;min-height:48px;padding:1rem;font-size:1rem}.transfer-option.is-selected{border-color:var(--primary);outline:2px solid var(--primary);background:var(--blue-soft)}.term-stories{text-align:left;gap:.75rem;margin-block:1.25rem;display:grid}.term-story{border:1px solid var(--border);border-radius:.75rem;padding:1rem}.term-story summary{cursor:pointer;font-size:1.05rem;font-weight:800}.term-story dt{color:var(--primary);margin-top:.8rem;font-size:.875rem;font-weight:750}.term-story dd{margin-top:.2rem;font-size:1rem;line-height:1.55}.source-links{flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;display:flex}.source-links a{color:var(--primary);align-items:center;gap:.25rem;font-size:.85rem;text-decoration:underline;display:inline-flex}.sequence-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem .25rem;display:flex}.sequence-footer p{color:var(--muted-foreground);flex:250px;font-size:.875rem;line-height:1.5}.learning-note{margin-top:1rem;font-size:.875rem;line-height:1.5}.learning-dialog{max-height:90dvh;overflow-y:auto}.learning-dialog>p,.learning-dialog .dialog-steps p{font-size:.95rem;line-height:1.55}.practice-table h3{margin-bottom:.5rem;font-weight:800}.practice-table p{margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.practice-table table{border-collapse:collapse;width:100%;font-size:.875rem}.practice-table th,.practice-table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .35rem}.reset-confirmation{border:1px solid var(--destructive);border-radius:.75rem;padding:1rem}.reset-confirmation p{margin-bottom:.75rem}.reset-confirmation button{margin:.2rem}@media (max-width:1023px){.lens-panel{display:block}.mode-label-wide{display:none}.mode-label-short{display:inline}}@media (max-width:600px){.phase-step{justify-content:center;gap:.25rem;padding:.45rem .25rem}.phase-step small{display:none}.phase-step strong{font-size:.75rem}.phase-step>span{width:1.3rem;height:1.3rem}.forge-progress{padding-inline:.65rem}.practice-controls label:first-child{flex-basis:100%}.header-inner{padding-inline:.5rem}.header-controls{gap:.2rem}.header-icon-button{flex-basis:2.1rem;width:2.1rem;height:2.5rem}.brand-copy>strong{font-size:1.05rem}.brand-copy small{font-size:.8rem}.brand-lockup>img{width:2rem;height:2rem}}@media (max-width:360px){.header-inner{grid-template-columns:1fr;gap:.35rem}.header-controls{justify-content:space-between}.brand-lockup{justify-self:start}.header-icon-button{flex-basis:44px;width:44px;height:44px}}@media (max-width:600px){.tile-bank-compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.origin-slots,.origin-bank{grid-template-columns:minmax(0,1fr);gap:.65rem}.origin-stage>p{min-height:0;font-size:.8rem}.origin-card,.origin-empty{min-height:4.5rem;padding:.75rem}.origin-bank button{min-height:44px;padding:.75rem}.origin-card strong,.origin-bank strong,.origin-empty-reserve strong{font-size:.95rem;line-height:1.45}.origin-card small,.origin-empty-reserve small{font-size:.85rem;line-height:1.45}.origin-empty-prompt{font-size:.875rem}.origin-empty-reserve{display:none}.phase-focus{scroll-margin-top:5rem}}@media (max-width:360px){.phase-focus{scroll-margin-top:8rem}}.role-grouped,.role-neutral{--role:var(--muted-foreground)}.mode-question-frame{min-width:0}[data-question-heading]:focus-visible{outline:2px solid var(--primary);outline-offset:.3rem;border-radius:.15rem}.clinical-reveal{border:1px solid var(--border);background:var(--card);border-radius:.75rem;margin:.5rem 0;padding:.85rem 1rem}.clinical-reveal h3{margin:0 0 .4rem;font-size:1rem;font-weight:800}.clinical-reveal p{margin:.4rem 0;line-height:1.5}.clinical-reveal .source-links{margin-top:.65rem}.story-source-group{margin-top:.5rem}.story-source-group>p,.reference-label{color:var(--muted-foreground);margin:.4rem 0;font-size:.8rem;font-weight:700}.concept-review{border-block:1px solid var(--border);margin-block:1rem;padding-block:1rem}.concept-review h3{font-weight:650}.concept-review p{margin-block:.65rem;font-size:.875rem;line-height:1.6}.concept-review details{margin-top:.8rem}.concept-review summary{cursor:pointer;font-size:.875rem;font-weight:600}.concept-review-actions{flex-wrap:wrap;gap:.5rem;margin-block:.75rem;display:flex}.concept-records{max-height:18rem;padding-right:.5rem;overflow-y:auto}.concept-records li{border-bottom:1px solid var(--border);gap:.25rem;padding-block:.65rem;font-size:.8rem;display:grid}.content-review-note{color:var(--muted-foreground);margin-top:1rem;padding:.8rem;font-size:.75rem;line-height:1.5}.concept-status{margin-block:.65rem;font-size:.875rem;line-height:1.6;display:block}.mode-intro-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.install-instructions p,.install-instructions li{line-height:1.6}.install-instructions ul,.install-instructions ol{padding-left:1.3rem}.install-instructions ul{list-style:outside}.install-instructions ol{list-style:decimal}.install-instructions li+li,.install-instructions p+p,.install-instructions ul+p{margin-top:.5rem}.install-instructions a{color:var(--primary);align-items:center;gap:.4rem;text-decoration:underline;display:inline-flex}.install-instructions a svg{flex-shrink:0;width:1rem;height:1rem}.install-status{background:var(--secondary);color:var(--secondary-foreground);border-radius:.7rem;padding:.75rem;line-height:1.5;display:block}.install-help-entry{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.install-help-entry p{flex:12rem}.install-help-entry button{min-height:44px}.family-dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#02061780}.family-dialog{--dialog-body-size:1rem;--dialog-surface:#fff;--dialog-header:#f8fafc;--dialog-border:#e2e8f0;--dialog-ink:#0f172a;--dialog-muted:#475569;border:1px solid var(--dialog-border);background:var(--dialog-surface);width:calc(100vw - 20px);max-width:430px;max-height:calc(100dvh - 20px);color:var(--dialog-ink);font-family:var(--font-body);font-size:var(--dialog-body-size);border-radius:8px;gap:0;padding:0;line-height:1.55;overflow:hidden;box-shadow:0 20px 25px -5px #0f172a2e,0 8px 10px -6px #0f172a1f}.dark .family-dialog{--dialog-surface:#0f172a;--dialog-header:#111827;--dialog-border:#334155;--dialog-ink:#f1f5f9;--dialog-muted:#cbd5e1}.family-dialog [data-slot=dialog-header]{border-bottom:1px solid var(--dialog-border);background:var(--dialog-header);text-align:left;flex:none;justify-content:center;min-height:56px;padding:12px 60px 12px 16px}.family-dialog [data-slot=dialog-title]{margin:0;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.4}.family-dialog [data-slot=dialog-body]{flex:auto;align-content:start;gap:1rem;min-height:0;padding:16px;display:grid;overflow-y:auto}.family-dialog [data-slot=dialog-description],.family-dialog p,.family-dialog li,.family-dialog summary,.family-dialog table,.family-dialog .concept-status,.family-dialog .source-links a,.family-dialog .stats-grid span,.family-dialog .weekly-stats-grid span,.family-dialog .mode-tallies span,.family-dialog [data-slot=button]{font-size:var(--dialog-body-size);line-height:1.55}.family-dialog [data-slot=dialog-description]{color:var(--dialog-muted)}.family-dialog p{margin:0}.family-dialog strong,.family-dialog h3,.family-dialog h4{font-size:inherit;font-weight:650}.family-dialog [data-slot=button]{white-space:normal;border-radius:8px;height:auto;min-height:44px}.family-dialog [data-slot=dialog-close]{border:1px solid var(--dialog-border);background:var(--dialog-surface);width:44px;height:44px;color:var(--dialog-muted);border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.family-dialog [data-slot=dialog-close]:hover{background:var(--dialog-header);color:var(--dialog-ink)}.family-dialog [data-slot=dialog-close] svg{width:20px;height:20px}.family-dialog [data-slot=dialog-footer]{border-top:1px solid var(--dialog-border);background:var(--dialog-header);flex:none;gap:.65rem;margin:0;padding:12px 16px}.family-dialog .clear-progress-action{justify-self:start}.player-dialog .play-instructions{gap:.75rem;margin:0;padding-left:1.3rem;list-style:decimal;display:grid}.player-dialog .play-instructions li{padding-left:.25rem}.player-dialog summary{cursor:pointer;min-height:44px;padding-block:.55rem;font-weight:600}.player-dialog summary:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:.25rem}.player-dialog details>p,.player-dialog details>h3,.player-dialog details>ul,.player-dialog details>.source-links{margin-top:.75rem}.player-dialog .about-copy{gap:.85rem}.player-dialog .about-copy p{color:var(--foreground)}.player-dialog .about-inline-link{font-weight:600}.player-dialog .about-feedback{border:1px solid var(--border);background:var(--muted);text-align:center;border-radius:.75rem;justify-items:center;gap:.5rem;padding:1rem;display:grid}.player-dialog .about-feedback h3,.player-dialog .about-feedback p{margin:0}.player-dialog .about-feedback-link{background:var(--primary);min-height:44px;color:var(--primary-foreground);border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.player-dialog .about-feedback-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.player-dialog .source-links{gap:.45rem;display:grid}.player-dialog .source-links a{border:0;border-radius:0;width:fit-content;padding:.35rem 0;font-weight:500}.player-dialog .stats-grid,.player-dialog .weekly-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.player-dialog .stats-grid>div,.player-dialog .weekly-stats-grid>div{align-items:flex-start;gap:.1rem;padding:.75rem 1rem}.player-dialog .stats-grid strong,.player-dialog .weekly-stats-grid strong{font-variant-numeric:tabular-nums;font-family:inherit;font-size:1.5rem;font-weight:650;line-height:1.25}.player-dialog .stats-grid span,.player-dialog .weekly-stats-grid span{text-transform:none}.player-dialog .mode-tallies{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-block:.5rem .75rem}.player-dialog .mode-tallies span{padding:.5rem .65rem}.player-dialog .concept-review{margin:0;padding-block:1rem}.player-dialog .concept-review p,.player-dialog .concept-status{margin-block:.65rem}.player-dialog .concept-review details{margin-top:.35rem}.player-dialog .concept-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-block:.75rem;display:grid}.player-dialog .concept-records{max-height:none;padding:0;overflow:visible}.player-dialog .concept-records li{overflow-wrap:anywhere}.player-dialog .practice-table table{table-layout:fixed;margin-top:.75rem}.player-dialog .practice-table th,.player-dialog .practice-table td{overflow-wrap:anywhere;font-weight:400}.player-dialog .practice-table thead th{font-weight:600}.player-dialog .reset-confirmation p{margin-bottom:.75rem}.player-dialog .install-help-entry{border-top:1px solid var(--border);padding-top:.75rem}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@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))}}
