html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: -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-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50: oklch(97.1% .013 17.38);--color-red-200: oklch(88.5% .062 18.334);--color-red-700: oklch(50.5% .213 27.518);--color-red-800: oklch(44.4% .177 26.899);--color-red-900: oklch(39.6% .141 25.723);--color-amber-50: oklch(98.7% .022 95.277);--color-amber-100: oklch(96.2% .059 95.617);--color-amber-200: oklch(92.4% .12 95.746);--color-amber-500: oklch(76.9% .188 70.08);--color-amber-800: oklch(47.3% .137 46.201);--color-amber-900: oklch(41.4% .112 45.904);--color-emerald-50: oklch(97.9% .021 166.113);--color-emerald-100: oklch(95% .052 163.051);--color-emerald-200: oklch(90.5% .093 164.15);--color-emerald-800: oklch(43.2% .095 166.913);--color-emerald-900: oklch(37.8% .077 168.94);--color-sky-50: oklch(97.7% .013 236.62);--color-sky-100: oklch(95.1% .026 236.824);--color-sky-200: oklch(90.1% .058 230.902);--color-sky-900: oklch(39.1% .09 240.876);--color-gray-200: oklch(92.8% .006 264.531);--color-gray-300: oklch(87.2% .01 258.338);--color-gray-700: oklch(37.3% .034 259.733);--color-white: #fff;--spacing: .25rem;--container-sm: 24rem;--container-xl: 36rem;--container-2xl: 42rem;--container-5xl: 64rem;--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: 1.5 ;--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: 1.2 ;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.z-10{z-index:10}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.\!mt-1{margin-top:var(--spacing)!important}.\!mt-2{margin-top:calc(var(--spacing) * 2)!important}.\!mt-3{margin-top:calc(var(--spacing) * 3)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-auto{margin-right:auto}.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-6{margin-bottom:calc(var(--spacing) * 6)}.\!ml-auto{margin-left:auto!important}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.\!flex{display:flex!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-auto{height:auto}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-screen{min-height:100vh}.\!w-56{width:calc(var(--spacing) * 56)!important}.\!w-72{width:calc(var(--spacing) * 72)!important}.w-6{width:calc(var(--spacing) * 6)}.w-12{width:calc(var(--spacing) * 12)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0px}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-64{min-width:calc(var(--spacing) * 64)}.flex-1{flex:1}.flex-\[2\]{flex:2}.border-separate{border-collapse:separate}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x: -100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y: -100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-grab{cursor:grab}.touch-none{touch-action:none}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:var(--spacing)}.self-start{align-self:flex-start}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-red-200{border-color:var(--color-red-200)}.border-sky-200{border-color:var(--color-sky-200)}.\!bg-transparent{background-color:transparent!important}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-red-50{background-color:var(--color-red-50)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-white{background-color:var(--color-white)}.\!p-6{padding:calc(var(--spacing) * 6)!important}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.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)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-1{padding-bottom:var(--spacing)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading, var(--text-xs--line-height))!important}.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-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))}.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)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-amber-500{color:var(--color-amber-500)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-300{color:var(--color-gray-300)}.text-gray-700{color:var(--color-gray-700)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-sky-900{color:var(--color-sky-900)}.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}.opacity-60{opacity:60%}.opacity-70{opacity:70%}.opacity-80{opacity:80%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}.empty\:hidden:empty{display:none}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:100%}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[1fr_10rem_10rem\]{grid-template-columns:1fr 10rem 10rem}}@media(width>=48rem){.md\:col-span-2{grid-column:span 2 / span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width>=64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}body{margin:0;font-family:Roboto,system-ui,Segoe UI,sans-serif;background:var(--mat-sys-surface-container-low);color:var(--mat-sys-on-surface)}form .mat-mdc-form-field{width:100%}@media print{@page{size:A4;margin:8mm}body{background:#fff}header,.no-print{display:none!important}main{max-width:none!important;padding:0!important}}@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-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-font-weight{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: 0px;}@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;}@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-border-style: solid;--tw-font-weight: 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}}}.vi-root{--ink: #17324d;--ink-soft: #4b6580;--paper: #fffaf0;--paper-2: #fff3dc;--line: #ecdcbc;--accent: #ff7a3d;--accent-dark: #d65a20;--teal: #12a594;--teal-dark: #0b7d70;--sun: #ffd166;--ok: #1fae6b;--bad: #e5484d;--shadow: 0 .6em 1.6em rgba(10, 35, 60, .22);--s: 1;--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;position:fixed;inset:0;z-index:0;overflow:hidden;background:#bfe6f2;color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent}.vi-root.classroom{--s: 1.4;--ink: #0d2236}.vi-root *{box-sizing:border-box}.vi-root canvas.vi-canvas{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none;outline:none}.vi-root .vi-ui{position:fixed;inset:0;pointer-events:none;font-size:calc(16px * var(--s))}.vi-root :where(.vi-ui>*){pointer-events:none}.vi-root button{font:inherit;color:inherit;cursor:pointer}.vi-root kbd{font-family:var(--font-body);font-weight:800;font-size:.78em;padding:.05em .45em;border-radius:.35em;background:#17324d1a;border-bottom:2px solid rgba(23,50,77,.2)}.vi-root svg{display:inline-block;vertical-align:middle}.vi-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;border:0;border-radius:.9em;padding:.7em 1.2em;font-weight:800;font-size:1em;min-height:48px;transition:transform .08s ease,filter .15s}.vi-root .btn:active{transform:translateY(2px)}.vi-root .btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark)}.vi-root .btn-primary:hover{filter:brightness(1.06)}.vi-root .btn-ghost{background:#fff;color:var(--ink);box-shadow:0 3px 0 var(--line),inset 0 0 0 2px var(--line)}.vi-root .btn-xl{font-family:var(--font-display);font-size:1.6em;padding:.35em 1.6em;border-radius:.8em;box-shadow:0 6px 0 var(--accent-dark)}.vi-root .btn-sm{min-height:36px;padding:.4em .8em;font-size:.85em}.vi-root .link{background:none;border:0;color:var(--ink-soft);font-weight:700;text-decoration:underline;text-underline-offset:3px;font-size:.85em;padding:.4em}.vi-root .round-btn{width:2.6em;height:2.6em;border-radius:50%;border:0;background:var(--teal);color:#fff;display:inline-grid;place-items:center;box-shadow:0 3px 0 var(--teal-dark);font-size:1em;flex:none}.vi-root .round-btn.sm{width:2.2em;height:2.2em;font-size:.9em}.vi-root .chip{display:inline-block;padding:.2em .65em;border-radius:999px;background:var(--paper-2);border:1.5px solid var(--line);font-weight:700;font-size:.85em}.vi-root .screen{position:absolute;inset:0;display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;overflow-y:auto}.vi-root .screen.show{opacity:1;visibility:visible;pointer-events:auto}.vi-root .menu{background:radial-gradient(ellipse at 50% 120%,rgba(10,60,90,.35),transparent 60%)}.vi-root .menu-card{width:min(30em,100%);background:var(--paper);border-radius:1.6em;padding:1.6em 1.6em 1.2em;box-shadow:var(--shadow),0 .5em #e8d6b0;text-align:center}.vi-root .menu-badge{display:inline-block;font-weight:800;font-size:.8em;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-dark);background:#dff6f2;padding:.3em .9em;border-radius:999px}.vi-root .logo{font-family:var(--font-display);font-weight:800;font-size:3.1em;line-height:1;margin:.35em 0 .1em;color:var(--ink);letter-spacing:-.01em}.vi-root .logo span{color:var(--accent)}.vi-root .tagline{margin:0 0 1.1em;color:var(--ink-soft);font-weight:600}.vi-root .settings{margin-top:1.4em;text-align:left;display:grid;gap:.5em}.vi-root .switch-row,.vi-root .seg-row{display:flex;align-items:center;justify-content:space-between;gap:1em;background:#fff;border-radius:1em;padding:.7em .9em;box-shadow:inset 0 0 0 2px var(--line)}.vi-root .switch-row small,.vi-root .seg-row small{display:block;color:var(--ink-soft);font-weight:600;font-size:.8em;margin-top:.1em}.vi-root .seg-row.disabled{opacity:.45;pointer-events:none}.vi-root .switch-row{cursor:pointer;position:relative}.vi-root .switch-row input{position:absolute;opacity:0;pointer-events:none}.vi-root .switch{flex:none;width:3.2em;height:1.8em;border-radius:999px;background:#d6cbb5;position:relative;transition:background .2s}.vi-root .switch:after{content:"";position:absolute;top:.2em;left:.2em;width:1.4em;height:1.4em;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s}.vi-root .switch-row input:checked+.switch{background:var(--teal)}.vi-root .switch-row input:checked+.switch:after{transform:translate(1.4em)}.vi-root .switch-row input:focus-visible+.switch{outline:3px solid var(--sun)}.vi-root .seg{display:flex;background:var(--paper-2);border-radius:.8em;padding:.2em;flex:none}.vi-root .seg button{border:0;background:none;min-width:2.6em;min-height:40px;border-radius:.6em;font-weight:800;color:var(--ink-soft)}.vi-root .seg button.on{background:var(--ink);color:#fff}.vi-root .howto{margin-top:1em;text-align:left;background:#fff;border-radius:1em;padding:.6em .9em;box-shadow:inset 0 0 0 2px var(--line)}.vi-root .howto summary{font-weight:800;cursor:pointer}.vi-root .howto ul{margin:.6em 0 .2em;padding-left:1.1em;color:var(--ink-soft);font-size:.9em;line-height:1.7}.vi-root .menu-card{width:min(34em,100%)}.vi-root .worlds{display:grid;grid-template-columns:repeat(auto-fit,minmax(13em,1fr));gap:.8em}.vi-root .world-btn{position:relative;border:0;text-align:left;border-radius:1.2em;padding:.9em 1em 1em;display:flex;flex-direction:column;gap:.2em;color:#fff;transition:transform .12s,filter .15s}.vi-root .world-btn:hover{transform:translateY(-3px);filter:brightness(1.05)}.vi-root .world-btn:active{transform:translateY(1px)}.vi-root .world-btn:focus-visible{outline:3px solid var(--sun);outline-offset:3px}.vi-root .world-btn.look-sunny{background:linear-gradient(160deg,#ffb347,#ff7a3d);box-shadow:0 5px #c9541c}.vi-root .world-btn.look-classic{background:linear-gradient(160deg,#2bb8c9,#12839a);box-shadow:0 5px #0b5e70}.vi-root .world-btn.last:after{content:"Last played";position:absolute;top:.8em;right:.8em;font-size:.68em;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#ffffff40;padding:.2em .6em;border-radius:999px}.vi-root .world-level{align-self:flex-start;font-family:var(--font-display);font-weight:800;font-size:1.05em;background:#fff;color:var(--ink);padding:0 .6em;border-radius:.5em}.vi-root .world-title{font-family:var(--font-display);font-weight:800;font-size:1.55em;line-height:1.05;margin-top:.2em}.vi-root .world-tag{font-weight:700;font-size:.88em;opacity:.92}.vi-root .world-meta{font-weight:700;font-size:.8em;opacity:.9;margin-top:.3em}.vi-root .world-stars svg{color:#ffe08a}.vi-root .world-go{display:inline-flex;align-items:center;gap:.35em;align-self:flex-start;margin-top:.55em;background:#fff;color:var(--ink);font-weight:800;padding:.35em .9em;border-radius:.7em;min-height:40px}.vi-root .map-world{display:block;font-size:.5em;font-family:var(--font-body);font-weight:800;opacity:.9;letter-spacing:.02em}.vi-root.look-sunny .map{background:linear-gradient(180deg,#f0783c80,#1eaaaa73)}.vi-root .emo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal}.vi-root .wc-emoji{font-size:2.4em;line-height:1;flex:none}.vi-root .nb-emoji{display:inline-block;width:1.5em;text-align:center;margin-right:.25em}.vi-root .fb-emoji{margin-right:.2em}.vi-root .menu-links{margin-top:.8em;display:flex;justify-content:center;gap:1em;flex-wrap:wrap}.vi-root .map{background:linear-gradient(180deg,#175c828c,#128ca073);align-content:start;place-items:stretch}.vi-root .map-head{display:flex;align-items:center;justify-content:space-between;gap:1em;max-width:64em;width:100%;margin:0 auto}.vi-root .map-head h2{font-family:var(--font-display);color:#fff;font-size:2em;margin:0;text-shadow:0 3px 0 rgba(0,0,0,.15)}.vi-root .map-sea{max-width:64em;width:100%;margin:1.5em auto 0}.vi-root .map-route{display:grid;grid-template-columns:repeat(var(--cols, 4),1fr);gap:1.2em;position:relative}.vi-root .map-route:before{content:"";position:absolute;left:10%;right:10%;top:5.2em;border-top:4px dashed rgba(255,255,255,.7);z-index:0}.vi-root .isle{position:relative;z-index:1;border:0;background:var(--paper);border-radius:1.4em;padding:1em .8em 1.1em;box-shadow:var(--shadow),0 .4em #e8d6b0;display:flex;flex-direction:column;align-items:center;gap:.25em;transition:transform .15s;animation:bob 4s ease-in-out infinite;animation-delay:calc(var(--i) * -1s)}.vi-root .isle:hover:not(.locked){transform:translateY(-4px) scale(1.02)}.vi-root .isle-art{width:7em;height:7em;border-radius:50%;background:radial-gradient(circle at 50% 60%,#8fd67f 0 55%,#f1dca7 56% 66%,#59c3d6 67%);display:grid;place-items:center;position:relative}.vi-root .isle-art>svg{width:4.4em;height:4.4em}.vi-root .isle-lock svg{width:1em;height:1em}.vi-root .isle-lock{position:absolute;inset:0;border-radius:50%;background:#17324d8c;display:grid;place-items:center;color:#fff;font-size:2.2em}.vi-root .isle-num{font-weight:800;font-size:.75em;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-dark);margin-top:.4em}.vi-root .isle-title{font-family:var(--font-display);font-weight:800;font-size:1.25em;line-height:1.1}.vi-root .isle-meta{color:var(--ink-soft);font-size:.85em;font-weight:700}.vi-root .isle.locked{filter:saturate(.4);cursor:not-allowed}.vi-root .isle.shake{animation:shake .4s}.vi-root .stars{display:inline-flex;gap:.1em;font-size:1.3em;color:#e3d6bd}.vi-root .star.on{color:#ffb703;filter:drop-shadow(0 2px 0 #d08a00)}.vi-root .hud{position:absolute;inset:0;opacity:0;transition:opacity .3s}.vi-root .hud.show{opacity:1}.vi-root .hud.show .hud-left,.vi-root .hud.show .hud-right,.vi-root .hud.show .hud-teams{pointer-events:auto}.vi-root .hud-left{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;background:var(--paper);border-radius:1em;padding:.55em .9em .65em;box-shadow:var(--shadow);min-width:13em}.vi-root .hud-island{font-family:var(--font-display);font-weight:800;font-size:1.1em;line-height:1.1}.vi-root .hud-count{display:flex;align-items:center;gap:.6em;font-weight:700;font-size:.85em;color:var(--ink-soft);margin-top:.25em}.vi-root .bar{flex:1;height:.55em;min-width:4em;border-radius:999px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);overflow:hidden}.vi-root .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),#4dd8c4);border-radius:inherit;transition:width .4s}.vi-root .hud-right{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;display:flex;gap:.45em}.vi-root .icon-btn{display:inline-flex;align-items:center;gap:.4em;height:2.8em;min-width:2.8em;justify-content:center;padding:0 .7em;border:0;border-radius:.9em;background:var(--paper);box-shadow:var(--shadow),0 3px #e8d6b0;font-weight:800;font-size:1em}.vi-root .icon-btn svg{font-size:1.25em}.vi-root .icon-btn.active{background:var(--ink);color:#fff;box-shadow:var(--shadow),0 3px #0a1a2a}.vi-root .hud-teams{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:none;gap:.4em}.vi-root .hud-teams.show{display:flex}.vi-root .team-chip{background:var(--paper);border-radius:.9em;padding:.45em .8em;font-weight:800;box-shadow:var(--shadow);border-bottom:4px solid var(--c);white-space:nowrap;transition:transform .2s}.vi-root .team-chip b{color:var(--c)}.vi-root .team-chip.active{transform:scale(1.12);background:var(--c);color:#fff}.vi-root .team-chip.active b{color:#fff}.vi-root .hud-prompt{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#17324de0;color:#fff;padding:.6em 1.1em;border-radius:999px;font-weight:700;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap}.vi-root .hud-prompt kbd{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.vi-root .hud-prompt.show{opacity:1;transform:translate(-50%)}.vi-root .toast-wrap{position:absolute;top:calc(5.2em + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:grid;gap:.5em;width:min(30em,calc(100vw - 32px))}.vi-root .toast{background:var(--sun);color:var(--ink);font-weight:700;padding:.75em 1.1em;border-radius:1em;box-shadow:var(--shadow),0 4px #e0a92e;text-align:center;opacity:0;transform:translateY(-10px) scale(.97);transition:opacity .3s,transform .3s}.vi-root .toast.show{opacity:1;transform:none}.vi-root .overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#0c233759;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.vi-root .overlay.show{opacity:1;visibility:visible;pointer-events:auto}.vi-root .word-card,.vi-root .notebook,.vi-root .complete{background:var(--paper);border-radius:1.6em;box-shadow:var(--shadow),0 .45em #e8d6b0;width:min(27em,100%);max-height:calc(100vh - 32px);overflow-y:auto;transform:translateY(16px) scale(.96);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}.vi-root .overlay.show .word-card,.vi-root .overlay.show .notebook,.vi-root .overlay.show .complete{transform:none}.vi-root .word-card{padding:1.2em 1.4em 1.3em}.vi-root .wc-top{display:flex;justify-content:space-between;align-items:center}.vi-root .wc-new{font-weight:800;font-size:.8em;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--accent);padding:.25em .8em;border-radius:999px}.vi-root .wc-count{font-weight:800;color:var(--ink-soft);font-size:.85em}.vi-root .wc-word-row{display:flex;align-items:center;gap:.6em;margin-top:.5em}.vi-root .wc-word{font-family:var(--font-display);font-weight:800;font-size:2.5em;line-height:1;margin:0;overflow-wrap:anywhere}.vi-root .wc-pos{color:var(--teal-dark);font-weight:800;font-style:italic;margin-top:.15em}.vi-root .wc-label{display:block;font-size:.72em;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.2em}.vi-root .wc-el{margin-top:.9em;background:#e6f6f3;border-radius:.9em;padding:.6em .9em;font-weight:800;font-size:1.2em}.vi-root .wc-example{margin:.9em 0 0;font-size:1.1em;line-height:1.5;font-style:italic}.vi-root mark{background:linear-gradient(transparent 55%,#ffd16699 55%);color:inherit;font-weight:800;font-style:normal;padding:0 .1em}.vi-root .wc-der{margin-top:.9em;display:flex;flex-wrap:wrap;gap:.35em;align-items:center}.vi-root .wc-der .wc-label{width:100%;margin:0}.vi-root .wc-actions{display:flex;justify-content:flex-end;gap:.6em;margin-top:1.2em;flex-wrap:wrap}.vi-root .wc-actions kbd{background:#ffffff40;border-color:#00000026}.vi-root .notebook{padding:1.1em 1.2em 1.2em}.vi-root .nb-head{display:flex;justify-content:space-between;align-items:center}.vi-root .nb-head h2{font-family:var(--font-display);margin:0;font-size:1.6em}.vi-root .nb-list{margin-top:.8em;display:grid;gap:.4em}.vi-root .nb-row{display:grid;grid-template-columns:minmax(7em,auto) 1fr auto;gap:.8em;align-items:center;background:#fff;border-radius:.8em;padding:.45em .6em .45em .9em;box-shadow:inset 0 0 0 1.5px var(--line)}.vi-root .nb-word{font-weight:800}.vi-root .nb-el{color:var(--ink-soft);font-weight:600}.vi-root .nb-row.missing{opacity:.55}.vi-root .complete{padding:1.6em;text-align:center}.vi-root .cp-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-dark);font-size:.85em}.vi-root .complete h2{font-family:var(--font-display);font-size:2.2em;margin:.1em 0 .2em;line-height:1.05}.vi-root .cp-stars .stars{font-size:3.2em}.vi-root .cp-stars .star{animation:pop .5s cubic-bezier(.2,1.6,.4,1) both}.vi-root .cp-stars .star:nth-child(2){animation-delay:.15s}.vi-root .cp-stars .star:nth-child(3){animation-delay:.3s}.vi-root .cp-sub{color:var(--ink-soft);font-weight:700;margin:.3em 0 0}.vi-root .cp-teams{display:grid;gap:.4em;margin-top:1em}.vi-root .cp-team{display:flex;justify-content:space-between;background:#fff;border-radius:.8em;padding:.5em .9em;font-weight:800;border-left:6px solid var(--c)}.vi-root .cp-actions{display:flex;flex-wrap:wrap;gap:.6em;justify-content:center;margin-top:1.3em}.vi-root .quiz-panel{position:absolute;top:0;right:0;bottom:0;width:min(30em,50vw);display:flex;align-items:center;padding:calc(4.6em + env(safe-area-inset-top)) 16px 16px 0;opacity:0;visibility:hidden;transform:translate(30px);transition:opacity .25s,transform .3s,visibility .25s}.vi-root .quiz-panel.show{opacity:1;visibility:visible;transform:none}.vi-root .quiz-panel.show .qp-inner{pointer-events:auto}.vi-root .qp-inner{width:100%;max-height:100%;overflow-y:auto;background:var(--paper);border-radius:1.5em;box-shadow:var(--shadow),0 .45em #e8d6b0;padding:1.1em 1.2em}.vi-root .qp-team{margin:-1.1em -1.2em .9em;padding:.55em 1.2em;background:var(--c);color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.3em;border-radius:1.15em 1.15em 0 0}.vi-root .qp-head{display:flex;align-items:center;gap:.6em}.vi-root .chip-type{background:#e6f6f3;border-color:#bfe7df;color:var(--teal-dark)}.vi-root .qp-progress{font-weight:800;color:var(--ink-soft);font-size:.85em;margin-right:auto}.vi-root .qp-timer{position:relative;width:2.6em;height:2.6em;display:grid;place-items:center}.vi-root .qp-timer svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.vi-root .qp-timer .t-bg{fill:none;stroke:var(--paper-2);stroke-width:4}.vi-root .qp-timer .t-fg{fill:none;stroke:var(--teal);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.vi-root .qp-timer.low .t-fg{stroke:var(--bad)}.vi-root .qp-timer b{position:relative;font-size:.95em}.vi-root .qp-instruction{margin-top:.8em;color:var(--ink-soft);font-weight:700;font-size:.95em}.vi-root .qp-prompt{margin-top:.35em;font-size:1.3em;font-weight:700;line-height:1.45}.vi-root .q-greek,.vi-root .q-word{font-family:var(--font-display);font-size:1.6em;font-weight:800;display:block;line-height:1.15}.vi-root .q-gap{display:inline-block;min-width:4em;border-bottom:3px solid var(--accent);color:transparent;line-height:1}.vi-root .q-base{font-weight:800;color:var(--accent-dark);white-space:nowrap}.vi-root .q-listen{border:0;background:var(--teal);color:#fff;font-weight:800;font-size:.85em;padding:.6em 1.1em;border-radius:999px;box-shadow:0 3px 0 var(--teal-dark);min-height:44px}.vi-root .qp-options{display:grid;gap:.5em;margin-top:.9em}.vi-root .opt{display:flex;align-items:center;gap:.7em;text-align:left;border:0;background:#fff;border-radius:1em;padding:.55em .8em .55em .55em;min-height:52px;font-weight:800;font-size:1.08em;box-shadow:inset 0 0 0 2px var(--line),0 3px 0 var(--line);transition:transform .08s,background .15s}.vi-root .opt:hover:not(:disabled){background:#fffdf7;box-shadow:inset 0 0 0 2px var(--accent),0 3px 0 var(--accent)}.vi-root .opt:active:not(:disabled){transform:translateY(2px)}.vi-root .opt-key{flex:none;width:2em;height:2em;border-radius:.6em;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:1em}.vi-root .opt.right{background:#dcf7e9;box-shadow:inset 0 0 0 2.5px var(--ok),0 3px 0 var(--ok)}.vi-root .opt.right .opt-key{background:var(--ok)}.vi-root .opt.wrong{background:#fde3e3;box-shadow:inset 0 0 0 2.5px var(--bad),0 3px 0 var(--bad);animation:shake .35s}.vi-root .opt.wrong .opt-key{background:var(--bad)}.vi-root .opt.dim{opacity:.45}.vi-root .opt:disabled{cursor:default}.vi-root .qp-feedback{display:none;margin-top:.9em;padding:.8em .9em;border-radius:1em}.vi-root .qp-feedback.show{display:block;animation:rise .3s ease both}.vi-root .qp-feedback.ok{background:#dcf7e9}.vi-root .qp-feedback.bad{background:#fff0e6}.vi-root .fb-title{font-family:var(--font-display);font-weight:800;font-size:1.35em;display:flex;align-items:center;gap:.3em}.vi-root .qp-feedback.ok .fb-title{color:#137a4b}.vi-root .qp-feedback.bad .fb-title{color:#b8462a}.vi-root .fb-answer{font-weight:700;margin-top:.1em}.vi-root .fb-example{margin-top:.5em;font-size:.95em;line-height:1.5;color:var(--ink-soft)}.vi-root .fb-example b{color:var(--ink)}.vi-root .qp-feedback .btn{margin-top:.7em;width:100%}.vi-root .qp-feedback .btn kbd{background:#ffffff40;border-color:#00000026}.vi-root .qp-foot{display:flex;align-items:center;justify-content:space-between;gap:.6em;margin-top:.9em}.vi-root .qp-keys{color:var(--ink-soft);font-size:.8em;font-weight:700;margin-left:auto}.vi-root.classroom .qp-options{grid-template-columns:1fr 1fr}.vi-root.classroom .qp-prompt{font-size:1.4em}.vi-root.classroom .quiz-panel{width:min(34em,56vw)}.vi-root .touch-controls{position:absolute;inset:auto 0 0;height:0;display:none}.vi-root .touch-controls.show{display:block}.vi-root .joy{position:absolute;left:calc(24px + env(safe-area-inset-left));bottom:calc(28px + env(safe-area-inset-bottom));width:128px;height:128px;border-radius:50%;background:#ffffff59;border:3px solid rgba(255,255,255,.7);pointer-events:auto;touch-action:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vi-root .joy-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:#fff;box-shadow:0 4px 10px #00000040}.vi-root .act-btn{position:absolute;right:calc(28px + env(safe-area-inset-right));bottom:calc(44px + env(safe-area-inset-bottom));width:84px;height:84px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:800;font-size:32px;box-shadow:0 5px 0 var(--accent-dark),0 6px 16px #00000040;pointer-events:auto;touch-action:manipulation}.vi-root .act-btn.hidden{display:none}.vi-root:not(.exploring) .touch-controls{display:none}@media(max-width:900px){.vi-root .map-route{grid-template-columns:repeat(2,1fr)}.vi-root .map-route:before{display:none}}@media(max-width:720px),(orientation:portrait){.vi-root .quiz-panel{top:auto;left:0;right:0;width:auto;padding:0 10px calc(10px + env(safe-area-inset-bottom));align-items:flex-end;max-height:64vh;transform:translateY(30px)}.vi-root.classroom .quiz-panel{width:auto}.vi-root .qp-inner{border-radius:1.3em}.vi-root .qp-team{border-radius:1em 1em 0 0}.vi-root .hud-left{min-width:0;max-width:calc(100vw - 13em)}.vi-root .icon-btn span:not(.emo){display:none}.vi-root .hud-teams,.vi-root .toast-wrap{top:calc(5.4em + env(safe-area-inset-top))}.vi-root .hud-prompt{bottom:calc(176px + env(safe-area-inset-bottom));white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px)}}@media(max-width:520px){.vi-root .vi-ui{font-size:calc(14px * var(--s))}.vi-root.classroom{--s: 1.1}.vi-root .logo{font-size:2.5em}.vi-root .map-route{gap:.8em}.vi-root .isle-art{width:5.5em;height:5.5em}.vi-root .isle-art svg{width:3.4em;height:3.4em}.vi-root .hud-right{gap:.3em}.vi-root .icon-btn{height:2.6em;min-width:2.6em;padding:0 .5em}.vi-root.classroom .qp-options{grid-template-columns:1fr}.vi-root .switch-row,.vi-root .seg-row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.vi-root *,.vi-root *:before,.vi-root *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.vi-root .error .menu-card{text-align:left}.vi-root .hud-quest{list-style:none;margin:.45em 0 0;padding:0;display:grid;gap:.15em;font-size:.82em;font-weight:700;color:var(--ink-soft)}.vi-root .hud-quest:empty{display:none}.vi-root .hud-quest li{display:flex;gap:.4em;align-items:baseline}.vi-root .hud-quest li.done{color:var(--ok)}.vi-root .hud-quest li.now{color:var(--ink);font-weight:800}.vi-root .hud-quest li.sub{display:block;white-space:normal;max-width:21em;margin:.1em 0 .2em 1.4em;padding:.35em .6em;background:#fff6d6;border-radius:.6em;color:#5a4300;font-weight:700;line-height:1.3}.vi-root .hud-quest .qk{width:1em;flex:none;text-align:center}.vi-root .dialog-wrap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 16px calc(16px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .25s,transform .3s,visibility .25s}.vi-root .dialog-wrap.show{opacity:1;visibility:visible;transform:none}.vi-root .dialog-wrap.show .dialog{pointer-events:auto}.vi-root .dialog{width:min(42em,100%);background:var(--paper);border-radius:1.4em;box-shadow:var(--shadow),0 .45em #e8d6b0;padding:1em 1.2em;display:flex;gap:1em;align-items:flex-start}.vi-root .dl-portrait{flex:none;width:2.2em;height:2.2em;font-size:2.4em;border-radius:50%;display:grid;place-items:center;background:#ffe7c7;box-shadow:inset 0 0 0 3px #ffd08a;line-height:1}.vi-root .dl-portrait.who-pip{background:#dff6e3;box-shadow:inset 0 0 0 3px #9ad8a6}.vi-root .dl-body{flex:1;min-width:0}.vi-root .dl-name{font-family:var(--font-display);font-weight:800;font-size:1.15em;color:var(--accent-dark);line-height:1.1}.vi-root .dl-text{margin:.25em 0 0;font-size:1.15em;font-weight:700;line-height:1.45}.vi-root .dl-el{margin:.4em 0 0;color:var(--ink-soft);font-weight:600;font-style:italic}.vi-root .dl-actions{display:flex;align-items:center;gap:.5em;margin-top:.7em}.vi-root .dl-gr{cursor:pointer;min-height:36px;padding:.2em .8em}.vi-root .dl-gr.on{background:var(--ink);color:#fff;border-color:var(--ink)}.vi-root .dl-step{margin-left:auto;color:var(--ink-soft);font-weight:800;font-size:.8em}.vi-root .dialog .btn kbd,.vi-root .task-card .btn-primary kbd{background:#ffffff40;border-color:#00000026}.vi-root .task-card{background:var(--paper);border-radius:1.6em;box-shadow:var(--shadow),0 .45em #e8d6b0;width:min(30em,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:1.2em 1.4em 1.3em;transform:translateY(16px) scale(.96);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}.vi-root .overlay.show .task-card{transform:none}.vi-root .tc-kicker{display:flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:800;font-size:1.35em}.vi-root .tc-kicker .emo{font-size:1.3em}.vi-root .tc-kicker .chip{margin-left:auto;font-family:var(--font-body);font-size:.6em}.vi-root .tc-instruction{margin:.7em 0 0;color:var(--ink-soft);font-weight:700}.vi-root .tc-prompt{margin:.6em 0 0;font-size:1.25em;font-weight:700;line-height:1.5}.vi-root .tc-note{margin-top:.9em;background:#fff3dc;border-radius:.9em;padding:.7em .9em;font-weight:700}.vi-root .tc-script{margin:.7em 0 0;background:#fff;border-radius:.9em;padding:.7em .9em;box-shadow:inset 0 0 0 1.5px var(--line);line-height:1.5;font-weight:600}.vi-root .tc-row{display:flex;align-items:center;gap:.6em;margin-top:.8em}.vi-root .tc-feedback{display:none;margin-top:.9em;padding:.8em .9em;border-radius:1em;font-weight:700}.vi-root .tc-feedback.show{display:block;animation:rise .3s ease both}.vi-root .tc-feedback.ok{background:#dcf7e9}.vi-root .tc-feedback.bad{background:#fff0e6}.vi-root .tc-hint{margin-top:.4em;font-weight:600;color:var(--ink-soft)}.vi-root .tc-actions{display:flex;justify-content:flex-end;gap:.6em;margin-top:1em;flex-wrap:wrap}.vi-root .tc-feedback .tc-actions{margin-top:.7em}.vi-root .reward{display:flex;align-items:center;gap:.5em}.vi-root .reward .emo{font-size:2em}.vi-root .gap-fill{color:var(--ok);border-bottom:3px solid var(--ok)}.vi-root .listen-btn{margin:1em auto .2em;display:flex}.vi-root .listen-btn:disabled{opacity:.7}.vi-root .tc-result{margin:1em 0 .2em;text-align:center;font-weight:700;color:var(--ink-soft)}.vi-root .tc-big{font-family:var(--font-display);font-weight:800;font-size:3em;color:var(--teal-dark);line-height:1}.vi-root .logbook{width:min(34em,100%);background:repeating-linear-gradient(#fffaf0 0 1.9em,#f1e4c8 1.9em calc(1.9em + 1px));border-left:.6em solid #e8b04b}.vi-root .lb-title{font-family:var(--font-display);font-weight:800;font-size:1.3em;display:flex;align-items:center;gap:.4em}.vi-root .lb-intro{font-weight:700;font-size:1.1em;margin:.8em 0 0}.vi-root .lb-el{color:var(--ink-soft);font-style:italic;font-weight:600;margin:.3em 0 0}.vi-root .lb-dots{display:flex;gap:.35em;margin-top:.6em}.vi-root .lb-dots i{width:.7em;height:.7em;border-radius:50%;background:#e3d6bd}.vi-root .lb-dots i.done{background:var(--ok)}.vi-root .lb-dots i.now{background:var(--accent);transform:scale(1.25)}.vi-root .lb-instruction{margin-top:.9em;color:var(--ink-soft);font-weight:800;font-size:.95em}.vi-root .lb-sentence{font-size:1.3em;font-weight:700;line-height:1.9;margin:.4em 0 0}.vi-root .lb-input{font:inherit;font-weight:800;color:var(--ink);width:7.5em;padding:.05em .4em;border:0;border-bottom:3px solid var(--accent);background:#fff;border-radius:.3em .3em 0 0;outline:none}.vi-root .lb-input:focus{box-shadow:0 0 0 3px #ffd16688}.vi-root .lb-input.right{border-color:var(--ok);color:#137a4b}.vi-root .lb-input.wrong{border-color:var(--bad);animation:shake .35s}.vi-root .lb-verb{color:var(--accent-dark);font-weight:800}.vi-root .lb-choices{display:flex;flex-wrap:wrap;gap:.5em;margin-top:.8em}.vi-root .lb-opt{padding:.5em 1em}.vi-root .lb-answer{min-height:3em;margin-top:.7em;padding:.4em;border-radius:.9em;background:#fff;box-shadow:inset 0 0 0 2px var(--line);display:flex;flex-wrap:wrap;gap:.35em;align-items:center}.vi-root .lb-answer.right{box-shadow:inset 0 0 0 2.5px var(--ok);background:#dcf7e9}.vi-root .lb-placeholder{color:var(--ink-soft);font-weight:600;padding:0 .4em}.vi-root .lb-tiles{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.7em}.vi-root .lb-tile{border:0;background:var(--ink);color:#fff;font-weight:800;font-size:1.05em;padding:.45em .8em;border-radius:.7em;min-height:44px;box-shadow:0 3px #0a1a2a}.vi-root .lb-tile.placed{background:var(--accent);box-shadow:0 3px 0 var(--accent-dark)}.vi-root .lb-tile:disabled{opacity:.25}.vi-root .lb-free{width:100%;margin-top:.6em;font:inherit;font-size:1.1em;font-weight:700;color:var(--ink);padding:.6em .8em;border-radius:.9em;border:0;box-shadow:inset 0 0 0 2px var(--line);background:#fff;resize:vertical}.vi-root .lb-free:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--accent)}.vi-root .wc-mic{display:flex;align-items:center;gap:.6em;margin-top:.9em;flex-wrap:wrap}.vi-root .wc-mic-msg{color:var(--ink-soft);font-weight:700;font-size:.9em}.vi-root .wc-mic-msg.ok{color:var(--ok)}.vi-root .wc-mic-msg.bad{color:#b8462a}.vi-root .cp-gate{margin-top:.8em;background:#fff0e6;border-radius:1em;padding:.7em .9em;font-weight:700}.vi-root .cp-gate.ok{background:#dcf7e9}@media(max-width:720px),(orientation:portrait){.vi-root .dialog{padding:.8em .9em;gap:.7em}.vi-root .dl-portrait{font-size:1.8em}.vi-root .hud-quest{display:none}}.vi-root .world-btn.look-greece{background:linear-gradient(160deg,#2f7fd0,#1a4f93);box-shadow:0 5px #133a6b;grid-column:1 / -1}.vi-root .world-btn.look-greece .world-title:after{content:" \1f3db\fe0f";font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.vi-root .world-class{font-weight:800;font-size:.78em;background:#fff3;border-radius:.6em;padding:.15em .6em;align-self:flex-start}.vi-root .world-class:empty{display:none}.vi-root.look-greece .map{background:linear-gradient(180deg,#1f5fa099,#1496aa73)}.vi-root .teacher-row{margin-top:.9em;display:flex;align-items:center;justify-content:space-between;gap:.8em;text-align:left;background:#f3f7fd;border-radius:1em;padding:.7em .9em;box-shadow:inset 0 0 0 2px #d6e4f5}.vi-root .teacher-row small{display:block;color:var(--ink-soft);font-weight:600;font-size:.8em}.vi-root .btn-teacher{background:#1f4e79;color:#fff;box-shadow:0 4px #11304d;white-space:nowrap}.vi-root .class-row{margin-top:.5em;display:flex;align-items:center;justify-content:space-between;gap:.6em;text-align:left;background:#e9f8ef;border-radius:.9em;padding:.55em .9em;font-size:.9em}.vi-root .class-row small{display:block;color:var(--ink-soft);font-weight:600}.vi-root .class-row .code,.vi-root .bd-note .code{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.05em}.vi-root .class-row[hidden]{display:none}.vi-root .dialog-wrap.scene .dialog{box-shadow:var(--shadow),0 .45em #c7b2e8,inset 0 0 0 3px #e4d6fb}.vi-root .dl-scene{display:inline-block;margin-left:.6em;font-family:var(--font-body);font-size:.62em;font-weight:800;color:#6a3fb2;background:#efe6fd;border-radius:999px;padding:.15em .6em;vertical-align:middle}.vi-root .dl-text mark{background:linear-gradient(transparent 50%,#c9b5f5 50%)}.vi-root .wc-def{margin-top:.5em;background:#eef3fb;border-radius:.9em;padding:.5em .9em;font-weight:700;color:#1f3d5c}.vi-root .q-def{display:block;font-size:1.15em;font-weight:800;font-style:italic;line-height:1.35}.vi-root .hud-left[data-era]:not([data-era=""]):before{content:attr(data-era);display:block;font-weight:800;font-size:.68em;letter-spacing:.07em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:.1em}.vi-root .coin-chip{display:inline-flex;align-items:center;gap:.3em;height:2.8em;padding:0 .8em;border-radius:.9em;background:var(--paper);box-shadow:var(--shadow),0 3px #e8d6b0;font-weight:800}.vi-root .coin-chip.bump{animation:pop .45s cubic-bezier(.2,1.6,.4,1)}.vi-root .icon-btn.off{opacity:.55}.vi-root .icon-btn.off svg{text-decoration:line-through}.vi-root .hud-landmark:empty{display:none}.vi-root .hud-landmark{margin-top:.5em;padding-top:.45em;border-top:1.5px dashed var(--line);font-size:.8em;font-weight:700;color:var(--ink-soft)}.vi-root .lm-row{display:flex;justify-content:space-between;gap:.8em;color:var(--ink);font-weight:800}.vi-root .lm-bar{display:block;margin-top:.3em;height:.5em}.vi-root .lm-sub{margin-top:.2em;font-size:.92em}.vi-root .map-landmark{max-width:64em;width:100%;margin:.8em auto 0;display:flex;align-items:center;gap:.7em;background:#fffaf0f2;border-radius:1em;padding:.55em 1em;font-weight:800;box-shadow:var(--shadow)}.vi-root .map-landmark .bar{max-width:14em;height:.65em}.vi-root .map-landmark>span:last-child{color:var(--ink-soft);font-size:.85em}.vi-root .isle.challenge .isle-art{background:radial-gradient(circle at 50% 60%,#3b4f86 0 55%,#cbbf98 56% 66%,#1c2a4f 67%)}.vi-root .isle.challenge{box-shadow:var(--shadow),0 .4em #b9a7e0}.vi-root .isle.time-sunset .isle-art{background:radial-gradient(circle at 50% 60%,#c3c58d 0 55%,#efd9a8 56% 66%,#ff9b5e 67%)}.vi-root .cp-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:.4em;margin-top:.8em}.vi-root .cp-reward{display:inline-flex;align-items:center;gap:.35em;background:#fff3dc;border-radius:999px;padding:.3em .8em;font-weight:800;font-size:.9em;box-shadow:inset 0 0 0 1.5px #f1d7a3}.vi-root .cp-reward .emo{font-size:1.2em}.vi-root .nb-sub{font-family:var(--font-body);font-size:.5em;color:var(--ink-soft);margin-left:.4em}.vi-root .notebook{width:min(40em,100%)}.vi-root .al-group{margin-bottom:.9em}.vi-root .al-title{font-weight:800;color:var(--teal-dark);font-size:.85em;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4em}.vi-root .al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.2em,1fr));gap:.45em}.vi-root .al-cell{border:0;background:#fff;border-radius:.9em;padding:.5em .4em;display:grid;justify-items:center;gap:.1em;box-shadow:inset 0 0 0 1.5px var(--line);font-family:inherit;color:var(--ink)}.vi-root .al-cell .emo{font-size:1.9em;filter:grayscale(1) opacity(.4)}.vi-root .al-cell.on .emo{filter:drop-shadow(0 0 6px #ffd166)}.vi-root .al-cell b{font-size:.9em}.vi-root .al-cell small{font-size:.72em;color:var(--ink-soft);font-weight:600;line-height:1.2;text-align:center}.vi-root .al-cell.on{box-shadow:inset 0 0 0 2px #ffd166;background:#fffaf0}.vi-root .tc-speakers{display:flex;gap:.4em;margin-top:.6em;flex-wrap:wrap}.vi-root .tc-now{text-align:center;min-height:1.6em;font-weight:700;color:var(--teal-dark)}.vi-root .tc-script.lines p{margin:.25em 0}.vi-root .tc-script.lines p.now{background:#fff3c4;border-radius:.4em}.vi-root .read-card{width:min(60em,100%)}.vi-root .read-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:1.1em;margin-top:.8em;align-items:start}.vi-root .papyrus{background:linear-gradient(180deg,#f8edd2,#f2e2bc);border-radius:.6em;padding:1em 1.2em;box-shadow:inset 0 0 0 1.5px #e2cb98,0 6px 14px #785a1e26;font-size:1.02em;line-height:1.55;max-height:60vh;overflow-y:auto;font-family:Georgia,Times New Roman,serif;color:#3a2a12}.vi-root .papyrus h3{margin:0 0 .4em;font-family:Georgia,serif;font-size:1.1em}.vi-root .papyrus p{margin:0 0 .7em}.vi-root .read-side .tc-prompt{margin-top:.4em}.vi-root .speak-q{display:flex;gap:.6em;align-items:center;margin-top:.6em}.vi-root .speak-q .emo{font-size:2.2em}.vi-root .tc-prompt.big{font-size:1.4em}.vi-root .speak-mic{display:flex;flex-direction:column;align-items:center;gap:.5em;margin-top:.9em}.vi-root .mic-btn{width:5em;height:5em;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:1.4em;box-shadow:0 5px 0 var(--accent-dark)}.vi-root .mic-btn.on{animation:micpulse 1s ease-in-out infinite;background:#e5484d;box-shadow:0 5px #a82b2f}.vi-root .speak-status{font-weight:700;color:var(--ink-soft);text-align:center}.vi-root .write-card{width:min(36em,100%)}.vi-root .wr-bullets{margin:.4em 0 0;padding-left:1.2em;font-weight:700;color:var(--ink-soft);line-height:1.6}.vi-root .wr-text{width:100%;margin-top:.7em;font:inherit;font-size:1.05em;font-weight:600;color:var(--ink);padding:.7em .9em;border-radius:.9em;border:0;box-shadow:inset 0 0 0 2px var(--line);background:#fff;resize:vertical;line-height:1.5}.vi-root .wr-text:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--accent)}.vi-root .wr-count{text-align:right;font-weight:800;font-size:.85em;color:var(--ink-soft);margin-top:.2em}.vi-root .wr-rubric{list-style:none;margin:.5em 0 0;padding:0;display:grid;gap:.2em;font-weight:700;font-size:.92em;color:var(--ink-soft)}.vi-root .wr-rubric li span{display:inline-block;width:1.4em}.vi-root .wr-rubric li.ok{color:var(--ok)}.vi-root .wr-rubric small{font-weight:600}.vi-root .wr-sample{display:none;margin-top:.7em;background:#eef3fb;border-radius:.9em;padding:.6em .9em;font-weight:600;line-height:1.5}.vi-root .wr-sample.show{display:block}.vi-root .lb-rule{margin-left:auto;cursor:pointer;font-size:.55em;font-family:var(--font-body);white-space:nowrap;flex:none}.vi-root .lb-rule+.lb-rule{margin-left:.3em}.vi-root .lb-target{margin-top:.3em;font-weight:800;font-size:.85em;color:#6a3fb2}.vi-root .rule-card{width:min(36em,100%);border-top:.5em solid #8a63d2}.vi-root .rc-kicker{font-weight:800;font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:#6a3fb2}.vi-root .rc-title{font-family:var(--font-display);font-size:2em;margin:.05em 0 0;line-height:1.05}.vi-root .rc-use{margin:.3em 0 0;font-weight:700;color:var(--ink-soft)}.vi-root .rc-table{width:100%;border-collapse:separate;border-spacing:0 .35em;margin-top:.6em}.vi-root .rc-table th{text-align:left;font-size:.85em;color:#6a3fb2;padding:.45em .6em;background:#f3edfd;border-radius:.6em 0 0 .6em;white-space:nowrap}.vi-root .rc-table td{background:#fff;padding:.45em .6em;font-weight:700;box-shadow:inset 0 1.5px #ece4fa,inset 0 -1.5px #ece4fa}.vi-root .rc-table td:last-child{border-radius:0 .6em .6em 0;box-shadow:inset 0 1.5px #ece4fa,inset 0 -1.5px #ece4fa,inset -1.5px 0 #ece4fa}.vi-root .rc-pattern{color:#4b2a88;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em}.vi-root .rc-table mark{background:linear-gradient(transparent 50%,#c9b5f5 50%)}.vi-root .rc-notes{margin:.4em 0 0;padding-left:1.2em;color:var(--ink-soft);font-weight:700;font-size:.92em;line-height:1.6}.vi-root .rc-el{margin-top:.7em;background:#f7f3ff;border-radius:.9em;padding:.6em .9em;font-weight:600;line-height:1.5}@media(max-width:560px){.vi-root .rc-table,.vi-root .rc-table tbody,.vi-root .rc-table tr,.vi-root .rc-table th,.vi-root .rc-table td{display:block}.vi-root .rc-table th{border-radius:.6em .6em 0 0}.vi-root .rc-table td,.vi-root .rc-table td:last-child{border-radius:0;box-shadow:none}.vi-root .rc-table tr{margin-bottom:.4em}}.vi-root .arrival{position:absolute;inset:0;z-index:30;display:none;place-items:center;background:radial-gradient(ellipse at 50% 40%,#1e3b6f,#0a1430 70%);color:#fff;pointer-events:auto;overflow:hidden}.vi-root .arrival.show{display:grid}.vi-root .ar-jump{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .6s}.vi-root .arrival.stage-card .ar-jump{opacity:0}.vi-root .ar-swirl{position:absolute;width:140vmax;height:140vmax;background:repeating-conic-gradient(from 0deg,#7fe3ff00 0 8deg,#7fe3ff29 8deg 12deg);border-radius:50%;animation:swirl 3s linear infinite}.vi-root .ar-year{position:relative;text-align:center;font-family:var(--font-display)}.vi-root .ar-year small{display:block;font-size:1.1em;letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-family:var(--font-body);font-weight:800}.vi-root .ar-count{font-size:5em;text-shadow:0 0 30px #7fe3ff}.vi-root .ar-card{position:relative;width:min(46em,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;text-align:center;opacity:0;transform:scale(.94);transition:opacity .7s .1s,transform .7s .1s}.vi-root .arrival.stage-card .ar-card{opacity:1;transform:none}.vi-root .ar-kicker{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.85em;color:#9ff0ff}.vi-root .ar-title{font-family:var(--font-display);font-size:3.6em;line-height:1;margin:.1em 0 0;text-shadow:0 4px 0 rgba(0,0,0,.25)}.vi-root .ar-place{font-family:var(--font-display);font-size:1.6em;color:#ffd166;margin-top:.1em}.vi-root .ar-map{width:100%;max-width:34em;margin:.8em auto 0;display:block;border-radius:.8em;box-shadow:0 10px 30px #00000059}.vi-root .ar-map polygon{fill:#6f9b6b;stroke:#2f6050;stroke-width:.6;opacity:.75}.vi-root .ar-map polygon.hl{fill:#ffd166;stroke:#c98a12;opacity:1;animation:hl 1.6s ease-in-out infinite}.vi-root .ar-pin circle{fill:#e5484d}.vi-root .ar-pin .pulse{fill:#e5484d59;animation:pin 1.4s ease-out infinite;transform-origin:center;transform-box:fill-box}.vi-root .ar-pin-label{fill:#fff;font:800 9px var(--font-body);paint-order:stroke;stroke:#0a1430;stroke-width:2.5px}.vi-root .ar-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:.2em;margin-top:1em;position:relative}.vi-root .ar-timeline:before{content:"";position:absolute;left:7%;right:7%;top:.55em;border-top:3px dashed rgba(255,255,255,.35)}.vi-root .ar-era{position:relative;display:grid;justify-items:center;gap:.15em;font-size:.78em;font-weight:700;opacity:.6}.vi-root .ar-era i{width:1.1em;height:1.1em;border-radius:50%;background:#3b5b8c;box-shadow:0 0 0 3px #0a1430}.vi-root .ar-era.past i{background:#9ff0ff}.vi-root .ar-era.now{opacity:1;color:#ffd166}.vi-root .ar-era.now i{background:#ffd166;transform:scale(1.4);box-shadow:0 0 0 3px #0a1430,0 0 16px #ffd166}.vi-root .ar-era small{opacity:.75}.vi-root .ar-narr{font-size:1.15em;font-weight:700;margin:1em 0 0}.vi-root .ar-narr-el{display:none;margin:.3em 0 0;color:#bcd3f2;font-style:italic}.vi-root .arrival.with-el .ar-narr-el{display:block}.vi-root .ar-actions{display:flex;justify-content:center;gap:.6em;margin-top:1em}.vi-root .ar-actions .chip{cursor:pointer;background:transparent;color:#fff;border-color:#ffffff80}.vi-root .ar-skip{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;background:#ffffff26;color:#fff;border:0;border-radius:999px;padding:.5em 1em;font-weight:800}@media(max-width:600px){.vi-root .ar-title{font-size:2.6em}.vi-root .ar-era span{font-size:.8em}.vi-root .ar-count{font-size:3.4em}}.vi-root .hub-card{width:min(38em,100%);border-top:.5em solid #5b2a86}.vi-root .hub-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.5em;margin-top:.8em}.vi-root .hub-tile{background:#fff;border-radius:1em;padding:.6em;display:grid;justify-items:center;gap:.1em;box-shadow:inset 0 0 0 2px var(--line)}.vi-root .hub-tile .emo{font-size:1.7em}.vi-root .hub-tile small{color:var(--ink-soft);font-weight:800}.vi-root .hub-tile.done{box-shadow:inset 0 0 0 2px var(--ok);background:#eefbf3}.vi-root .hub-tile.now{box-shadow:inset 0 0 0 2.5px var(--accent);background:#fff6ee}.vi-root .hub-overall{display:flex;align-items:baseline;gap:.6em;margin-top:.7em;background:#fff0e6;border-radius:1em;padding:.6em .9em}.vi-root .hub-overall b{font-family:var(--font-display);font-size:2.4em;line-height:1;color:#b8462a}.vi-root .hub-overall.ok{background:#dcf7e9}.vi-root .hub-overall.ok b{color:#137a4b}.vi-root .hub-overall span{font-weight:700;color:var(--ink-soft)}.vi-root .hub-bars{display:grid;gap:.4em;margin-top:.7em}.vi-root .hub-bar{display:grid;grid-template-columns:8.5em 1fr 3em auto;gap:.6em;align-items:center;font-weight:800}.vi-root .hb-track{position:relative;height:.8em;border-radius:999px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line)}.vi-root .hb-track i{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#4dd8c4)}.vi-root .hub-bar.low .hb-track i{background:linear-gradient(90deg,#e5484d,#f08c6c)}.vi-root .hb-track em{position:absolute;top:-.25em;bottom:-.25em;width:2px;background:var(--ink);opacity:.5}.vi-root .hb-val{text-align:right}@media(max-width:520px){.vi-root .hub-bar{grid-template-columns:6.5em 1fr 2.6em}.vi-root .hub-bar .btn{grid-column:1 / -1}.vi-root .hub-tiles{grid-template-columns:repeat(2,1fr)}}.vi-root .builder{position:absolute;inset:0;z-index:40;display:none;overflow-y:auto;background:#eef2f7;color:#14263a;pointer-events:auto;font-size:15px}.vi-root .builder.show{display:block}.vi-root.classroom .builder{font-size:15px}.vi-root .bd-wrap{max-width:1240px;margin:0 auto;padding:0 16px 40px}.vi-root .bd-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:12px 0;background:#eef2f7;border-bottom:1px solid #d5deea}.vi-root .bd-brand{display:flex;align-items:center;gap:10px;min-width:15em}.vi-root .bd-brand .emo{font-size:1.8em}.vi-root .bd-brand b{display:block;font-family:var(--font-display);font-size:1.25em}.vi-root .bd-brand small{color:#5a6d82;font-weight:700}.vi-root .bd-steps{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:1;overflow-x:auto}.vi-root .bd-steps button{display:flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-weight:800;color:#6b7d90;padding:6px 10px;border-radius:999px;white-space:nowrap}.vi-root .bd-steps button:not(:disabled){cursor:pointer}.vi-root .bd-steps button:not(:disabled):hover{background:#dfe7f1}.vi-root .bd-steps i{width:1.6em;height:1.6em;border-radius:50%;display:grid;place-items:center;background:#d5deea;font-style:normal;font-size:.85em}.vi-root .bd-steps .now button{color:#14263a}.vi-root .bd-steps .now i{background:#1f4e79;color:#fff}.vi-root .bd-steps .done i{background:#1fae6b;color:#fff}.vi-root .bd-x{border:0;background:#fff;width:2.4em;height:2.4em;border-radius:50%;font-size:1em;box-shadow:0 1px 3px #00000026;cursor:pointer}.vi-root .bd-main{padding-top:18px}.vi-root .bd-main h2{font-family:var(--font-display);font-size:1.7em;margin:0}.vi-root .bd-lead{color:#46596e;font-weight:600;margin:4px 0 14px}.vi-root .bd-muted{color:#6b7d90;font-weight:600}.vi-root .bd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vi-root .bd-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vi-root .bd-field{display:grid;gap:4px;font-weight:800}.vi-root .bd-field>span small{font-weight:600;color:#6b7d90}.vi-root .bd-field select,.vi-root .bd-field input[type=text]{font:inherit;font-weight:700;padding:10px 12px;border-radius:10px;border:1.5px solid #c8d4e3;background:#fff;color:inherit}.vi-root .bd-field.inline{grid-template-columns:auto 1fr;align-items:center;gap:8px}.vi-root .bd-slotcard{display:flex;gap:14px;align-items:center;background:#fff;border-radius:14px;padding:14px 16px;margin:16px 0;box-shadow:0 1px 3px #14263a1a}.vi-root .bd-slotcard p{margin:4px 0 0;font-weight:600;color:#46596e}.vi-root .bd-slotart{font-size:2.6em;width:1.8em;height:1.8em;display:grid;place-items:center;border-radius:14px;background:linear-gradient(160deg,#2f7fd0,#1a4f93)}.vi-root .bd-radio{display:grid;gap:8px}.vi-root .bd-radio label{display:grid;grid-template-columns:auto 1fr;column-gap:8px;background:#fff;border-radius:10px;padding:8px 12px;border:1.5px solid #c8d4e3;cursor:pointer;font-weight:700}.vi-root .bd-radio label:has(input:checked){border-color:#1f4e79;background:#f2f7fd}.vi-root .bd-radio small{grid-column:2;color:#6b7d90;font-weight:600}.vi-root .bd-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.vi-root .bd-actions.center{justify-content:center}.vi-root .bd-btn{border:0;font:inherit;font-weight:800;padding:10px 18px;border-radius:10px;cursor:pointer;min-height:42px}.vi-root .bd-btn.primary{background:#1f4e79;color:#fff;box-shadow:0 3px #11304d}.vi-root .bd-btn.primary:disabled{opacity:.5;cursor:default}.vi-root .bd-btn.ghost{background:#fff;color:#14263a;box-shadow:inset 0 0 0 1.5px #c8d4e3}.vi-root .bd-btn.small{padding:6px 12px;min-height:36px}.vi-root .bd-btn.big{font-size:1.05em;padding:12px 22px}.vi-root .bd-btn.danger{color:#b3261e}.vi-root .bd-link{border:0;background:none;color:#1f5fa8;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px}.vi-root .bd-note{background:#fff7e0;border-radius:12px;padding:10px 14px;font-weight:600;margin:10px 0;line-height:1.45}.vi-root .bd-note.ok{background:#e6f6ec}.vi-root .bd-note.warn{background:#fff1e6}.vi-root .bd-card{background:#fff;border-radius:16px;padding:14px 16px 16px;box-shadow:0 1px 3px #14263a1a;display:grid;gap:10px;align-content:start}.vi-root .bd-card h3{margin:0;font-size:1.1em}.vi-root .bd-drop{display:grid;justify-items:center;gap:4px;padding:30px 12px;border:2px dashed #9fb3cb;border-radius:14px;background:#f6f9fc;cursor:pointer;text-align:center}.vi-root .bd-drop.over{background:#e3eefb;border-color:#1f5fa8}.vi-root .bd-drop .emo{font-size:2.4em}.vi-root .bd-drop small{color:#6b7d90;font-weight:600}.vi-root .bd-photo{position:relative;border-radius:12px;overflow:hidden;background:#2b2f36;max-height:360px;display:grid;place-items:center}.vi-root .bd-photo img{width:100%;max-height:360px;object-fit:contain;display:block}.vi-root .bd-photo.scanning img{filter:brightness(.9)}.vi-root .bd-scanline{position:absolute;left:0;right:0;height:22%;background:linear-gradient(180deg,transparent,rgba(80,200,255,.45),transparent);animation:scan 1.4s ease-in-out infinite alternate}.vi-root .bd-pdf{color:#fff;padding:40px;font-weight:800;display:grid;justify-items:center;gap:6px}.vi-root .bd-pdf .emo{font-size:3em}.vi-root .bd-scan{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-weight:700;color:#6b7d90}.vi-root .bd-scan li.now{color:#14263a}.vi-root .bd-scan li.done{color:#1fae6b}.vi-root .spin{display:inline-block;width:.9em;height:.9em;border-radius:50%;border:2px solid #c8d4e3;border-top-color:#1f4e79;animation:spin .8s linear infinite;vertical-align:-2px}.vi-root .bd-paste{width:100%;font:inherit;font-size:.95em;font-weight:600;padding:10px 12px;border-radius:12px;border:1.5px solid #c8d4e3;resize:vertical;line-height:1.5;color:inherit;box-sizing:border-box}.vi-root .bd-paste.shake{animation:shake .4s;border-color:#e5484d}.vi-root .bd-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vi-root .bd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.vi-root .bd-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 6px 6px 12px;box-shadow:inset 0 0 0 1.5px #c8d4e3}.vi-root .bd-chip i{font-style:normal;font-size:.8em;color:#b3261e;font-weight:800}.vi-root .bd-chip small{color:#46596e;font-weight:600}.vi-root .bd-chip button{border:0;background:#eef2f7;width:1.7em;height:1.7em;border-radius:50%;cursor:pointer}.vi-root .bd-chip.pick{cursor:pointer;opacity:.6;background:#f4f6f9;box-shadow:inset 0 0 0 1.5px #dde4ee;transition:opacity .15s,background .15s;-webkit-user-select:none;user-select:none}.vi-root .bd-chip.pick.on{opacity:1;background:#fff8e6;box-shadow:inset 0 0 0 2px #e0a526}.vi-root .bd-chip.pick .tick{width:1.4em;height:1.4em;border-radius:50%;display:inline-grid;place-items:center;background:#dde4ee;color:#46596e}.vi-root .bd-chip.pick.on .tick{background:#e0a526;color:#fff}.vi-root .bd-selbar{gap:6px;justify-content:flex-start}.vi-root .bd-ocr{max-height:180px;overflow:auto;background:#f4f6f9;border-radius:10px;padding:10px;font-size:.8em;white-space:pre-wrap}.vi-root .bd-add-review{margin:8px 0;justify-content:flex-start;gap:8px}.vi-root .bd-add-review input{flex:1;max-width:520px}.vi-root .bd-muted.small{font-size:.85em}.vi-root .bd-add input{flex:1;min-width:14em;font:inherit;font-weight:600;padding:9px 12px;border-radius:10px;border:1.5px solid #c8d4e3}.vi-root .bd-skipped{margin-top:10px;color:#46596e;font-weight:600}.vi-root .bd-check{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-top:10px;cursor:pointer}.vi-root .bd-gen{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px;max-width:40em}.vi-root .bd-gen li{display:grid;grid-template-columns:1.6em 1fr auto;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:10px 14px;font-weight:700;box-shadow:0 1px 3px #14263a14}.vi-root .bd-gen li small{color:#46596e;font-weight:600}.vi-root .bd-gen .tick{font-style:normal;color:#fff;background:#1fae6b;width:1.3em;height:1.3em;border-radius:50%;display:grid;place-items:center;font-size:.85em}.vi-root .bd-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.vi-root .bd-stats{display:flex;gap:8px;flex-wrap:wrap}.vi-root .bd-stat{background:#fff;border-radius:10px;padding:6px 12px;font-weight:700;box-shadow:0 1px 3px #14263a14}.vi-root .bd-stat b{font-size:1.2em;margin-right:4px}.vi-root .bd-stat.ok b{color:#1fae6b}.vi-root .bd-stat.warn b{color:#c27b00}.vi-root .bd-stat.bad b{color:#b3261e}.vi-root .bd-tools{margin:8px 0 10px}.vi-root .bd-tablewrap{overflow-x:auto;background:#fff;border-radius:14px;box-shadow:0 1px 3px #14263a1a}.vi-root .bd-table{width:100%;border-collapse:collapse;min-width:1100px}.vi-root .bd-table thead th{position:sticky;top:0;background:#f6f9fc;text-align:left;font-size:.82em;text-transform:uppercase;letter-spacing:.04em;color:#46596e;padding:8px;border-bottom:1px solid #dde5ef}.vi-root .bd-table td{padding:5px 6px;border-bottom:1px solid #eef2f7;vertical-align:top}.vi-root .bd-ghead th{text-align:left;background:#eaf1fa;padding:9px 10px;font-size:1em}.vi-root .bd-ghead small{color:#46596e;font-weight:600;margin-left:6px}.vi-root .bd-group.off{opacity:.6}.vi-root .bd-in{width:100%;box-sizing:border-box;font:inherit;font-weight:600;font-size:.95em;padding:6px 8px;border-radius:8px;border:1.5px solid transparent;background:#f6f9fc;color:inherit}.vi-root .bd-in:hover{border-color:#d5deea}.vi-root .bd-in:focus{outline:none;border-color:#1f5fa8;background:#fff}.vi-root .bd-in.need{border-color:#f0a5a0;background:#fff4f3}.vi-root .bd-in.soft{border-color:#f3d48a;background:#fffaf0}.vi-root .bd-in.w{font-weight:800;min-width:8em}.vi-root .bd-in.gr{min-width:11em}.vi-root .bd-in.df{min-width:13em}.vi-root .bd-table{min-width:1250px}.vi-root .bd-in.emoji{width:3.4em;text-align:center;font-size:1.3em;padding:2px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.vi-root .bd-in.ex{min-width:18em;resize:vertical;line-height:1.35}.vi-root .bd-table select{font:inherit;font-size:.9em;font-weight:700;padding:5px 4px;border-radius:8px;border:1.5px solid #d5deea;background:#fff;max-width:9.5em}.vi-root .bd-src{display:block;font-size:.75em;font-weight:700;color:#1f7a4b;margin-top:2px}.vi-root .bd-src.warn{color:#a86400}.vi-root .bd-src.bad{color:#b3261e}.vi-root .bd-badge{display:inline-block;font-size:.78em;font-weight:800;border-radius:999px;padding:2px 8px;white-space:nowrap}.vi-root .bd-badge.ready{background:#dcf4e6;color:#137a4b}.vi-root .bd-badge.draft{background:#fff1cc;color:#8a5a00}.vi-root .bd-badge.missing{background:#fde3e1;color:#b3261e}.vi-root .bd-r.st-missing td:first-child{box-shadow:inset 4px 0 #e5484d}.vi-root .bd-r.st-draft td:first-child{box-shadow:inset 4px 0 #f0b429}.vi-root .only-review .bd-r.st-ready{display:none}.vi-root .bd-q-btn{border:0;background:#eef2f7;border-radius:8px;padding:6px 8px;font-weight:800;cursor:pointer;white-space:nowrap}.vi-root .bd-q-btn.on{background:#1f4e79;color:#fff}.vi-root .bd-qrow td{background:#f6f9fc}.vi-root .bd-qs{display:flex;gap:10px;overflow-x:auto;padding:6px 0}.vi-root .bd-q{flex:none;width:15em;background:#fff;border-radius:10px;padding:8px 10px;box-shadow:0 1px 2px #14263a1a;font-size:.9em}.vi-root .bd-q b{color:#1f4e79;font-size:.85em;text-transform:uppercase}.vi-root .bd-qp{font-weight:700;margin:4px 0}.vi-root .bd-qp .q-greek,.vi-root .bd-qp .q-word{font-size:1.2em}.vi-root .bd-q ol{margin:0;padding-left:1.3em}.vi-root .bd-q li.ans{color:#137a4b;font-weight:800}.vi-root .bd-sub td{background:#fbfcfe;font-size:.95em}.vi-root .bd-sublabel{font-weight:800;color:#46596e;white-space:nowrap}.vi-root .bd-locks{margin:0;padding:0;list-style:none;display:grid;gap:3px}.vi-root .bd-lb{margin:6px 0 0;padding-left:1.4em;color:#46596e}.vi-root .bd-tag{display:inline-block;margin-left:8px;font-size:.75em;font-weight:800;background:#fff;border-radius:999px;padding:2px 8px;color:#46596e}.vi-root .bd-tag.warn{color:#a86400;background:#fff1cc}.vi-root .bd-tag.bad{color:#b3261e;background:#fde3e1}.vi-root .bd-publishbar{position:sticky;bottom:0;margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 -2px 12px #14263a1f}.vi-root .bd-publishbar .bd-field{min-width:18em}.vi-root .bd-pubmsg{flex:1;font-weight:600;color:#46596e;min-width:14em}.vi-root .bd-done{max-width:46em;margin:20px auto;text-align:center;background:#fff;border-radius:20px;padding:26px;box-shadow:0 1px 3px #14263a1a}.vi-root .bd-done-art{font-size:3.4em}.vi-root .bd-code{display:inline-grid;gap:2px;background:#f2f7fd;border-radius:14px;padding:12px 20px;margin:6px 0 12px}.vi-root .bd-code b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:2em;letter-spacing:.08em;color:#1f4e79}.vi-root .bd-code small{color:#6b7d90;font-weight:600;max-width:26em}.vi-root .bd-sum{text-align:left;list-style:none;padding:0;display:grid;gap:6px}.vi-root .bd-sum li{background:#f6f9fc;border-radius:10px;padding:8px 12px;font-weight:600}.vi-root .bd-sum small{display:block;color:#6b7d90}.vi-root .bd-slot b{color:#1f4e79}@media(max-width:860px){.vi-root .bd-grid2,.vi-root .bd-grid3{grid-template-columns:1fr}.vi-root .bd-head{flex-wrap:wrap}.vi-root .bd-steps{order:3;flex-basis:100%}.vi-root .bd-steps span{display:none}.vi-root .bd-brand{min-width:0;flex:1}.vi-root .read-layout{grid-template-columns:1fr}.vi-root .papyrus{max-height:38vh}.vi-root .teacher-row{flex-direction:column;align-items:stretch}}@media(max-width:520px){.vi-root .hud-right [data-act=classroom]{display:none}.vi-root .hud-left{max-width:calc(100vw - 15.5em)}.vi-root .hud-left[data-era]:not([data-era=""]):before{display:none}.vi-root .coin-chip{height:2.6em;padding:0 .55em}.vi-root .hud-landmark .lm-sub{display:none}}.vi-root.look-greece .isle-art{background:radial-gradient(circle at 50% 60%,#efe6d2 0 50%,#d9c9a2 51% 60%,#c9653f 61% 64%,#e2d3ae 65%)}.vi-root.look-greece .isle.challenge .isle-art{background:radial-gradient(circle at 50% 60%,#3b4f86 0 52%,#cbbf98 53% 64%,#1c2a4f 65%)}.vi-root.look-greece .isle.time-sunset .isle-art{background:radial-gradient(circle at 50% 60%,#efe6d2 0 50%,#d9c9a2 51% 60%,#c9653f 61% 64%,#f0a77c 65%)}.vi-root .music-btn .mlabel{font-size:.75em}.vi-root .icon-btn.off{opacity:.7;background:#f1e6d0}.vi-root .icon-btn.off svg{text-decoration:none}.vi-root .menu-card{position:relative}.vi-root .menu-music{position:absolute;top:1em;right:1em;display:inline-flex;align-items:center;gap:.35em;border:0;background:#fff;border-radius:999px;padding:.35em .8em;font-weight:800;font-size:.8em;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);cursor:pointer}.vi-root .menu-music.off{color:var(--ink-soft);background:var(--paper-2)}@media(max-width:520px){.vi-root .music-btn .mlabel{display:none}}.vi-root .enc-card{max-width:640px}.vi-root .enc-who{display:flex;align-items:center;gap:.8em;margin:.4em 0 .6em}.vi-root .enc-who>div{flex:1}.vi-root .enc-who small{display:block;color:var(--ink-soft);font-weight:600}.vi-root .emo.big{font-size:2.4em;line-height:1}.vi-root .enc-hidden{color:var(--ink-soft)}.vi-root .enc-chat{display:grid;gap:.5em;margin:.5em 0 .8em}.vi-root .enc-bubble{display:flex;align-items:flex-end;gap:.5em;max-width:88%}.vi-root .enc-bubble>div{background:#f1f5fb;border-radius:1em;padding:.55em .85em;font-weight:600;line-height:1.35;transition:box-shadow .2s,background .2s}.vi-root .enc-bubble small{display:block;font-size:.75em;color:var(--ink-soft);font-weight:800}.vi-root .enc-bubble.a>div{border-bottom-left-radius:.2em}.vi-root .enc-bubble.b{justify-self:end}.vi-root .enc-bubble.b>div{background:#fff4dc;border-bottom-right-radius:.2em}.vi-root .enc-bubble .emo{font-size:1.7em}.vi-root .enc-bubble.talking>div{box-shadow:0 0 0 3px #ffd54f}.vi-root .enc-bubble mark{background:#ffe58a;border-radius:.25em;padding:0 .15em;font-weight:800}.vi-root .enc-stele{background:linear-gradient(#ece6d8,#d9d0bd);border-radius:.8em .8em .4em .4em;padding:.8em 1em 1em;text-align:center;box-shadow:inset 0 0 0 2px #c9bfa8;position:relative}.vi-root .enc-stele:not(.whole):after{content:"";position:absolute;left:12%;right:30%;top:46%;height:2px;background:#a89c84;transform:rotate(-4deg);opacity:.6;pointer-events:none}.vi-root .enc-stele.whole{background:linear-gradient(#fbf3dc,#f0e2b8);box-shadow:inset 0 0 0 2px #e0c46c}.vi-root .enc-stele .tc-prompt{margin:.4em 0}.vi-root .enc-el{display:block;color:#5d5240;font-weight:700;margin-bottom:.5em}.vi-root .enc-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:.3em}.vi-root .enc-slot{width:2.1em;height:2.4em;border-radius:.4em;border:0;background:#ffffff8c;box-shadow:inset 0 -3px #b8ac93;font:inherit;font-size:1.15em;font-weight:800;text-transform:lowercase;color:#3b3326;cursor:pointer;display:inline-grid;place-items:center}.vi-root .enc-slot.full{background:#fff}.vi-root .enc-slot.fixed{background:transparent;box-shadow:none;width:.9em;cursor:default}.vi-root .enc-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:.4em;margin:.6em 0}.vi-root .enc-tile{width:2.3em;height:2.5em;border-radius:.45em;border:0;background:#fff;box-shadow:0 3px #c9bfa8,0 0 0 2px #e6dcc6 inset;font:inherit;font-size:1.15em;font-weight:800;cursor:pointer;color:#3b3326;transition:transform .1s}.vi-root .enc-tile:hover:not(:disabled){transform:translateY(-2px)}.vi-root .enc-tile:disabled{opacity:.25;cursor:default;box-shadow:none}.vi-root .enc-tools{display:flex;justify-content:center;gap:.5em}.vi-root .enc-slots.shake,.vi-root .bd-add input.shake{animation:encShake .35s}.vi-root .house-btn .emo{font-size:1.15em;line-height:1}.vi-root .map-house{white-space:nowrap}.vi-root .map-house .map-coins{font-weight:800;margin-left:.3em}.vi-root .house-panel{position:absolute;right:14px;top:76px;bottom:14px;width:min(390px,calc(100vw - 28px));background:#fffcf4f7;border-radius:18px;box-shadow:0 12px 40px #00000040;display:none;flex-direction:column;overflow:hidden;z-index:6;pointer-events:auto;color:var(--ink)}.vi-root .house-panel.show{display:flex}.vi-root .hp-head{display:flex;align-items:center;gap:.6em;padding:.8em 1em .5em}.vi-root .hp-head .emo{font-size:1.8em}.vi-root .hp-head div{flex:1}.vi-root .hp-head div>b{display:block;font-size:1.05em}.vi-root .hp-head small b{display:inline}.vi-root .hp-head small{color:var(--ink-soft);font-weight:700}.vi-root .hp-mini{border:0;background:#efe7d4;width:2em;height:2em;border-radius:50%;cursor:pointer;font-size:1em;display:none}.vi-root .hp-tabs{display:flex;gap:.3em;padding:0 .8em;border-bottom:2px solid #efe5cf}.vi-root .hp-tabs button{flex:1;border:0;background:transparent;font:inherit;font-weight:800;padding:.55em .2em;border-radius:.7em .7em 0 0;cursor:pointer;color:var(--ink-soft)}.vi-root .hp-tabs button.on{background:#f3e7c6;color:var(--ink)}.vi-root .hp-body{flex:1;overflow-y:auto;padding:.7em 1em}.vi-root .hp-lead{margin:0 0 .6em;font-size:.9em;font-weight:600;color:var(--ink-soft)}.vi-root .hp-list{list-style:none;margin:0;padding:0;display:grid;gap:.35em}.vi-root .hp-list li{display:flex;align-items:center;gap:.55em;padding:.45em .55em;border-radius:.8em;background:#fff;box-shadow:inset 0 0 0 1.5px #ece2cb}.vi-root .hp-list li .emo{font-size:1.55em;width:1.4em;text-align:center}.vi-root .hp-list li.owned{background:#f0f8ec;box-shadow:inset 0 0 0 1.5px #cfe6c4}.vi-root .hp-list li.wearing{background:#fff3d1;box-shadow:inset 0 0 0 2px #e0a526}.vi-root .hp-list li.dear{opacity:.72}.vi-root .hp-name{flex:1;min-width:0}.vi-root .hp-name b{display:block;font-size:.95em}.vi-root .hp-name small{color:var(--ink-soft);font-weight:600;font-size:.8em}.vi-root .hp-say{border:0;background:#eef2f7;border-radius:50%;width:2em;height:2em;cursor:pointer;flex:none}.vi-root .hp-own{font-size:.8em;font-weight:800;color:var(--ok);white-space:nowrap}.vi-root .hp-list .btn-sm{white-space:nowrap}.vi-root .hp-example{background:#fff;border-radius:.8em;padding:.7em .9em;font-size:.9em;margin-bottom:.8em;box-shadow:inset 0 0 0 1.5px #ece2cb}.vi-root .hp-need{color:#9a5b00;font-weight:700}.vi-root .hp-done{color:var(--ok);font-weight:800}.vi-root .hp-muted{color:var(--ink-soft);font-size:.85em;font-weight:600}.vi-root .hp-foot{padding:.6em 1em .8em;border-top:2px solid #efe5cf}.vi-root .hp-foot .btn{width:100%}@media(max-width:760px),(max-height:520px){.vi-root .house-panel{inset:auto 10px 10px;width:auto;max-height:52vh}.vi-root .house-panel.mini{max-height:3.6em}.vi-root .house-panel.mini .hp-tabs,.vi-root .house-panel.mini .hp-foot{display:none}.vi-root .hp-mini{display:block}.vi-root .house-panel.mini .hp-mini{transform:rotate(180deg)}}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes pop{0%{transform:scale(0)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes micpulse{50%{transform:scale(1.08);box-shadow:0 5px #a82b2f,0 0 0 12px #e5484d33}}@keyframes swirl{to{transform:rotate(360deg) scale(.9)}}@keyframes hl{50%{fill:#ffe39a}}@keyframes pin{0%{transform:scale(.4);opacity:1}to{transform:scale(2.2);opacity:0}}@keyframes scan{0%{top:-10%}to{top:88%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes encShake{0%,to{transform:none}25%{transform:translate(-6px)}75%{transform:translate(6px)}}
