@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&family=Press+Start+2P&family=VT323&display=swap";@layer components;@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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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}}}@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-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-600:oklch(57.7% .245 27.325);--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-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--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-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--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-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-royal:#003da5;--color-sky:#1e88e5;--color-teal:#4db8a8;--color-gold:#f5c549}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.-top-10{top:calc(var(--spacing) * -10)}.-top-20{top:calc(var(--spacing) * -20)}.top-0{top:0}.top-1\/2,.top-2\/4{top:50%}.top-4{top:calc(var(--spacing) * 4)}.-right-2{right:calc(var(--spacing) * -2)}.-right-6{right:calc(var(--spacing) * -6)}.-right-14{right:calc(var(--spacing) * -14)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-16{right:calc(var(--spacing) * 16)}.-bottom-14{bottom:calc(var(--spacing) * -14)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-14{left:calc(var(--spacing) * -14)}.z-\[60\]{z-index:60}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.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)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-28{height:calc(var(--spacing) * 28)}.h-40{height:calc(var(--spacing) * 40)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-\[16\%\]{width:16%}.w-\[20\%\]{width:20%}.w-\[30\%\]{width:30%}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-9{min-width:calc(var(--spacing) * 9)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.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-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-blue-600{border-color:var(--color-blue-600)}.border-sky{border-color:var(--color-sky)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gold{background-color:var(--color-gold)}.bg-gold\/10{background-color:#f5c5491a}@supports (color:color-mix(in lab, red, red)){.bg-gold\/10{background-color:color-mix(in oklab, var(--color-gold) 10%, transparent)}}.bg-gold\/15{background-color:#f5c54926}@supports (color:color-mix(in lab, red, red)){.bg-gold\/15{background-color:color-mix(in oklab, var(--color-gold) 15%, transparent)}}.bg-gold\/20{background-color:#f5c54933}@supports (color:color-mix(in lab, red, red)){.bg-gold\/20{background-color:color-mix(in oklab, var(--color-gold) 20%, transparent)}}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-royal{background-color:var(--color-royal)}.bg-royal\/5{background-color:#003da50d}@supports (color:color-mix(in lab, red, red)){.bg-royal\/5{background-color:color-mix(in oklab, var(--color-royal) 5%, transparent)}}.bg-royal\/10{background-color:#003da51a}@supports (color:color-mix(in lab, red, red)){.bg-royal\/10{background-color:color-mix(in oklab, var(--color-royal) 10%, transparent)}}.bg-sky{background-color:var(--color-sky)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-sky\/10{background-color:#1e88e51a}@supports (color:color-mix(in lab, red, red)){.bg-sky\/10{background-color:color-mix(in oklab, var(--color-sky) 10%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-teal{background-color:var(--color-teal)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal\/10{background-color:#4db8a81a}@supports (color:color-mix(in lab, red, red)){.bg-teal\/10{background-color:color-mix(in oklab, var(--color-teal) 10%, transparent)}}.bg-teal\/15{background-color:#4db8a826}@supports (color:color-mix(in lab, red, red)){.bg-teal\/15{background-color:color-mix(in oklab, var(--color-teal) 15%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#ffd76a\]{--tw-gradient-from:#ffd76a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-royal{--tw-gradient-from:var(--color-royal);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-teal{--tw-gradient-from:var(--color-teal);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-sky{--tw-gradient-via:var(--color-sky);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-gold{--tw-gradient-to:var(--color-gold);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky{--tw-gradient-to:var(--color-sky);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky\/5{--tw-gradient-to:#1e88e50d}@supports (color:color-mix(in lab, red, red)){.to-sky\/5{--tw-gradient-to:color-mix(in oklab, var(--color-sky) 5%, transparent)}}.to-sky\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-sky\/10{--tw-gradient-to:#1e88e51a}@supports (color:color-mix(in lab, red, red)){.to-sky\/10{--tw-gradient-to:color-mix(in oklab, var(--color-sky) 10%, transparent)}}.to-sky\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal{--tw-gradient-to:var(--color-teal);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-teal\/5{--tw-gradient-to:#4db8a80d}@supports (color:color-mix(in lab, red, red)){.to-teal\/5{--tw-gradient-to:color-mix(in oklab, var(--color-teal) 5%, transparent)}}.to-teal\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-7{padding-top:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-gold{color:var(--color-gold)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-indigo-800{color:var(--color-indigo-800)}.text-orange-700{color:var(--color-orange-700)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-royal{color:var(--color-royal)}.text-sky{color:var(--color-sky)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-sky-800{color:var(--color-sky-800)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal{color:var(--color-teal)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-white{color:var(--color-white)}.text-white\/15{color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.text-white\/15{color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-gold\/25{--tw-shadow-color:#f5c54940}@supports (color:color-mix(in lab, red, red)){.shadow-gold\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-gold) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-gold\/40{--tw-shadow-color:#f5c54966}@supports (color:color-mix(in lab, red, red)){.shadow-gold\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-gold) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-royal\/25{--tw-shadow-color:#003da540}@supports (color:color-mix(in lab, red, red)){.shadow-royal\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-royal) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-teal\/25{--tw-shadow-color:#4db8a840}@supports (color:color-mix(in lab, red, red)){.shadow-teal\/25{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-teal) 25%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-amber-400{--tw-ring-color:var(--color-amber-400)}.ring-emerald-400{--tw-ring-color:var(--color-emerald-400)}.ring-gold{--tw-ring-color:var(--color-gold)}.ring-orange-500{--tw-ring-color:var(--color-orange-500)}.ring-sky{--tw-ring-color:var(--color-sky)}.ring-sky-400{--tw-ring-color:var(--color-sky-400)}.ring-slate-300{--tw-ring-color:var(--color-slate-300)}.ring-slate-400{--tw-ring-color:var(--color-slate-400)}.ring-teal{--tw-ring-color:var(--color-teal)}.ring-teal\/40{--tw-ring-color:#4db8a866}@supports (color:color-mix(in lab, red, red)){.ring-teal\/40{--tw-ring-color:color-mix(in oklab, var(--color-teal) 40%, transparent)}}.ring-white\/20{--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.ring-white\/20{--tw-ring-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.blur{--tw-blur:blur(8px);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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:border-slate-400:hover{border-color:var(--color-slate-400)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-sky\/10:hover{background-color:#1e88e51a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sky\/10:hover{background-color:color-mix(in oklab, var(--color-sky) 10%, transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:text-royal:hover{color:var(--color-royal)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-sky:focus-visible{--tw-ring-color:var(--color-sky)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:translate-y-0:disabled:hover{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media not all and (width>=760px){.max-\[760px\]\:right-0{right:0}.max-\[760px\]\:bottom-0{bottom:0}.max-\[760px\]\:w-full{width:100%}.max-\[760px\]\:max-w-none{max-width:none}.max-\[760px\]\:gap-1{gap:var(--spacing)}.max-\[760px\]\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-\[760px\]\:pb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}}@media (width>=40rem){.sm\:table-cell{display:table-cell}.sm\:w-\[18\%\]{width:18%}.sm\:w-\[34\%\]{width:34%}.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\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-12{padding:calc(var(--spacing) * 12)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (width>=48rem){.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:w-\[30\%\]{width:30%}}@media (width>=64rem){.lg\:sticky{position:sticky}.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:top-\[calc\(var\(--topbar-height\)\+var\(--content-top-gap\)\)\]{top:calc(var(--topbar-height) + var(--content-top-gap))}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:w-\[14\%\]{width:14%}.lg\:w-\[18\%\]{width:18%}.lg\:w-\[26\%\]{width:26%}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}}:where(.dark\:divide-slate-700:where(.dark,.dark *)>:not(:last-child)){border-color:var(--color-slate-700)}:where(.dark\:divide-slate-800:where(.dark,.dark *)>:not(:last-child)){border-color:var(--color-slate-800)}.dark\:border-sky:where(.dark,.dark *){border-color:var(--color-sky)}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-slate-700:where(.dark,.dark *){border-color:var(--color-slate-700)}.dark\:border-slate-800:where(.dark,.dark *){border-color:var(--color-slate-800)}.dark\:border-white\/10:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/10:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:bg-amber-900\/40:where(.dark,.dark *){background-color:#7b330666}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-900\/40:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-900) 40%, transparent)}}.dark\:bg-amber-900\/50:where(.dark,.dark *){background-color:#7b330680}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-amber-900) 50%, transparent)}}.dark\:bg-amber-950:where(.dark,.dark *){background-color:var(--color-amber-950)}.dark\:bg-emerald-900\/40:where(.dark,.dark *){background-color:#004e3b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/40:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-emerald-900) 40%, transparent)}}.dark\:bg-gold\/10:where(.dark,.dark *){background-color:#f5c5491a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gold\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-gold) 10%, transparent)}}.dark\:bg-gold\/15:where(.dark,.dark *){background-color:#f5c54926}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gold\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-gold) 15%, transparent)}}.dark\:bg-gold\/20:where(.dark,.dark *){background-color:#f5c54933}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gold\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-gold) 20%, transparent)}}.dark\:bg-indigo-900\/50:where(.dark,.dark *){background-color:#312c8580}@supports (color:color-mix(in lab, red, red)){.dark\:bg-indigo-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-indigo-900) 50%, transparent)}}.dark\:bg-red-900\/40:where(.dark,.dark *){background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/40:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.dark\:bg-royal\/10:where(.dark,.dark *){background-color:#003da51a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-royal\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-royal) 10%, transparent)}}.dark\:bg-royal\/15:where(.dark,.dark *){background-color:#003da526}@supports (color:color-mix(in lab, red, red)){.dark\:bg-royal\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-royal) 15%, transparent)}}.dark\:bg-royal\/20:where(.dark,.dark *){background-color:#003da533}@supports (color:color-mix(in lab, red, red)){.dark\:bg-royal\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-royal) 20%, transparent)}}.dark\:bg-sky:where(.dark,.dark *){background-color:var(--color-sky)}.dark\:bg-sky-900\/50:where(.dark,.dark *){background-color:#024a7080}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-sky-900) 50%, transparent)}}.dark\:bg-sky\/10:where(.dark,.dark *){background-color:#1e88e51a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-sky) 10%, transparent)}}.dark\:bg-sky\/20:where(.dark,.dark *){background-color:#1e88e533}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-sky) 20%, transparent)}}.dark\:bg-slate-700:where(.dark,.dark *){background-color:var(--color-slate-700)}.dark\:bg-slate-800:where(.dark,.dark *){background-color:var(--color-slate-800)}.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:bg-slate-900:where(.dark,.dark *){background-color:var(--color-slate-900)}.dark\:bg-teal-900\/50:where(.dark,.dark *){background-color:#0b4f4a80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-teal-900\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-teal-900) 50%, transparent)}}.dark\:bg-teal\/10:where(.dark,.dark *){background-color:#4db8a81a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-teal\/10:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-teal) 10%, transparent)}}.dark\:bg-teal\/15:where(.dark,.dark *){background-color:#4db8a826}@supports (color:color-mix(in lab, red, red)){.dark\:bg-teal\/15:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-teal) 15%, transparent)}}.dark\:bg-teal\/20:where(.dark,.dark *){background-color:#4db8a833}@supports (color:color-mix(in lab, red, red)){.dark\:bg-teal\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-teal) 20%, transparent)}}.dark\:from-slate-900:where(.dark,.dark *){--tw-gradient-from:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:from-slate-950:where(.dark,.dark *){--tw-gradient-from:var(--color-slate-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-slate-900:where(.dark,.dark *){--tw-gradient-to:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-amber-200:where(.dark,.dark *){color:var(--color-amber-200)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-emerald-200:where(.dark,.dark *){color:var(--color-emerald-200)}.dark\:text-emerald-300:where(.dark,.dark *){color:var(--color-emerald-300)}.dark\:text-gold:where(.dark,.dark *){color:var(--color-gold)}.dark\:text-indigo-200:where(.dark,.dark *){color:var(--color-indigo-200)}.dark\:text-orange-300:where(.dark,.dark *){color:var(--color-orange-300)}.dark\:text-red-200:where(.dark,.dark *){color:var(--color-red-200)}.dark\:text-red-300:where(.dark,.dark *){color:var(--color-red-300)}.dark\:text-sky:where(.dark,.dark *){color:var(--color-sky)}.dark\:text-sky-200:where(.dark,.dark *){color:var(--color-sky-200)}.dark\:text-sky-300:where(.dark,.dark *){color:var(--color-sky-300)}.dark\:text-sky-400:where(.dark,.dark *){color:var(--color-sky-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-300:where(.dark,.dark *){color:var(--color-slate-300)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:text-slate-500:where(.dark,.dark *){color:var(--color-slate-500)}.dark\:text-slate-600:where(.dark,.dark *){color:var(--color-slate-600)}.dark\:text-teal:where(.dark,.dark *){color:var(--color-teal)}.dark\:text-teal-200:where(.dark,.dark *){color:var(--color-teal-200)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:ring-amber-500:where(.dark,.dark *){--tw-ring-color:var(--color-amber-500)}.dark\:ring-emerald-500:where(.dark,.dark *){--tw-ring-color:var(--color-emerald-500)}.dark\:ring-sky-500:where(.dark,.dark *){--tw-ring-color:var(--color-sky-500)}.dark\:ring-slate-600:where(.dark,.dark *){--tw-ring-color:var(--color-slate-600)}@media (hover:hover){.dark\:hover\:border-slate-500:where(.dark,.dark *):hover{border-color:var(--color-slate-500)}.dark\:hover\:border-slate-600:where(.dark,.dark *):hover{border-color:var(--color-slate-600)}.dark\:hover\:bg-slate-700:where(.dark,.dark *):hover{background-color:var(--color-slate-700)}.dark\:hover\:bg-slate-800:where(.dark,.dark *):hover{background-color:var(--color-slate-800)}.dark\:hover\:text-sky:where(.dark,.dark *):hover{color:var(--color-sky)}.dark\:hover\:text-slate-200:where(.dark,.dark *):hover{color:var(--color-slate-200)}.dark\:hover\:text-white:where(.dark,.dark *):hover{color:var(--color-white)}}}.matching-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-inline:auto;display:grid}.matching-state-wrap{justify-content:center;padding-bottom:24px}.matching-state-wrap>.state-card,.matching-state-wrap>.card-grid{width:min(760px,100%);margin:auto}.matching-topic-card.disabled{opacity:.72;cursor:not-allowed}.matching-topic-card.disabled .mc-topic-icon{color:var(--muted);background:#eef2f7}.matching-topic-meta{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.matching-topic-reason{color:#8a5b00}.matching-progress-bar{flex:1;max-width:360px;margin:0 16px}.matching-question-text{color:var(--muted);font-size:13px;font-weight:600}.matching-column{align-content:start;gap:5px;display:grid}.matching-column h3{color:#314b65;letter-spacing:.04em;text-transform:uppercase;text-align:center;margin:0;font-size:11px;font-weight:700}.matching-tile{color:#173452;width:100%;height:42px;min-height:42px;font:inherit;text-align:left;background:#fff;border:2px solid #dce5f1;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;font-size:13px;font-weight:700;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.matching-tile:not(:disabled):hover{border-color:var(--primary);background:#edf6ff}.matching-tile:not(:disabled):focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.matching-tile.selected{border-color:var(--primary);background:#e7f3ff;box-shadow:0 0 0 3px #1e88e524}.matching-tile.matched{color:#334155;background:#f4f6f8;border-color:#b7c1cc}.matching-tile.correct{color:#12673a;background:#e8fff3;border-color:#22a06b}.matching-tile.incorrect{color:#a72626;background:#fff0f0;border-color:#ef6b6b}.matching-tile:disabled{cursor:default}.matching-tile small{color:var(--primary);text-align:right;font-size:12px;font-weight:600}.matching-word{flex-direction:column;align-items:flex-start;gap:2px;min-width:70px;max-width:36%;display:flex}.matching-word b{color:inherit;font-size:15px;line-height:1.15}.matching-word small{color:var(--muted);text-align:left;font-weight:600}.matching-pair-result{text-align:right;justify-content:flex-end;align-items:center;gap:6px;width:100%;font-size:12px;display:flex}.matching-pair-result>span{white-space:nowrap;align-items:baseline;gap:4px;display:flex}.matching-pair-result small{color:var(--muted);font-size:10px}.matching-pair-result svg{flex:none;width:18px;height:18px}.matching-answer-stack{flex-direction:column;flex:1;align-items:flex-end;gap:7px;min-width:0;display:flex}.matching-correct-answer{color:#12673a;text-align:right;font-size:11px;line-height:1.35}.matching-correct-answer b{color:inherit}.matching-left-tile.locked{align-items:flex-start;height:auto;padding:5px 12px}.matching-right-tile small{max-width:35%}.matching-error{color:#a72626;border-left:4px solid #ef6b6b}.matching-navigation{z-index:2;border-top:0;padding-top:0;position:absolute;bottom:14px;right:clamp(20px,4vw,44px);margin-top:0!important}.matching-live-status{min-height:0;color:var(--muted);text-align:center;margin:0;font-size:12px}.matching-live-status.has-message{min-height:16px;margin:4px 0 0}.matching-completion{width:min(920px,100%)}.matching-review{text-align:left;width:100%;margin-top:20px}.matching-review-heading h3{color:#173452;margin:0;font-size:20px}.matching-review-heading p{color:var(--muted);margin-top:6px;font-size:14px}.matching-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.matching-review-card{background:#fff;border:1px solid #dce5f1;border-left:4px solid #22a06b;border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.matching-review-card.needs-review{background:snow;border-left-color:#ef6b6b}.matching-review-card p{color:#52677c;margin:0;font-size:13px;line-height:1.45}.matching-review-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.matching-review-card-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.matching-review-card-head strong{color:#173452;font-size:24px;line-height:1.2}.matching-review-card-head div>span{color:var(--muted);font-size:12px}.matching-review-status{color:#12673a;background:#e8fff3;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.needs-review .matching-review-status{color:#a72626;background:#fff0f0}.matching-review-card .matching-review-meaning b{color:#173452}.matching-review-card .matching-review-mistakes{color:#a72626}.matching-review-link{color:var(--primary);align-self:flex-start;align-items:center;gap:4px;margin-top:auto;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.matching-review-link:hover{text-decoration:underline}.matching-review-link:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #1e88e547}.matching-review-link svg{width:15px;height:15px}@media (width<=640px){.matching-review-grid{grid-template-columns:1fr}.matching-completion .quiz-result-actions{flex-direction:column;width:100%}.matching-completion .quiz-result-actions button{width:100%}.matching-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.matching-column{gap:6px}.matching-tile{height:46px;min-height:46px;padding:5px 8px;font-size:11px}.matching-word b{font-size:15px}.matching-left-tile.locked{flex-direction:column;justify-content:center;align-items:stretch;gap:2px;height:auto;min-height:58px}.matching-left-tile.locked .matching-word{gap:0;min-width:0;max-width:none}.matching-left-tile.locked .matching-word b{font-size:13px}.matching-left-tile.locked .matching-answer-stack{align-items:flex-start;gap:0}.matching-left-tile.locked .matching-pair-result small{font-size:9px}.matching-left-tile.locked .matching-pair-result{text-align:left;justify-content:flex-start}.matching-left-tile.locked .matching-pair-result>span{align-items:flex-start}.matching-left-tile.locked .matching-correct-answer{text-align:left}.matching-topic-meta{justify-content:flex-start}}.game-shell{background:var(--bg);min-height:100vh;display:flex}.game-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:264px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.game-sidebar-overview{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.game-overview-content{flex-direction:column;gap:16px;display:flex}.card.game-overview-card{background:linear-gradient(160deg, var(--primary-50) 0%, #f2fbf8 100%);border-color:var(--primary-100);border-radius:16px;flex-direction:column;gap:12px;padding:16px 18px;display:flex;box-shadow:0 6px 18px #1e88e51a}.game-overview-level-row{align-items:center;gap:10px;display:flex}.game-overview-level-badge{background:linear-gradient(135deg, var(--dark), var(--primary), var(--teal));color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid;box-shadow:0 4px 10px #003da540}.game-overview-level{color:var(--dark);margin:0;font-weight:800}.game-overview-xp{flex-direction:column;gap:4px;width:100%;display:flex}.progress.game-overview-xp-bar{background:#f5c5494d}.progress.progress-gold>div{background:#f5c549}.game-overview-xp-text{color:#596579;font-size:13px;font-weight:700}.game-overview-currency-row{gap:16px;margin-top:4px;display:flex}.game-overview-currency{color:var(--dark);align-items:center;gap:6px;font-weight:800;display:flex}.game-overview-currency svg{width:18px;height:18px;color:var(--accent)}.game-overview-line{color:#596579;margin:0;font-weight:650}.game-overview-active-battle{flex-direction:column;gap:8px;display:flex}.game-overview-active-battle .btn{width:100%}.card.game-stalled-battle-banner{background:#f5c5491f;border:1px solid #f5c54980;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.game-stalled-battle-banner>svg{color:#a3760a;flex-shrink:0;width:24px;height:24px}.game-stalled-battle-content{flex:1;min-width:200px}.game-stalled-battle-text{color:var(--dark);margin:0;font-weight:700}.game-stalled-battle-actions{flex-wrap:wrap;gap:8px;display:flex}.card.game-low-hp-banner{background:#1e88e51a;border:1px solid #1e88e573;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.card.game-low-hp-banner-empty{background:#dc46461a;border-color:#dc464680}.game-low-hp-banner>svg{width:24px;height:24px;color:var(--sky);flex-shrink:0}.game-low-hp-banner-empty>svg{color:#c44242}.game-low-hp-content{flex:1;min-width:220px}.game-low-hp-title,.game-low-hp-description{margin:0}.game-low-hp-title{color:var(--dark);font-weight:700}.game-low-hp-description{color:var(--muted);margin-top:4px}.game-low-hp-modal-body{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.game-low-hp-modal-body>svg{color:#c44242;width:40px;height:40px}.game-low-hp-modal-body p{max-width:440px;margin:0}.game-low-hp-inventory-link{color:var(--sky);text-underline-offset:2px;font-weight:700;text-decoration:underline}.game-sidebar-brand{color:var(--dark);white-space:nowrap;align-items:center;gap:8px;padding:8px 12px 24px;font-size:19px;font-weight:800;display:flex}.game-sidebar-tag{text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:#5a3d00;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.game-menu{flex-direction:column;gap:4px;display:flex}.game-menu-link{color:#596579;white-space:nowrap;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;font-size:15px;font-weight:700;display:flex}.game-menu-link svg{flex-shrink:0;width:22px;height:22px}.game-menu-link:hover{color:var(--dark);background:var(--bg)}.game-menu-link.active{color:var(--dark);background:#4db8a829}.game-menu-link.active svg{color:var(--teal)}.game-sidebar-footer{border-top:1px solid var(--border);padding-top:12px}.game-sidebar-back{color:#596579;white-space:nowrap;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;font-size:14px;font-weight:700;display:flex}.game-sidebar-back svg{flex-shrink:0;width:20px;height:20px}.game-sidebar-back:hover{color:var(--dark);background:var(--bg)}.game-shell-body{flex-direction:column;flex:1;min-width:0;display:flex}.game-topbar{z-index:30;border-bottom:1px solid var(--border);background:#fff;align-items:center;min-height:56px;padding:8px 12px;display:none;position:sticky;top:0}.game-overview-compact{align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.game-overview-compact-left,.game-overview-compact-right{align-items:center;min-width:0;display:flex}.game-overview-compact-left{display:contents}.game-overview-compact-right{flex:none;gap:6px;margin-left:0}.game-overview-compact-level{color:var(--dark);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:800}.game-overview-compact-hp{background:#1e88e529;border-radius:999px;flex:108px;min-width:60px;max-width:150px;height:18px;position:relative;overflow:hidden}.game-overview-compact-hp-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--teal));height:100%;transition:width .5s;position:absolute;inset:0 auto 0 0}.game-overview-compact-hp-text{z-index:1;color:#0f2744;text-shadow:0 0 2px #fff,0 1px #fff,1px 0 #fff,0 -1px #fff,-1px 0 #fff;pointer-events:none;white-space:nowrap;place-items:center;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0}.game-overview-compact-xp{background:#f5c5493d;border-radius:999px;flex:0 132px;min-width:92px;height:18px;position:relative;overflow:hidden}.game-overview-compact-xp-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s;position:absolute;inset:0 auto 0 0}.game-overview-compact-xp-text{z-index:1;color:#5a3d00;text-shadow:0 0 2px #fff,0 1px #fff,1px 0 #fff,0 -1px #fff,-1px 0 #fff;pointer-events:none;white-space:nowrap;place-items:center;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0}.game-overview-compact-xp-ring{color:#5a3d00;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;padding:3px;font-size:8px;font-weight:800;display:grid}.game-overview-compact-xp-ring>span{background:#fff;border-radius:50%;place-items:center;width:100%;height:100%;display:grid}.game-overview-compact-xp-ring .game-overview-compact-level{font-size:12px}.game-overview-compact-stat{color:var(--dark);white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:13px;font-weight:800;display:inline-flex}.game-overview-compact-stat svg{width:15px;height:15px;color:var(--accent)}@media (width<=760px){.game-overview-compact,.game-overview-compact-right{gap:5px}.game-overview-compact-stat{font-size:12px}.game-overview-compact-hp{min-width:44px;max-width:none}}@media (width<=360px){.game-overview-compact,.game-overview-compact-right{gap:3px}.game-overview-compact-xp-ring{flex-basis:27px;width:27px;height:27px}.game-overview-compact-hp{min-width:36px;max-width:none}.game-overview-compact-stat{font-size:11px}.game-overview-compact-stat svg{width:13px;height:13px}}.mobile-navigation-shell{display:none}@media (width<=760px){.mobile-navigation-shell{z-index:50;pointer-events:none;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-navigation-shell.menu-open{z-index:70}.mobile-navigation-shell>.learning-bottom-nav{pointer-events:auto;position:relative}.mobile-navigation-dropdown{pointer-events:auto;border:1px solid var(--border);background:#fff;border-radius:14px;width:min(280px,100vw - 16px);max-height:min(70vh,520px);padding:10px;position:absolute;bottom:calc(100% + 8px);right:8px;overflow-y:auto;box-shadow:0 14px 36px #003da52e}.mobile-learning-dropdown{left:8px;right:auto}.mobile-navigation-dropdown .sidebar-nav{gap:2px}.mobile-navigation-dropdown .sidebar-nav-item{padding:10px 12px;font-size:14px}.mobile-navigation-dropdown .sidebar-nav-item.active{padding-left:9px}.mobile-more-profile{margin-top:8px}}.dark .mobile-navigation-dropdown{background:var(--surface,#1a1f2e)}.game-bottom-nav{z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fff;justify-content:space-around;align-items:stretch;gap:4px;display:none;position:sticky;bottom:0;box-shadow:0 -6px 16px #003da50f}.game-bottom-nav .game-menu{display:contents}.game-bottom-nav .game-menu-link{text-align:center;white-space:nowrap;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 4px;font-size:11px;font-weight:700;line-height:1.1;display:flex}.game-bottom-nav .game-menu-link svg{width:26px;height:26px}.game-main{flex:1;padding:24px 0 60px}.game-container{width:min(1200px,100% - 48px);margin:auto}.game-loading{min-height:200px}.game-character-card{text-align:center;cursor:pointer;border:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;padding:20px;display:flex}.game-character-sprite{background:var(--bg);width:100%;height:224px;color:var(--dark);border-radius:12px;justify-content:center;align-items:flex-end;font-size:32px;font-weight:800;display:flex;overflow:hidden}.game-sprite-animation{image-rendering:pixelated;background-repeat:no-repeat;display:block}.game-character-cta{margin-top:auto}.game-stats-free-points{color:var(--dark);margin-bottom:8px;font-weight:700}.game-stats-rows{flex-direction:column;gap:0;display:flex}.game-stats-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 4px;display:flex}.game-stats-row:last-child{border-bottom:0}.game-stats-label{align-items:center;gap:10px;font-weight:700;display:flex}.game-stats-label svg{box-sizing:border-box;border-radius:999px;flex-shrink:0;place-items:center;width:30px;height:30px;padding:7px;display:grid}.game-stats-label-hp svg{color:#e0554a;background:#e0554a1f}.game-stats-label-atk svg{color:#e08a2b;background:#e08a2b1f}.game-stats-label-def svg{color:var(--primary);background:var(--primary-50)}.game-stats-label-luck svg{color:#1f9d63;background:#1f9d631f}.game-stats-stepper{align-items:center;gap:10px;display:flex}.game-stats-step-btn{background:linear-gradient(135deg, var(--dark), var(--primary));color:#fff;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;display:grid;box-shadow:0 3px 8px #003da538}.game-stats-step-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--primary), var(--teal))}.game-stats-step-btn svg{stroke-width:2.5px;width:16px;height:16px}.game-stats-pending-value{background:var(--bg);text-align:center;width:48px;color:var(--dark);border-radius:999px;flex-shrink:0;padding:4px 0;font-weight:800}.game-stats-save-row{justify-content:flex-end;margin-top:16px;display:flex}.game-shop-card{flex-direction:column;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.game-shop-card:hover{border-color:var(--primary-100);transform:translateY(-4px);box-shadow:0 16px 32px #1e88e524}.game-shop-card-body{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;padding:22px 18px 4px;display:flex}.game-shop-icon-frame{background:radial-gradient(circle at 50% 30%, #fff9, transparent 60%), linear-gradient(155deg, var(--primary-50) 0%, #eafaf6 100%);width:96px;height:96px;box-shadow:inset 0 0 0 1px var(--primary-100);border-radius:22px;place-items:center;margin-bottom:14px;display:grid}.game-shop-image{object-fit:contain;width:56px;height:56px;image-rendering:pixelated;filter:drop-shadow(0 4px 6px #003da52e)}.game-shop-name{color:var(--dark);margin:0 0 6px;font-weight:800}.game-shop-description{color:var(--muted);margin:0;font-size:13px}.game-shop-card-footer{flex-direction:column;gap:10px;padding:16px 18px 20px;display:flex}.game-shop-price{color:#a5730a;background:#f5c54929;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:5px 14px;font-size:15px;font-weight:800;display:flex}.game-shop-price svg{width:15px;height:15px;color:var(--accent)}.game-inventory-effect{color:var(--teal);font-weight:700}.game-inventory-card{flex-direction:column;gap:16px;padding:18px;display:flex}.game-inventory-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;display:grid}.game-inventory-slot{aspect-ratio:1;background:radial-gradient(circle at 50% 30%, #ffffffb3, transparent 60%), linear-gradient(155deg, var(--primary-50) 0%, #eafaf6 100%);border:1px solid var(--primary-100);color:var(--dark);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:24px;font-weight:800;transition:transform .1s,box-shadow .1s;display:flex;position:relative}.game-inventory-slot:hover:not(:disabled){box-shadow:0 0 0 3px var(--primary);transform:scale(1.05)}.game-inventory-slot img{object-fit:contain;width:48px;height:48px;image-rendering:pixelated}.game-inventory-slot-quantity{background:var(--dark);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:1px 5px;font-size:11px;font-weight:800;position:absolute;bottom:4px;right:4px}.game-inventory-modal-body{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.game-inventory-modal-image{object-fit:contain;width:72px;height:72px;image-rendering:pixelated}.game-level-tabs{gap:8px;margin-bottom:16px;display:flex}.game-level-tab{color:#596579;background:#f4f7fb;border-radius:10px;padding:8px 16px;font-weight:650}.game-level-tab.active{background:var(--dark);color:#fff}.game-topic-card{flex-direction:column;gap:6px;padding:18px;display:flex}.game-topic-name-ja{color:#596579}.game-topic-progress-bar{margin-top:4px}.game-topic-progress-text{color:#596579;font-size:13px;font-weight:700}.game-topic-card .btn{margin-top:auto}.game-profile-row{grid-template-columns:minmax(240px,380px) 1fr;align-items:start;gap:20px;display:grid}.game-profile-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 24px 24px;display:flex}.card.game-profile-card{background:linear-gradient(180deg, var(--primary-50) 0%, #fff 60%)}.game-profile-sprite-frame{background:radial-gradient(circle at 50% 32%, #ffffffd9, transparent 65%), linear-gradient(160deg, var(--primary-100), #cdf0e6);width:176px;height:176px;box-shadow:inset 0 0 0 1px var(--primary-100), 0 12px 28px #003da524;border-radius:50%;place-items:center;margin-bottom:8px;display:grid;position:relative}.game-profile-level-badge{background:linear-gradient(160deg, var(--accent), #d9a520);color:#4a2f00;z-index:1;border-radius:8px;padding:5px 8px;font-family:"Press Start 2P",monospace;font-size:10px;line-height:1;position:absolute;top:4px;left:4px;box-shadow:0 2px #0000002e,0 4px 10px #f5c54966}.game-profile-name{color:var(--dark);margin:4px 0 0;font-size:21px;font-weight:800}.game-profile-level-line{color:var(--primary);margin:0;font-weight:700}.game-profile-stats-card{padding:24px}.game-profile-hp{flex-direction:column;gap:4px;width:100%;display:flex}.game-profile-hp-bar{height:14px;box-shadow:inset 0 0 0 1px var(--primary-100);border-radius:999px}.game-profile-hp-bar>div{background:linear-gradient(90deg, #e0554a, var(--accent), var(--teal));position:relative}.game-profile-hp-bar>div:after{content:"";background:#ffffff59;border-radius:999px 999px 0 0;height:40%;position:absolute;inset:1px 1px auto}.game-profile-hp-text{color:#596579;font-size:13px;font-weight:700}.game-profile-section{margin-top:32px}.game-profile-section-title{color:var(--dark);align-items:center;gap:8px;margin-bottom:12px;font-size:20px;font-weight:800;display:flex}.game-profile-section-title svg{width:20px;height:20px;color:var(--teal)}.game-equipment-card{flex-direction:column;gap:14px;padding:18px;display:flex}.game-equipment-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.game-equipment-slot{text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px 14px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.game-equipment-slot:disabled{cursor:default}.game-equipment-slot.is-filled:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 22px #003da529}.game-equipment-slot-type{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.game-equipment-slot-icon{background:#ffffff8c;border-radius:14px;place-items:center;width:60px;height:60px;margin:2px 0;display:grid}.game-equipment-slot-icon img{object-fit:contain;width:44px;height:44px;image-rendering:pixelated}.game-equipment-slot-icon svg{opacity:.45;width:28px;height:28px}.game-equipment-slot-name{color:var(--dark);font-size:14px;font-weight:800}.game-equipment-slot-rarity{font-size:11px;font-weight:700}.game-equipment-slot-bonus{color:var(--muted);font-size:12px;font-weight:600}.game-equipment-total{color:var(--muted);text-align:right;margin:0;font-size:13px;font-weight:700}.game-equipment-slot.is-empty{background:var(--bg);border:1.5px dashed var(--border)}.game-equipment-slot.is-empty .game-equipment-slot-name{color:var(--muted);font-weight:600}.rarity-1.is-filled,.game-inventory-slot.rarity-1{border:1px solid var(--border);background:linear-gradient(155deg,#f4f6fa 0%,#e9edf4 100%)}.rarity-2.is-filled,.game-inventory-slot.rarity-2{background:linear-gradient(155deg, var(--primary-50) 0%, #eafaf6 100%);border:1px solid var(--primary-100);box-shadow:0 0 0 1px #1e88e51f}.rarity-3.is-filled,.game-inventory-slot.rarity-3{background:linear-gradient(155deg,#4db8a824 0%,#4db8a80d 100%);border:1px solid #4db8a873;box-shadow:0 0 0 1px #4db8a82e}.rarity-4.is-filled,.game-inventory-slot.rarity-4{background:linear-gradient(155deg,#f5c54938 0%,#f5c5490f 100%);border:1px solid #f5c54999;box-shadow:0 0 0 1px #f5c54940,0 0 16px #f5c54959}.game-equipment-slot.rarity-1 .game-equipment-slot-rarity{color:var(--muted)}.game-equipment-slot.rarity-2 .game-equipment-slot-rarity{color:var(--primary)}.game-equipment-slot.rarity-3 .game-equipment-slot-rarity{color:var(--teal)}.game-equipment-slot.rarity-4 .game-equipment-slot-rarity{color:#a5730a}.game-inventory-slot.is-equipped{box-shadow:0 0 0 2px var(--teal)}.dark .game-equipment-slot-icon{background:#ffffff0f}.dark .game-equipment-slot.is-empty{background:#16233d;border-color:#26385c}.dark .rarity-1.is-filled,.dark .game-inventory-slot.rarity-1{background:linear-gradient(155deg,#1a2740 0%,#16233d 100%);border-color:#2c3e5e}.dark .rarity-2.is-filled,.dark .game-inventory-slot.rarity-2{background:linear-gradient(155deg,#1e88e529 0%,#1e88e50d 100%);border-color:#1e88e566}.dark .rarity-3.is-filled,.dark .game-inventory-slot.rarity-3{background:linear-gradient(155deg,#4db8a833 0%,#4db8a80f 100%);border-color:#4db8a873}.dark .rarity-4.is-filled,.dark .game-inventory-slot.rarity-4{background:linear-gradient(155deg,#f5c54942 0%,#f5c54914 100%);border-color:#f5c5498c}.question-runner{width:100%;overflow:hidden}.question-runner-track{will-change:transform;width:200%;display:flex;transform:translate(0)}.question-runner.is-sliding .question-runner-track{transition:transform .26s;transform:translate(-50%)}.question-slide{box-sizing:border-box;flex:0 0 50%;width:50%;min-width:0}.question-slide.is-preload{pointer-events:none;-webkit-user-select:none;user-select:none}.question-runner.transitioning .question-card{pointer-events:none}.question-card{flex-direction:column;gap:16px;padding:24px;display:flex}.question-prompt{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.question-prompt-text{color:var(--dark);font-size:22px;font-weight:800}.question-prompt-sub{color:#596579;font-size:15px;font-weight:600}.question-audio-btn{background:var(--bg);width:36px;height:36px;color:var(--dark);border-radius:999px;flex:none;place-items:center;display:grid}.question-audio-icon{pointer-events:none;width:18px;height:18px;color:var(--dark);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.question-audio-btn svg,.question-audio-icon svg{width:18px;height:18px}.question-options{flex-direction:column;gap:8px;display:flex}.question-option{border:2px solid var(--border);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-weight:650;display:flex}.question-option.selected{border-color:var(--primary);background:#edf6ff}.question-option.is-correct{border-color:var(--teal);background:#eafaf6}.question-option.is-wrong{background:#fdecec;border-color:#d64545}.question-tile-reveal{border:1px solid var(--teal);background:#eafaf6;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.question-tile-reveal-label{color:#2f6f64;font-size:12px;font-weight:700}.question-tile-reveal-text{color:var(--dark);font-weight:750}.question-runner{position:relative}.question-result-sheet-overlay{z-index:40;pointer-events:auto;background:0 0;justify-content:center;align-items:flex-end;padding:12px 12px 16px;display:flex;position:absolute;inset:0}.question-result-sheet{border:2px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:min(100%,448px);padding:16px 18px;display:flex;box-shadow:0 12px 32px #0f172a2e}.question-result-sheet.is-correct{border-color:var(--teal);background:#f3fcf9}.question-result-sheet.is-incorrect{background:#fff7f7;border-color:#d64545}.question-result-sheet-header{align-items:center;gap:8px;display:flex}.question-result-sheet-title{margin:0;font-size:18px;font-weight:800;line-height:1.2}.question-result-sheet.is-correct .question-result-sheet-title{color:#1f7a6c}.question-result-sheet.is-incorrect .question-result-sheet-title{color:#b42318}.question-result-sheet-body{color:var(--dark);margin:0;font-size:14px;line-height:1.45}.question-result-sheet-label{color:#5b6472;font-weight:700}.question-result-sheet-answer{font-weight:750}.question-result-sheet-actions{justify-content:flex-end;display:flex}.question-actions{justify-content:flex-end;width:100%;display:flex}.question-tile-answer{--question-tile-row-height:calc(1.25em + 16px + 4px);min-height:calc(24px + (2 * var(--question-tile-row-height)) + 8px);background:var(--bg);box-sizing:border-box;border-radius:12px;flex-wrap:wrap;align-content:flex-start;gap:8px;padding:12px;display:flex}.question-tile-placeholder{color:#96a3b8;font-size:14px;line-height:1.25}.question-tile-bank{flex-wrap:wrap;gap:8px;display:flex}.question-tile{box-sizing:border-box;border:2px solid var(--border);background:#fff;border-radius:10px;padding:8px 14px;font-weight:700;line-height:1.25}.question-tile.answer{background:var(--teal);border-color:var(--teal);color:#fff}.question-tile.bank:disabled{opacity:.35}.question-matching-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.question-matching-column{flex-direction:column;gap:8px;min-width:0;display:flex}.question-matching-item{box-sizing:border-box;border:2px solid var(--border);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;width:100%;min-width:0;min-height:52px;padding:12px 14px;font-weight:650;display:flex}.question-matching-item>span:not(.question-audio-icon){overflow-wrap:anywhere;flex:auto;min-width:0}.question-matching-item.pending{border-color:var(--primary)}.question-matching-item.assigned,.question-matching-item.is-correct{border-color:var(--teal);background:#eafaf6}.question-matching-item.is-wrong{background:#fdecec;border-color:#d64545}.question-shadowing-prompt{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.question-shadowing-recorder{flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.question-shadowing-record-btn{background:var(--dark);color:#fff;border-radius:999px;place-items:center;width:68px;height:68px;display:grid}.question-shadowing-record-btn.recording{background:#d64545}.question-shadowing-record-btn:disabled{opacity:.4}.question-shadowing-status{color:#596579;font-size:13px;font-weight:650}.question-shadowing-transcript{color:var(--dark);text-align:center;font-size:14px}.question-shadowing-transcript .interim{color:#96a3b8;font-style:italic}.question-dev-log{margin-top:24px;padding:18px}.battle-screen{flex-direction:column;gap:16px;width:100%;min-width:0;max-width:1024px;height:100%;min-height:0;margin:0 auto;padding:16px;display:flex;position:relative;overflow-y:auto}.battle-scene{background:#0b1220;border-radius:16px;flex:0 0 300px;width:min(100%,1024px);max-width:100%;height:300px;margin-inline:auto;position:relative;overflow:hidden}.battle-canvas-host{position:absolute;inset:0;overflow:hidden}.battle-canvas-host canvas{max-width:none;image-rendering:pixelated;display:block;width:100%!important;height:100%!important}.battle-question-panel{overscroll-behavior:contain;min-width:0;height:calc(100% - 316px);overflow-y:auto}.battle-question-panel .question-runner,.battle-question-panel .question-slide.is-active .question-card{min-height:100%}.battle-question-panel .question-actions{justify-content:flex-end}.battle-hud{pointer-events:none;padding:12px 16px;position:absolute;inset:0}.battle-hud-panel{flex-direction:column;gap:4px;width:220px;min-width:0;display:flex;position:absolute;top:12px}.battle-hud-panel-character{left:16px}.battle-hud-panel-monster{text-align:right;right:16px}.battle-hud-solo .battle-hud-panel-monster{text-align:center;width:min(320px,100% - 32px);left:50%;right:auto;transform:translate(-50%)}.battle-hud-solo .battle-hud-panel-monster .battle-hud-name-row{justify-content:center}.battle-hud-solo .battle-hud-panel-monster .battle-hp-text{text-align:center}.battle-hud-panel-monster .battle-hud-name-row{justify-content:flex-end}.battle-hud-name-row{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.battle-hud-name{text-overflow:ellipsis;white-space:nowrap;color:#fff;text-shadow:0 1px 2px #0009;flex:auto;min-width:0;font-weight:800;overflow:hidden}.battle-hud-name-row .badge{flex:none}.battle-hp-bar{background:#ffffff40}.battle-hp-bar-character.progress{display:block}.battle-hp-bar-character.progress>div{float:none;margin-left:0;margin-right:auto}.battle-hp-bar-monster.progress{justify-content:flex-end;display:flex}.battle-hp-bar-monster.progress>div{flex:none}.battle-hp-text{color:#fff;text-shadow:0 1px 2px #0009;font-size:12px;font-weight:700}.battle-hud-panel-monster .battle-hp-text{text-align:right}.battle-hud-countdown{color:#fff;text-shadow:0 1px 2px #0009;font-size:12px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%)}.battle-floating-number{color:#ff5252;text-shadow:0 1px 3px #000000b3;font-size:20px;font-weight:900;animation:.9s ease-out forwards battle-float-up;position:absolute;top:40%}.battle-floating-number-character{left:50px;transform:translate(0)}.battle-floating-number-monster{left:auto;right:50px;transform:translate(0)}.battle-floating-number.tone-heal{color:#4dd88a}.battle-floating-number.tone-crit{color:#ffd54d;font-size:24px}.battle-floating-number.tone-guard{color:#9fb8ff;font-size:16px}@keyframes battle-float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}.battle-stalled{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pvp-spectate-result{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.pvp-spectate-result-popup{position:relative}.pvp-challenge-card.pvp-spectate-result-popup{box-shadow:none;background:0 0;border:none;animation:.36s cubic-bezier(.2,1.4,.4,1) both pvp-challenge-pop-in}.pvp-spectate-result-trophy-bg{aspect-ratio:1;filter:drop-shadow(0 0 28px #f5c5498c);pointer-events:none;width:340px;max-width:80vw;margin:4px auto -20px;position:relative}.pvp-spectate-result-trophy-bg svg{width:100%;height:100%;display:block}.pvp-spectate-result-fighters{justify-content:center;align-items:flex-start;gap:72px;margin:4px 0 14px;display:flex;position:relative}.pvp-spectate-result-side{display:none}.pvp-spectate-result-fighter.is-side .pvp-spectate-result-fighter-name{letter-spacing:.5px;color:#fff;text-shadow:0 2px 8px #000000b3;background:#0a1937b3;border:2px solid #ffffff59;border-radius:999px;max-width:320px;margin-top:6px;padding:8px 22px;font-size:1.6rem;font-weight:900;box-shadow:0 6px 20px #00000073}.pvp-spectate-result-fighter.is-side.winner .pvp-spectate-result-fighter-name{color:#3a2600;text-shadow:none;background:linear-gradient(#ffe9a3,#f5c549);border-color:#fff1bf;box-shadow:0 0 24px #f5c54999,0 6px 20px #00000073}@media (width>=1100px){.pvp-spectate-result-fighters{display:none}.pvp-spectate-result-side{display:block;position:absolute;top:50%;transform:translateY(-50%)}.pvp-spectate-result-side.is-left{left:8%}.pvp-spectate-result-side.is-right{right:8%}}.pvp-spectate-result-fighter{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.pvp-spectate-result-portrait{justify-content:center;align-items:center;width:92px;height:92px;display:flex}.pvp-spectate-result-fighter.winner .pvp-spectate-result-portrait-sprite,.pvp-spectate-result-fighter.winner .pvp-spectate-result-portrait-fallback{filter:drop-shadow(0 0 10px #f5c549d9)drop-shadow(0 0 20px #f5c54980)}.pvp-spectate-result-portrait-sprite{image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat}.pvp-spectate-result-portrait-fallback{color:#fff;font-size:26px;font-weight:800}.pvp-spectate-result-fighter-name{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:104px;font-size:.85rem;font-weight:700;overflow:hidden}.pvp-spectate-result-outcome-text{text-transform:uppercase;letter-spacing:1px;background:linear-gradient(90deg, #fff5d6, var(--accent), #fff5d6);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:20px;font-weight:900;animation:2.4s linear infinite pvp-challenge-banner-shimmer;position:relative}.pvp-spectate-result-popup-reason{color:#cbd8f0;margin:4px 0 0;font-size:.85rem;position:relative}.battle-forfeit-link{z-index:30;align-items:center;gap:6px;display:inline-flex;position:fixed;top:16px;left:16px}.battle-forfeit-link svg{width:16px;height:16px}.battle-forfeit-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.battle-result-screen{z-index:0;text-align:center;flex-direction:column;justify-content:safe center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow-y:auto}.battle-result-inner{flex-direction:column;gap:20px;width:100%;max-width:860px;padding:32px 20px;display:flex}.battle-result-screen>*,.battle-result-inner>*{flex-shrink:0}.battle-result-screen:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(480px at 4% -8%,#003da547,#0000 70%),radial-gradient(520px at 100% 110%,#4db8a84d,#0000 70%),radial-gradient(340px at 96% 2%,#f5c5493d,#0000 70%),radial-gradient(300px at 0 96%,#1e88e533,#0000 70%),radial-gradient(circle,#1e88e529 1.6px,#0000 1.6px),radial-gradient(circle,#1e88e529 1.6px,#0000 1.6px);background-position:0 0,0 0,0 0,0 0,0 0,60px 90px;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat;background-size:auto,auto,auto,auto,26px 26px,26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 32%,#0000 14%,#000 58%);mask-image:radial-gradient(circle at 50% 32%,#0000 14%,#000 58%)}.battle-result-card{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:420px;padding:24px;display:flex}.battle-result-badges{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.battle-result-icon{background:#ffffff2e;border-radius:50%;place-items:center;width:88px;height:88px;margin:4px auto 10px;display:grid;box-shadow:0 0 0 12px #ffffff14}.battle-result-icon svg{width:44px;height:44px}.battle-result-icon-green svg{color:#4dd88a;filter:drop-shadow(0 0 10px #4dd88a8c)}.battle-result-icon-red svg{color:#ff8a8a;filter:drop-shadow(0 0 10px #ff8a8a73)}.battle-result-icon-gray svg{color:#dbe6f5}.battle-result-icon-green:before{content:"";z-index:-1;background:repeating-conic-gradient(#ffffff52 0deg 6deg,#0000 6deg 18deg);border-radius:50%;animation:14s linear infinite battle-result-burst-spin;position:absolute;inset:-20px}.battle-result-icon{z-index:0;position:relative}@keyframes battle-result-burst-spin{to{transform:rotate(360deg)}}@keyframes battle-result-pop{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes battle-result-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes battle-result-icon-in{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.modal.reward-popup-fancy{text-align:center;color:#fff;border:2px solid var(--accent);flex-direction:column;align-items:stretch;gap:14px;animation:.36s cubic-bezier(.2,1.4,.4,1) both pvp-challenge-pop-in;display:flex;position:relative;overflow:hidden}.modal.reward-popup-fancy.is-win{background:radial-gradient(260px at 50% 0,#f5c54966,#0000 70%),linear-gradient(165deg,#0f2a5c,#0a1836 70%)}.modal.reward-popup-fancy.is-lose{background:radial-gradient(240px at 50% 0,#ff5a5a38,#0000 70%),linear-gradient(165deg,#232a44,#161b30 70%);border-color:#6b7896}.reward-popup-fancy .modal-head{z-index:2;margin:0;position:absolute;top:10px;right:10px}.reward-popup-fancy .modal-head h2{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.reward-popup-emblem{width:150px;height:150px;margin:4px auto -6px}.reward-popup-emblem svg{width:100%;height:100%;display:block}.is-win .reward-popup-emblem{filter:drop-shadow(0 0 20px #f5c549b3);animation:.7s cubic-bezier(.2,1.3,.4,1) .1s both pvp-result-emblem-win}.is-lose .reward-popup-emblem{filter:drop-shadow(0 0 14px #ff5a5a59);animation:.8s ease-out .1s both pvp-result-emblem-lose}.reward-popup-heading{letter-spacing:1.5px;text-transform:uppercase;margin:0;font-size:1.7rem;font-weight:900}.is-win .reward-popup-heading{color:#0000;background:linear-gradient(90deg,#fff5d6,#f5c549,#fff5d6) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:2.4s linear infinite pvp-challenge-banner-shimmer}.is-lose .reward-popup-heading{color:#d5deee}.reward-popup-encourage{color:#e3eaf7;background:#ffffff14;border-radius:12px;margin:-4px 0 0;padding:10px 14px;font-size:.95rem;line-height:1.5}.reward-popup-chips{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.reward-popup-chips li{background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:1.05rem;display:inline-flex}.reward-popup-chips svg{width:20px;height:20px;color:var(--accent)}.reward-popup-levelup{color:var(--accent);margin:0;font-weight:800}.reward-popup-level{text-align:left;flex-direction:column;gap:4px;display:flex}@media (prefers-reduced-motion:reduce){.modal.reward-popup-fancy,.reward-popup-emblem,.reward-popup-heading{animation:none}}.pvp-result-emblem{z-index:0;width:200px;height:200px;margin:6px auto 4px;position:relative}.pvp-result-emblem svg{width:100%;height:100%;display:block}.pvp-result-hero h1{letter-spacing:2px;text-transform:uppercase;font-size:44px;font-weight:900}.pvp-result-hero.is-green{background:radial-gradient(320px at 50% 30%,#f5c54966,#0000 70%),linear-gradient(160deg,#0a2a6b,#003da5 55%,#1e5fb8);box-shadow:0 16px 48px #f5c5494d,0 16px 40px #003da54d}.pvp-result-emblem.is-green{filter:drop-shadow(0 0 26px #f5c549b3);animation:.7s cubic-bezier(.2,1.3,.4,1) .15s both pvp-result-emblem-win}.pvp-result-emblem.is-green:before{content:"";z-index:-1;background:repeating-conic-gradient(#f5c54947 0deg 7deg,#0000 7deg 20deg);border-radius:50%;animation:18s linear infinite battle-result-burst-spin;position:absolute;inset:-70px;-webkit-mask-image:radial-gradient(circle,#000 25%,#0000 70%);mask-image:radial-gradient(circle,#000 25%,#0000 70%)}.pvp-result-hero.is-green h1{color:#0000;background:linear-gradient(90deg,#fff5d6,#f5c549,#fff5d6) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:2.4s linear infinite pvp-challenge-banner-shimmer}.pvp-result-hero.is-red{background:radial-gradient(300px at 50% 0,#ff5a5a38,#0000 70%),linear-gradient(160deg,#1b2238,#2a2f47 55%,#3b2436);box-shadow:0 16px 40px #140a1e66}.pvp-result-hero.is-red:before{background-image:radial-gradient(240px at 15% 110%,#ff5a5a2e,#0000 65%)}.pvp-result-emblem.is-red{filter:drop-shadow(0 0 18px #ff5a5a59)grayscale(.15);animation:.8s ease-out .15s both pvp-result-emblem-lose}.pvp-result-hero.is-red h1{color:#d5deee;text-shadow:0 3px 14px #ff5a5a59}.pvp-result-hero.is-red p{color:#b9c4dc}@keyframes pvp-result-emblem-win{0%{opacity:0;transform:scale(.3)rotate(-12deg)}70%{opacity:1;transform:scale(1.12)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes pvp-result-emblem-lose{0%{opacity:0;transform:translateY(-50px)scale(1.15)}55%{opacity:1;transform:translateY(0)scale(1)}65%{transform:translate(-7px)}75%{transform:translate(6px)}85%{transform:translate(-3px)}to{transform:translate(0)}}@media (width<=640px){.pvp-result-emblem{width:150px;height:150px}.pvp-result-hero h1{font-size:32px}}@media (prefers-reduced-motion:reduce){.pvp-result-emblem,.pvp-result-emblem:before,.pvp-result-hero h1{animation:none}}.result-hero{animation:.45s cubic-bezier(.2,.8,.2,1) both battle-result-pop}.battle-result-icon{animation:.55s cubic-bezier(.2,.8,.2,1) .15s both battle-result-icon-in}.battle-result-inner>.result-stats,.battle-result-inner>.card,.battle-result-inner>.battle-result-badges,.battle-result-inner>.result-actions{animation:.45s cubic-bezier(.2,.8,.2,1) .22s both battle-result-rise}.battle-result-inner>.card{animation-delay:.3s}.battle-result-inner>.battle-result-badges{animation-delay:.36s}.battle-result-inner>.result-actions{animation-delay:.42s}@media (prefers-reduced-motion:reduce){.battle-result-icon-green:before,.result-hero,.battle-result-icon,.battle-result-inner>.result-stats,.battle-result-inner>.card,.battle-result-inner>.battle-result-badges,.battle-result-inner>.result-actions{animation:none}}.result-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.result-confetti span{opacity:0;background:var(--accent);width:7px;height:12px;animation:2.6s ease-in infinite battle-result-confetti-fall;position:absolute;top:-12px}.result-confetti span:nth-child(4n){background:#fff}.result-confetti span:nth-child(4n+1){background:#4dd88a}.result-confetti span:nth-child(4n+2){background:var(--accent)}.result-confetti span:nth-child(4n+3){background:#ffffffd9}.result-confetti span:first-child{animation-delay:.1s;left:4%}.result-confetti span:nth-child(2){animation-delay:.7s;left:14%}.result-confetti span:nth-child(3){animation-delay:.3s;left:24%}.result-confetti span:nth-child(4){animation-delay:1.1s;left:34%}.result-confetti span:nth-child(5){animation-delay:0s;left:44%}.result-confetti span:nth-child(6){animation-delay:.9s;left:54%}.result-confetti span:nth-child(7){animation-delay:.5s;left:64%}.result-confetti span:nth-child(8){animation-delay:1.3s;left:74%}.result-confetti span:nth-child(9){animation-delay:.2s;left:84%}.result-confetti span:nth-child(10){animation-delay:.8s;left:92%}.result-confetti span:nth-child(11){animation-delay:1.5s;left:48%}.result-confetti span:nth-child(12){animation-delay:1.7s;left:9%}@keyframes battle-result-confetti-fall{0%{opacity:0;transform:translateY(-10px)rotate(0)}8%{opacity:1}to{opacity:0;transform:translateY(180px)rotate(340deg)}}@media (prefers-reduced-motion:reduce){.result-confetti{display:none}}.battle-result-screen .battle-result-stats article:first-child>svg{color:var(--primary)}.battle-result-screen .battle-result-stats article:nth-child(2)>svg{color:var(--accent)}.battle-result-stats article{gap:14px}.battle-result-screen .battle-result-stats article>svg{box-sizing:border-box;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:10px}.battle-result-screen .battle-result-stats article:first-child>svg{background:#1e88e51f}.battle-result-screen .battle-result-stats article:nth-child(2)>svg{background:#f5c5492e}.pvp-question-reviews{text-align:left;padding:16px}.pvp-question-reviews h2{color:var(--dark);margin:0 0 12px;font-size:.95rem}.pvp-question-reviews ul{flex-direction:column;gap:10px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pvp-review-item{border:1px solid var(--border);background:#fff;border-radius:10px;flex-shrink:0;overflow:hidden}.pvp-review-item.is-wrong{background:#fff8f8;border-color:#f1a0a0}.pvp-review-item-main{flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.pvp-review-badge{border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.pvp-review-badge svg{width:12px;height:12px}.pvp-review-badge.is-correct{color:#167f3d;background:#effaf3}.pvp-review-badge.is-wrong{color:#c83232;background:#fff2f2}.pvp-spectate-live-question{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.pvp-spectate-live-title{color:var(--muted);margin:0;font-size:.85rem;font-weight:700}.pvp-spectate-live{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pvp-spectate-live-question{grid-column:1/-1}.pvp-spectate-player-panel{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:12px 14px;display:flex}@media (width>=1360px){.pvp-spectate-live{display:block}.pvp-spectate-player-panel{width:280px;position:fixed;top:120px}.pvp-spectate-player-panel.is-left{left:16px}.pvp-spectate-player-panel.is-right{right:16px}}.pvp-spectate-option{cursor:default;justify-content:space-between;align-items:center;gap:8px;display:flex}.pvp-spectate-picked-by{opacity:.85;font-size:.75rem;font-weight:700}.pvp-spectate-tiles{flex-flow:wrap}.pvp-spectate-matching{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pvp-spectate-answer-line{white-space:pre-line;background:#f1f4f9;border-radius:10px;margin:0;padding:6px 10px}.pvp-spectate-answer-line.is-correct{color:#167f3d;background:#effaf3}.pvp-spectate-answer-line.is-wrong{color:#c83232;background:#fff2f2}.pvp-spectate-live-empty{color:var(--muted);margin:0}.pvp-review-badge.is-skipped{color:var(--muted);background:#f1f4f9}.pvp-review-prompt{min-width:120px;color:var(--dark);overflow-wrap:anywhere;flex:1;font-size:.85rem;font-weight:650}.pvp-review-row{flex-wrap:wrap;gap:4px 6px;padding:0 12px 10px;font-size:.8rem;line-height:1.5;display:flex}.review-label{color:var(--muted);flex-shrink:0}.review-value{min-width:0;color:var(--dark);overflow-wrap:anywhere;word-break:break-word;flex:1}.pvp-review-row.user-answer-row .review-value{color:var(--dark)}.pvp-review-item.is-wrong .user-answer-row .review-value{color:#c83232}.pvp-review-row.correct-answer-row .review-value{color:#167f3d;font-weight:650}.pvp-review-empty{color:var(--muted);margin:0;font-size:.85rem}@media (width<=480px){.pvp-question-reviews ul{max-height:260px}}.pvp-spectate-review-head-row,.pvp-spectate-review-grid{scrollbar-gutter:stable;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:8px;display:grid}.pvp-spectate-review-head-row{margin-bottom:8px;overflow-y:hidden}.pvp-spectate-review-grid{grid-auto-rows:64px;max-height:340px;overflow-y:auto}.pvp-spectate-review-list h2{text-align:center;font-size:1.15rem;font-weight:800}.pvp-spectate-review-head{background:var(--dark);color:#fff;text-align:center;border-radius:10px;margin:0;padding:8px 12px;font-size:.95rem}.pvp-spectate-review-head.is-question{background:var(--accent);color:var(--dark)}.pvp-spectate-review-question{text-align:center;align-items:center}.pvp-spectate-review-cell{flex-direction:column;align-items:flex-start;gap:4px;height:100%;min-height:0;padding:6px 10px;display:flex;overflow-y:auto}.pvp-spectate-review-item{padding:10px 12px}.pvp-spectate-review-columns{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.pvp-spectate-review-column{background:#f8fafc;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:8px;display:flex}.pvp-spectate-review-player-name{color:var(--dark);overflow-wrap:anywhere;font-size:.75rem;font-weight:700}.pvp-spectate-review-answer{color:var(--dark);overflow-wrap:anywhere;word-break:break-word;font-size:.78rem}.pvp-spectate-review-answer .review-label{font-weight:650}@media (width<=480px){.pvp-spectate-review-columns{grid-template-columns:1fr}}.pvp-history-panel{scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin}.pvp-history-panel::-webkit-scrollbar{width:6px}.pvp-history-panel::-webkit-scrollbar-track{background:0 0}.pvp-history-panel::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.pvp-history-panel::-webkit-scrollbar-thumb:hover{background:var(--primary)}.pvp-recent-form-icon{color:var(--teal);background:#4db8a824;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pvp-waiting-card{border-style:dashed}.pvp-waiting-icon{color:var(--primary);background:#1e88e51f;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative}.pvp-waiting-icon:before,.pvp-waiting-icon:after{border:2px solid var(--primary);content:"";border-radius:999px;animation:2.4s ease-out infinite pvp-waiting-ripple;position:absolute;inset:0}.pvp-waiting-icon:after{animation-delay:1.2s}@keyframes pvp-waiting-ripple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.3)}}.pvp-hp-banner{background:#f5c5491f;border:1px solid #f5c54980;align-items:center;gap:14px;margin-bottom:1rem;padding:16px 20px;display:flex}.pvp-hp-banner>svg{color:#a3760a;flex-shrink:0;width:24px;height:24px}.pvp-hp-banner.pvp-hp-banner-blocked{background:#dc26261a;border-color:#dc262666}.pvp-hp-banner.pvp-hp-banner-blocked>svg{color:#b91c1c}.pvp-player-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pvp-player-card{flex-direction:column;gap:.75rem;display:flex}.pvp-player-card-info{flex-direction:column;gap:.4rem;display:flex}.pvp-player-card-name{align-items:baseline;gap:.4rem;font-weight:600;display:flex}.pvp-player-card-self-tag{color:var(--muted);font-size:.8rem;font-weight:400}.pvp-player-card-meta{flex-wrap:wrap;gap:.35rem;display:flex}.pvp-player-card-pending{color:var(--muted);font-size:.9rem;font-style:italic}.pvp-challenge-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#0a1937bf 0%,#050c1ceb 70%);place-items:center;padding:20px;animation:.22s both pvp-challenge-backdrop-in;display:grid;position:fixed;inset:0}.pvp-challenge-card{border:2px solid var(--accent);color:#fff;text-align:center;background:linear-gradient(165deg,#0f2a5c 0%,#0a1836 60%,#0a1533 100%);border-radius:24px;width:min(420px,100%);padding:22px 22px 26px;animation:.36s cubic-bezier(.2,1.4,.4,1) both pvp-challenge-pop-in,2.2s ease-in-out .36s infinite pvp-challenge-card-glow;position:relative;box-shadow:0 24px 80px #0000008c}.pvp-challenge-banner{letter-spacing:2px;text-transform:uppercase;background:linear-gradient(90deg, #fff5d6, var(--accent), #fff5d6);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:8px;margin:-6px 0 18px;font-size:20px;font-weight:900;animation:2.4s linear infinite pvp-challenge-banner-shimmer;display:flex}.pvp-challenge-banner-icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}.pvp-challenge-duel{justify-content:center;align-items:center;gap:6px;display:flex}.pvp-challenge-fighter{flex-direction:column;align-items:center;gap:6px;width:40%;min-width:0;display:flex}.pvp-challenge-team-col{flex-direction:column;align-items:center;gap:8px;width:40%;min-width:0;display:flex}.pvp-challenge-team-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c;margin:0;font-size:11px;font-weight:800}.pvp-challenge-team{justify-content:center;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.pvp-challenge-team .pvp-challenge-fighter{flex:1;width:auto;min-width:0}.pvp-challenge-team.is-stacked{flex-direction:column;align-items:stretch;gap:20px}.pvp-challenge-team.is-stacked .pvp-challenge-fighter{flex-direction:row;justify-content:center;gap:8px}.pvp-challenge-team.is-stacked .pvp-challenge-fighter-name{text-align:left}.pvp-challenge-avatar-sm{width:56px;height:56px}.pvp-challenge-avatar{background:linear-gradient(160deg,#1e88e5,#003da5);border:3px solid #fff3;border-radius:999px;place-items:center;width:76px;height:76px;display:grid;position:relative;box-shadow:0 6px 18px #00000059}.pvp-challenge-ring-scissors{border-color:#7dd3fc;box-shadow:0 0 0 3px #7dd3fc59}.pvp-challenge-ring-rock{border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2459}.pvp-challenge-ring-paper{border-color:#6ee7b7;box-shadow:0 0 0 3px #6ee7b759}.pvp-challenge-ring-self{border-color:var(--accent);box-shadow:0 0 0 3px #f5c54959}.pvp-challenge-avatar-sonar{border:2px solid var(--accent);border-radius:999px;animation:1.8s ease-out infinite pvp-challenge-sonar-ping;position:absolute;inset:-3px}.pvp-challenge-avatar-initials{letter-spacing:.5px;font-size:22px;font-weight:800}.pvp-challenge-avatar-img{object-fit:cover;border-radius:999px;width:100%;height:100%}.pvp-challenge-fighter-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:2px 0 0;font-size:14px;font-weight:700;overflow:hidden}.pvp-challenge-fighter-meta{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.pvp-challenge-badge{background:#ffffff1f;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.pvp-challenge-badge svg{width:11px;height:11px}.pvp-challenge-vs{width:20%;color:var(--accent);flex-direction:column;flex-shrink:0;justify-content:center;align-self:center;align-items:center;gap:2px;animation:.42s cubic-bezier(.2,1.4,.4,1) .16s both pvp-challenge-vs-pop;display:flex}.pvp-challenge-vs svg{width:22px;height:22px}.pvp-challenge-vs span{letter-spacing:1px;font-size:15px;font-weight:900}.pvp-challenge-waiting-label{letter-spacing:.5px;color:#cbd8f0;margin:14px 0 0;font-size:12px;font-weight:700;animation:1.6s ease-in-out infinite pvp-challenge-waiting-fade}.pvp-challenge-countdown{color:#cbd8f0;flex-direction:column;align-items:center;gap:6px;margin:18px 0 4px;font-size:12px;display:flex}.pvp-challenge-countdown-track{background:#ffffff24;border-radius:999px;width:100%;height:6px;overflow:hidden}.pvp-challenge-countdown-fill{background:linear-gradient(90deg, var(--teal), var(--accent));border-radius:999px;height:100%;transition:width 1s linear}.pvp-challenge-countdown.urgent .pvp-challenge-countdown-fill{background:linear-gradient(90deg,#f97316,#ef4444);animation:.7s ease-in-out infinite pvp-challenge-accept-pulse}.pvp-challenge-countdown.urgent{color:#fca5a5}.pvp-challenge-actions{gap:10px;margin-top:16px;display:flex}.pvp-challenge-btn{cursor:pointer;border:0;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;padding:13px 16px;font-size:15px;font-weight:800;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex}.pvp-challenge-btn:active:not(:disabled){transform:scale(.96)}.pvp-challenge-btn:disabled{opacity:.5;cursor:not-allowed}.pvp-challenge-btn-decline{color:#e5edf9;background:#ffffff1a}.pvp-challenge-btn-decline:hover:not(:disabled){background:#ffffff2e}.pvp-challenge-btn-accept{background:linear-gradient(135deg, var(--accent), #f59e0b);color:#2a1a00;animation:1.6s ease-in-out infinite pvp-challenge-accept-pulse;box-shadow:0 0 #f5c54999}.pvp-challenge-btn-accept svg{width:16px;height:16px}.pvp-challenge-btn-accept:hover:not(:disabled){filter:brightness(1.08)}@keyframes pvp-challenge-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes pvp-challenge-pop-in{0%{opacity:0;transform:scale(.7)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pvp-challenge-card-glow{0%,to{box-shadow:0 24px 80px #0000008c,0 0 24px 2px #f5c54959}50%{box-shadow:0 24px 80px #0000008c,0 0 46px 10px #f5c54999}}@keyframes pvp-challenge-banner-shimmer{to{background-position:-200%}}@keyframes pvp-challenge-vs-pop{0%{opacity:0;transform:scale(0)rotate(-20deg)}60%{opacity:1;transform:scale(1.25)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pvp-challenge-sonar-ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@keyframes pvp-challenge-waiting-fade{0%,to{opacity:.5}50%{opacity:1}}@keyframes pvp-challenge-accept-pulse{0%,to{box-shadow:0 0 #f5c5498c}50%{box-shadow:0 0 0 10px #f5c54900}}.pvp-challenge-notice-card{width:min(360px,100%);padding:28px 24px 24px;animation:.26s cubic-bezier(.2,1.4,.4,1) both pvp-challenge-pop-in}.pvp-tier-info-card{width:min(480px,100%);max-height:min(85vh,720px);overflow-y:auto}.pvp-challenge-notice-icon{width:34px;height:34px;color:var(--accent);margin:0 auto 12px}.pvp-challenge-notice-message{margin:0 0 20px;font-size:15px;font-weight:600;line-height:1.5}.pvp-challenge-avatar-mystery{background:linear-gradient(160deg,#24365f,#101d3c);border-style:dashed;border-color:#ffffff73}.pvp-challenge-avatar-mystery svg{color:#ffffffb3;width:28px;height:28px;animation:2.4s linear infinite pvp-challenge-radar-spin}.pvp-challenge-elapsed{letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--accent);margin:16px 0 2px;font-size:30px;font-weight:900}@keyframes pvp-challenge-radar-spin{to{transform:rotate(360deg)}}@media (width<=420px){.pvp-challenge-card{padding:18px 16px 20px}.pvp-challenge-avatar{width:64px;height:64px}.pvp-challenge-banner{font-size:17px}}.pvp-duel-status-bar{justify-content:center;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.pvp-duel-timer{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.pvp-duel-question-timer{background:var(--accent);color:#1a1400;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:2.25rem;padding:.15rem .5rem;font-size:.85rem;font-weight:700;display:inline-flex}.pvp-duel-opponent-disconnected{color:var(--accent);font-size:.85rem}.pvp-duel-round-banner{color:#fff;z-index:5;pointer-events:none;border-radius:999px;padding:.4rem 1rem;font-size:.95rem;font-weight:700;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.pvp-duel-round-banner.won{background:var(--teal,#4db8a8)}.pvp-duel-round-banner.lost{background:var(--danger,#d9534f)}.pvp-duel-round-banner.draw{background:var(--sky,#1e88e5)}.team-pvp-code-input{border-radius:var(--radius-card-sm);border:1px solid var(--border);letter-spacing:.2em;text-align:center;text-transform:uppercase;background:#fff;width:100%;padding:.6rem .9rem;font-size:1.1rem;font-weight:700}.dark .team-pvp-code-input{color:#f1f5f9;background:#1e293b;border-color:#334155}.team-pvp-code-input:focus{outline:2px solid var(--primary);outline-offset:1px}.team-pvp-cancelled-banner{border-radius:var(--radius-card-sm);color:#b91c1c;background:#ef444414;border:1px solid #ef444440;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.dark .team-pvp-cancelled-banner{color:#fca5a5;background:#ef444424}.team-pvp-cancelled-banner p{margin:0}.team-pvp-create-card{border-radius:var(--radius-card);background:linear-gradient(160deg, var(--dark) 0%, var(--primary) 60%, var(--teal) 135%);color:#fff;flex-direction:column;align-items:flex-start;gap:.9rem;padding:1.5rem 1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #003da540}.team-pvp-create-card-badge{background:var(--accent);color:var(--dark);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.65rem;font-weight:800;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.team-pvp-create-card-icon{background:#ffffff29;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.team-pvp-create-card h2{margin:0;font-size:1.05rem;font-weight:700}.team-pvp-create-card .btn{width:100%}.team-pvp-create-card .btn-primary{color:var(--dark);background:#fff;box-shadow:0 6px 16px #0000002e}.team-pvp-create-card .btn-primary:hover:not(:disabled){background:var(--bg);transform:translateY(-1px)}.team-pvp-create-card .btn-primary:disabled{opacity:.7;cursor:not-allowed}.team-pvp-join-card{border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;flex-direction:column;gap:.9rem;padding:1.5rem 1.25rem;display:flex}.dark .team-pvp-join-card{background:#16233d;border-color:#26385c}.team-pvp-join-card-header{align-items:center;gap:.6rem;display:flex}.team-pvp-join-card-header h2{margin:0;font-size:1.05rem;font-weight:700}.team-pvp-join-card-icon{background:var(--primary-50);width:40px;height:40px;color:var(--primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dark .team-pvp-join-card-icon{background:#1e88e524}.team-pvp-join-card .btn{width:100%}.team-pvp-howto-card{border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;padding:1.25rem 1.25rem 1.4rem}.dark .team-pvp-howto-card{background:#16233d;border-color:#26385c}.team-pvp-howto-header{color:var(--primary);align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.team-pvp-howto-header h2{color:inherit;margin:0;font-size:.95rem;font-weight:700}.team-pvp-howto-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.team-pvp-howto-item{color:var(--muted);align-items:flex-start;gap:.65rem;font-size:.85rem;line-height:1.5;display:flex}.dark .team-pvp-howto-item{color:#cbd5e1}.team-pvp-howto-num{background:var(--teal);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:.05rem;font-size:.72rem;font-weight:800;display:flex}.team-pvp-room-code-card{border-radius:var(--radius-card);background:linear-gradient(135deg, var(--dark) 0%, var(--primary) 55%, var(--teal) 100%);color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex;box-shadow:0 10px 30px #003da540}.team-pvp-room-code-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.team-pvp-room-code-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:inline-flex}.team-pvp-room-code-value{letter-spacing:.2em;color:var(--accent);text-shadow:0 2px 10px #0003;font-size:1.9rem;font-weight:800;line-height:1.25}.team-pvp-room-code-hint{color:#ffffffb8;font-size:.75rem}.team-pvp-room-code-copy{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background-color .15s,transform .15s;display:inline-flex}.team-pvp-room-code-copy:hover{background:#ffffff38}.team-pvp-room-code-copy:active{transform:scale(.94)}.team-pvp-room-code-copy.is-copied{background:var(--teal);border-color:var(--teal)}.team-pvp-arena{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.team-pvp-team-card{border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card);background:#fff;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.dark .team-pvp-team-card{border-color:#26385c;border-top-color:var(--primary);background:#16233d}.team-pvp-team-card.is-team-b{border-top-color:var(--danger)}.team-pvp-team-card-header{color:var(--primary);align-items:center;gap:.4rem;display:flex}.team-pvp-team-card.is-team-b .team-pvp-team-card-header{color:var(--danger)}.team-pvp-team-card-header h3{margin:0;font-size:.95rem;font-weight:700}.team-pvp-team-count{color:var(--muted);background:var(--bg);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.dark .team-pvp-team-count{background:#ffffff14}.team-pvp-vs-divider{background:linear-gradient(135deg, var(--dark), var(--primary));width:40px;height:40px;color:var(--accent);letter-spacing:.04em;border-radius:999px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;font-size:.7rem;font-weight:800;display:flex;box-shadow:0 6px 16px #003da54d}.team-pvp-lobby-slot{border-radius:var(--radius-card-sm);background:var(--bg);border:1px solid #0000;align-items:center;gap:.65rem;min-width:0;min-height:4.75rem;padding:.6rem .7rem;display:flex}.dark .team-pvp-lobby-slot{background:#ffffff0a}.team-pvp-lobby-slot.is-self{border-color:var(--primary);background:var(--primary-50)}.dark .team-pvp-lobby-slot.is-self{background:#1e88e524}.team-pvp-lobby-slot.is-ready{box-shadow:inset 0 0 0 1px #4db8a873}.team-pvp-lobby-slot.is-empty{border-style:dashed;border-color:var(--border);color:var(--muted);background:0 0;justify-content:center;gap:.5rem;padding:.85rem .7rem}.dark .team-pvp-lobby-slot.is-empty{border-color:#334155}.team-pvp-lobby-slot-empty-icon{opacity:.5}.team-pvp-lobby-slot-empty-label{font-size:.82rem}.team-pvp-lobby-slot.is-empty.is-switchable{border-style:solid;border-color:var(--primary-100);background:var(--primary-50)}.dark .team-pvp-lobby-slot.is-empty.is-switchable{background:#1e88e51f;border-color:#1e88e566}.team-pvp-lobby-slot-avatar{background:linear-gradient(135deg, var(--dark), var(--primary));color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.72rem;font-weight:700;display:flex}.team-pvp-lobby-slot-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.team-pvp-lobby-slot-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.team-pvp-lobby-slot-you{color:var(--primary);margin-left:.35rem;font-size:.72rem;font-weight:600}.team-pvp-lobby-slot-badges{flex-wrap:wrap;gap:.35rem;display:flex}.team-pvp-lobby-ready-pill{white-space:nowrap;color:var(--warning);background:#f59e0b1f;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.team-pvp-lobby-ready-pill.is-ready{color:var(--teal);background:#4db8a829}.team-pvp-lobby-switch-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.78rem;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.dark .team-pvp-lobby-switch-btn{background:0 0}.team-pvp-lobby-switch-btn:hover:not(:disabled){background:var(--primary);color:#fff}.team-pvp-lobby-switch-btn:disabled{opacity:.5;cursor:not-allowed}.team-pvp-lobby-actions{gap:.75rem;display:flex}.team-pvp-leave-btn{color:var(--danger)}.team-pvp-leave-btn:hover:not(:disabled){background:#ef44441a}.team-pvp-waiting-pill{background:var(--primary-50);color:var(--primary);border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.8rem;font-weight:600;display:flex}.dark .team-pvp-waiting-pill{background:#1e88e524}.team-pvp-waiting-dot{background:var(--primary);border-radius:999px;width:8px;height:8px;animation:1.4s ease-in-out infinite team-pvp-waiting-pulse}@keyframes team-pvp-waiting-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@media (width<=640px){.team-pvp-arena{grid-template-columns:1fr}.team-pvp-vs-divider{justify-self:center;width:32px;height:32px;margin:-.35rem 0}}.team-pvp-round-header{border-radius:var(--radius-card-sm);background:var(--primary-50);border:1px solid var(--primary-100);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.team-pvp-round-label{color:var(--primary);font-size:.9rem;font-weight:700}.team-pvp-round-timer{border:1px solid var(--primary-100);color:var(--dark);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-card);background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.95rem;font-weight:700;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.team-pvp-round-timer svg{color:var(--primary);flex-shrink:0}.team-pvp-round-timer.is-critical{color:var(--danger);border-color:var(--danger);background:#ef444414;animation:1s ease-in-out infinite team-pvp-timer-pulse}.team-pvp-round-timer.is-critical svg{color:var(--danger)}@keyframes team-pvp-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.team-battle-hud-panel{flex-direction:column;gap:4px;width:170px;min-width:0;display:flex;position:absolute}.team-battle-hud-panel-left-front{top:12px;left:16px}.team-battle-hud-panel-left-back{top:70px;left:16px}.team-battle-hud-panel-right-front{text-align:right;top:12px;right:16px}.team-battle-hud-panel-right-back{text-align:right;top:70px;right:16px}.team-battle-hud-panel-right-front .battle-hud-name-row,.team-battle-hud-panel-right-back .battle-hud-name-row{justify-content:flex-end}.team-battle-hud-panel.is-self .battle-hud-name{color:var(--accent,#f5c549)}.team-battle-floating-number-left-front{top:55%;left:50px}.team-battle-floating-number-left-back{top:32%;left:120px}.team-battle-floating-number-right-front{top:55%;left:auto;right:50px}.team-battle-floating-number-right-back{top:32%;left:auto;right:120px}@media (width<=760px){.team-battle-hud-panel{width:130px}.team-battle-hud-panel-left-back,.team-battle-hud-panel-right-back{top:64px}.team-battle-floating-number-left-back{left:70px}.team-battle-floating-number-right-back{right:70px}}.team-pvp-round-banner{border-radius:var(--radius-card);color:#fff;min-width:0;height:calc(100% - 316px);box-shadow:var(--shadow-card);overscroll-behavior:contain;background:linear-gradient(165deg,#101a30 0%,#0b1220 100%);flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.team-pvp-round-banner-header{border-bottom:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.65rem;display:flex}.team-pvp-round-banner h2{margin:0;font-size:1rem;font-weight:700}.team-pvp-round-banner-combo{color:var(--accent);background:#f5c54929;border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.team-pvp-round-banner-teams{flex:1;grid-template-columns:1fr 1fr;gap:.75rem;min-height:0;display:grid}.team-pvp-round-banner-team{border-radius:var(--radius-card-sm);background:#ffffff0a;border:1px solid #ffffff14;flex-direction:column;gap:.5rem;min-width:0;padding:.75rem;display:flex}.team-pvp-round-banner-team.is-mine{border-color:#4db8a859}.team-pvp-round-banner-team.is-enemy{border-color:#ef44444d}.team-pvp-round-banner-team-title{text-transform:uppercase;letter-spacing:.04em;color:#fff9;font-size:.68rem;font-weight:700}.team-pvp-round-banner-team ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.team-pvp-round-banner-team li{background:#ffffff08;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem .6rem;font-size:.78rem;display:flex}.team-pvp-round-banner-team li.is-correct{box-shadow:inset 3px 0 0 var(--success)}.team-pvp-round-banner-team li.is-wrong{box-shadow:inset 3px 0 0 var(--danger)}.team-pvp-round-banner-result-icon{flex-shrink:0;display:inline-flex}.team-pvp-round-banner-team li.is-correct .team-pvp-round-banner-result-icon{color:var(--success)}.team-pvp-round-banner-team li.is-wrong .team-pvp-round-banner-result-icon{color:var(--danger)}.team-pvp-round-banner-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.team-pvp-round-banner-result{color:#ffffffa6;font-size:.72rem}.team-pvp-round-banner-damage{color:var(--accent);margin-left:auto;font-weight:700}.team-pvp-round-banner-dead{color:var(--danger);text-transform:uppercase;align-items:center;gap:.2rem;font-size:.68rem;font-weight:700;display:inline-flex}.team-pvp-round-banner-next{color:#fffc;text-align:center;font-variant-numeric:tabular-nums;border-top:1px solid #ffffff1a;margin:0;padding-top:.6rem;font-size:.78rem;font-weight:600}@media (width<=560px){.team-pvp-round-banner-teams{grid-template-columns:1fr}}.team-pvp-result-teams{grid-template-columns:1fr 1fr;gap:1rem;padding:1.25rem;display:grid}.team-pvp-result-team-title{text-transform:uppercase;margin:0 0 .6rem;font-size:.85rem;font-weight:700}.team-pvp-result-team-title.team-a{color:var(--primary)}.team-pvp-result-team-title.team-b{color:var(--danger)}.team-pvp-result-row{flex-direction:column;gap:.35rem;padding:.6rem .8rem;display:flex}.team-pvp-result-row-name{align-items:center;gap:.4rem;font-weight:600;display:flex}.team-pvp-result-row-stats{color:var(--muted);flex-wrap:wrap;gap:.6rem;font-size:.75rem;display:flex}@media (width<=640px){.team-pvp-result-teams,.guild-browse-layout{grid-template-columns:1fr}}.guild-page{flex-direction:column;gap:1.25rem;display:flex}.guild-browse-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.25rem;display:grid}.guild-list-card,.guild-create-card{border:1px solid var(--border);background:#fff;border-radius:16px;box-shadow:0 8px 28px #28528212}.dark .guild-list-card,.dark .guild-create-card{background:#16233d}.guild-list-card{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.guild-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.guild-list-head h2{color:var(--dark);margin:0;font-size:1.05rem;font-weight:800}.guild-search{border:1px solid var(--border);background:var(--bg);min-width:14rem;height:40px;color:var(--muted);border-radius:10px;align-items:center;gap:.5rem;padding:0 .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.guild-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #1e88e52e}.guild-search input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9rem}.guild-list{flex-direction:column;gap:.5rem;max-height:30rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:flex;overflow-y:auto}.guild-list-row{border:1px solid var(--border);border-radius:12px;align-items:center;gap:.85rem;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.guild-list-row:hover{background:#1e88e50a;border-color:#1e88e573;box-shadow:0 4px 14px #1e88e51a}.guild-list-icon{width:44px;height:44px;color:var(--dark);background:linear-gradient(135deg,#003da51f,#1e88e529);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.guild-list-info{flex:auto;min-width:0}.guild-list-name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.guild-list-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:.15rem 0 0;font-size:.78rem;overflow:hidden}.guild-list-desc.is-empty{opacity:.75;font-style:italic}.guild-list-desc{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin:.25rem 0 0;font-size:.8rem;display:-webkit-box;overflow:hidden}.guild-list-members{color:#0f766e;font-variant-numeric:tabular-nums;background:#4db8a829;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.guild-list-members.is-full{color:#b91c1c;background:#ef44441f}.guild-list-row .btn{flex-shrink:0;min-width:6.5rem}.guild-list-row .guild-list-view{gap:.35rem;min-width:0;padding-inline:.6rem}@media (width<=640px){.guild-list-row{flex-wrap:wrap}.guild-list-info{flex-basis:calc(100% - 60px)}}.guild-create-card{flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;position:sticky;top:1rem}.guild-create-card-icon{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary));border-radius:14px;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 8px 20px #003da540}.guild-create-card h2{color:var(--dark);margin:0;font-size:1.1rem;font-weight:800}.guild-create-cost{color:#7a5200;background:#f5c54938;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0;padding:.55rem .75rem;font-size:.85rem;font-weight:700;display:flex}.guild-create-cost span{width:100%;font-weight:500}.guild-create-card input,.guild-create-card textarea{border:1px solid var(--border);background:var(--bg);width:100%;height:42px;color:inherit;font:inherit;border-radius:10px;padding:0 .8rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.guild-create-card textarea{resize:vertical;height:auto;padding:.6rem .8rem}.guild-create-card input:focus,.guild-create-card textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #1e88e52e}.guild-icon-picker{flex-wrap:wrap;gap:.5rem;display:flex}.guild-icon-option{border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;transition:background .15s,border-color .15s,color .15s,transform .1s;display:grid}.guild-icon-option:hover{border-color:var(--primary);color:var(--primary)}.guild-icon-option:active{transform:scale(.94)}.guild-icon-option.is-selected{border-color:var(--primary);color:var(--dark);box-shadow:inset 0 0 0 1px var(--primary);background:#1e88e524}.guild-create-warning{color:#b45309;margin:0;font-size:.8rem}.guild-create-card .btn{width:100%;min-height:44px}.guild-help{flex-shrink:0;position:relative}.guild-help-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--primary);cursor:pointer;background:#fff;border-radius:50%;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.guild-help-btn:hover,.guild-help-btn[aria-expanded=true]{border-color:var(--primary);background:var(--primary);color:#fff}.guild-help-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.guild-help-panel{z-index:20;border:1px solid var(--border);background:#fff;border-radius:14px;width:min(20rem,100vw - 2rem);padding:1rem 1.1rem;animation:.14s ease-out guild-help-in;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 40px #14326438}.guild-help-panel:before{content:"";border-top:1px solid var(--border);border-left:1px solid var(--border);background:#fff;width:12px;height:12px;position:absolute;top:-6px;left:12px;transform:rotate(45deg)}.dark .guild-help-panel,.dark .guild-help-panel:before,.dark .guild-help-btn{background:#16233d}.guild-help-panel h3{color:var(--dark);margin:0 0 .4rem;font-size:.85rem;font-weight:800}.guild-help-panel h3:not(:first-child){margin-top:.85rem}.guild-help-panel ul{flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.4;display:flex}.guild-help-next{color:var(--dark);background:#1e88e51a;border-radius:10px;margin:.75rem 0 0;padding:.45rem .65rem;font-size:.8rem;font-weight:600}@keyframes guild-help-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.guild-help-panel{animation:none}}.guild-level-chip{color:#7a5200;vertical-align:middle;background:#f5c54947;border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.7rem;font-weight:800}.guild-boss-tiers-note{color:var(--muted);margin:-.25rem 0 .6rem;font-size:.75rem}.guild-panel{flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem;display:flex}.dark .guild-panel{background:#16233d}.guild-member-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.guild-member-avatar{background:linear-gradient(135deg, var(--teal), var(--primary));color:#fff;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden;box-shadow:0 0 0 2px #fff,0 2px 8px #28528233}.guild-member-avatar img{object-fit:cover;width:100%;height:100%;display:block}.guild-member-name{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.92rem;font-weight:700;line-height:1.3;display:flex}.guild-member-level{color:var(--muted);margin:.1rem 0 0;font-size:.75rem}.guild-last-active{align-items:center;gap:.45rem;display:inline-flex}.guild-online-dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px}.guild-online-dot.is-online{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}.guild-element-chip{color:var(--dark);background:#1e88e51f;border-radius:999px;margin-top:.2rem;padding:.05rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.guild-element-chip.is-element-2{color:#b91c1c;background:#ef44441f}.guild-element-chip.is-element-3{color:#0f766e;background:#4db8a82e}.guild-settings{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.5rem 2rem;display:grid}.guild-settings-form{flex-direction:column;gap:1.1rem;display:flex}.guild-field{flex-direction:column;gap:.4rem;display:flex}.guild-field>span{font-size:.85rem;font-weight:700}.guild-field input,.guild-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:inherit;font:inherit;resize:vertical;border-radius:10px;padding:.65rem .85rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.guild-field input:focus,.guild-field textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #1e88e52e}.guild-field small{color:var(--muted);text-align:right;font-size:.75rem}.guild-field .guild-field-error{color:var(--danger);text-align:left}.guild-settings .guild-icon-option{width:48px;height:48px}.guild-settings-preview{background:#1e88e50a;border:1px dashed #1e88e566;border-radius:14px;padding:1rem;position:sticky;top:1rem}.guild-settings-preview-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .6rem;font-size:.75rem;font-weight:800}.guild-settings-preview .guild-list-row{background:#fff}.guild-settings-preview-hint{color:var(--muted);margin:.6rem 0 0;font-size:.75rem}.guild-settings-actions{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.6rem;padding-top:1rem;display:flex}.guild-settings-dirty{color:#b45309;margin-right:auto;font-size:.8rem;font-weight:700}@media (width<=860px){.guild-settings{grid-template-columns:1fr}.guild-settings-preview{position:static}}.guild-quests{flex-direction:column;gap:1rem;display:flex}.guild-quests-summary{background:linear-gradient(135deg,#003da514,#1e88e51f);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.guild-quests-summary-main{color:var(--dark);margin:0;font-size:1rem;font-weight:800}.guild-quests-note{color:var(--muted);align-items:center;gap:.4rem;margin:.2rem 0 0;font-size:.8rem;display:flex}.guild-quests-earned{color:#7a5200;background:#f5c5494d;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.82rem;font-weight:800;display:inline-flex}.guild-quest-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.guild-quest{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:flex-start;gap:.9rem;padding:.95rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.guild-quest:hover{border-color:#1e88e573;box-shadow:0 4px 14px #1e88e51a}.dark .guild-quest{background:#0f1c33}.guild-quest.is-done{background:linear-gradient(90deg,#4db8a81f,#0000 70%);border-color:#4db8a899}.guild-quest-icon{width:44px;height:44px;color:var(--primary);background:#1e88e51f;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.guild-quest.is-done .guild-quest-icon{color:#0f766e;background:#4db8a838}.guild-quest-body{flex-direction:column;flex:auto;gap:.6rem;min-width:0;display:flex}.guild-quest-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.guild-quest-head h3{margin:0;font-size:.95rem;font-weight:800}.guild-quest-head p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.guild-quest-reward{color:#7a5200;background:#f5c54947;border-radius:999px;flex-shrink:0;padding:.25rem .65rem;font-size:.78rem;font-weight:800}.guild-quest.is-done .guild-quest-reward{color:#0f766e;background:#4db8a838}.guild-quest-progress{align-items:center;gap:.75rem;display:flex}.guild-quest-progress .progress{flex:auto}.guild-quest-count{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:4.5rem;font-size:.8rem;font-weight:700}.guild-empty{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.guild-empty-icon{width:64px;height:64px;color:var(--dark);background:linear-gradient(135deg,#003da51a,#1e88e52e);border-radius:20px;place-items:center;margin-bottom:.4rem;display:grid}.guild-empty h3{color:var(--dark);margin:0;font-size:1.05rem;font-weight:800}.guild-empty p{max-width:24rem;color:var(--muted);margin:0;font-size:.88rem}.guild-empty-chip{color:#0f766e;background:#4db8a829;border-radius:999px;margin-top:.5rem;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.guild-leave-wrap{justify-content:center;padding-top:.5rem;display:flex}.guild-boss-page{flex-direction:column;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.page-hero{align-items:center;gap:.9rem;display:flex}.page-hero-icon{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary));border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 8px 20px #003da547}.page-hero-text{flex:auto;min-width:0}.page-hero-text h1{letter-spacing:-.01em;color:var(--dark);margin:0;font-size:1.75rem;font-weight:800;line-height:1.15}.page-hero-text p{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.guild-boss-status{border-radius:999px;flex-shrink:0;padding:.35rem .8rem;font-size:.8rem;font-weight:700}.guild-boss-status.is-active{color:#0f766e;background:#4db8a82e}.guild-boss-status.is-defeated{color:#7a5200;background:#f5c54940}.guild-boss-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width>=1024px){.guild-boss-layout{grid-template-columns:minmax(0,1fr) 320px}.guild-boss-side{position:sticky;top:1rem}.guild-boss-side .guild-boss-ranking{max-height:max(12rem,100vh - 380px);overflow-y:auto}}.guild-boss-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.guild-boss-page .battle-scene{width:100%}.guild-boss-panel{flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex}.dark .guild-boss-panel,.dark .guild-boss-stat-card,.dark .guild-boss-ranking{background:#16233d}.dark .page-hero-text h1,.dark .guild-boss-stat-value,.dark .guild-boss-ranking-title,.dark .guild-boss-ranking-damage{color:#e6edf9}.guild-boss-hp{flex-direction:column;gap:.5rem;display:flex}.guild-boss-hp-head{justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;font-weight:700;display:flex}.guild-boss-hp-label{align-items:center;gap:.4rem;display:inline-flex}.guild-boss-hp-label svg,.guild-boss-hp-percent{color:var(--danger)}.guild-boss-hp-bar{background:#1e88e524 linear-gradient(90deg,#0000 24.6%,#ffffff8c 24.6% 25.2%,#0000 25.2% 49.6%,#ffffff8c 49.6% 50.2%,#0000 50.2% 74.6%,#ffffff8c 74.6% 75.2%,#0000 75.2%);border-radius:999px;height:30px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000001f}.guild-boss-hp-fill{border-radius:inherit;background:linear-gradient(#f87171 0%,#ef4444 55%,#dc2626 100%);transition:width .4s;position:absolute;inset:0 auto 0 0;box-shadow:inset 0 2px #ffffff59}.guild-boss-hp-text{color:#fff;text-shadow:0 1px 2px #0000008c;font-variant-numeric:tabular-nums;place-items:center;font-size:.85rem;font-weight:800;display:grid;position:absolute;inset:0}.guild-boss-power-note{color:var(--muted);align-items:center;gap:.4rem;margin:-.25rem 0 0;font-size:.8rem;display:flex}.guild-boss-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.guild-boss-attack-btn{flex:none;justify-content:center;gap:.5rem;min-width:11rem;min-height:48px;font-size:1rem}.guild-boss-actions-text{flex:14rem;min-width:0}.guild-boss-attacks-left{margin:0;font-size:.9rem;font-weight:700}.guild-boss-hint{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.guild-boss-defeated-note{color:#4a2f00;text-align:center;background:#fff6d9;border-radius:10px;padding:.85rem;font-size:.9rem}.guild-boss-defeated-note p{margin:0}.guild-boss-respawn{justify-content:center;align-items:center;gap:.4rem;font-weight:700;display:flex;margin-top:.4rem!important}.guild-boss-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.guild-boss-stat-card{--tone:var(--dark);--tone-bg:#003da517;border:1px solid var(--border);border-left:4px solid var(--tone);background:#fff;border-radius:14px;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;box-shadow:0 8px 28px #2852820e}.guild-boss-stat-card.is-sky{--tone:var(--primary);--tone-bg:#1e88e51f}.guild-boss-stat-card.is-gold{--tone:#d99a00;--tone-bg:#f5c54947}.guild-boss-stat-icon{background:var(--tone-bg);width:40px;height:40px;color:var(--tone);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.guild-boss-stat-label{color:var(--muted);margin:0;font-size:.75rem}.guild-boss-stat-value{color:var(--dark);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0;font-size:1.4rem;font-weight:800;line-height:1.2;display:flex}.guild-boss-stat-value small{color:var(--muted);font-size:.75rem;font-weight:600}.guild-boss-stat-text{font-size:1.05rem}.guild-boss-tiers{padding:.9rem 1rem}.guild-boss-tiers-title{color:var(--dark);align-items:center;gap:.45rem;margin:0 0 .6rem;font-size:.95rem;font-weight:800;display:flex}.guild-boss-tiers-title svg{color:#d99a00}.guild-boss-tiers-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.guild-boss-tier{border-radius:10px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.85rem;display:flex}.guild-boss-tier.is-mine{box-shadow:inset 0 0 0 2px var(--accent);background:#f5c54947}.guild-boss-tier-label{font-weight:600}.guild-boss-tier-coin{font-variant-numeric:tabular-nums;color:#8a5a00}.dark .guild-boss-tiers{background:#16233d}.dark .guild-boss-tiers-title{color:#e6edf9}.guild-boss-side{flex-direction:column;gap:1rem;display:flex}.guild-boss-ranking{padding:1rem}.guild-boss-ranking-head{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;margin-bottom:.85rem;padding-bottom:.85rem;display:flex}.guild-boss-ranking-icon{color:#b7791f;background:#f5c54947;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.guild-boss-ranking-title{color:var(--dark);margin:0;font-size:1rem;font-weight:800}.guild-boss-ranking-sub{color:var(--muted);margin:.1rem 0 0;font-size:.75rem}.guild-boss-ranking-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.guild-boss-ranking-row{border-radius:12px;align-items:center;gap:.6rem;padding:.55rem .6rem;transition:background .15s;display:flex}.guild-boss-ranking-row:hover{background:#1e88e50f}.guild-boss-ranking-row.is-top-1{background:linear-gradient(90deg,#f5c54938,#f5c5490a)}.guild-boss-ranking-row.is-me{box-shadow:inset 0 0 0 2px var(--primary)}.guild-boss-ranking-rank{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;font-size:.78rem;font-weight:800;display:grid}.is-top-1>.guild-boss-ranking-rank{background:var(--accent);color:#4a2f00}.is-top-2>.guild-boss-ranking-rank{background:#cbd5e1}.is-top-3>.guild-boss-ranking-rank{color:#5b3a12;background:#e7b98a}.guild-boss-ranking-avatar{background:linear-gradient(135deg, var(--teal), var(--primary));color:#fff;object-fit:cover;border-radius:50%;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.85rem;font-weight:800;display:grid}.guild-boss-ranking-main{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.guild-boss-ranking-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.guild-boss-ranking-you{color:var(--primary);background:#1e88e524;border-radius:999px;flex-shrink:0;padding:.05rem .4rem;font-size:.65rem;font-style:normal;font-weight:800}.guild-boss-ranking-bar{background:#1e88e51f;border-radius:999px;height:5px;display:block;overflow:hidden}.guild-boss-ranking-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--dark), var(--teal));height:100%;display:block}.guild-boss-ranking-values{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.guild-boss-ranking-reward{color:#8a5a00;font-size:.7rem;font-weight:700}.guild-boss-ranking-damage{text-align:right;font-variant-numeric:tabular-nums;min-width:2.4rem;color:var(--dark);flex-shrink:0;font-size:.95rem;font-weight:800}.guild-boss-ranking-empty{text-align:center;color:var(--muted);margin:0;padding:.75rem;font-size:.85rem}.battle-screen>.guild-boss-ranking{flex-shrink:0}@media (width>=1360px){.battle-screen>.guild-boss-ranking{width:300px;max-height:calc(100vh - 32px);position:fixed;top:16px;right:16px;overflow-y:auto}}.guild-boss-result{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:1rem;display:flex}.guild-boss-result h2,.guild-boss-result p{margin:0}@media (width<=640px){.guild-boss-stats{grid-template-columns:1fr}.guild-boss-attack-btn{width:100%}}@media (width<=899px){.game-sidebar{display:none}.game-topbar,.game-bottom-nav{display:flex}.game-main{padding:16px 0 calc(20px + env(safe-area-inset-bottom,0px))}.game-container{width:min(1200px,100% - 24px)}}@media (width<=760px){.question-matching-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.battle-scene{flex:0 0 250px;height:250px}.battle-question-panel,.team-pvp-round-banner{height:calc(100% - 266px)}.battle-hud-panel{width:42%}.battle-hp-bar{width:min(100%,128px)}.battle-hp-bar-monster{margin-left:auto}.question-actions .btn{min-width:128px;min-height:44px}.battle-forfeit-link{align-self:flex-start;margin-top:-4px;position:static}.battle-floating-number-character{left:10px}.battle-floating-number-monster{right:10px}.game-profile-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.question-runner.is-sliding .question-runner-track{transition:none;transform:translate(0)}.battle-floating-number{animation:none}}.guild-quick{flex-direction:column;gap:1rem;display:flex}.guild-quick-head{align-items:center;gap:.85rem;display:flex}.guild-quick-head>div{flex:auto}.guild-quick-icon{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary));border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.guild-quick-head h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.15rem;font-weight:800;overflow:hidden}.guild-quick-head p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.guild-quick-desc{white-space:pre-line;background:#1e88e512;border-radius:12px;margin:0;padding:.75rem .9rem;font-size:.9rem;line-height:1.5}.guild-quick-desc.is-empty{color:var(--muted);font-style:italic}.guild-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.guild-quick-stats>div{border:1px solid var(--border);border-radius:12px;padding:.6rem .8rem}.guild-quick-stats dt{color:var(--muted);align-items:center;gap:.35rem;font-size:.72rem;display:flex}.guild-quick-stats dd{font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:1.05rem;font-weight:800}.guild-quick-subtitle{margin:0;font-size:.85rem;font-weight:800}.guild-quick-members{flex-direction:column;gap:.3rem;max-height:14rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:flex;overflow-y:auto}.guild-quick-members li{border-radius:10px;align-items:center;gap:.6rem;padding:.35rem .4rem;display:flex}.guild-quick-member-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;gap:.35rem;min-width:0;font-size:.88rem;font-weight:700;display:inline-flex;overflow:hidden}.guild-quick-member-name svg{color:#b7791f;flex-shrink:0}.guild-quick-member-meta{color:var(--muted);flex-shrink:0;font-size:.75rem}.guild-quick-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.guild-boss-page.is-embedded{max-width:none;margin:0}.guild-boss-tab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.guild-boss-tab-head p{color:var(--muted);margin:0;font-size:.9rem}.guild-ranking{flex-direction:column;gap:.85rem;display:flex}.guild-ranking-mine{color:#7a5200;background:#f5c5493d;border-radius:12px;margin:0;padding:.6rem .9rem;font-size:.88rem;font-weight:800}.guild-ranking-mine span{font-weight:500}.guild-rank-badge{color:#334155;background:#e2e8f0;border-radius:50%;place-items:center;width:1.9rem;height:1.9rem;font-size:.8rem;font-weight:800;display:grid}.guild-rank-badge.is-top-1{background:var(--accent);color:#4a2f00}.guild-rank-badge.is-top-2{background:#cbd5e1}.guild-rank-badge.is-top-3{color:#5b3a12;background:#e7b98a}.guild-level-chip.is-plain{margin-left:0}.guild-ranking-members{align-items:center;gap:.3rem;display:inline-flex}.guild-shell{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:1.25rem;max-width:1240px;margin:0 auto;display:grid}.guild-sidebar{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:1rem;min-height:48rem;padding:1.1rem;display:flex;box-shadow:0 8px 28px #28528212}.dark .guild-sidebar{background:#16233d}.guild-side-head{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary));border-radius:14px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.guild-side-icon{background:#fff3;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.guild-side-name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.3rem;font-weight:800;line-height:1.2;overflow:hidden}.guild-side-desc{-webkit-line-clamp:3;opacity:.92;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.guild-side-chips{flex-wrap:wrap;gap:.4rem;display:flex}.guild-side-chip{background:#fff3;border-radius:999px;padding:.18rem .6rem;font-size:.75rem;font-weight:700}.guild-level{flex-direction:column;gap:.5rem;display:flex}.guild-level-top{justify-content:space-between;align-items:center;display:flex}.guild-level-badge{color:#7a5200;background:#f5c54947;border-radius:999px;align-items:center;gap:.4rem;padding:.28rem .75rem;font-size:.85rem;font-weight:800;display:inline-flex}.guild-level-xp{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem;font-weight:700}.guild-nav{flex-direction:column;gap:.2rem;display:flex}.guild-nav-item{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.65rem;padding:.6rem .75rem;font-size:.9rem;font-weight:700;transition:background .15s,color .15s;display:flex}.guild-nav-item:hover{color:var(--dark);background:#1e88e514}.guild-nav-item.is-active{color:var(--dark);box-shadow:inset 3px 0 0 var(--primary);background:#1e88e524}.guild-nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.guild-nav-item svg{flex-shrink:0}.guild-nav-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:1.3rem;margin-left:auto;padding:.05rem .4rem;font-size:.7rem;font-weight:800}.guild-side-leave{border-top:1px solid var(--border);margin-top:.25rem;padding-top:.85rem}.guild-side-leave .btn{width:100%}.guild-content{contain:size;min-width:0;min-height:0}.guild-content>.guild-panel,.guild-content>.guild-boss-page{height:100%}.guild-content>.guild-boss-page{overflow-y:auto}.guild-panel{overflow:hidden}.guild-panel-scroll{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.guild-tab-body{flex-direction:column;flex:auto;gap:.75rem;min-height:0;display:flex}.guild-tab-footer{margin-top:auto}.guild-content .guild-boss-layout{grid-template-columns:minmax(0,1fr)}@media (width>=1180px){.guild-content .guild-boss-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (width<=900px){.guild-shell{grid-template-columns:1fr}.guild-sidebar{min-height:0;position:static}.guild-content{contain:none}.guild-content>.guild-panel,.guild-content>.guild-boss-page{height:auto}.guild-nav{flex-direction:row;overflow-x:auto}.guild-nav-item{white-space:nowrap;width:auto}.guild-nav-item.is-active{box-shadow:inset 0 -3px 0 var(--primary)}}.guild-table-wrap{overflow-x:auto}.guild-table{border-collapse:collapse;width:100%;font-size:.88rem}.guild-table th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.6rem .75rem;font-size:.75rem;font-weight:700}.guild-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.5rem .75rem}.guild-table tbody tr:last-child td{border-bottom:0}.guild-table tbody tr:hover{background:#1e88e50a}.guild-table .is-number{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.guild-table .is-actions{text-align:right;white-space:nowrap}.guild-table-strong{font-weight:700;display:block}.guild-table-sub{color:var(--muted);font-size:.75rem;display:block}.guild-table-actions{gap:.4rem;display:inline-flex}.guild-table tr.is-mine{box-shadow:inset 3px 0 0 var(--primary);background:#1e88e514}.guild-boss-page.is-embedded{gap:.75rem}.guild-boss-page.is-embedded .battle-scene{flex-basis:260px;height:260px}.guild-boss-page.is-embedded .guild-boss-panel{gap:.75rem;padding:.9rem 1.1rem}.guild-boss-page.is-embedded .guild-boss-stats{gap:.6rem}.guild-boss-page.is-embedded .guild-boss-stat-card{border-left-width:3px;align-items:center;gap:.65rem;padding:.6rem .8rem}.guild-boss-page.is-embedded .guild-boss-stat-icon{border-radius:10px;width:34px;height:34px}.guild-boss-page.is-embedded .guild-boss-stat-card>div{min-width:0}.guild-boss-page.is-embedded .guild-boss-stat-label{overflow-wrap:anywhere;font-size:.72rem}.guild-boss-page.is-embedded .guild-boss-stat-value{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:0 .35rem;font-size:1.15rem}.guild-boss-page.is-embedded .guild-boss-stat-value small{flex-basis:100%;font-size:.72rem}.guild-ranking-modes{background:#1e88e514;border-radius:10px;align-self:flex-start;gap:.25rem;padding:.25rem;display:inline-flex}.guild-ranking-mode{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .9rem;font-size:.85rem;font-weight:700;transition:background .15s,color .15s}.guild-ranking-mode:hover{color:var(--dark)}.guild-ranking-mode.is-active{color:var(--dark);background:#fff;box-shadow:0 2px 8px #28528224}.guild-ranking-mode:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.dark .guild-ranking-mode.is-active{color:#fff;background:#0f1c33}.guild-ranking-hint{color:var(--muted);margin:0;font-size:.8rem}.guild-sidebar .guild-side-leave{margin-top:auto}.guild-panel{gap:.9rem;padding:1.1rem 1.25rem 1.25rem}.guild-panel-head{border-bottom:1px solid var(--border);align-items:center;gap:.85rem;padding-bottom:.9rem;display:flex}.guild-panel-head-icon{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary));border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 6px 16px #003da538}.guild-panel-head h2{color:var(--dark);margin:0;font-size:1.1rem;font-weight:800;line-height:1.2}.guild-panel-head p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.dark .guild-panel-head h2{color:#e6edf9}.guild-panel .guild-table-wrap{border:1px solid var(--border);border-radius:14px}.guild-panel .guild-table thead th{border-bottom:1px solid var(--border);background:#1e88e50f}.guild-panel .guild-table tbody tr:nth-child(2n){background:#1e88e506}.guild-panel .guild-table td{padding:.5rem .9rem}.guild-panel .guild-table th{padding:.7rem .9rem}.guild-member-avatar{flex-basis:38px;width:38px;height:38px}.guild-ghost-row td{padding:.3rem .9rem}.guild-table tr.guild-ghost-row:hover{background:0 0}.guild-ghost-btn{width:100%;min-height:46px;color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:1px dashed #1e88e566;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;transition:background .15s,border-color .15s;display:flex}.guild-ghost-btn:hover{border-color:var(--primary);background:#1e88e512}.guild-ghost-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.guild-invite{flex-direction:column;gap:.75rem;display:flex}.guild-invite-search{min-width:0}.guild-invite-section{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.8rem;font-weight:800;display:flex}.guild-invite-section span{color:var(--primary);background:#1e88e51f;border-radius:999px;padding:.05rem .5rem}.guild-invite-list{flex-direction:column;gap:.4rem;max-height:22rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:flex;overflow-y:auto}.guild-invite-row{border:1px solid var(--border);border-radius:12px;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.guild-invite-info{flex:auto;min-width:0}.guild-invite-info p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guild-invite-row .btn{flex-shrink:0;gap:.35rem}.guild-invite-state{color:var(--muted);flex-shrink:0;font-size:.78rem;font-weight:700}.guild-member-avatar{position:relative;overflow:visible}.guild-member-avatar>img{border-radius:50%}.guild-avatar-dot{background:#cbd5e1;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.guild-avatar-dot.is-online{background:#22c55e}.guild-ghost-btn.is-static{cursor:default;color:var(--muted);border-color:#1e88e540}.guild-ghost-btn.is-static:hover{background:0 0;border-color:#1e88e540}.guild-invites-panel{background:linear-gradient(135deg,#f5c54929,#f5c5490a);border:1px solid #f5c549b3;border-radius:16px;padding:.9rem 1rem}.guild-invites-panel h2{color:#7a5200;align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1rem;font-weight:800;display:flex}.guild-invites-panel h2 span{background:var(--danger);color:#fff;border-radius:999px;padding:.05rem .55rem;font-size:.72rem}.guild-invites-panel ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.guild-invites-panel .guild-list-row{background:#fff}.guild-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.guild-podium-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.3rem;padding:.85rem .6rem;display:flex}.guild-podium-card.is-top-1{background:linear-gradient(#f5c54933,#fff);border-color:#f5c549bf;padding-block:1.2rem;box-shadow:0 10px 24px #d99a0029}.guild-podium-card.is-mine{box-shadow:0 0 0 2px var(--primary)}.dark .guild-podium-card{background:#0f1c33}.guild-podium-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;overflow:hidden}.guild-podium-score{font-variant-numeric:tabular-nums;color:var(--dark);font-size:1.05rem;font-weight:800}.guild-podium-sub{color:var(--muted);font-size:.72rem}.guild-search input,.guild-search input:focus,.guild-search input:focus-visible{box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;padding:0}.guild-search-clear{width:22px;height:22px;color:var(--muted);cursor:pointer;background:#64748b2e;border:0;border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.guild-search-clear:hover{color:var(--primary);background:#1e88e52e}.guild-search-clear:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.modal.guild-invite-modal{width:min(560px,100%)}.guild-invite{gap:.85rem;width:100%;min-width:0}.guild-invite .guild-invite-search{background:var(--bg);border-radius:12px;height:46px;margin:12px 0;padding:0 .9rem}.guild-invite-search input{font-size:.95rem}.guild-invite-section{padding-top:.15rem}.guild-invite-list{gap:.5rem;max-height:min(22rem,52vh)}.guild-invite-row{border-radius:14px;padding:.6rem .8rem;transition:border-color .15s,background .15s,box-shadow .15s}.guild-invite-row:hover{background:#1e88e50a;border-color:#1e88e573;box-shadow:0 4px 14px #1e88e514}.guild-invite-row .guild-member-avatar{flex-basis:42px;width:42px;height:42px}.guild-invite-row .guild-member-avatar>img{object-fit:cover;width:100%;height:100%}.guild-avatar-dot{width:12px;height:12px;bottom:0;right:0}.guild-invite-row .btn{justify-content:center;min-width:5.5rem;min-height:38px}.guild-create-card input:focus,.guild-create-card textarea:focus,.guild-field input:focus,.guild-field textarea:focus{outline:0}.arena-tabs{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;display:grid}.arena-tab{white-space:nowrap;color:#475a75;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:8px 12px;font-size:14px;font-weight:700;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.arena-tab svg{flex-shrink:0;width:20px;height:20px}.arena-tab:hover{background:var(--primary-50);color:var(--primary)}.arena-tab.active{background:linear-gradient(135deg, var(--primary-50), #eafaf6);color:var(--dark);box-shadow:inset 0 0 0 1px var(--primary-100)}.arena-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=640px){.arena-tab{flex-direction:column;gap:4px;min-height:56px;font-size:13px}}@media (prefers-reduced-motion:reduce){.arena-tab{transition:none}}.dark .arena-tabs{background:#0f172a;border-color:#1e293b}.dark .arena-tab{color:#cbd5e1}.dark .arena-tab:hover{color:#fff;background:#1e293b}.dark .arena-tab.active{color:#fff;background:#1e88e538;box-shadow:inset 0 0 0 1px #1e88e580}.arena-hero{color:#fff;background:linear-gradient(120deg,#002f80 0%,#0b4fb8 55%,#1e88e5 130%);border-radius:22px;padding:26px 28px 58px;position:relative;overflow:hidden;box-shadow:0 14px 34px #003da538}.arena-hero:before,.arena-hero:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.arena-hero:before{background:#ffffff14;width:240px;height:240px;top:-100px;right:-50px}.arena-hero:after{background:#f5c54933;width:150px;height:150px;bottom:-80px;right:130px}.arena-hero-text{z-index:1;position:relative}.arena-hero h1{color:#fff;margin:0;font-size:28px;font-weight:800;line-height:1.2}.arena-hero p{color:#ffffffeb;max-width:520px;margin:6px 0 0;font-size:14px}.arena-hero-icon{z-index:1;color:#ffffff3d;width:84px;height:84px;position:absolute;top:50%;right:30px;transform:translateY(-62%)}.arena-tabs{z-index:2;margin:-32px 16px 0;position:relative;box-shadow:0 12px 28px #003da529}.arena-content{padding-top:4px}@keyframes arena-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.arena-enter{animation:.28s ease-out both arena-rise}.arena-cta{color:#3d2600;background:linear-gradient(#ffd76a,#f5c549);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:0 20px;font-size:16px;font-weight:800;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 22px #f5c54966,inset 0 -3px #a06b0040}.arena-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 26px #f5c54980,inset 0 -3px #a06b0040}.arena-cta:active:not(:disabled){transform:translateY(1px)}.arena-cta:focus-visible{outline-offset:2px;outline:3px solid #003da580}.arena-cta svg{width:20px;height:20px}.arena-aside{flex-shrink:0;width:100%}@media (width>=1024px){.arena-aside{width:320px}}@media (width<=640px){.arena-hero{border-radius:18px;padding:20px 18px 52px}.arena-hero h1{font-size:24px}.arena-hero-icon{width:56px;height:56px;right:14px}.arena-tabs{margin:-30px 8px 0}}@media (prefers-reduced-motion:reduce){.arena-enter{animation:none}.arena-cta{transition:none}}.dark .arena-hero{background:linear-gradient(120deg,#0a1f4d 0%,#12358a 55%,#1b5fb8 130%);box-shadow:0 14px 34px #0006}.dark .arena-tabs{box-shadow:0 12px 28px #00000059}.giai-tabs{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:16px;gap:6px;padding:6px;display:flex}.giai-tab{white-space:nowrap;color:#475a75;border-radius:11px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:14px;font-weight:700;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.giai-tab svg{flex-shrink:0;width:18px;height:18px}.giai-tab:hover{background:var(--primary-50);color:var(--primary)}.giai-tab.active{background:linear-gradient(135deg, var(--primary-50), #eafaf6);color:var(--dark);box-shadow:inset 0 0 0 1px var(--primary-100)}.giai-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.giai-tab{transition:none}}.dark .giai-tabs{background:#0f172a;border-color:#1e293b}.dark .giai-tab{color:#cbd5e1}.dark .giai-tab:hover{color:#fff;background:#1e293b}.dark .giai-tab.active{color:#fff;background:#1e88e538;box-shadow:inset 0 0 0 1px #1e88e580}.giai-hero{color:#fff;background:linear-gradient(135deg,#001d4d 0%,#002f80 45%,#0b4fb8 100%);border:1px solid #f5c54959;border-radius:22px;padding:30px 28px;position:relative;overflow:hidden;box-shadow:0 18px 40px #001d4d59,inset 0 0 0 1px #f5c54914}.giai-hero:before{content:"";pointer-events:none;border:1px solid #f5c54938;border-radius:16px;position:absolute;inset:8px}.giai-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#f5c54947,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.giai-hero-text{z-index:1;max-width:560px;position:relative}.giai-hero-eyebrow{color:#ffd76a;letter-spacing:.08em;text-transform:uppercase;background:#f5c54929;border:1px solid #f5c54966;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.giai-hero-eyebrow svg{width:12px;height:12px}.giai-hero h1{color:#fff;margin:0;font-size:26px;font-weight:800}.giai-hero p{color:#ffffffd9;margin:8px 0 0;font-size:14px}.giai-hero-results-link{color:#ffd76a;text-underline-offset:3px;margin-top:10px;font-size:12px;font-weight:700;text-decoration:underline;display:inline-flex}.giai-hero-results-link:hover{color:var(--accent)}.giai-hero-icon{z-index:0;color:#f5c5492e;width:92px;height:92px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}@media (width<=640px){.giai-hero{padding:22px 18px}.giai-hero h1{font-size:22px}.giai-hero-icon{width:60px;height:60px;right:14px}}.dark .giai-hero{background:linear-gradient(135deg,#000f2e 0%,#071c4d 45%,#123a8a 100%);box-shadow:0 18px 40px #00000080}.giai-champion{background:linear-gradient(135deg,#fff3d1 0%,#ffe19c 45%,#f5c549 100%);border:1px solid #003da524;border-radius:20px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 16px 32px #f5c54966}.giai-champion:after{content:"";pointer-events:none;background:radial-gradient(circle,#003da51a,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;bottom:-50px;right:-40px}.giai-champion-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#7a5300;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.giai-champion-eyebrow svg{width:13px;height:13px}.giai-champion-body{z-index:1;align-items:center;gap:16px;margin-top:10px;display:flex;position:relative}.giai-champion-medal{background:linear-gradient(135deg, var(--dark), var(--primary));color:#ffd76a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 8px 18px #003da559,inset 0 0 0 3px #ffffff8c}.giai-champion-medal svg{width:28px;height:28px}.giai-champion-team{color:var(--dark);margin:0;font-size:19px;font-weight:800}.giai-champion-tournament{color:#7a5300;margin:2px 0 0;font-size:13px;font-weight:600}.giai-champion-members{z-index:1;flex-wrap:wrap;gap:6px;margin-top:14px;display:flex;position:relative}.giai-champion-chip{color:var(--dark);white-space:nowrap;background:#003da51a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.giai-champion-chip svg{flex-shrink:0}.dark .giai-champion{background:linear-gradient(135deg,#3a2a00 0%,#574000 45%,#7a5c00 100%);border-color:#f5c54959;box-shadow:0 16px 32px #0006}.dark .giai-champion-eyebrow{color:#ffd76a}.dark .giai-champion-team{color:#fff7e0}.dark .giai-champion-tournament{color:#ffd76a}.dark .giai-champion-chip{color:#ffe9b0;background:#ffffff24}@media (width<=480px){.giai-champion-body{flex-wrap:wrap}}.giai-section{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:18px;padding:20px;position:relative;overflow:hidden}.giai-section:before{content:"";background:linear-gradient(90deg, var(--dark), var(--accent) 55%, var(--dark));height:3px;position:absolute;inset:0 0 auto}.dark .giai-section{background:#0f172a;border-color:#1e293b}.giai-section-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.giai-section-icon{background:linear-gradient(135deg, var(--dark), var(--primary));color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 6px 14px #003da540}.giai-section-icon svg{width:20px;height:20px}.giai-section-icon.is-gold{background:linear-gradient(180deg, #ffd76a, var(--accent));color:#4a2f00;box-shadow:0 6px 14px #f5c54959}.giai-section-title{color:#1f2937;margin:0;font-size:16px;font-weight:700}.dark .giai-section-title{color:#f1f5f9}.giai-section-hint{color:var(--muted);margin:2px 0 0;font-size:13px}.giai-leave-btn{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:background-color .15s,border-color .15s;display:inline-flex}.giai-leave-btn svg{width:14px;height:14px}.giai-leave-btn:hover{background:#fee2e2;border-color:#fca5a5}.dark .giai-leave-btn{color:#fca5a5;background:#dc262624;border-color:#dc262659}.dark .giai-leave-btn:hover{background:#dc262638}.giai-room-score{color:#fff;background:linear-gradient(120deg,#002f80 0%,#0b4fb8 55%,#1e88e5 130%);border-radius:18px;justify-content:space-between;align-items:stretch;gap:10px;padding:18px 22px;display:flex;box-shadow:0 14px 30px #003da538}.dark .giai-room-score{background:linear-gradient(120deg,#000f2e 0%,#071c4d 45%,#123a8a 100%);box-shadow:0 14px 30px #0006}.giai-room-score-team,.giai-room-score-tally-col{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.giai-room-score-team{flex:1}.giai-room-score-team.is-opponent{text-align:right;align-items:flex-end}.giai-room-score-tally-col{flex-shrink:0;align-items:center}.giai-room-score-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;font-size:10px;font-weight:700}.giai-room-score-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:800;overflow:hidden}.giai-room-score-tally{color:#ffd76a;flex-shrink:0;align-items:baseline;gap:8px;font-size:26px;font-weight:800;display:flex}.giai-room-score-sep{color:#ffffff80;font-size:15px}@media (width<=480px){.giai-room-score-name{font-size:13px}.giai-room-score-tally{font-size:20px}}.giai-roster-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=640px){.giai-roster-grid{grid-template-columns:1fr 1fr}}.giai-roster-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px}.dark .giai-roster-card{background:#0f172a;border-color:#1e293b}.giai-roster-head{color:var(--dark);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.dark .giai-roster-head{color:#e2e8f0}.giai-roster-count{color:var(--muted);font-size:11px;font-weight:700}.giai-roster-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.giai-roster-row{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.dark .giai-roster-row{background:#111c33}.giai-roster-row.is-me{background:linear-gradient(90deg,#f5c54929,#f5c54908)}.giai-roster-row.is-empty{color:var(--muted);font-style:italic}.giai-roster-row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.giai-roster-row svg{color:var(--teal);flex-shrink:0;width:15px;height:15px}.giai-captain-badge{background:var(--accent);color:#4a2f00;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;font-size:9px;font-weight:800;display:inline-flex}.giai-captain-badge svg{color:#4a2f00;width:10px;height:10px}.giai-lineup-order{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.giai-lineup-order li{color:var(--dark);background:linear-gradient(90deg,#f5c54929,#f5c54908);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.dark .giai-lineup-order li{color:#ffd76a}.giai-lineup-order-badge{background:var(--accent);color:#4a2f00;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:inline-flex}.giai-lineup-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.giai-lineup-chip{border:1px solid var(--border);color:#1f2937;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:700;transition:border-color .15s,background-color .15s,transform .15s;display:inline-flex}.dark .giai-lineup-chip{color:#e2e8f0;background:#0b1220;border-color:#1e293b}.giai-lineup-chip:hover:not(:disabled){border-color:var(--accent)}.giai-lineup-chip.is-selected{border-color:var(--accent);background:linear-gradient(180deg, #ffe9b0, var(--accent));color:#4a2f00}.giai-lineup-chip-badge{background:var(--dark);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:inline-flex}.giai-single-row{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;line-height:20px;display:flex}.dark .giai-single-row{background:#0f172a;border-color:#1e293b}.giai-single-row.is-current{border-color:var(--accent);box-shadow:0 0 0 3px #f5c54929}.giai-single-row.is-done{opacity:.7}.giai-single-slot{color:var(--muted);flex-shrink:0;width:46px;font-size:11px;font-weight:800}.giai-single-players{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.giai-single-player{text-overflow:ellipsis;white-space:nowrap;color:#1f2937;font-weight:700;overflow:hidden}.dark .giai-single-player{color:#e2e8f0}.giai-single-player.is-winner{color:var(--dark)}.dark .giai-single-player.is-winner{color:#ffd76a}.giai-single-vs{color:var(--muted);flex-shrink:0;font-size:11px}.giai-single-status{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.giai-schedule-list,.giai-history-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.giai-schedule-row{background:#f8fafc;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.dark .giai-schedule-row{background:#111c33}.giai-schedule-stage{width:84px;color:var(--muted);flex-shrink:0;font-size:11px;font-weight:700}.giai-schedule-teams{color:#1f2937;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.dark .giai-schedule-teams{color:#e2e8f0}.giai-schedule-teams span:not(.giai-schedule-score){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.giai-schedule-teams .is-winner{color:var(--dark);font-weight:800}.dark .giai-schedule-teams .is-winner{color:#ffd76a}.giai-schedule-score{color:var(--muted);flex-shrink:0;font-weight:800}.giai-schedule-status{white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.giai-schedule-status.is-done{color:var(--teal)}.giai-schedule-status.is-inprogress{color:var(--accent)}.giai-schedule-status.is-pending{color:var(--muted)}.giai-history-row{background:#f8fafc;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.dark .giai-history-row{background:#111c33}.giai-history-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.giai-history-tournament{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.dark .giai-history-tournament{color:#e2e8f0}.giai-history-team{color:var(--muted);flex-shrink:0}.giai-history-status{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.giai-season-title{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:800}.giai-history-row.is-button{cursor:pointer;text-align:left;border:1px solid #0000;width:100%;transition:border-color .15s,background-color .15s}.giai-history-row.is-button:hover{border-color:var(--accent)}.giai-tournament-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.giai-hero-back{color:#ffffffd9;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:700;display:inline-flex}.giai-hero-back:hover{color:#ffd76a}.giai-hero-back svg{width:14px;height:14px}.giai-room-shell{background:linear-gradient(#eef5ff 0%,#f7fafd 45%);min-height:100dvh}.dark .giai-room-shell{background:linear-gradient(#0b1220 0%,#0f172a 45%)}.giai-room-topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);background:#fff;align-items:center;padding:0 20px;display:flex}.dark .giai-room-topbar{background:#0b1220;border-color:#1e293b}.giai-room-topbar-brand{color:var(--dark);align-items:center;gap:8px;font-size:15px;font-weight:800;display:inline-flex}.dark .giai-room-topbar-brand{color:#f1f5f9}.giai-room-topbar-brand svg{width:18px;height:18px;color:var(--accent)}.giai-room-shell-content{padding:20px 16px 60px}.giai-room-done{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.giai-input-row{gap:10px;display:flex}.giai-input{border:1px solid var(--border);letter-spacing:.18em;text-transform:uppercase;min-width:0;height:44px;color:var(--dark);background:#fff;border-radius:12px;flex:1;padding:0 14px;font-weight:700;transition:border-color .15s,box-shadow .15s}.giai-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #f5c54940}.dark .giai-input{color:#ffd76a;background:#0b1220;border-color:#1e293b}.giai-cta{white-space:nowrap;width:auto;min-height:44px;padding:0 22px}.giai-member-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.giai-member-row{background:#f8fafc;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dark .giai-member-row{background:#111c33}.giai-member-row.is-me{background:linear-gradient(90deg,#f5c54924,#f5c54908);border-color:#f5c54980}.giai-member-avatar{background:var(--primary-50);width:30px;height:30px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.giai-member-row.is-me .giai-member-avatar{background:var(--accent);color:#4a2f00}.giai-member-avatar svg{width:16px;height:16px}.giai-member-name{color:#1f2937;flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.dark .giai-member-name{color:#e2e8f0}.giai-you-badge{background:var(--accent);color:#4a2f00;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:10px;font-weight:800}.giai-member-char{color:var(--muted);flex-shrink:0;font-size:13px}.giai-character-picker{border-top:1px dashed var(--border);padding-top:16px}.dark .giai-character-picker{border-top-color:#1e293b}.giai-character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.giai-character-option{border:1px solid var(--border);color:#1f2937;text-align:center;background:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:12px 8px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.giai-character-option:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 18px #f5c54933}.dark .giai-character-option{color:#e2e8f0;background:#0b1220;border-color:#1e293b}.giai-status-pill{color:#8a5a00;background:#f5c54924;border:1px solid #f5c54966;border-radius:999px;align-items:center;gap:6px;margin:0 0 12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.giai-status-pill svg{flex-shrink:0;width:13px;height:13px}.dark .giai-status-pill{color:#ffd76a;background:#f5c5491f;border-color:#f5c54959}.arena-select-wrap{align-items:center;min-width:210px;display:inline-flex;position:relative}.arena-select{border:1px solid var(--border);color:#1f2937;appearance:none;cursor:pointer;text-overflow:ellipsis;background:#fff;border-radius:12px;width:100%;height:42px;padding:0 40px;font-size:14px;font-weight:600}.arena-select:hover{border-color:var(--primary)}.arena-select-icon{color:#64748b;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.arena-select-icon.left{left:14px}.arena-select-icon.right{right:14px}.dark .arena-select{color:#f1f5f9;background:#1e293b;border-color:#475569}@media (width<=480px){.arena-select-wrap{width:100%}}.arena-empty{text-align:center;background:linear-gradient(#fff 0%,#f3f8ff 100%);border:1px dashed #b9d0ee;border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:44px 24px 40px;display:flex}.arena-empty-art{background:radial-gradient(circle at 30% 25%, #fff, var(--primary-50) 60%, #dcecfb);width:96px;height:96px;box-shadow:0 10px 26px #1e88e52e, inset 0 0 0 1px var(--primary-100);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.arena-empty-art .main{width:42px;height:42px;color:var(--primary)}.arena-empty-art.live:after{content:"";border:2px solid var(--primary);opacity:0;border-radius:50%;animation:2s ease-out infinite arena-ping;position:absolute;inset:0}.arena-empty-dot{border-radius:50%;position:absolute}.arena-empty-dot.gold{background:var(--accent);width:14px;height:14px;top:6px;right:2px}.arena-empty-dot.teal{background:var(--teal);width:10px;height:10px;bottom:8px;left:-4px}.arena-empty-body h3{color:#14284b;margin:0;font-size:18px;font-weight:800}.arena-empty-body p{color:#4b5d78;max-width:440px;margin:6px auto 0;font-size:14px;line-height:1.55}.arena-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.arena-empty-actions .btn{min-height:44px;padding:0 18px;font-size:14px}.arena-empty.compact{text-align:left;border-radius:16px;flex-direction:row;gap:14px;padding:14px 18px}.arena-empty.compact .arena-empty-art{flex-shrink:0;width:52px;height:52px}.arena-empty.compact .arena-empty-art .main{width:24px;height:24px}.arena-empty.compact .arena-empty-body h3{font-size:15px}.arena-empty.compact .arena-empty-body p{max-width:none;margin:2px 0 0;font-size:13px}@keyframes arena-ping{0%{opacity:.55;transform:scale(.92)}to{opacity:0;transform:scale(1.55)}}@media (prefers-reduced-motion:reduce){.arena-empty-art.live:after{opacity:.25;animation:none}}.dark .arena-empty{background:linear-gradient(#0f172a 0%,#111c33 100%);border-color:#334a6b}.dark .arena-empty-art{background:radial-gradient(circle at 30% 25%,#1e3a5f,#12294a 65%);box-shadow:0 10px 26px #00000059,inset 0 0 0 1px #2c4a75}.dark .arena-empty-body h3{color:#f1f5f9}.dark .arena-empty-body p{color:#cbd5e1}.guild-invite-section{color:#55657f;padding-top:.25rem}.guild-invite-live{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #10b98133}.guild-invite .arena-empty.guild-invite-empty{border-radius:16px;gap:10px;padding:28px 20px 26px}.guild-invite .arena-empty.guild-invite-empty .arena-empty-art{width:76px;height:76px}.guild-invite .arena-empty.guild-invite-empty .arena-empty-art .main{width:32px;height:32px}.guild-invite .arena-empty.guild-invite-empty .arena-empty-body h3{font-size:16px}.guild-invite .arena-empty.guild-invite-empty .arena-empty-body p{max-width:380px;font-size:13.5px}.dark .guild-invite-section{color:#cbd5e1}.memory-card-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.memory-card-type{border:2px solid var(--border);color:#173452;font:inherit;text-align:left;cursor:pointer;background:#fff;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.memory-card-type>svg{width:32px;height:32px;color:var(--primary)}.memory-card-type span,.memory-card-type small,.memory-card-setup-panel p{color:var(--muted)}.memory-card-type.selected{border-color:var(--primary);background:#edf6ff;box-shadow:0 0 0 3px #1e88e524}.memory-card-type:disabled{opacity:.55;cursor:not-allowed}.memory-card-type:not(:disabled):focus-visible,.memory-card-count-options button:focus-visible,.memory-game-card:focus-visible{outline-offset:3px;outline:3px solid #1e88e54d}.memory-card-setup-panel{grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:24px;display:grid}.memory-card-setup-panel h2,.memory-card-setup-panel p{margin:0}.memory-card-count-options{gap:8px;display:flex}.memory-card-count-options button{text-align:center;border:1px solid var(--border);color:#314b65;min-width:66px;min-height:68px;font:inherit;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 12px;font-weight:700;display:flex}.memory-card-count-options button strong{font-size:1rem}.memory-card-count-options button small{color:var(--muted-text);font-size:.75rem;line-height:1.2}.memory-card-count-options button.selected{border-color:var(--primary);background:var(--primary);color:#fff}.memory-card-count-options button.selected small{color:inherit}.memory-card-count-options button:disabled{opacity:.4;cursor:not-allowed;min-height:68px}.memory-card-error{color:#a72626;border-left:4px solid #ef6b6b}.memory-card-state-wrap{justify-content:center;padding-bottom:24px}.memory-card-state-wrap>.state-card,.memory-card-state-wrap>.card-grid{width:min(760px,100%);margin:auto}.memory-card-game-area{flex:auto;width:100%;margin-inline:auto}.quiz-game-inner.memory-card-session{flex-direction:column;gap:12px;display:flex}.quiz-game-inner.memory-card-session>.quiz-game-area.review-character-panel{border-radius:24px;flex:none;height:270px;min-height:0;padding:14px 18px 12px;box-shadow:0 20px 44px #1a599224}.quiz-game-inner.memory-card-session>.quiz-game-area.review-character-panel .review-character-sprite{flex:none;margin-bottom:0;transform:none}.memory-card-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin-inline:auto;display:grid}.memory-card-game-area>.progress{margin-bottom:12px}.memory-card-board.pairs-2{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px)}.memory-card-board.pairs-6,.memory-card-board.pairs-8,.memory-card-board.pairs-10{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}@media (width>=900px){.quiz-game-inner.memory-card-session{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(250px,.38fr) minmax(0,1fr);gap:16px;display:grid}.quiz-game-inner.memory-card-session>.quiz-game-area.review-character-panel{border-radius:24px;grid-area:1/1;width:100%;height:auto;min-height:0;padding:28px 20px}.quiz-game-inner.memory-card-session>.memory-card-game-area{border-radius:24px;grid-area:1/2;height:auto;min-height:0;padding:24px clamp(28px,3vw,48px);overflow-y:auto;box-shadow:0 20px 44px #1a599224}.quiz-game-inner.memory-card-session>.memory-card-game-area .memory-card-board{flex:auto;grid-template-rows:repeat(3,minmax(0,1fr));min-height:0}.quiz-game-inner.memory-card-session>.memory-card-game-area .memory-card-board.pairs-8{grid-template-rows:repeat(4,minmax(0,1fr))}.quiz-game-inner.memory-card-session>.memory-card-game-area .memory-card-board.pairs-10{grid-template-rows:repeat(5,minmax(0,1fr))}.quiz-game-inner.memory-card-session>.memory-card-game-area .memory-game-card{aspect-ratio:auto;height:100%}}.memory-game-card{aspect-ratio:4/5;perspective:900px;cursor:pointer;background:0 0;border:0;border-radius:14px;min-width:0;padding:0}.memory-game-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .32s;display:block;position:relative}.memory-game-card.revealed .memory-game-card-inner{transform:rotateY(180deg)}.memory-game-card-back,.memory-game-card-front{overflow-wrap:anywhere;border:2px solid var(--primary);backface-visibility:hidden;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.memory-game-card-back{color:#fff;background:linear-gradient(145deg,#003da5,#1e88e5);font-size:clamp(30px,5vw,52px);font-weight:800}.memory-card-back-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6;width:clamp(40px,42%,72px);height:auto;display:block}.memory-game-card-front{color:#173452;background:#fff;transform:rotateY(180deg)}.memory-game-card-front small{color:var(--primary);letter-spacing:.08em;font-size:10px;font-weight:800}.memory-game-card-front b{text-align:center;font-size:clamp(16px,2.4vw,28px);line-height:1.25}.memory-game-card.matched .memory-game-card-front{color:#12673a;background:#e8fff3;border-color:#22a06b;box-shadow:0 0 0 3px #22a06b24}.memory-game-card:disabled{opacity:1;cursor:default}.memory-card-live-status{min-height:22px;color:var(--muted);text-align:center;margin:10px 0 0;font-size:13px}.memory-card-stats{color:#52677e;justify-content:center;gap:18px;font-size:13px;font-weight:700;display:flex}.memory-card-completion{flex-direction:column;width:min(920px,100%);min-height:0;display:flex}.memory-card-result-header{text-align:center;flex:none}.memory-card-result-footer{flex:none;margin-top:14px}.memory-card-result-hp{margin:8px 0 0;font-size:13px;font-weight:400}.memory-card-review{text-align:left;flex:auto;width:100%;min-height:0;margin-top:20px;overflow-y:auto}.memory-card-review-heading h3{color:#173452;margin:0;font-size:20px}.memory-card-review-heading p{color:var(--muted);margin-top:6px;font-size:14px}.memory-card-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.memory-card-review-item{background:#fff;border:1px solid #dce5f1;border-left:4px solid #22a06b;border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.memory-card-review-item-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.memory-card-review-item-head strong{color:#173452;overflow-wrap:anywhere;min-width:0;font-size:24px;line-height:1.2}.memory-card-review-status{color:#12673a;background:#e8fff3;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.memory-card-review-item p{color:#52677c;margin:0;font-size:13px}.memory-card-review-item p b{color:#173452}@media (width<=800px){.memory-card-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-card-setup-panel{grid-template-columns:1fr}.memory-card-board,.memory-card-board.pairs-6,.memory-card-board.pairs-8,.memory-card-board.pairs-10{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-game-inner.memory-card-session>.quiz-game-area.review-character-panel{height:270px}.memory-card-board.pairs-2{width:min(100%,280px)}}@media (width<=520px){.memory-card-review-grid{grid-template-columns:1fr}.memory-card-completion .quiz-result-actions{flex-direction:column;width:100%}.memory-card-completion .quiz-result-actions button{width:100%}.memory-card-type-grid{grid-template-columns:1fr}.memory-card-count-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.memory-card-board,.memory-card-board.pairs-8,.memory-card-board.pairs-10{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.memory-card-board.pairs-6{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-game-inner.memory-card-session>.quiz-game-area.review-character-panel{height:250px}.memory-game-card,.memory-game-card-back,.memory-game-card-front{border-radius:11px}.memory-game-card-front b{font-size:clamp(13px,4vw,20px)}}@media (width<=360px){.memory-card-board,.memory-card-board.pairs-6,.memory-card-board.pairs-8,.memory-card-board.pairs-10{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.memory-game-card-inner{transition:none}}.writing-canvas-wrapper{touch-action:none;background-color:#fafcff;background-image:linear-gradient(#0000 calc(50% - .5px),#003da51f calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(90deg,#0000 calc(50% - .5px),#003da51f calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(to bottom right,#0000 calc(50% - .75px),#003da514 calc(50% - .75px) calc(50% + .75px),#0000 calc(50% + .75px)),linear-gradient(to bottom left,#0000 calc(50% - .75px),#003da514 calc(50% - .75px) calc(50% + .75px),#0000 calc(50% + .75px));border:1.5px solid #003da524;border-radius:16px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 28px #1538541a}.writing-canvas-guide{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.writing-canvas-guide path{fill:none;stroke:#15385426;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.writing-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:relative}.writing-canvas[aria-disabled=true]{cursor:not-allowed;opacity:.7}.writing-test-header{justify-content:space-between;align-items:center;padding:3.25rem 1.25rem 1rem;display:flex}.writing-test-progress{color:#003da5;font-weight:600}.writing-test-body{flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem 1rem;display:flex}.writing-test-question{text-align:center}.writing-test-question-character{color:#003da5;font-size:4rem;font-weight:700;line-height:1}.writing-test-question-hints{color:#4b5563;flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.writing-test-actions{gap:.75rem;display:flex}.writing-test-feedback{text-align:center;border-radius:16px;width:100%;max-width:420px;padding:1.25rem}.writing-test-feedback-result{width:100%;max-width:420px}.writing-test-feedback-result-horizontal{max-width:760px}.writing-test-feedback-correct{background:#4db8a81f;border:1px solid #4db8a866}.writing-test-feedback-incorrect{background:#dc262614;border:1px solid #dc26264d}.writing-test-feedback-horizontal{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;max-width:760px;display:grid}.writing-test-feedback-horizontal .writing-test-feedback-compare{margin:0}.writing-test-feedback-content h3{font-weight:700}.writing-test-feedback-actions{justify-content:flex-end;margin-top:20px}.writing-test-feedback-criteria{text-align:left;flex-direction:column;gap:.35rem;margin:.75rem 0;display:flex}.writing-test-feedback-compare{justify-content:center;gap:2rem;margin:.75rem 0;display:flex}.writing-test-learning-note{text-align:left;color:#4b5563;border-top:1px solid #1538541a;margin-top:.75rem;padding-top:.75rem;font-size:.9rem}.writing-test-result-list{flex-direction:column;gap:.5rem;width:100%;max-width:420px;display:flex}.writing-test-result-item{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.writing-setup-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);align-items:start;gap:24px;display:grid}.writing-topic-list{flex-direction:column;gap:10px;display:flex}.writing-topic-item{border:1.5px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.writing-topic-item:hover{background:#1e88e50a;border-color:#1e88e573}.writing-topic-item.active{border-color:var(--primary);background:#1e88e50f;box-shadow:0 0 0 2px #1e88e526}.writing-topic-item-icon{width:34px;height:34px;color:var(--primary);background:#e9f3ff;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.writing-topic-item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.writing-topic-item-title{color:var(--dark);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.writing-topic-item-meta{color:var(--muted);font-size:12px}.writing-topic-item-check{background:var(--primary);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:22px;height:22px;margin-left:auto;display:grid}.writing-config-panel{flex-direction:column;gap:24px;padding:24px;display:flex;position:sticky;top:72px}.writing-config-header{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding-bottom:20px;display:flex}.writing-config-header-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.writing-config-header-title{color:var(--dark);margin:4px 0 0;font-size:20px;font-weight:700}.writing-config-header-title.writing-config-header-empty{color:var(--muted);font-size:16px}.writing-config-header-meta{color:var(--muted);font-size:12.5px}.writing-setup-section{flex-direction:column;gap:10px;display:flex}.writing-setup-section-label{color:var(--muted);font-size:13px;font-weight:600}.writing-mode-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.writing-mode-option{border:1.5px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.writing-mode-option:hover{border-color:#1e88e573}.writing-mode-option.active{border-color:var(--primary);background:#1e88e50f;box-shadow:0 0 0 2px #1e88e526}.writing-mode-option-title{color:var(--dark);font-size:14px;font-weight:700}.writing-mode-option.active .writing-mode-option-title{color:var(--primary)}.writing-mode-option-desc{color:var(--muted);font-size:12.5px;line-height:1.4}.writing-count-stepper{border:1.5px solid var(--border);border-radius:12px;align-items:center;gap:0;width:fit-content;display:inline-flex;overflow:hidden}.writing-count-btn{width:40px;height:40px;color:var(--dark);cursor:pointer;background:#f8fafc;border:0;place-items:center;transition:background .15s;display:grid}.writing-count-btn:hover:not(:disabled){color:var(--primary);background:#1e88e51a}.writing-count-btn:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.writing-count-input{border:0;border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);text-align:center;width:56px;height:40px;color:var(--dark);appearance:textfield;font-size:15px;font-weight:600}.writing-count-input::-webkit-outer-spin-button{appearance:none;margin:0}.writing-count-input::-webkit-inner-spin-button{appearance:none;margin:0}.writing-count-range{color:var(--muted);font-size:12px}.writing-setup-submit{justify-content:center;width:100%;height:46px;font-size:15px}@media (width<=900px){.writing-setup-layout{grid-template-columns:1fr}.writing-config-panel{position:static}}@media (width<=640px){.writing-test-feedback-result-horizontal,.writing-test-feedback-horizontal{max-width:420px}.writing-test-feedback-horizontal{text-align:center;grid-template-columns:1fr}}.kana-recall-body{gap:1rem}.kana-recall-prompt{flex-direction:column;align-items:center;gap:.25rem;display:flex}.kana-recall-type{letter-spacing:.05em;text-transform:uppercase;color:#1e88e5;font-size:.75rem;font-weight:600}.kana-recall-romaji{color:#003da5;font-size:3.5rem;font-weight:800;line-height:1}.kana-recall-audio{color:#1e88e5;border-radius:999px;align-items:center;gap:.375rem;min-height:2.75rem;padding:0 1rem;font-size:.875rem;display:inline-flex}.kana-recall-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}.kana-recall-actions>*{flex:1 1 0;justify-content:center;min-height:2.75rem}.kana-recall-actions>.kana-recall-reveal{flex-basis:100%}.kana-recall-answer{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.kana-recall-answer-char{color:#4db8a8;font-size:3rem;font-weight:700;line-height:1}.kana-recall-hint{text-align:center;opacity:.65;font-size:.75rem}.kana-recall-summary{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0;display:flex}.kana-recall-chip{border:1px solid;border-radius:.75rem;flex-direction:column;align-items:center;min-width:3.25rem;padding:.375rem .5rem;font-size:1.5rem;line-height:1.2;display:flex}.kana-recall-chip small{opacity:.7;font-size:.65rem}.kana-recall-chip.ok{color:#2f8f80;border-color:#4db8a8}.kana-recall-chip.miss{color:#dc2626;border-color:#dc2626}.kana-matrix{align-items:stretch;gap:14px 18px;display:grid}.kana-matrix-header,.kana-matrix-row-label{justify-content:center;align-items:center;display:flex}.kana-matrix-header{height:34px}.kana-matrix-header-pill,.kana-matrix-row-label-pill{background:var(--primary-50);color:#475569;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.kana-matrix-header-pill{text-transform:lowercase;border-radius:999px;min-width:46px;height:30px;padding:0 16px;font-size:13px}.kana-matrix-row-label-pill{border-radius:12px;width:40px;height:40px;font-size:15px}.kana-matrix-empty{min-width:0}.kana-matrix-cell{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:10px;width:100%;min-width:0;padding:18px 20px;transition:background-color .15s,border-color .15s;display:flex;position:relative}.kana-matrix-cell:hover{background:var(--primary-50);border-color:#a9d3f7}.kana-matrix-cell.is-selected{border-color:var(--primary);background:var(--primary-100)}.kana-matrix-cell-char{color:#16304e;font-size:26px;font-weight:600;line-height:1}.kana-matrix-cell-romaji{color:var(--muted);font-size:14px}.kana-matrix-cell-speak{width:26px;height:26px;color:var(--primary);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;transition:color .15s,background-color .15s;display:flex}.kana-matrix-cell-speak svg{width:16px;height:16px}.kana-matrix-cell-speak:hover{color:var(--dark);background:#fff}.kana-detail-modal{max-height:85vh;overflow-y:auto}@media (width<=640px){.kana-matrix{--kana-matrix-label-w:30px;gap:6px 5px}.kana-matrix-header{height:24px}.kana-matrix-header-pill{width:100%;min-width:0;height:22px;padding:0 4px;font-size:11px}.kana-matrix-row-label-pill{border-radius:8px;width:26px;height:26px;font-size:12px}.kana-matrix-cell{border-radius:10px;flex-direction:column;justify-content:center;gap:1px;padding:6px 2px}.kana-matrix-cell-char{font-size:18px}.kana-matrix-cell-romaji{font-size:9px}.kana-matrix-cell-speak{width:14px;height:14px;margin-left:0;position:absolute;top:2px;right:2px}.kana-matrix-cell-speak svg{width:8px;height:8px}}.topbar-search{align-items:center;gap:9px;max-width:500px;display:flex}.topbar-search .header-search{min-width:0}.handwriting-search-trigger{color:#187f71;background:#edf9f7;border:1px solid #4db8a873;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.handwriting-search-trigger svg,.topbar-handwriting-button svg{width:17px;height:17px}.handwriting-search-trigger:hover{border-color:var(--teal);color:#11685e;background:#dff4f0}.handwriting-search-trigger:focus-visible,.topbar-handwriting-button:focus-visible{outline-offset:2px;outline:3px solid #4db8a84d}.topbar-handwriting-button{display:none}.modal.handwriting-search-modal{width:min(580px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.handwriting-search-content{flex-direction:column;gap:16px;display:flex}.handwriting-search-instruction{color:var(--muted);text-align:center;margin:0;font-size:14px}.handwriting-canvas-shell{aspect-ratio:1;background-color:#fff;background-image:linear-gradient(90deg,#0000 calc(50% - .5px),#dce7f7 50%,#0000 calc(50% + .5px)),linear-gradient(#0000 calc(50% - .5px),#dce7f7 50%,#0000 calc(50% + .5px));border:2px solid #bfd4ec;border-radius:16px;align-self:center;width:min(100%,320px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fffc}.handwriting-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.handwriting-canvas:focus-visible{outline-offset:-4px;outline:4px solid #1e88e54d}.handwriting-canvas-loading{z-index:1;color:var(--muted);text-align:center;pointer-events:none;background:#ffffffeb;place-items:center;padding:20px;font-size:13px;display:grid;position:absolute;inset:0}.handwriting-canvas-error{color:#a33b3b;text-align:center;background:#fff5f5;border:1px solid #f1c4c4;border-radius:14px;padding:22px}.handwriting-canvas-error p{margin:4px 0}.handwriting-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.handwriting-actions .btn{justify-content:center;align-items:center;gap:7px;min-width:132px;display:inline-flex}.handwriting-actions .btn svg{width:17px;height:17px}.handwriting-candidates{border-top:1px solid var(--border);padding-top:14px}.handwriting-candidates h3{color:#16304e;margin:0 0 10px;font-size:14px}.handwriting-candidate-list{grid-template-columns:repeat(5,minmax(48px,1fr));gap:9px;display:grid}.handwriting-candidate{color:#16304e;background:#f8fbff;border:1px solid #cfdeef;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:56px;padding:5px;display:flex}.handwriting-candidate span{font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:28px;line-height:1}.handwriting-candidate small{color:var(--muted);font-size:9px}.handwriting-candidate:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-50);transform:translateY(-1px)}.handwriting-candidate:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.handwriting-candidate-status{min-height:48px;color:var(--muted);text-align:center;background:#f6f9fd;border-radius:12px;margin:0;padding:14px;font-size:13px}.dark .handwriting-search-trigger{color:#86d5c9;background:#4db8a81f;border-color:#4db8a88c}.dark .handwriting-canvas-shell,.dark .handwriting-canvas{background-color:#fff}.dark .handwriting-candidates h3,.dark .handwriting-candidate{color:var(--text,#e5edf7)}.dark .handwriting-candidate,.dark .handwriting-candidate-status{border-color:var(--border);background:var(--surface,#1a1f2e)}@media (width<=760px){.topbar-handwriting-button{color:#187f71;background:#edf9f7;border:1px solid #4db8a859;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;padding:0;display:grid}.modal.handwriting-search-modal{max-height:calc(100dvh - 24px);padding:18px}.handwriting-search-content{gap:13px}.handwriting-canvas-shell{width:min(100%,280px)}}@media (width<=420px){.handwriting-candidate-list{grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}.handwriting-candidate{min-height:48px}.handwriting-candidate span{font-size:24px}.handwriting-actions .btn{flex:1 1 0;min-width:0;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.handwriting-candidate:hover:not(:disabled){transform:none}}.ranking-page{gap:28px;display:grid}.ranking-hero{isolation:isolate;color:#fff;background:radial-gradient(circle at 74% 14%,#4db8a857,#0000 31%),linear-gradient(125deg,#002c78 0%,#003da5 52%,#1e88e5 115%);border:1px solid #ffffff24;border-radius:24px;justify-content:space-between;align-items:end;gap:28px;min-height:230px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #003da533}.ranking-hero__glow{z-index:-1;filter:blur(8px);background:#f5c5493d;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-170px;right:-80px}.ranking-hero__watermark{z-index:-1;color:#ffffff12;width:168px;height:168px;position:absolute;top:16px;right:8%;transform:rotate(8deg)}.ranking-hero__copy{max-width:620px}.ranking-hero__eyebrow,.ranking-hero__updated{align-items:center;gap:7px;display:inline-flex}.ranking-hero__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ffdd84;font-size:11px;font-weight:800}.ranking-hero__eyebrow svg,.ranking-hero__updated svg{width:15px;height:15px}.ranking-hero h1{letter-spacing:-.04em;margin:8px 0 5px;font-size:clamp(32px,4vw,48px);line-height:1.05}.ranking-hero p{color:#ffffffc7;margin:0;font-size:14px}.ranking-hero__updated{color:#ffffffa8;margin-top:20px;font-size:11px}.ranking-level-filter{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:16px;flex:none;padding:14px;box-shadow:inset 0 1px #ffffff14}.ranking-level-filter>span{letter-spacing:.08em;color:#ffffffb3;text-transform:uppercase;margin:0 4px 9px;font-size:10px;font-weight:700;display:block}.ranking-level-filter__options{flex-wrap:wrap;gap:6px;display:flex}.ranking-level-filter button{color:#fffc;background:#00143c2e;border:1px solid #0000;border-radius:10px;min-width:48px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:700}.ranking-level-filter button:hover:not(:disabled),.ranking-level-filter button:focus-visible{color:#fff;border-color:#ffffff6b;outline:none}.ranking-level-filter button.is-active{color:#17304f;background:#fff;box-shadow:0 7px 18px #00194f38}.ranking-level-filter button:disabled{cursor:not-allowed;opacity:.5}.ranking-loading{gap:20px;display:grid}.ranking-podium-section{padding-top:4px}.ranking-section-heading span{color:var(--primary);letter-spacing:.14em;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.ranking-section-heading h2{color:#16233a;letter-spacing:-.025em;margin:0;font-size:22px}.ranking-section-heading--center{text-align:center}.ranking-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;max-width:980px;margin:56px auto 0;padding:0;list-style:none;display:grid}.ranking-podium-card{--rank-color:#b26b31;--rank-soft:#fff3e7;border:1px solid var(--rank-color);flex-direction:column;align-items:center;min-width:0;min-height:320px;padding:44px 20px 20px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.ranking-podium-card{border:1px solid color-mix(in srgb, var(--rank-color) 34%, #dce7f7)}}.ranking-podium-card{background:linear-gradient(180deg, var(--rank-soft), #fff 36%);border-radius:22px;box-shadow:0 16px 38px #263d5c1a}.ranking-podium-card--1{--rank-color:#d99c00;--rank-soft:#fff8d8;border-width:2px;order:2;min-height:358px;padding-top:52px;box-shadow:0 22px 52px #d99c002e}.ranking-podium-card--2{--rank-color:#7c8ba1;--rank-soft:#f2f6fa;order:1}.ranking-podium-card--3{order:3}.ranking-podium-card__crown{width:42px;height:42px;color:var(--rank-color);fill:var(--rank-color);position:absolute;top:-34px}@supports (color:color-mix(in lab, red, red)){.ranking-podium-card__crown{fill:color-mix(in srgb, var(--rank-color) 78%, #fff)}}.ranking-podium-card__crown{filter:drop-shadow(0 7px 7px var(--rank-color))}@supports (color:color-mix(in lab, red, red)){.ranking-podium-card__crown{filter:drop-shadow(0 7px 7px color-mix(in srgb, var(--rank-color) 28%, transparent))}}.ranking-podium-card--2 .ranking-podium-card__crown,.ranking-podium-card--3 .ranking-podium-card__crown{width:30px;height:30px;top:-24px}.ranking-podium-card__rank,.ranking-position{color:var(--rank-color);justify-content:center;align-items:center;display:inline-flex}.ranking-podium-card__rank{background:var(--rank-color);border-radius:10px;gap:3px;width:40px;height:32px;position:absolute;top:14px;left:14px}@supports (color:color-mix(in lab, red, red)){.ranking-podium-card__rank{background:color-mix(in srgb, var(--rank-color) 10%, #fff)}}.ranking-podium-card__rank{font-size:12px}.ranking-podium-card__rank svg{width:16px}.ranking-podium-card__avatar-ring{border:2px solid var(--rank-color);box-shadow:0 8px 24px var(--rank-color);background:#fff;border-radius:50%;place-items:center;padding:5px;display:grid}@supports (color:color-mix(in lab, red, red)){.ranking-podium-card__avatar-ring{box-shadow:0 8px 24px color-mix(in srgb, var(--rank-color) 20%, transparent)}}.ranking-avatar{color:#fff;letter-spacing:.03em;background:linear-gradient(145deg,#003da5,#1e88e5);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:12px;font-weight:800;display:inline-grid;overflow:hidden}.ranking-avatar--large{width:76px;height:76px;font-size:18px}.ranking-avatar img{object-fit:cover;width:100%;height:100%}.ranking-podium-card__identity{justify-content:center;align-items:center;gap:7px;width:100%;margin-top:14px;display:flex}.ranking-podium-card__identity h3{color:#1c2940;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.ranking-podium-card__experience{color:#003da5;font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;margin-top:13px;font-size:25px;display:flex}.ranking-podium-card__experience small{letter-spacing:.08em;font-size:10px}.ranking-podium-card__metrics{border-top:1px solid #e7edf5;grid-template-columns:repeat(3,1fr);width:100%;margin-top:18px;padding-top:14px;display:grid}.ranking-podium-card__metrics span{color:#77859a;white-space:nowrap;flex-direction:column;align-items:center;gap:3px;font-size:9px;display:flex}.ranking-podium-card__metrics svg{width:15px;height:15px;color:var(--rank-color)}.ranking-podium-card__metrics b{color:#26364f;font-size:10px}.ranking-podium-card__badge{color:#875d00;text-overflow:ellipsis;white-space:nowrap;background:#fff5ce;border-radius:99px;align-items:center;gap:5px;max-width:100%;margin-top:auto;padding:6px 10px;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.ranking-podium-card__badge svg{flex:none;width:13px}.ranking-my-card{background:linear-gradient(110deg,#f7fbff,#eaf4ff);border:1px solid #9fc7ff;border-left:5px solid #003da5;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;display:flex;box-shadow:0 12px 30px #003da517}.ranking-my-card__identity,.ranking-my-card__stats{align-items:center;display:flex}.ranking-my-card__identity{gap:13px;min-width:0}.ranking-my-card__identity>div{min-width:0}.ranking-my-card__identity>div>span{color:#1e67be;letter-spacing:.11em;font-size:9px;font-weight:800}.ranking-my-card h2{color:#17304f;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;margin:3px 0 0;font-size:17px;display:flex;overflow:hidden}.ranking-my-card__stats>div{border-left:1px solid #c7dbf2;flex-direction:column;min-width:105px;padding:2px 20px;display:flex}.ranking-my-card__stats b{color:#173d70;font-variant-numeric:tabular-nums;font-size:17px}.ranking-my-card__stats span{color:#718096;font-size:10px}.ranking-my-card__stats .ranking-my-card__rank b{color:#003da5;font-size:28px;line-height:1}.ranking-board{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff;border-radius:20px;padding:24px;overflow:hidden}.ranking-board__heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.ranking-board__heading p{color:#718096;margin:0;font-size:11px}.ranking-desktop-table{overflow-x:auto}.ranking-desktop-table table{border-spacing:0;border-collapse:separate;width:100%;min-width:880px;font-size:12px}.ranking-desktop-table th{z-index:1;color:#718096;text-align:left;letter-spacing:.04em;text-transform:uppercase;background:#f5f8fc;padding:11px 12px;font-size:10px;font-weight:800;position:sticky;top:0}.ranking-desktop-table th:first-child{border-radius:10px 0 0 10px}.ranking-desktop-table th:last-child{border-radius:0 10px 10px 0}.ranking-desktop-table td{color:#4b5b70;font-variant-numeric:tabular-nums;border-bottom:1px solid #edf1f6;padding:13px 12px}.ranking-desktop-table tbody tr{transition:background-color .18s,box-shadow .18s}.ranking-desktop-table tbody tr:hover{background:#f8fbff}.ranking-desktop-table tbody tr.is-me{background:#edf6ff;box-shadow:inset 4px 0 #1e88e5}.ranking-position{--rank-color:#738198;background:var(--rank-color);border-radius:9px;gap:4px;width:42px;height:32px}@supports (color:color-mix(in lab, red, red)){.ranking-position{background:color-mix(in srgb, var(--rank-color) 10%, #fff)}}.ranking-position{font-variant-numeric:tabular-nums}.ranking-position--1{--rank-color:#cf9400}.ranking-position--2{--rank-color:#7c8ba1}.ranking-position--3{--rank-color:#b26b31}.ranking-position svg{width:15px;height:15px}.ranking-user-cell{align-items:center;gap:10px;min-width:220px;display:flex}.ranking-user-cell>div{gap:4px;min-width:0;display:grid}.ranking-user-cell strong{color:#22314a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ranking-user-cell>div>span{align-items:center;gap:4px;display:flex}.ranking-user-cell em,.ranking-mobile-list em{color:#005ab5;background:#dcebff;border-radius:99px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:800}.ranking-user-cell small{color:#718096;font-size:9px}.ranking-number{font-weight:700}.ranking-streak{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ranking-streak svg{color:#ed7b2f;width:15px;height:15px}.ranking-board .pagination{margin-bottom:0}.ranking-mobile-list{display:none}.dark .ranking-section-heading h2,.dark .ranking-podium-card__identity h3,.dark .ranking-podium-card__metrics b,.dark .ranking-user-cell strong{color:#f2f6fc}.dark .ranking-podium-card{background:linear-gradient(180deg, var(--rank-color), #101a2c 42%)}@supports (color:color-mix(in lab, red, red)){.dark .ranking-podium-card{background:linear-gradient(180deg, color-mix(in srgb, var(--rank-color) 13%, #172338), #101a2c 42%)}}.dark .ranking-podium-card{border-color:var(--rank-color)}@supports (color:color-mix(in lab, red, red)){.dark .ranking-podium-card{border-color:color-mix(in srgb, var(--rank-color) 38%, #34435c)}}.dark .ranking-podium-card{box-shadow:0 18px 42px #00000047}.dark .ranking-podium-card__avatar-ring,.dark .ranking-position{background:#17243a}.dark .ranking-podium-card__metrics{border-color:#314159}.dark .ranking-my-card{background:linear-gradient(110deg,#142238,#152d4c);border-color:#315d98 #315d98 #315d98 #53a7ff}.dark .ranking-my-card h2,.dark .ranking-my-card__stats b{color:#eef6ff}.dark .ranking-my-card__stats>div{border-color:#35506f}.dark .ranking-board{background:#111b2d;border-color:#2e3e55}.dark .ranking-desktop-table th{color:#aebbd0;background:#1b293e}.dark .ranking-desktop-table td{color:#bec9d9;border-color:#29384e}.dark .ranking-desktop-table tbody tr:hover{background:#17253a}.dark .ranking-desktop-table tbody tr.is-me{background:#142d4d}@media (width<=900px){.ranking-hero{flex-direction:column;align-items:stretch}.ranking-level-filter{align-self:flex-start}.ranking-my-card{flex-direction:column;align-items:stretch}.ranking-my-card__stats{grid-template-columns:repeat(4,1fr);display:grid}.ranking-my-card__stats>div:first-child{border-left:0}}@media (width<=760px){.ranking-page{gap:22px}.ranking-hero{border-radius:18px;min-height:0;padding:26px 20px}.ranking-hero__watermark{width:145px;height:145px;top:4px;right:-25px}.ranking-level-filter{width:100%}.ranking-level-filter__options button{flex:1}.ranking-podium{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:48px}.ranking-podium-card,.ranking-podium-card--1{min-height:0;padding:40px 14px 16px}.ranking-podium-card--1{order:1;grid-column:1/-1}.ranking-podium-card--2{order:2}.ranking-podium-card--3{order:3}.ranking-podium-card__metrics{gap:3px}.ranking-podium-card__badge{margin-top:14px}.ranking-my-card{padding:18px}.ranking-my-card__stats{border-top:1px solid #c7dbf2;grid-template-columns:repeat(2,1fr);gap:14px 0;padding-top:14px}.ranking-my-card__stats>div,.ranking-my-card__stats>div:first-child{border-left:1px solid #c7dbf2;min-width:0;padding:0 12px}.ranking-my-card__stats>div:nth-child(odd){border-left:0;padding-left:0}.ranking-board{border-radius:18px;padding:18px 14px}.ranking-desktop-table{display:none}.ranking-mobile-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.ranking-mobile-list li{background:#fbfdff;border:1px solid #e4ebf4;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.ranking-mobile-list li.is-me{background:#edf6ff;border-color:#7bb7fa;box-shadow:inset 3px 0 #1e88e5}.ranking-mobile-list__main{gap:4px;min-width:0;display:grid}.ranking-mobile-list__main>strong{color:#213149;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.ranking-mobile-list__main>span{color:#5e6d82;align-items:center;gap:4px;font-size:10px;display:flex}.ranking-mobile-list__main small{color:#718096;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:9px;display:flex}.ranking-mobile-list__main small svg{color:#1e88e5;width:12px;height:12px}.ranking-mobile-list .ranking-position{width:35px}.dark .ranking-my-card__stats,.dark .ranking-my-card__stats>div{border-color:#35506f}.dark .ranking-mobile-list li{background:#162236;border-color:#2d3d54}.dark .ranking-mobile-list li.is-me{background:#142d4d;border-color:#316cae}.dark .ranking-mobile-list__main>strong{color:#eef5ff}.dark .ranking-mobile-list__main>span{color:#a9b7ca}}@media (prefers-reduced-motion:no-preference){.ranking-podium-card{animation:.45s both ranking-card-enter}.ranking-podium-card--1{animation-delay:60ms}.ranking-podium-card--2{animation-delay:.12s}.ranking-podium-card--3{animation-delay:.18s}}@keyframes ranking-card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}:root{color:#1f2937;font-synthesis:none;--dark:#003da5;--primary:#1e88e5;--teal:#4db8a8;--accent:#f5c549;--bg:#eef5ff;--border:#dce7f7;--muted:#6b7280;--primary-50:#eaf4fd;--primary-100:#d3e8fb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius-card:16px;--radius-card-sm:12px;--topbar-height:56px;--content-top-gap:20px;--content-bottom-gap:40px;--shadow-card:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;background:#eef5ff;font-family:Inter,Zen Kaku Gothic New,Arial,sans-serif;line-height:1.5}.font-jp{font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:1.08em}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;margin:0}button,input,select{font:inherit}button,a{transition:all .2s}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}svg{width:20px;height:20px}.container{width:min(1400px,100% - 48px);margin:auto}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell-sidebar{flex-direction:row;align-items:stretch}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}main{padding-top:var(--content-top-gap);flex:1;padding-bottom:16px}.sidebar{border-right:1px solid var(--border);scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin;background:#fff;flex-direction:column;flex-shrink:0;gap:2px;width:264px;height:100vh;padding:20px 16px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden auto;box-shadow:6px 0 24px #0f2d5a0a}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary)}.sidebar-collapsed{width:84px;padding:20px 12px;overflow:visible}.sidebar-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;margin-bottom:14px;padding-bottom:14px;display:flex}.sidebar-brand{min-width:0;margin-bottom:0;padding:0 6px;font-size:17px}.sidebar-brand span{border-radius:11px;width:38px;height:38px;box-shadow:0 4px 10px #003da538}.sidebar-collapsed .sidebar-head{flex-direction:column;gap:10px}.sidebar-collapsed .sidebar-brand{padding:0}.sidebar-collapsed .sidebar-brand span{width:36px;height:36px;margin-right:0}.sidebar-collapsed .sidebar-brand span svg{width:20px;height:20px}.sidebar-toggle{color:#7c8aa0;background:0 0;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:grid}.sidebar-toggle:hover{background:var(--primary-50);color:var(--primary)}.sidebar-toggle svg{width:16px;height:16px}.sidebar-nav{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.sidebar-nav-item{color:#596579;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;font-size:15px;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:flex}.sidebar-nav-item svg{flex-shrink:0;width:22px;height:22px}.sidebar-nav-item:hover{background:var(--primary-50);color:var(--primary)}.sidebar-nav-item.active{background:linear-gradient(135deg, var(--primary-50), #eafaf6);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary-100)}.sidebar-collapsed .sidebar-nav-item{justify-content:center;padding:12px}.sidebar-collapsed .sidebar-head,.sidebar-collapsed .profile-menu-summary,.sidebar-collapsed .profile-link{justify-content:center}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.sidebar-auth-actions{flex-direction:column;gap:8px;display:flex}.sidebar-drawer-backdrop{display:none}.topbar{z-index:30;background:#fff;border-bottom:1px solid #dce7f7e6;align-items:center;gap:14px;height:56px;padding:0 18px;display:flex;position:sticky;top:0;box-shadow:0 4px 24px #204d8212}.topbar-inner{align-items:center;gap:14px;width:min(1400px,100% - 48px);min-width:0;display:flex}.topbar-search{flex:1;max-width:450px}.topbar-search .header-search{width:100%}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-avatar-link,.topbar-login-link,.topbar-mobile-overview,.topbar-mobile-actions,.topbar-mobile-status,.topbar-shop-link{display:none}.brand{white-space:nowrap;color:var(--dark);align-items:center;font-size:18px;font-weight:800;display:flex}.brand span{color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary), var(--teal));border-radius:10px;place-items:center;width:34px;height:34px;margin-right:8px;display:grid}.brand span svg{width:18px;height:18px}.brand b{color:var(--teal)}.brand.small{font-size:17px}.brand.small span{width:34px;height:34px}.topbar-brand{display:none}.desktop-nav{align-self:stretch;align-items:center;gap:6px;margin:auto;display:flex}.desktop-nav a,.mobile-nav a{color:#596579;border-radius:10px;padding:12px 14px;font-size:14px;font-weight:650}.desktop-nav a:hover,.desktop-nav a.active,.mobile-nav a.active{color:var(--primary);background:#edf6ff}.desktop-nav-dropdown{align-self:stretch;align-items:center;display:flex;position:relative}.desktop-nav-dropdown>[data-vocabulary-trigger]{align-items:center;gap:5px;display:inline-flex}.desktop-nav-dropdown>[data-vocabulary-trigger] svg{width:14px;height:14px;transition:transform .15s}.desktop-nav-dropdown>[data-vocabulary-trigger][aria-expanded=true] svg{transform:rotate(180deg)}.desktop-nav-dropdown-menu{z-index:50;background:#fff;border:1px solid #dce7f3;border-radius:13px;gap:4px;width:270px;padding:8px;display:grid;position:absolute;top:calc(100% - 8px);left:0;box-shadow:0 16px 38px #1a447029}.desktop-nav .desktop-nav-dropdown-menu a{grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.desktop-nav-dropdown-menu a>svg{width:20px;color:var(--primary)}.desktop-nav-dropdown-menu a>span{flex-direction:column;gap:2px;display:flex}.desktop-nav-dropdown-menu b{color:#314b65;font-size:13px}.desktop-nav-dropdown-menu small{color:var(--muted);font-size:11px;font-weight:500}.desktop-nav-dropdown-menu a:hover b,.desktop-nav-dropdown-menu a.active b{color:var(--primary)}.desktop-nav-dropdown>[data-vocabulary-trigger]:focus-visible,.desktop-nav-dropdown-menu a:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.profile{align-items:center;gap:10px;display:flex}.menu-btn{color:#53627a;background:#f4f7fb;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;position:relative}.menu-btn svg{width:17px;height:17px}.avatar{width:36px;height:36px;color:var(--dark);background:linear-gradient(135deg,#d7eaff,#afddd8);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.help-icon-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.help-icon-btn svg{width:13px;height:13px}.help-icon-btn:hover{color:var(--primary);border-color:var(--primary-100)}.profile-name{flex-direction:column;min-width:0;font-size:13px;display:flex}.profile-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-name span{color:var(--muted);font-size:11px}.menu-btn{display:none}.header-search{border:1px solid var(--border);color:#94a3b8;background:#f4f7fb;border-radius:999px;align-items:center;gap:8px;width:min(220px,100%);height:38px;padding-left:14px;padding-right:14px;font-size:13px;transition:background .15s,box-shadow .15s;display:flex;overflow:hidden}.header-search svg{flex-shrink:0;width:16px;height:16px}.header-search input{color:#1f2937;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1}.header-search input:focus{border-color:#0000;outline:none}.header-search input::selection{color:inherit;background:#1e88e538}.header-search:has(input:not(:placeholder-shown)){background:#1e88e51f}.header-search:focus-within{outline-offset:2px;border-color:var(--primary);outline:3px solid #1e88e538}.card{border:1px solid var(--border);background:#fff;border-radius:14px;box-shadow:0 8px 28px #2852820e}.btn{border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 5px 12px #1e88e533}.btn-primary:hover{background:#1477cb;transform:translateY(-1px)}.btn-secondary{color:#305175;background:#fff;border:1px solid #cfdff1;transition:background-color .15s,border-color .15s,color .15s}.btn-secondary:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-100);color:var(--primary)}.btn-danger{color:#df3939;background:#fff0f0}.btn-ghost{color:#687589;background:0 0}.btn-white{color:var(--dark);background:#fff;width:max-content}.btn-gold{background:var(--accent);color:#4a2f00;width:max-content;transition:transform .16s,box-shadow .16s;box-shadow:0 10px 24px #f5c54959}.btn-sm{flex-shrink:0;min-height:30px;padding:0 12px;font-size:12px}.btn svg{width:15px}.badge{color:#1372c1;background:#e7f2ff;border-radius:6px;align-items:center;width:max-content;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.badge-green{color:#15843e;background:#e6f8ed}.badge-yellow{color:#a16b00;background:#fff6d9}.badge-gray{color:#667185;background:#f0f3f7}.badge-red{color:#d93737;background:#ffe9e9}.progress{background:#e8eef6;border-radius:20px;height:8px;overflow:hidden}.progress>div{border-radius:inherit;background:linear-gradient(90deg, var(--dark), var(--primary), var(--teal));height:100%;transition:width .5s}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin:10px 0 18px;display:flex}.page-heading>div:first-child>span,.section-title>div>span,.table-title>div>span,.review-heading>div>span{letter-spacing:1.8px;color:var(--primary);font-size:11px;font-weight:850}.page-heading h1{color:#16304e;margin:3px 0 6px;font-size:26px;line-height:1.15}.page-heading p{color:var(--muted);margin:0}label>span,fieldset legend{color:#4b5a70;margin-bottom:7px;font-size:12px;font-weight:750;display:block}input,select{color:#34435a;background:#fff;border:1px solid #d7e2f1;border-radius:9px;outline:none;width:100%;height:38px;padding:0 12px;font-size:14px}input:disabled,select:disabled{color:#9aa5b5;cursor:not-allowed;background:#eef1f6;border-color:#e2e8f0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline-offset:2px;border-color:var(--primary);outline:3px solid #1e88e538}footer{border-top:1px solid var(--border);background:#fff;padding:10px 0}footer .container{justify-content:space-between;align-items:center;gap:20px;display:flex}footer p{color:var(--muted);margin:0;font-size:12px}footer .container>span{color:#8490a0;font-size:12px}.streak-card{border:1px solid var(--border);border-radius:var(--radius-card);background:linear-gradient(135deg,#fff5f0 0%,#fff 60%);margin:0 0 14px;padding:14px 20px;position:relative}.streak-card-done{background:linear-gradient(135deg,#eefaf3 0%,#fff 60%);border-color:#bfe8d2}.streak-card-badge{color:var(--danger);letter-spacing:.02em;text-transform:uppercase;background:#fdeeec;border:1px solid #f8cfc9;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:10px;font-weight:800;display:inline-flex;position:absolute;top:-10px;left:18px}.streak-card-badge svg{width:11px;height:11px}.streak-card-done .streak-card-badge{color:var(--success);background:#e4f7ec;border-color:#bfe8d2}.streak-card-info-btn{position:absolute;top:12px;right:12px}.streak-card-body{align-items:center;gap:16px;margin-top:4px;display:flex}.streak-card-count{flex-shrink:0;align-items:center;gap:10px;display:flex}.streak-card-flame{color:#ef6a2c;background:#ffe6da;border-radius:999px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.streak-card-done .streak-card-flame{color:var(--success);background:#d7f3e4}.streak-card-flame svg{width:20px;height:20px}.streak-card-count-value{color:var(--dark);white-space:nowrap;margin:0;font-size:13px}.streak-card-count-value strong{margin-right:3px;font-size:19px}.streak-card-count-badge{color:#b3541a;background:#fde3d2;border-radius:999px;margin-top:2px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.streak-card-done .streak-card-count-badge{color:#157347;background:#d7f3e4}.streak-card-divider{background:var(--border);flex-shrink:0;align-self:stretch;width:1px}.streak-card-main{flex:1;min-width:0}.streak-card-main h3{color:var(--dark);margin:0 0 2px;font-size:14px}.streak-card-done .streak-card-main h3{color:#157347}.streak-card-main>p{color:var(--muted);margin:0;font-size:12px}.streak-card-actions-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.streak-card-activities{flex-wrap:wrap;gap:5px;display:flex}.streak-card-activity-icon{background:var(--bg);width:26px;height:26px;color:var(--primary);cursor:pointer;border-radius:8px;place-items:center;transition:background-color .15s,transform .15s;display:grid}.streak-card-activity-icon:hover,.streak-card-activity-icon:focus-visible{background:var(--primary);color:#fff;transform:translateY(-1px)}.streak-card-activity-icon svg{width:13px;height:13px}.streak-card-cta{flex-shrink:0;display:inline-flex}.streak-card-mascot{width:40px;height:40px;color:var(--accent);background:#fff3cf;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.streak-card-mascot svg{width:20px;height:20px}@media (width<=640px){.streak-card-body{flex-wrap:wrap}.streak-card-divider{display:none}.streak-card-actions-row{flex-wrap:wrap}}.streak-info-modal{width:min(640px,100%)}.streak-info-modal-body{gap:20px;display:flex}.streak-info-modal-main{flex:1;min-width:0}.streak-info-modal-main p{color:var(--dark);font-size:13px;line-height:1.6}.streak-info-modal-main hr{border:none;border-top:1px solid var(--border);margin:14px 0}.streak-info-modal-subtitle{font-weight:700;margin-bottom:10px!important}.streak-info-modal-activities{flex-wrap:wrap;gap:8px;display:flex}.streak-info-modal-activity{background:var(--bg);color:var(--dark);border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.streak-info-modal-activity svg{width:15px;height:15px;color:var(--primary)}.streak-info-modal-note{background:var(--primary-50);border-radius:12px;flex-shrink:0;align-self:flex-start;width:200px;padding:14px}.streak-info-modal-note-title{color:var(--dark);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;font-weight:700;display:flex}.streak-info-modal-note-title svg{width:15px;height:15px;color:var(--primary)}.streak-info-modal-note ul{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:16px;font-size:12px;display:flex}@media (width<=640px){.streak-info-modal-body{flex-direction:column}.streak-info-modal-note{width:auto}}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 28px;display:grid}.stats-grid.stats-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.goal-card{flex-direction:column;justify-content:center;gap:8px;padding:14px 16px;display:flex}.goal-card>b{color:var(--dark);font-size:14px}.goal-card-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.goal-card-foot>span{color:var(--primary);font-size:13px;font-weight:800}@media (width<=1050px){.stats-grid.stats-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.stats-grid.stats-grid-compact{grid-template-columns:1fr}}.stat-card{align-items:center;gap:12px;padding:14px;display:flex}.stat-icon{color:#f0713d;background:#fff0e9;border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.stat-icon svg{width:18px;height:18px}.stat-card-compact{gap:10px;padding:10px 12px}.stat-card-compact .stat-icon{border-radius:9px;width:32px;height:32px}.stat-card-compact .stat-icon svg{width:15px;height:15px}.stat-card-compact p{font-size:11px}.stat-card-compact .stat-value-line strong{font-size:16px}.stat-icon.c1{color:var(--primary);background:#e9f4ff}.stat-icon.c2{color:var(--teal);background:#e8f9f5}.stat-icon.c3{color:#c79109;background:#fff7dc}.stat-card p{color:var(--muted);margin:0;font-size:12px}.stat-card strong{color:#193753;font-size:18px;display:block}.stat-card .stat-value-line{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.stat-card .stat-value-line strong{display:inline}.stat-card div:last-child span{color:#27a45b;font-size:11px}.section-title{justify-content:space-between;align-items:end;margin:20px 0 12px;display:flex}.section-title h2,.table-title h2,.review-heading h2{color:#183752;margin:2px 0 0;font-size:17px}.section-title>a{color:var(--primary);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.section-title-hint{color:var(--muted);margin:4px 0 0;font-size:13px}.jlpt-progress{grid-template-columns:1fr 1fr;gap:14px 28px;padding:16px 18px;display:grid}.jlpt-row{grid-template-columns:36px 1fr;align-items:center;gap:10px;display:grid}.level-bubble{height:36px;color:var(--primary);background:#e8f3ff;border-radius:9px;place-items:center;font-size:13px;font-weight:850;display:grid}.progress-label{color:var(--muted);justify-content:space-between;margin-bottom:7px;font-size:12px;display:flex}.progress-label b{color:#2d4967}.feature-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.feature-card{padding:24px}.feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1a599221}.feature-icon{width:49px;height:49px;color:var(--primary);background:#e9f3ff;border-radius:14px;place-items:center;display:grid}.feature-icon.teal{color:#329a8d;background:#e5f7f3}.feature-icon.purple{color:#805fd0;background:#f1ebff}.feature-icon.yellow{color:#bd8800;background:#fff4d4}.feature-card h3{margin:16px 0 7px}.feature-card p{color:var(--muted);min-height:40px;font-size:13px}.feature-card>span{color:var(--primary);align-items:center;gap:5px;font-size:13px;font-weight:700;display:flex}.feature-card>span svg{width:15px}.dashboard-hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dashboard-game-link{color:#fff;align-items:center;gap:7px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-game-link svg{width:18px}.dashboard-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.dashboard-journey-grid-compact{gap:14px}.dashboard-journey-card{min-width:0;min-height:240px;color:inherit;border:1px solid var(--border);flex-direction:column;padding:28px 24px;text-decoration:none;transition:transform .16s,box-shadow .16s;display:flex;position:relative}.dashboard-journey-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1a599221}.dashboard-journey-card.tone-blue{background:linear-gradient(#eef6ff,#fff 65%);border-color:#d7e7fb}.dashboard-journey-card.tone-teal{background:linear-gradient(#eafaf6,#fff 65%);border-color:#cdeee5}.dashboard-journey-card.tone-purple{background:linear-gradient(#f4f0ff,#fff 65%);border-color:#e2d9fb}.dashboard-journey-icon{border-radius:16px;width:56px;height:56px}.dashboard-journey-icon svg{width:26px;height:26px}.dashboard-journey-card h3{color:#173452;margin:18px 0 8px;font-size:19px}.dashboard-journey-card p{min-height:58px;color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.5}.dashboard-journey-card-compact{min-height:0;padding:18px 20px}.dashboard-journey-card-compact .dashboard-journey-icon{border-radius:12px;width:40px;height:40px}.dashboard-journey-card-compact .dashboard-journey-icon svg{width:19px;height:19px}.dashboard-journey-card-compact h3{margin:12px 0 4px;font-size:15px}.dashboard-journey-card-compact p{min-height:0;margin:0 0 10px;font-size:12px;line-height:1.45}.dashboard-card-action{color:var(--primary);align-items:center;gap:5px;margin-top:auto;font-size:13px;font-weight:800;display:inline-flex}.dashboard-card-action svg{width:15px;transition:transform .16s}.dashboard-journey-card:hover .dashboard-card-action svg{transform:translate(3px)}.dashboard-game-banner{color:#fff;background:linear-gradient(100deg,#04102a4d 0%,#04102a2e 24%,#04102a0f 42%,#04102a00 60%),url(/game-assets/background-2.png) 50% 80%/cover no-repeat;border-radius:20px;align-items:center;gap:30px;min-height:280px;margin-top:22px;padding:40px clamp(26px,5vw,60px);text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #00144659}.dashboard-game-banner:hover{box-shadow:0 28px 56px #0014466b}.dashboard-game-banner:hover .btn-gold{transform:translateY(-1px);box-shadow:0 14px 30px #f5c54973}.dashboard-game-banner>div:first-child{z-index:1;max-width:650px;position:relative}.dashboard-game-kicker{color:var(--accent);letter-spacing:.08em;text-shadow:0 2px 10px #000a1e8c;align-items:center;gap:7px;font-size:12px;font-weight:850;display:inline-flex}.dashboard-game-kicker svg{width:18px}.dashboard-game-banner h2{color:#fff;text-shadow:0 2px 14px #000a1e8c;margin:10px 0;font-size:clamp(25px,3.2vw,34px)}.dashboard-game-banner p{color:#ffffffeb;text-shadow:0 2px 10px #000a1e80;margin:0 0 22px;font-size:14px;line-height:1.55}.dashboard-journey-card:focus-visible,.dashboard-game-link:focus-visible,.dashboard-game-banner:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.dashboard-game-link:focus-visible,.dashboard-game-banner:focus-visible{outline-color:#ffffffd9}@media (width<=850px){.dashboard-journey-grid{grid-template-columns:1fr}.dashboard-journey-card p{min-height:0}}@media (width<=640px){.dashboard-journey-card{padding:20px}.dashboard-game-banner{background-image:linear-gradient(#04102a52 0%,#04102a80 100%),url(/game-assets/background-1.png);background-position:50% 55%;min-height:0}}@media (prefers-reduced-motion:reduce){.dashboard-journey-card,.sidebar{transition:none}}.review-mode-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.review-mode-card{color:inherit;flex-direction:column;align-items:start;padding:18px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.review-mode-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1a599221}.review-mode-card:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.review-mode-icon{width:40px;height:40px;color:var(--primary);background:#e9f3ff;border-radius:11px;place-items:center;display:grid}.review-mode-icon svg{width:19px;height:19px}.review-mode-icon.tone-blue{color:var(--primary);background:#e9f3ff}.review-mode-icon.tone-green{color:#25a66a;background:#e7f8ef}.review-mode-icon.tone-purple{color:#8a63d2;background:#f1ebff}.review-mode-icon.tone-yellow{color:#d79614;background:#fff6dc}.review-mode-icon.tone-orange{color:#f0713d;background:#fff0e9}.review-mode-icon.tone-teal{color:var(--teal);background:#e8f9f5}.review-mode-availability{align-items:center;gap:6px;margin-bottom:10px;font-size:11.5px;font-weight:700;display:inline-flex}.review-mode-availability svg{width:15px;height:15px}.review-mode-availability.available{color:#1a9c63}.review-mode-availability.locked{color:#bd8800}.review-mode-card h3{margin:10px 0 4px;font-size:15px}.review-mode-card p{color:var(--muted);min-height:40px;margin:0 0 10px;font-size:12.5px}.review-mode-card .btn{width:100%;margin-top:auto}.review-mode-card.highlight{border-color:var(--primary-100);background:linear-gradient(160deg, #fff 0%, var(--primary-50) 100%)}.vocabulary-mode-bar{border-bottom:2px solid var(--primary);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.vocabulary-mode-tabs{gap:4px;display:flex}.vocabulary-mode-back-link{margin-bottom:8px}@media (width<=640px){.vocabulary-mode-bar{flex-direction:column;align-items:stretch}.vocabulary-mode-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.vocabulary-mode-tab{white-space:nowrap;flex-shrink:0;padding:8px 10px;font-size:13px}.vocabulary-mode-back-link{align-self:flex-end;margin:4px 0 0}}.vocabulary-mode-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px 10px 0 0;align-items:center;gap:8px;margin-bottom:-1px;padding:8px 16px 10px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex;position:relative}.vocabulary-mode-tab:after{content:"";background:var(--primary);border-radius:999px 999px 0 0;width:0;height:3px;transition:width .18s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.vocabulary-mode-tab svg{width:16px;height:16px}.vocabulary-mode-tab:hover:not(:disabled){background:var(--primary-50);color:var(--primary)}.vocabulary-mode-tab:focus-visible{outline-offset:-2px;outline:3px solid #1e88e547}.vocabulary-mode-tab.active{background:var(--primary-50);color:var(--primary)}.vocabulary-mode-tab.locked{cursor:not-allowed}.vocabulary-mode-tab.locked:hover{color:var(--muted);background:0 0}.vocabulary-mode-tab.active:after{width:calc(100% - 8px)}.vocabulary-mode-tab:disabled{cursor:not-allowed;opacity:.7}.vocabulary-mode-help{align-self:center;margin:0 0 0 6px}.pvp-mode-bar{border-bottom:2px solid var(--primary);align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.pvp-mode-tabs{gap:4px;display:flex}.pvp-mode-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px 10px 0 0;align-items:center;gap:8px;margin-bottom:-1px;padding:8px 16px 10px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex;position:relative}.pvp-mode-tab:after{content:"";background:var(--primary);border-radius:999px 999px 0 0;width:0;height:3px;transition:width .18s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pvp-mode-tab svg{width:16px;height:16px}.pvp-mode-tab:hover{background:var(--primary-50);color:var(--primary)}.pvp-mode-tab:focus-visible{outline-offset:-2px;outline:3px solid #1e88e547}.pvp-mode-tab.active{background:var(--primary-50);color:var(--primary)}.pvp-mode-tab.active:after{width:calc(100% - 8px)}@media (width<=640px){.pvp-mode-bar{border-bottom:none}.pvp-mode-tabs{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;width:100%;padding:4px;display:grid;box-shadow:0 2px 10px #0f2d5a14}.pvp-mode-tab{flex-shrink:initial;text-align:center;white-space:normal;color:#4b5a70;border-radius:10px;justify-content:center;padding:9px 6px;font-size:12.5px;line-height:1.25}.pvp-mode-tab:after{display:none}.pvp-mode-tab:hover{background:var(--primary-50)}.pvp-mode-tab.active{background:var(--primary);color:#fff;box-shadow:0 3px 10px #1e88e566}.pvp-mode-tab.active:hover{background:var(--primary)}.pvp-mode-tab svg{flex-shrink:0;width:15px;height:15px}}.vocabulary-mode-screen{justify-content:center;align-items:center;height:calc(100vh - 135px);min-height:0;display:flex}.vocabulary-mode-wrap{flex-direction:column;width:100%;max-width:900px;display:flex}.vocabulary-mode-selection{background:linear-gradient(135deg, var(--primary) 0%, var(--teal) 100%);color:#fff;letter-spacing:.4px;text-align:center;border-radius:999px;align-self:center;margin:0 0 20px;padding:8px 22px;font-size:14px;font-weight:800;box-shadow:0 8px 20px #1e88e540}.vocabulary-mode-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.vocabulary-mode-card{cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;padding:18px;transition:transform .15s,box-shadow .15s;display:flex}.vocabulary-mode-card:hover:not(:disabled){border-color:var(--primary-100);transform:translateY(-4px);box-shadow:0 14px 32px #1a599221}.vocabulary-mode-card:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.vocabulary-mode-card:disabled{cursor:default;opacity:.7}.vocabulary-mode-icon{border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.vocabulary-mode-icon svg{width:19px;height:19px}.vocabulary-mode-icon.tone-blue{color:var(--primary);background:#e9f3ff}.vocabulary-mode-icon.tone-green{color:#25a66a;background:#e7f8ef}.vocabulary-mode-icon.tone-purple{color:#8a63d2;background:#f1ebff}.vocabulary-mode-card h3{color:#16304e;margin:10px 0 4px;font-size:15px}.vocabulary-mode-card p{color:var(--muted);min-height:40px;margin:0 0 10px;font-size:12.5px}.vocabulary-mode-card .btn{width:100%;margin-top:auto}.vocabulary-mode-card.active{background:linear-gradient(160deg, #fff 0%, var(--primary-50) 100%);border-color:var(--primary-100);cursor:default}.vocabulary-mode-card.active:hover{transform:none}.review-mode-combo{color:var(--primary);gap:8px;margin-bottom:16px;display:flex}.review-mode-combo svg{width:18px;height:18px}.review-mode-card.disabled{opacity:.7}.review-mode-card.disabled .review-mode-icon{color:#9aadc1;background:#eef1f5}.review-mode-card.disabled .btn{pointer-events:none;opacity:.6}.review-coming-soon{padding-top:60px;position:relative}.review-coming-soon .step-back{position:absolute;top:20px;left:20px}.review-coming-soon .badge{margin-bottom:10px}.random-review-intro{text-align:center;background:linear-gradient(#eafaf6,#fff 65%);border:1px solid #cdeee5;width:min(920px,100%);margin:16px auto 0;padding:64px 48px}.random-review-intro h3{color:#173452;margin:0 0 10px;font-size:26px}.random-review-intro p{max-width:560px;color:var(--muted);margin:0 auto;font-size:15px;line-height:1.6}.random-review-icon{width:84px;height:84px;color:var(--teal);background:#e8f9f5;border-radius:22px;place-items:center;margin:0 auto 22px;display:grid}.random-review-icon svg{width:40px;height:40px}.random-review-combo{flex-wrap:wrap;justify-content:center;gap:14px;margin:30px 0 34px;display:flex}.random-review-format{border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:700;display:flex}.random-review-format svg{width:18px;height:18px}.random-review-format.tone-blue{color:var(--primary);background:#e9f3ff}.random-review-format.tone-green{color:#25a66a;background:#e7f8ef}.random-review-format.tone-orange{color:#f0713d;background:#fff0e9}.random-review-intro .btn{min-height:48px;padding:0 26px;font-size:14px}.learned-pill{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 15px;display:flex}.learned-pill svg{color:var(--primary)}.learned-pill span{flex-direction:column;font-size:12px;display:flex}.learned-pill b{font-size:17px}.input-icon{position:relative}.input-icon svg{color:#8794a5;position:absolute;top:12px;left:13px}.input-icon input{padding-left:42px}.step-back{flex:none;margin-top:3px;padding:0 8px 0 0}.vocabulary-layout{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:20px;min-height:0;max-height:calc(100% - 181px);display:grid}.vocabulary-layout>.vocabulary-sidebar,.vocabulary-layout>.vocabulary-main{height:100%;min-height:0}.vocabulary-layout>.vocabulary-main>.vocabulary-main{flex:1;min-height:0}.vocabulary-sidebar .vocabulary-table-wrap{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.vocabulary-sidebar .vocabulary-kanji-rows{min-height:0;max-height:calc(100vh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 163px);flex:1;overflow-y:auto}.vocabulary-sidebar{top:calc(var(--topbar-height) + var(--content-top-gap));flex-direction:column;gap:12px;display:flex;position:sticky}.vocabulary-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.vocabulary-filter{flex-direction:column;flex:0 240px;gap:4px;min-width:0;display:flex}.vocabulary-filters:has(+.kanji-layout) .vocabulary-filter-level{flex:0 240px;max-width:240px}.vocabulary-filters:has(+.kanji-layout) .vocabulary-flashcard-cta{flex:none;margin:0 0 0 auto}.vocabulary-filter label{color:var(--muted);letter-spacing:1.3px;align-items:center;gap:5px;font-size:10px;font-weight:850;display:flex}.vocabulary-filter label svg{color:var(--primary);width:14px;height:14px}.vocabulary-filter select{appearance:none;border:1px solid var(--border);color:#16304e;background:#f4f7fb url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2353627a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;border-radius:10px;width:100%;height:34px;padding:0 32px 0 10px;font-size:13px;font-weight:600}.vocabulary-filter select:hover:not(:disabled){border-color:var(--primary-100)}.vocabulary-filter select:focus-visible{border-color:var(--primary);outline-offset:1px;outline:3px solid #1e88e538}.vocabulary-filter select:disabled{color:var(--muted);opacity:.7}.vocabulary-level-select{position:relative}.vocabulary-level-trigger{border:1px solid var(--border);color:#16304e;cursor:pointer;background:#f4f7fb;border-radius:12px;justify-content:space-between;align-items:center;width:100%;height:34px;padding:0 10px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.vocabulary-level-trigger:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-100);box-shadow:0 2px 8px #1e88e51f}.vocabulary-level-trigger[aria-expanded=true]{border-color:var(--primary)}.vocabulary-level-trigger:focus-visible{outline-offset:1px;outline:3px solid #1e88e538}.vocabulary-level-trigger:disabled{color:var(--muted);cursor:not-allowed;opacity:.7}.vocabulary-level-trigger svg{color:#53627a;flex-shrink:0;width:16px;height:16px;transition:transform .16s}.vocabulary-level-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.vocabulary-level-dropdown{border:1px solid var(--border);z-index:20;background:#fff;border-radius:13px;width:auto;padding:7px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 14px 35px #17345229}.vocabulary-level-dropdown button{color:#314b65;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;width:100%;padding:10px 11px;font-size:13px;font-weight:700}.vocabulary-level-dropdown button:hover{color:var(--primary);background:#edf6ff}.vocabulary-level-dropdown button.active{background:var(--primary-50);color:var(--primary)}.vocabulary-level-dropdown button:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.vocabulary-filter-retry{background:var(--primary-50);border:1px solid var(--primary-100);color:var(--primary);border-radius:10px;height:34px;padding:0 14px;font-size:13px;font-weight:700}.vocabulary-word-list{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:5px;list-style:none;display:grid}.vocabulary-compound-list{scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin;grid-template-columns:1fr}.vocabulary-compound-list::-webkit-scrollbar{width:6px}.vocabulary-compound-list::-webkit-scrollbar-track{background:0 0}.vocabulary-compound-list::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.vocabulary-compound-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.vocabulary-word-list{max-height:340px;margin:0;padding:0 4px 0 0;overflow-y:auto}.vocabulary-kanji-rows{scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin;scrollbar-gutter:stable;flex-direction:column;gap:4px;min-height:0;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.vocabulary-kanji-row-expand-wrap{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.vocabulary-kanji-row-expand-wrap.is-open{grid-template-rows:1fr}.vocabulary-kanji-row-expand-inner{min-height:0;overflow:hidden}.vocabulary-kanji-rows::-webkit-scrollbar{width:6px}.vocabulary-kanji-rows::-webkit-scrollbar-track{background:0 0}.vocabulary-kanji-rows::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.vocabulary-kanji-rows::-webkit-scrollbar-thumb:hover{background:var(--primary)}.vocabulary-kanji-row-head{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;grid-template-columns:1fr 1fr 1fr;column-gap:8px;padding:0 10px 4px;font-size:11px;font-weight:700;display:grid}.vocabulary-kanji-row-head span{text-align:center}.vocabulary-kanji-row-main{text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:10px;grid-template-columns:1fr 1fr 1fr;align-items:center;column-gap:8px;width:100%;padding:8px 10px;display:grid}.vocabulary-kanji-row-stt{text-align:center;color:var(--muted);font-size:13px;font-weight:600}.vocabulary-kanji-row-main:hover{border-color:var(--primary-100)}.vocabulary-kanji-row-main:focus-visible{border-color:var(--primary);outline-offset:1px;outline:3px solid #1e88e538}.vocabulary-kanji-row-kanji{text-align:center;color:#16304e;font-size:20px;font-weight:700}.vocabulary-kanji-row-learned{text-align:center;color:var(--teal);font-size:13px;font-weight:700}.vocabulary-kanji-row-learned-cell{justify-content:center;align-items:center;gap:6px;display:flex}.vocabulary-kanji-row-chevron{color:#8290a2;flex:none;width:16px;height:16px;transition:transform .16s}.vocabulary-kanji-row.expanded .vocabulary-kanji-row-chevron{transform:rotate(180deg)}.vocabulary-kanji-row.expanded .vocabulary-kanji-row-main{background:var(--primary-50);border-color:var(--primary)}.vocabulary-kanji-row.expanded .vocabulary-kanji-row-kanji{color:var(--primary)}.vocabulary-kanji-row-expand{border-left:2px solid var(--primary-100);margin:4px 0 6px 14px;padding:6px 0 0 10px}.vocabulary-kanji-row-expand-status{color:var(--muted);margin:4px 0;font-size:12px}.vocabulary-kanji-row-expand-retry{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.container:has(>.kanji-layout){--kanji-tile:22px;--kanji-tile-gap:3px;--kanji-list-width:calc(14 * var(--kanji-tile) + 13 * var(--kanji-tile-gap) + 24px);flex-direction:column;height:100%;display:flex}.vocabulary-filters:has(+.kanji-layout){max-width:var(--kanji-list-width)}.kanji-layout{grid-template-columns:var(--kanji-list-width) minmax(0, 1fr);flex:1;grid-template-rows:minmax(0,1fr);min-height:0}.kanji-layout .vocabulary-table-wrap{flex-direction:column;height:100%;min-height:0;padding:16px;display:flex}.kanji-layout .vocabulary-word-list{gap:var(--kanji-tile-gap);flex:1;grid-template-columns:repeat(14,minmax(0,1fr));align-content:start;max-height:none}.kanji-layout .vocabulary-word-kanji{font-size:13px}.kanji-layout .vocabulary-word-favorite-mark{width:14px;height:14px;top:50%;right:8px;transform:translateY(-50%)}.kanji-layout.kanji-layout-stacked{flex-direction:column;gap:16px;height:auto;min-height:0;display:flex}.kanji-layout.kanji-layout-stacked .vocabulary-main,.kanji-layout.kanji-layout-stacked .vocabulary-slider,.kanji-layout.kanji-layout-stacked .vocabulary-table-wrap{height:auto}.vocabulary-filters:has(+.kanji-layout-stacked){max-width:none}.vocabulary-table-heading.kanji-list-heading{flex-flow:wrap;justify-content:space-between;align-items:center}.kanji-list-title{flex-direction:column;display:flex}.kanji-list-search-actions{flex:0 560px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.kanji-list-search{border:1px solid var(--border);background:#f4f7fb;border-radius:10px;flex:0 420px;align-items:center;gap:6px;padding:6px 10px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.kanji-list-search-actions .kanji-list-search{flex:auto}.kanji-list-handwriting-trigger{color:#187f71;background:#edf9f7;border:1px solid #4db8a873;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:50px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.kanji-list-handwriting-trigger svg{width:16px;height:16px}.kanji-list-handwriting-trigger:hover{border-color:var(--teal);color:#11685e;background:#dff4f0}.kanji-list-handwriting-trigger:focus-visible{outline-offset:2px;outline:3px solid #4db8a84d}.dark .kanji-list-handwriting-trigger{color:#86d5c9;background:#4db8a81f;border-color:#4db8a88c}.kanji-list-search:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #1e88e529}.kanji-list-search svg{color:var(--muted);flex:none;width:14px;height:14px}.kanji-list-search input{color:#16304e;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px;font-weight:600}.kanji-list-rows{flex-direction:column;gap:6px;max-height:420px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.kanji-list-row-main{text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:10px;grid-template-columns:28px 40px 90px 110px minmax(0,140px);justify-content:space-between;align-items:center;column-gap:16px;width:100%;padding:8px 14px;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s;display:grid;position:relative}.kanji-list-row-main:hover{border-color:var(--primary-100);background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #17345214}.kanji-list-row-main:focus-visible{border-color:var(--primary);outline-offset:1px;outline:3px solid #1e88e538}.kanji-list-row.active .kanji-list-row-main{background:var(--primary-50);border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.kanji-list-cell-stt{color:var(--muted);text-align:right;font-size:13px;font-weight:600}.kanji-list-cell-kanji{background:var(--primary-50);color:var(--dark);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;font-weight:700;transition:background-color .15s;display:inline-flex}.kanji-list-row.active .kanji-list-cell-kanji{background:#fff}.kanji-list-cell-sino{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.kanji-list-cell-hiragana{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.kanji-list-cell-meaning{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}@media (width<=640px){.kanji-list-search-actions{flex-flow:column;flex:100%;align-items:stretch;width:100%}.kanji-list-search-actions .kanji-list-search{flex:1 1 0;min-width:0}.kanji-list-row-main{grid-template-columns:18px 26px 56px 56px 1fr;column-gap:8px;padding:8px 10px}.kanji-list-cell-stt{font-size:12px}.kanji-list-cell-kanji{border-radius:6px;width:24px;height:24px;font-size:16px}.kanji-list-cell-sino,.kanji-list-cell-hiragana,.kanji-list-cell-meaning{font-size:12px}}.kanji-layout{align-items:stretch}.kanji-layout .vocabulary-main{min-height:0}.kanji-layout .vocabulary-main>.state-card,.vocabulary-layout .vocabulary-main>.state-card{height:100%;min-height:0;max-height:calc(100vh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 24px);flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex;overflow-y:auto}.kanji-layout .vocabulary-slider{background:linear-gradient(165deg, #fff 0%, #fff 55%, var(--primary-50) 130%);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.kanji-layout .vocabulary-slider:before{background:linear-gradient(90deg, var(--dark), var(--primary), var(--teal));content:"";z-index:1;height:4px;position:absolute;top:0;left:0;right:0}.kanji-layout .vocabulary-slider-stage{flex:1;min-height:0}.kanji-layout .vocabulary-slider-card{height:100%}.kanji-layout .vocabulary-slider-card-top{flex:none;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:stretch;gap:clamp(20px,2.5vw,32px);max-height:none;margin-bottom:0;display:grid}.kanji-layout .kanji-learning-info{grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr);grid-template-areas:"identity identity""readings mnemonic""decomposition decomposition""details details";align-content:start;gap:16px;min-width:0;min-height:0;display:grid}.kanji-layout .kanji-learning-info>.vocab-card-content,.kanji-layout .kanji-learning-info>.kanji-card-knowledge{display:contents}.kanji-layout .vocabulary-slider-card-top:not(:has(.kanji-image-column)) .kanji-learning-info{grid-column:1/-1}.kanji-layout .kanji-identity-block{grid-area:identity;min-width:0}.kanji-layout .kanji-image-column{flex-direction:column;align-self:start;width:auto;min-width:0;min-height:0;display:flex}.kanji-layout .vocabulary-slider-card .vocab-illustration{aspect-ratio:1376/768;border-radius:14px;flex:none;width:100%;height:auto;min-height:0;box-shadow:0 10px 24px #17345224,inset 0 0 0 1px #ffffffb3}.kanji-layout .vocab-illustration-photo{object-fit:cover}.kanji-layout .vocabulary-slider-card .japanese-word{flex-wrap:wrap;margin-top:0}.kanji-layout .vocabulary-slider-card .japanese-word h2.vocab-kanji-large{font-size:22px;line-height:1.15}.kanji-layout .vocabulary-slider-card .japanese-word h2.vocab-kanji-large b{color:var(--dark)}.kanji-layout .vocabulary-slider-card .japanese-word h2.vocab-kanji-large span{color:var(--primary);font-weight:600}.kanji-layout .vocabulary-slider-card{padding-top:8px;padding-bottom:8px}.kanji-layout .vocab-top{gap:6px}.kanji-layout .vocab-top .badge{padding:3px 8px;font-size:11px}.kanji-layout .japanese-word button:not(.vocabulary-detail-link){width:26px;height:26px}.kanji-layout .japanese-word button:not(.vocabulary-detail-link) svg{width:13px;height:13px}.kanji-layout .kanji-word-actions{flex:none;align-items:center;gap:6px;margin-left:10px;display:flex}.kanji-layout .kanji-word-actions button:not(.vocabulary-detail-link){margin-left:0}.kanji-layout .kanji-word-actions button.favorite{color:#ef4d65}.kanji-layout .yomi-chips{flex-flow:column;align-items:flex-start;gap:6px}.kanji-layout .vocab-card-content h3{background:var(--primary-50);color:var(--dark);border-radius:999px;width:max-content;margin:4px 0 2px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.kanji-layout .vocabulary-slider-card .yomi{flex-direction:column;flex:0 auto;gap:7px;min-height:132px;margin:12px 0 0;overflow-y:auto}.kanji-layout .yomi-row{gap:4px}.kanji-layout .yomi-label{font-size:13px}.kanji-layout .yomi-chip{border-radius:999px;padding:5px 12px;font-size:13px;line-height:1;box-shadow:0 2px 6px #4db8a847}.kanji-layout .kanji-reading-tools{grid-area:readings;grid-template-columns:minmax(150px,210px) max-content;justify-content:start;align-items:start;gap:12px 16px;display:grid}.kanji-layout .kanji-reading-tools .yomi{min-height:0;margin-bottom:0;overflow-y:visible}.kanji-layout .kanji-writing-tools{flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.kanji-layout .kanji-writing-tools .kanji-stroke-count-badge{margin-top:0}.kanji-layout .kanji-card-actions{grid-area:details;margin-top:16px}.kanji-layout .kanji-card-knowledge .vocab-knowledge-block{background:#f8fafc;border:1px solid #dce7f7d1;border-radius:12px;min-width:0;padding:14px 16px}.kanji-layout .kanji-card-knowledge .vocab-knowledge-block:first-child{grid-area:decomposition}.kanji-layout .kanji-card-knowledge .vocab-knowledge-block:last-child{grid-area:mnemonic}.kanji-layout .kanji-card-knowledge h4{margin:0 0 4px;font-size:11px}.kanji-layout .kanji-card-knowledge .vocab-knowledge-empty,.kanji-layout .kanji-card-knowledge .vocab-knowledge-mnemonic{font-size:12px;line-height:1.4}.kanji-layout .kanji-card-knowledge .vocab-knowledge-decomposition-parts{font-size:12px}.kanji-layout .kanji-card-knowledge .vocab-knowledge-decomposition-parts b{font-size:16px;line-height:1.3}.kanji-layout .kanji-card-knowledge .vocab-knowledge-decomposition-meaning,.kanji-layout .kanji-card-knowledge .vocab-knowledge-decomposition-summary{font-size:11px}.kanji-layout .kanji-card-knowledge .kanji-decomposition-viewport{max-width:400px}.dark .kanji-layout .kanji-card-knowledge .vocab-knowledge-block{background:#1e293b;border-color:#334155}@media (width>=1051px){.kanji-layout .kanji-vocabulary-main-grid{grid-template-columns:minmax(280px,.9fr) minmax(210px,.6fr) minmax(320px,1fr);align-items:start;display:grid}.kanji-layout .kanji-info-column,.kanji-layout .kanji-decomposition-column{min-width:0}.kanji-layout .kanji-reading-tools{flex-direction:column;align-items:stretch;gap:16px;display:flex}.kanji-layout .kanji-writing-tools{margin-top:0}.kanji-layout .vocabulary-slider-card .kanji-mnemonic-column{border-left:0;margin-top:16px;padding-left:0;overflow-y:visible}.kanji-layout .vocabulary-slider-card .kanji-decomposition-column{border-left:1px solid #dce7f7e6;padding-left:18px}.kanji-layout .kanji-card-knowledge .kanji-decomposition-figure{position:relative}.kanji-layout .kanji-card-knowledge .kanji-decomposition-toolbar{z-index:2;background:#f8fafceb;border-radius:10px;margin:0;padding:4px;position:absolute;top:0}.kanji-layout .kanji-card-knowledge .kanji-decomposition-viewport{max-width:260px}.dark .kanji-layout .kanji-card-knowledge .kanji-decomposition-toolbar{background:#1e293beb}}.kanji-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;display:flex}.kanji-stroke-trigger{background:var(--primary-50);border:1px solid var(--primary-100);color:var(--primary);border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-size:13px;font-weight:700;transition:background-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.kanji-stroke-trigger:hover{background:var(--primary-100);transform:translateY(-1px);box-shadow:0 4px 12px #1e88e538}.kanji-stroke-trigger:active{transform:translateY(0)scale(.98)}.kanji-stroke-trigger:focus-visible{outline-offset:2px;outline:3px solid #1e88e538}.kanji-stroke-trigger svg{width:15px;height:15px}.modal .kanji-stroke-panel{border:0;padding:0}.kanji-card-actions .vocabulary-detail-link{align-self:auto;margin-top:0}.vocabulary-word-main{aspect-ratio:1;border:1px solid var(--border);background:#f5f8fc;border-radius:7px;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative}.vocabulary-word-main:hover{background:var(--primary-50);border-color:var(--primary-100)}.vocabulary-word-main.vocabulary-word-row{aspect-ratio:auto;box-sizing:border-box;text-align:left;justify-content:space-between;min-width:0;max-width:100%;min-height:48px;padding:8px 12px;overflow:hidden}.vocabulary-word-item{min-width:0}.vocabulary-word-row-text{white-space:nowrap;flex:auto;align-items:baseline;gap:6px;min-width:0;max-width:100%;display:flex;overflow:hidden}.vocabulary-word-row .vocabulary-word-kanji{white-space:nowrap;flex:none}.vocabulary-word-reading{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:14px;display:block;overflow:hidden}.vocabulary-word-row>svg:not(.vocabulary-word-favorite-mark):not(.vocabulary-word-learned-mark){color:var(--primary);flex:none;width:20px;height:20px}.vocabulary-word-row .vocabulary-word-favorite-mark{flex:none}.vocabulary-word-row .vocabulary-word-learned-mark{background:var(--teal);box-sizing:border-box;color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:11px;line-height:1;display:inline-flex}.vocabulary-word-main:focus-visible{outline-offset:1px;outline:3px solid #1e88e538}.vocabulary-kanji-breakdown{align-items:center;gap:6px;margin-top:10px;display:flex}.vocabulary-kanji-breakdown>span{color:var(--muted);font-size:13px}.vocabulary-kanji-breakdown button{background:var(--primary-50);border:1px solid var(--primary-100);color:var(--primary);cursor:pointer;border-radius:6px;padding:2px 8px;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:16px;font-weight:700}.vocabulary-kanji-breakdown button:hover{background:var(--primary-100)}.vocabulary-example-list{scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin;scrollbar-gutter:stable;flex-direction:column;min-width:0;min-height:0;padding-right:4px;display:flex;overflow:hidden auto}.vocabulary-example-list::-webkit-scrollbar{width:6px}.vocabulary-example-list::-webkit-scrollbar-track{background:0 0}.vocabulary-example-list::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.vocabulary-example-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.vocabulary-example-list>span{color:var(--muted);flex-shrink:0;margin-bottom:6px;font-size:13px;display:block}.vocabulary-example-list ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-example-list li{border:1px solid var(--border);background:#f6f9fc;border-radius:10px;padding:10px 12px}.vocabulary-example-ja{color:#16304e;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:15px;font-weight:600;line-height:1.4}.vocabulary-example-romaji{color:var(--primary);margin:3px 0 0;font-size:12.5px;font-style:italic}.vocabulary-example-vi{color:var(--muted);margin:4px 0 0;font-size:13px}.vocabulary-word-item.active .vocabulary-word-main{background:var(--primary-50);border-color:var(--primary)}.vocabulary-word-kanji{color:#16304e;font-size:16px;font-weight:700;line-height:1}.vocabulary-word-item.active .vocabulary-word-kanji{color:var(--primary)}.vocabulary-word-favorite-mark{color:#ef4d65;width:8px;height:8px;position:absolute;top:2px;right:2px}.vocabulary-topic-item.completed svg{color:var(--success,#1e9e6a)}.vocabulary-topic-item.locked{cursor:not-allowed;opacity:.55}.vocabulary-topic-item.locked:hover{background:0 0}.vocabulary-topic-item.locked svg{color:#b7c1cf}.vocabulary-topic-progress{align-items:center;gap:8px;display:flex}.vocabulary-topic-progress-bar{background:var(--primary-50);border-radius:999px;flex:1;height:6px;overflow:hidden}.vocabulary-topic-progress-bar>span{background:var(--primary);border-radius:999px;height:100%;display:block}.vocabulary-topic-progress-label{color:var(--muted);flex:none;font-size:12px}.vocabulary-main{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.vocabulary-main>.vocabulary-slider{flex:1;min-height:0}.result-toolbar{justify-content:space-between;align-items:center;margin:24px 0 14px;display:flex}.result-toolbar p{color:#627086;align-items:center;gap:7px;font-size:13px;display:flex}.result-toolbar>div{background:#e4ecf6;border-radius:9px;padding:3px;display:flex}.result-toolbar>div button{color:#7d8a9a;background:0 0;border:0;border-radius:7px;padding:7px}.result-toolbar>div button.active{color:var(--primary);background:#fff;box-shadow:0 2px 6px #7891ac33}.tests-grid,.card-grid{gap:18px;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dashboard-loading .card-grid,.vocabulary-loading .card-grid{grid-template-columns:1fr}.vocabulary-slider{height:min(620px, calc(100vh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 133px));flex-direction:column;flex:none;width:100%;max-width:100%;min-height:0;margin:0 auto;padding:4px;display:flex}.vocabulary-split-layout{flex-direction:column;flex:1;min-height:0;display:flex}.vocabulary-slider-status{justify-content:center;align-items:center;display:flex;overflow:hidden}.vocabulary-slider-status .card-grid{width:100%}.vocabulary-main .vocabulary-slider .vocabulary-slider-stage{flex:1;align-items:stretch;min-height:0;display:flex;overflow:hidden}.vocabulary-main .vocabulary-slider .vocabulary-slider-stage>.vocabulary-slider-card{flex:1}@media (width<=1200px){.vocabulary-layout,.vocabulary-layout>.vocabulary-sidebar,.vocabulary-layout>.vocabulary-main,.vocabulary-layout>.vocabulary-main>.vocabulary-main{height:auto}.vocabulary-main .vocabulary-slider{height:min(620px, calc(100vh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 133px));max-height:calc(100vh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 133px);flex:none}.vocabulary-main .vocabulary-slider .vocabulary-slider-stage,.vocabulary-main .vocabulary-slider .vocabulary-slider-stage>.vocabulary-slider-card{min-height:0}.vocabulary-slider-card-top{min-height:0;overflow:hidden}.vocabulary-example-list{min-height:0}}.vocabulary-slider:focus-visible{outline-offset:4px;border-radius:18px;outline:3px solid #1e88e538}.vocabulary-flashcard-cta{background:var(--teal);border:1px solid var(--teal);color:#fff;cursor:pointer;white-space:nowrap;border-radius:999px;align-self:center;align-items:center;gap:6px;height:34px;margin:0 auto;padding:0 16px;font-size:13px;font-weight:600;transition:background-color .15s,box-shadow .15s,transform .1s;display:flex}.vocabulary-flashcard-cta svg{width:16px;height:16px}.vocabulary-flashcard-cta:hover:not(:disabled){background:#3fa596;border-color:#3fa596;box-shadow:0 2px 8px #4db8a859}.vocabulary-flashcard-cta:active:not(:disabled){transform:scale(.98)}.vocabulary-flashcard-cta:focus-visible{outline-offset:2px;outline:3px solid #4db8a859}.vocabulary-flashcard-cta:disabled{cursor:default}.vocabulary-slider-navigation{flex:none;justify-content:center;align-items:center;gap:16px;margin-top:auto;padding-top:8px;display:flex}.vocabulary-slider-navigation button{background:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s,box-shadow .15s,transform .1s;display:flex}.vocabulary-slider-navigation button svg{width:18px;height:18px}.vocabulary-slider-navigation button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #1e88e559}.vocabulary-slider-navigation button:focus-visible{outline-offset:2px;outline:3px solid #1e88e538}.vocabulary-slider-navigation button:disabled{color:#a8b6c8;cursor:default;background:#e7eef7;border-color:#e7eef7}.vocabulary-slider-navigation>span{color:#8290a2;font-size:11px}.vocabulary-slider-navigation kbd{color:#53647a;text-align:center;background:#fff;border:1px solid #d5e2f1;border-bottom-width:2px;border-radius:5px;min-width:22px;margin-left:3px;padding:1px 4px;font-family:inherit;display:inline-block}.vocabulary-table-wrap{padding:12px}.vocabulary-table-heading{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.vocabulary-back-link{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:5px;margin-bottom:10px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.vocabulary-back-link:hover,.vocabulary-back-link:focus-visible{color:#003da5}.vocabulary-back-link svg{width:14px;height:14px}.vocabulary-table-heading span:first-child{color:#1372c1;letter-spacing:1px;background:#e7f2ff;border-radius:6px;width:max-content;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.vocabulary-table-heading h3{color:#16304e;margin:2px 0 0;font-size:14px}.vocabulary-detail-link{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:6px;margin-top:14px;padding:0;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.vocabulary-detail-link:hover,.vocabulary-detail-link:focus-visible{color:#003da5}.vocabulary-detail-link:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:4px}.vocabulary-detail-link__arrow{width:16px;height:16px;transition:transform .2s}.vocabulary-detail-link:hover .vocabulary-detail-link__arrow,.vocabulary-detail-link:focus-visible .vocabulary-detail-link__arrow{transform:translate(3px)}.vocab-detail-page{margin-top:24px;padding:28px}.vocab-detail-grid{grid-template-columns:minmax(220px,3fr) minmax(0,4fr) minmax(220px,3fr);align-items:stretch;gap:30px;margin-top:18px;display:grid}.vocab-detail-grid:not(:has(.vocab-illustration)){grid-template-columns:minmax(220px,3fr) minmax(0,7fr)}.vocab-detail-grid .vocab-card-content{flex-direction:column;min-width:0;display:flex}.vocab-detail-grid .vocab-illustration{aspect-ratio:auto;height:100%;min-height:220px;margin-top:0}.vocab-detail-divider{border:0;border-top:1px solid #dce7f7e6;margin:12px 0}.vocab-detail-related,.vocab-detail-comments{margin:0}.vocab-detail-related .vocab-knowledge-empty{text-align:center;padding:26px 16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vocabulary-search-form{gap:10px;margin-bottom:24px;padding:18px;display:flex}.vocabulary-search-form input{border:1px solid var(--border);font:inherit;border-radius:10px;flex:1;min-height:44px;padding:0 16px}.vocabulary-search-results{padding:24px}.vocabulary-search-count{margin:0 0 16px;font-size:16px}.vocabulary-search-count b{color:var(--primary)}.vocabulary-search-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-search-item{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.vocabulary-search-item:hover{border-color:#cfe0f5;box-shadow:0 10px 24px #1a599214}.vocabulary-search-item-main{min-width:0}.vocabulary-search-item-main .japanese-word h3{color:#153854;margin:0;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:22px;line-height:1.75}.vocabulary-search-item-meaning{color:#56657a;margin:2px 0 12px;font-size:14px}.vocabulary-search-item-tags{flex-wrap:wrap;gap:6px;display:flex}.favorite-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.favorite-summary article{align-items:center;gap:13px;padding:18px;display:flex}.favorite-summary article>svg{width:34px;height:34px;color:var(--primary)}.favorite-summary article:nth-child(2)>svg{color:#d99b00}.favorite-summary article:nth-child(3)>svg{color:#21a455}.favorite-summary article>div{flex-direction:column;display:flex}.favorite-summary span{color:var(--muted);font-size:11px}.favorite-summary b{font-size:22px}.favorite-filters{grid-template-columns:2fr repeat(3,1fr);align-items:end;gap:14px;margin-bottom:20px;padding:20px;display:grid}.favorite-filters label{min-width:0}.favorite-filters .history-search-filter{grid-column:span 2}.favorite-status-filter{flex-direction:column;gap:6px;min-width:0;font-size:13px;display:flex}.favorite-status-filter .choice-row{grid-template-columns:repeat(4,1fr)}.favorite-empty{flex-direction:column;align-items:center;gap:14px;display:flex}.favorite-list{flex-direction:column;gap:12px;margin:0 0 20px;padding:0;list-style:none;display:flex}.favorite-item{border:1px solid var(--border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.favorite-item-main{min-width:0}.favorite-item-main .japanese-word h3{color:#153854;margin:0;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:22px;line-height:1.75}.favorite-item-tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.favorite-item-meta{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.favorite-item-meta svg{width:14px;height:14px}.favorite-item-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.favorite-remove-btn{color:var(--danger);cursor:pointer;background:#fff0f0;border:1px solid #f5c9c9;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.favorite-remove-btn svg{width:18px;height:18px}.favorite-remove-btn:hover{background:#ffe1e1}#vocabulary-comment-title{align-items:center;gap:6px;display:flex}.comment-sort{gap:6px;display:flex}.comment-sort button{color:#718095;cursor:pointer;background:#f5f8fc;border:0;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700}.comment-sort button.active{background:var(--primary);color:#fff}.comment-input-row{gap:10px;margin:18px 0;display:flex}.comment-input-row input{border:1px solid var(--border);font:inherit;border-radius:10px;flex:1;min-height:42px;padding:0 14px}.comment-login-prompt{color:#5b6b80;margin:18px 0;font-size:13px}.comment-login-prompt a{color:var(--primary);font-weight:700}.comment-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.comment-item{gap:12px;padding:16px 0;display:flex}.comment-item+.comment-item{border-top:1px solid #dce7f7e6}.comment-avatar{color:var(--primary);background:#e9f4ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.comment-body{flex:1;min-width:0}.comment-meta{align-items:baseline;gap:8px;display:flex}.comment-meta strong{color:#153854;font-size:13px}.comment-meta span{color:#a2adbb;font-size:11px}.comment-body p{color:#384a60;word-break:break-word;margin:4px 0 6px;font-size:13px}.comment-actions{gap:6px;display:flex}.comment-actions button{color:#a2adbb;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.comment-actions button:hover:not(:disabled){color:#56657a;background:#eef2f7}.comment-actions button:disabled{cursor:default;opacity:.6}.comment-actions button.active{color:var(--primary)}.comment-load-more{justify-content:center;margin-top:18px;display:flex}.comment-badge{border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.comment-badge-teacher{color:var(--teal);background:#e6f7f2}.comment-badge-pinned{color:#b8860b;background:#fff4de}.comment-edit-row,.comment-inline-form{gap:8px;margin:6px 0;display:flex}.comment-edit-row input,.comment-inline-form input{border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;min-height:36px;padding:0 12px}.comment-toggle-replies{color:var(--primary);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:2px 0;font-size:12px;font-weight:700}.comment-reply-list{border-left:2px solid var(--border);gap:14px;margin-top:12px;padding-left:16px}.comment-item-reply .comment-avatar{width:30px;height:30px}.vocab-card{flex-direction:column;padding:18px;display:flex}.vocabulary-slider-card-top{flex:1;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,3fr);align-items:stretch;gap:16px;min-width:0;min-height:0;display:grid}.vocabulary-slider-card-top .vocab-card-content{flex-direction:column;min-width:0;display:flex}.vocabulary-slider-card{flex-direction:column;flex:1;min-height:0;padding:14px;animation:.18s vocabulary-slider-card-in;display:flex}@keyframes vocabulary-slider-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.vocabulary-slider-card .japanese-word{margin-top:4px}.vocabulary-slider-card .japanese-word h2.vocab-kanji-large{font-size:34px}.vocabulary-slider-card .kana,.vocabulary-slider-card .vocab-card-content h3{margin:3px 0}.vocabulary-slider-card .yomi{margin:16px 0 3px}.vocabulary-slider-card .vocabulary-detail-link{margin-top:6px}.vocabulary-slider-card .vocab-knowledge-panel{gap:14px;padding-left:18px}.vocabulary-slider-card .vocab-illustration{aspect-ratio:auto;height:100%;margin-top:0}.vocab-illustration{aspect-ratio:4/3;border-radius:12px;width:100%;margin-top:16px;box-shadow:inset 0 0 0 1px #15385414}.vocab-illustration-photo{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.vocab-top{align-items:center;gap:7px;display:flex}.vocab-top>button{color:#a2adbb;background:0 0;border:0;margin-left:auto;padding:6px}.vocab-top>button.favorite{color:#ef4d65}.japanese-word{align-items:center;margin-top:12px;display:flex}.japanese-word h2{color:#153854;margin:0;font-size:30px;line-height:1.3}.japanese-word h2.vocab-kanji-large{font-size:40px}.japanese-word button:not(.vocabulary-detail-link){color:var(--primary);background:#e9f4ff;border:0;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.japanese-word button:not(.vocabulary-detail-link) svg{width:16px;height:16px}.yomi{color:#5b6b80;gap:50px;margin:16px 0 6px;font-size:13px;display:flex}.yomi-row{flex-direction:column;gap:4px;display:flex}.yomi-label{color:#5b6b80;font-size:13px}.yomi-chips{flex-wrap:wrap;gap:6px;display:flex}.yomi-chip{background:var(--teal);color:#fff;border-radius:7px;padding:6px 10px;font-size:13px;font-weight:600;line-height:1}.yomi b{color:#153854;font-weight:600}.kana{color:var(--primary);margin:6px 0;font-size:15px;font-weight:600}.kana span{color:#5b6b80;font-size:15px;font-weight:400}.meaning-en{color:var(--primary);margin:10px 0;font-size:18px;font-weight:600}.vocab-card-content>h3{margin:6px 0;font-size:16px}.example{border-left:3px solid var(--teal);background:#f5f8fc;border-radius:0 8px 8px 0;margin:6px 0 12px;padding:8px 12px}.example>span{color:var(--teal);font-size:11px;font-weight:800}.example p{margin:3px 0;font-size:13px}.example small{color:var(--muted)}.example-item+.example-item{border-top:1px dashed #d8e2ee;margin-top:8px;padding-top:8px}.vocab-knowledge-panel{border-left:1px solid #dce7f7e6;flex-direction:column;gap:22px;min-width:0;padding-left:24px;display:flex;overflow-y:auto}.vocab-knowledge-panel-full{overflow-y:visible}.vocab-knowledge-panel-below{border-top:none;border-left:none;flex-flow:wrap;padding-top:20px;padding-left:0;overflow-y:visible}.vocab-knowledge-panel-below .vocab-knowledge-block{flex:220px;min-width:220px}.kana-stroke-guide{border-left:0;padding-left:0}.kanji-stroke-panel{border-left:1px solid #dce7f7e6;flex-direction:column;align-items:center;gap:10px;min-width:0;padding-left:24px;display:flex}.kanji-stroke-panel-empty{text-align:center;min-height:220px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.kanji-stroke-panel-loading{color:var(--muted);padding:40px 0;font-size:13px}.kanji-stroke-tabs{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.kanji-stroke-tabs button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #dce7f7e6;border-radius:8px;width:34px;height:34px;font-family:inherit;font-size:18px}.kanji-stroke-tabs button.active{background:var(--dark,#003da5);border-color:var(--dark,#003da5);color:#fff}.kanji-stroke-attribution{color:var(--muted);text-align:center;margin:4px 0 0;font-size:11px}.kanji-stroke-attribution a{color:var(--primary,#1e88e5)}.stroke-viewer{align-items:center;gap:10px;width:100%;display:flex}.stroke-viewer-canvas{aspect-ratio:1;background:#fafcff;border-radius:12px;width:140px;box-shadow:inset 0 0 0 1px #15385414}.stroke-viewer-svg{width:100%;height:100%}.stroke-viewer-guide path{fill:none;stroke:#15385424;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.stroke-viewer-ink path{fill:none;stroke:var(--dark,#003da5);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.stroke-path-static{stroke-dasharray:1;stroke-dashoffset:0}.stroke-path-animate{stroke-dasharray:1;stroke-dashoffset:1px;animation-name:stroke-draw;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes stroke-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.stroke-viewer-counter{color:var(--muted);margin:0;font-size:12px}.stroke-viewer-controls{align-items:center;gap:8px;display:flex}.stroke-viewer-controls button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #dce7f7e6;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.stroke-viewer-controls button svg{width:15px;height:15px}.stroke-viewer-controls button:disabled{opacity:.4;cursor:not-allowed}.stroke-viewer-controls .stroke-viewer-play{background:var(--dark,#003da5);border-color:var(--dark,#003da5);color:#fff;width:38px;height:38px}.stroke-viewer-controls .stroke-viewer-play svg{width:17px;height:17px}.vocab-knowledge-block h4{color:var(--teal);letter-spacing:1px;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:800}.vocab-knowledge-empty{color:var(--muted);margin:0;font-size:14px}.vocab-knowledge-compounds{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.vocab-knowledge-compounds li{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:16px;display:flex}.vocab-knowledge-compounds li button{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;padding:0;font-size:16px;display:flex}.vocab-knowledge-compounds li button:hover .vocab-knowledge-compound-word,.vocab-knowledge-compounds li button:focus-visible .vocab-knowledge-compound-word{color:var(--primary)}.vocab-knowledge-compound-word{color:#153854;font-weight:700}.vocab-knowledge-compound-reading{color:var(--muted);font-size:13px}.vocab-knowledge-compound-meaning{color:#53647a;font-size:14px}.vocab-knowledge-more{color:var(--muted);margin:6px 0 0;font-size:13px}.kanji-decomposition-figure{text-align:center;margin:0}.kanji-decomposition-toolbar{justify-content:center;align-items:center;gap:6px;margin-bottom:8px;display:flex}.kanji-decomposition-toolbar button{border:1px solid var(--border);color:#36536d;min-width:34px;min-height:34px;font:inherit;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-size:12px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.kanji-decomposition-toolbar button:hover:not(:disabled){border-color:var(--teal);color:#187f71;background:#edf9f7}.kanji-decomposition-toolbar button:focus-visible{outline-offset:2px;outline:3px solid #4db8a84d}.kanji-decomposition-toolbar button:disabled{cursor:not-allowed;opacity:.45}.kanji-decomposition-toolbar button svg{width:16px;height:16px}.kanji-decomposition-scale{color:#53647a;font-variant-numeric:tabular-nums;min-width:48px;font-size:12px;font-weight:800}.kanji-decomposition-viewport{border-radius:12px;width:100%;max-width:360px;margin:0 auto;overflow:hidden}.kanji-decomposition-figure-compact .kanji-decomposition-viewport{max-width:280px}.kanji-decomposition-svg{cursor:default;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:hidden}.kanji-decomposition-svg.is-zoomed{cursor:grab;touch-action:none}.kanji-decomposition-svg.is-dragging{cursor:grabbing}.kanji-decomposition-edge{fill:none;stroke:#475569;stroke-width:1.5px;vector-effect:non-scaling-stroke}.kanji-decomposition-arrow{fill:#475569}.kanji-decomposition-flow-dot{filter:drop-shadow(0 0 2px #4db8a8cc);pointer-events:none;vector-effect:non-scaling-stroke}.kanji-decomposition-draggable-node{cursor:grab;touch-action:none}.kanji-decomposition-svg.is-dragging .kanji-decomposition-draggable-node{cursor:grabbing}.kanji-decomposition-node{stroke:#153854;stroke-width:2px;vector-effect:non-scaling-stroke}.kanji-decomposition-node-root{fill:#1e88e5}.kanji-decomposition-node-part{fill:#f5c549}.kanji-decomposition-character{fill:#102a43;dominant-baseline:central;pointer-events:none;text-anchor:middle;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:22px;font-weight:700}.kanji-decomposition-character[data-long=true]{font-size:15px}.kanji-decomposition-legend{flex-wrap:wrap;justify-content:center;gap:6px;padding:0;list-style:none;display:flex}.kanji-decomposition-legend li{border:1px solid var(--border);color:#53647a;background:#fff;border-radius:999px;align-items:baseline;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.kanji-decomposition-legend b{color:#153854;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:15px}.vocab-knowledge-decomposition-summary{color:var(--teal);margin:8px 0 0;font-size:14px;font-weight:600}.dark .kanji-decomposition-edge{stroke:#cbd5e1}.dark .kanji-decomposition-arrow{fill:#cbd5e1}.dark .kanji-decomposition-toolbar button{color:#cbd5e1;background:#1e293b;border-color:#475569}.dark .kanji-decomposition-toolbar button:hover:not(:disabled){color:#86d5c9;background:#4db8a81f;border-color:#4db8a8}.dark .kanji-decomposition-scale{color:#cbd5e1}.dark .kanji-decomposition-flow-dot{fill:#86d5c9}.dark .kanji-decomposition-node{stroke:#e2e8f0}.dark .kanji-decomposition-character{fill:#0f172a}.dark .kanji-decomposition-legend li{color:#cbd5e1;background:#1e293b}.dark .kanji-decomposition-legend b{color:#f8fafc}@media (width<=480px){.kanji-decomposition-toolbar{gap:4px}.kanji-decomposition-toolbar button{min-width:32px;min-height:32px;padding:5px 7px}.kanji-decomposition-reset span{display:none}}@media (prefers-reduced-motion:reduce){.kanji-decomposition-flow-dot{display:none}}.vocab-knowledge-mnemonic{color:#53647a;margin:0;font-size:15px;line-height:1.7}.vocab-knowledge-mnemonic-clamp{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.vocabulary-related-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 24px;margin:4px 0 0;padding:0;list-style:none;display:grid}.vocabulary-related-list li button{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:8px;width:100%;padding:0;font-size:16px;display:flex}.vocabulary-related-list li button:hover .vocab-knowledge-compound-word,.vocabulary-related-list li button:focus-visible .vocab-knowledge-compound-word{color:var(--primary)}@keyframes vocabulary-card-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.pagination{justify-content:center;gap:6px;margin:28px 0;display:flex}.pagination button{color:#5e6c80;background:#fff;border:1px solid #d9e4f2;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-wrap{flex-direction:column;align-items:end;gap:4px;padding:4px 12px;display:flex}.pagination-wrap .pagination{margin:0}.pagination-info{color:#5e6c80;font-size:13px}.state-card{text-align:center;color:#69788c;background:#fff;border:1px dashed #cbd9ea;border-radius:16px;padding:70px 25px}.state-card>svg{color:#9aadc1;margin-inline:auto;width:40px;height:40px;margin-bottom:18px;display:block}.state-card-image{aspect-ratio:1;object-fit:contain;margin-inline:auto;border-radius:16px;width:min(480px,100%);height:auto;margin-bottom:18px;display:block}.state-card h3{color:#314b65;margin-bottom:5px}.state-card p{margin-top:0}.state-card.error>svg{color:#ef4444}.state-card.error button{margin-top:18px}.flashcard-picker-complete{border:1px solid var(--accent);background:linear-gradient(155deg,#fff9e8 0%,#eafaf6 100%);padding:48px 25px}.flashcard-picker-complete .state-card-image{width:min(180px,100%);margin-bottom:10px}.flashcard-picker-complete h3{color:var(--dark);font-size:19px}.flashcard-picker-complete p{color:#6b7280}.skeleton-card{height:300px;padding:22px}.skeleton-card div{background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7) 0 0/200%;border-radius:8px;height:16px;margin:15px 0;animation:1.4s infinite shimmer}.skeleton-card div:nth-child(2){width:50%;height:55px}.skeleton-card div:nth-child(4){height:70px}@media (width<=760px){.toast-viewport .toast-item:nth-last-child(n+3){display:none}}.flash-setup{grid-template-columns:minmax(0,720px) 1fr;align-items:start;gap:16px;display:grid}.setup-card{padding:20px}.setup-title{text-align:center}.setup-title>div{width:42px;height:42px;color:var(--primary);background:#e9f4ff;border-radius:13px;place-items:center;margin:auto;display:grid}.setup-title h2{margin:8px 0 4px;font-size:18px}.setup-title p{color:var(--muted);margin:0 0 14px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.flashcard-kanji-scope{background:#f7fbff;border:1px solid #d7e3f1;border-radius:10px;gap:3px;margin-top:15px;padding:14px 16px;display:grid}.flashcard-kanji-scope span,.flashcard-kanji-scope p{color:var(--muted);font-size:12px}.flashcard-kanji-scope strong{color:var(--primary);font-size:16px}.flashcard-kanji-scope p{margin:0}.setup-card fieldset{border:0;margin:14px 0;padding:0}.choice-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.choice-row button{background:#fff;border:1px solid #d7e3f1;border-radius:9px;height:36px;font-size:13px}.choice-row button.selected{color:var(--primary);border-color:var(--primary);background:#edf6ff;font-weight:800}.toggle-list{border-top:1px solid #edf1f6;margin-bottom:14px}.toggle-list label{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-list label div{flex-direction:column;font-size:13px;display:flex}.toggle-list label span{color:var(--muted);margin:2px 0 0;font-size:11px;font-weight:400}.toggle-list input{appearance:none;background:#ccd5df;border:0;border-radius:20px;width:42px;height:24px;padding:2px;transition:all .2s}.toggle-list input:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;display:block;box-shadow:0 1px 4px #0003}.toggle-list input:checked{background:var(--primary)}.toggle-list input:checked:before{transform:translate(18px)}.setup-card>.btn{width:100%}.study-tip{color:#fff;text-align:center;background:linear-gradient(145deg,#12488e,#3aa99c);border-radius:14px;padding:22px}.study-tip>span{color:#ffe179;font-family:serif;font-size:48px}.study-tip h3{font-size:16px}.study-tip p{color:#e5f3fa;font-size:13px}.study-tip ul{text-align:left;font-size:12px;line-height:2}.study-session{max-width:850px;margin:0 auto}.study-header{grid-template-columns:1fr auto 1fr;align-items:center;margin:6px 0;display:grid}.study-header>button{color:#617086;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;min-height:36px;padding:8px 4px;font-size:13px;display:flex}.study-header>div{flex-direction:column;grid-column:2;align-items:center;display:flex}.study-header>div>b{color:var(--dark);font-size:17px}.study-header span{color:var(--muted);font-size:11px}.study-session>.progress{margin:6px 0 10px}.flashcard-wrap{perspective:1200px;width:min(100%,620px);height:clamp(320px,100dvh - 335px,390px);margin:auto;position:relative;overflow:hidden}.flashcard-navigation{z-index:4;pointer-events:none;justify-content:space-between;display:flex;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.flashcard-navigation-mobile{display:none}.flashcard-navigation button{pointer-events:auto;color:#516278;background:#fffffff0;border:1px solid #d5e3f2;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px #21518124}.flashcard-navigation button:disabled{opacity:.3;box-shadow:none}.flashcard-navigation button:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.flashcard-navigation button:hover:not(:disabled){color:var(--primary);transform:translateY(-1px);box-shadow:0 10px 24px #21518138}.flashcard{background:0 0;border:0;width:100%;height:100%;display:block;position:relative}.flashcard-track{width:100%;min-width:0;height:100%;display:flex}.flashcard-track .flashcard{flex:0 0 100%}@keyframes flashcard-track-next{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes flashcard-track-previous{0%{transform:translate(-100%)}to{transform:translate(0)}}.flashcard-track.track-next{animation:.26s cubic-bezier(.22,1,.36,1) both flashcard-track-next}.flashcard-track.track-previous{animation:.26s cubic-bezier(.22,1,.36,1) both flashcard-track-previous}.flashcard-content{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s;position:relative}@keyframes flashcard-slide-next{0%{transform:translate(28px)}to{transform:translate(0)}}@keyframes flashcard-slide-previous{0%{transform:translate(-28px)}to{transform:translate(0)}}.flashcard.slide-next,.flashcard.slide-previous{animation-duration:.24s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.flashcard.slide-next{animation-name:flashcard-slide-next}.flashcard.slide-previous{animation-name:flashcard-slide-previous}.flashcard:focus-visible,.study-header>button:focus-visible,.study-nav button:focus-visible,.card-sound:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.flashcard.flipped .flashcard-content{transform:rotateY(180deg)}.flash-face{backface-visibility:hidden;background:#fff;border:1px solid #d5e3f2;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.flash-face:before{content:"";border-radius:inherit;z-index:-1;background:radial-gradient(circle at 15% 20%,#eaf5ff,#0000 32%),radial-gradient(circle at 85% 80%,#e9f8f4,#0000 28%);position:absolute;inset:0}.flash-face.back{transform:rotateY(180deg)}.side-label{letter-spacing:2px;color:#8b98a8;font-size:10px;font-weight:800;position:absolute;top:16px}.flash-face .badge{position:absolute;top:16px;left:16px}.card-rating{border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;position:absolute;top:16px;right:16px}.card-rating--forgot{color:#df3939;background:#fff0f0}.card-rating--hard{color:#a36d00;background:#fff6db}.card-rating--remembered{color:#138842;background:#e8f8ee}.card-rating--not-remembered{color:#697789;background:#eef1f5}.flash-face h1{color:#123e62;margin:0;font-family:Noto Sans JP,Zen Kaku Gothic New,sans-serif;font-size:56px;line-height:1.2}.flash-face.front>p{color:var(--primary);margin:0;font-size:16px}.flash-face.front>small{color:#8995a5;font-size:12px;position:absolute;bottom:18px}.flash-face.back h2{margin:0;font-size:28px}.flash-face.back h3{color:#17466c;margin:8px;font-size:18px}.flash-face.back .example{width:90%;margin-top:10px}.flash-meaning-only{color:#17466c;text-align:center;margin:0;font-size:32px}.card-sound{color:var(--primary);cursor:pointer;background:#e9f5ff;border:0;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;margin-top:16px;display:grid}.card-sound:hover:not(:disabled){background:#d8ecff}.card-sound:disabled{opacity:.35;cursor:not-allowed}.card-sound svg{width:20px;height:20px}.rating-help{text-align:center;color:#7b8798;margin:8px 0 6px;font-size:12px}.rating-previous-hint{border-radius:999px;margin-left:6px;padding:1px 8px;font-weight:700;display:inline-block}.rating-previous-hint--forgot{color:#df3939;background:#fff0f0}.rating-previous-hint--hard{color:#a36d00;background:#fff6db}.rating-previous-hint--remembered{color:#138842;background:#e8f8ee}.rating-actions{grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px;margin:auto;display:grid}.rating-actions .btn{border:1.5px solid #0000;border-radius:14px;min-height:44px;transition:transform .12s,background-color .12s,border-color .12s}.rating-actions .btn-danger{border-color:#ffd6d6}.rating-actions .hard-btn{color:#a36d00;background:#fff6db;border-color:#ffe9a8}.rating-actions .remember-btn{color:#138842;background:#e8f8ee;border-color:#bdeecb}.rating-actions .btn:hover:not(:disabled){transform:translateY(-2px)}.rating-actions .btn-danger:hover:not(:disabled){background:#ffe3e3}.rating-actions .hard-btn:hover:not(:disabled){background:#ffefc0}.rating-actions .remember-btn:hover:not(:disabled){background:#d9f5e3}.rating-actions .btn:active:not(:disabled){transform:translateY(0)}.rating-actions .previous-choice{box-shadow:inset 0 0 0 2px var(--primary)}.study-nav-hint{text-align:center;color:var(--primary);margin:4px 0 0;font-size:11px}.study-nav{justify-content:space-between;margin-top:8px;display:flex}.study-nav button{color:#516278;background:0 0;border:0;align-items:center;gap:7px;min-height:36px;padding:8px 6px;font-size:13px;display:flex}.completion{text-align:center;max-width:720px;margin:14px auto;padding:24px}.completion-icon{color:#1ba14e;background:#e8f8ee;border-radius:50%;place-items:center;width:50px;height:50px;margin:auto;display:grid}.completion>span{color:var(--primary);letter-spacing:1.5px;margin-top:15px;font-size:11px;font-weight:850;display:block}.completion h1{margin:7px}.completion>p{color:var(--muted)}.score-ring{background:conic-gradient(var(--teal) var(--score), #e5edf5 0);border-radius:50%;place-items:center;width:130px;height:130px;margin:16px auto;display:grid}.score-ring:before{content:"";background:#fff;border-radius:50%;width:100px;height:100px;position:absolute}.score-ring>div{z-index:1;flex-direction:column;display:flex}.score-ring b{color:#1b516e;font-size:26px}.score-ring span{color:var(--muted);font-size:11px}.completion-stats{border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(4,1fr);margin:14px 0;display:grid}.completion-stats>div{border-right:1px solid var(--border);flex-direction:column;padding:10px;display:flex}.completion-stats>div:last-child{border:0}.completion-stats b{font-size:19px}.completion-stats span{color:var(--muted);font-size:11px}.completion-stats .green b{color:#1b9b4d}.completion-stats .yellow b{color:#bd8500}.completion-stats .red b{color:#e03b3b}.completion-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.test-filters{grid-template-columns:2fr 1fr 1fr;gap:14px;padding:20px;display:grid}.tests-grid{grid-template-columns:repeat(2,1fr)}.test-card{padding:23px}.test-card-top{justify-content:space-between;align-items:center;display:flex}.test-icon{width:45px;height:45px;color:var(--primary);background:#e9f4ff;border-radius:12px;place-items:center;display:grid}.test-icon svg{width:21px;height:21px}.test-icon.tone-blue{color:var(--primary);background:#e9f3ff}.test-icon.tone-teal{color:var(--teal);background:#e8f9f5}.test-icon.tone-yellow{color:#d79614;background:#fff6dc}.test-icon.tone-purple{color:#8a63d2;background:#f1ebff}.test-icon.tone-orange{color:#f0713d;background:#fff0e9}.test-card-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.test-completed-badge{color:#25a66a;background:#e7f8ef;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.test-completed-badge svg{width:12px;height:12px}.test-card h2{margin:16px 0 5px;font-size:18px}.test-card>p{color:var(--muted);font-size:12px}.test-meta .test-score-pass{color:#15803d;font-weight:700}.test-meta .test-score-fail{color:#b91c1c;font-weight:700}.test-meta{border-block:1px solid #edf1f6;grid-template-columns:repeat(3,1fr);margin-top:17px;padding:13px 0;display:grid}.test-meta span{color:#68778a;align-items:center;gap:5px;font-size:11px;display:flex}.test-meta svg{width:15px;color:var(--primary)}.test-footer{justify-content:space-between;align-items:center;padding-top:16px;display:flex}.test-footer>div{flex-direction:column;font-size:12px;display:flex}.test-footer span{color:var(--muted);font-size:11px}.test-history-context{color:#315b82;background:#edf7ff;border:1px solid #b9d8f5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:12px;display:flex}.test-history-context button{color:var(--primary);background:0 0;border:0;font-weight:700;text-decoration:underline}.test-history-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.test-history-summary article{align-items:center;gap:13px;padding:18px;display:flex}.test-history-summary article>svg{width:34px;height:34px;color:var(--primary)}.test-history-summary article:nth-child(2)>svg{color:#d99b00}.test-history-summary article:nth-child(4)>svg{color:#21a455}.test-history-summary article>div{flex-direction:column;display:flex}.test-history-summary span{color:var(--muted);font-size:11px}.test-history-summary b{font-size:22px}.test-history-filters{grid-template-columns:2fr repeat(3,1fr);gap:14px;margin-bottom:20px;padding:20px;display:grid}.test-history-filters label{min-width:0}.test-history-filters .history-search-filter{grid-column:span 2}.history-clear-filters{place-self:end start}.test-history-filter-error{color:#c62828;grid-column:1/-1;margin:0;font-size:12px}.select-menu{position:relative}.select-menu-trigger{color:#34435a;cursor:pointer;background:#fff;border:1px solid #d7e2f1;border-radius:9px;justify-content:space-between;align-items:center;width:100%;height:38px;padding:0 12px;font-size:14px;display:flex}.select-menu-trigger:hover:not(:disabled){border-color:var(--primary-100)}.select-menu-trigger[aria-expanded=true]{border-color:var(--primary)}.select-menu-trigger:focus-visible{outline-offset:1px;outline:3px solid #1e88e538}.select-menu-trigger:disabled{color:#9aa5b5;cursor:not-allowed;background:#eef1f6;border-color:#e2e8f0}.select-menu-trigger svg{color:#53627a;flex-shrink:0;width:16px;height:16px;transition:transform .16s}.select-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.select-menu-dropdown{border:1px solid var(--border);z-index:20;background:#fff;border-radius:13px;width:auto;max-height:280px;padding:7px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 35px #17345229}.select-menu-dropdown button{color:#314b65;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;width:100%;padding:10px 11px;font-size:13px;font-weight:700;display:flex}.select-menu-dropdown button:hover{color:var(--primary);background:#edf6ff}.select-menu-dropdown button.active{background:var(--primary-50);color:var(--primary)}.select-menu-dropdown button.locked{color:var(--muted);cursor:not-allowed}.select-menu-dropdown button.locked:hover{color:var(--muted);background:0 0}.select-menu-dropdown button.locked svg{flex:none;width:14px;height:14px}.select-menu-dropdown button:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.test-history-toolbar{margin-top:0}.test-history-table-wrap{padding:0;overflow-x:auto}.test-history-table{border-collapse:collapse;width:100%;min-width:850px}.test-history-table th,.test-history-table td{text-align:left;border-bottom:1px solid #edf1f6;padding:14px 16px;font-size:12px}.test-history-table th{color:#66778b;letter-spacing:.4px;text-transform:uppercase;background:#f7f9fc;font-size:10px}.test-history-table tbody tr:last-child td{border-bottom:0}.test-history-table tbody tr:hover{background:#f9fbfd}.test-history-title-cell{align-items:center;gap:8px;display:flex}.test-history-title-cell b{max-width:260px}.test-history-table td:nth-child(4){white-space:nowrap;color:var(--muted)}.test-history-table td:nth-child(4) strong{color:var(--primary);font-size:17px}.test-history-actions{flex-wrap:wrap;gap:6px;display:flex}.test-history-actions .btn{white-space:nowrap;padding:7px 9px}.test-history-actions svg{width:15px}.test-history-mobile{display:none}.test-history-empty{justify-items:center;gap:12px;display:grid}.test-history-empty-card{width:100%}.test-taking{max-width:1150px;margin:auto}.test-taking-head{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}.test-taking-head h1{margin:4px 0 0;font-size:19px}.test-taking-head>div:first-child>span:last-child{color:var(--muted);font-size:12px}.timer{border:1px solid var(--border);color:var(--primary);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:6px 12px;display:flex}.timer>div{flex-direction:column;display:flex}.timer span{color:var(--muted);font-size:9px}.timer b{font-size:16px}.timer.urgent{color:#ef4444;background:#fff3f3;border-color:#ffcaca}.test-layout{grid-template-columns:minmax(0,1fr) 275px;align-items:start;gap:14px;margin-top:12px;display:grid}.question-card{padding:14px 16px}.question-number{justify-content:space-between;align-items:center;display:flex}.question-number>span{color:var(--primary);letter-spacing:1px;font-size:11px;font-weight:850}.question-number-actions{align-items:center;gap:14px;display:flex}.question-number-actions button{color:#748296;background:0 0;border:0;gap:6px;font-size:12px;display:flex}.question-number-actions button:disabled{opacity:.4;cursor:not-allowed}.question-number-actions button.marked{color:#d39700}.question-card h2{min-height:0;margin:10px 0;font-size:17px}.options{gap:8px;display:grid}.options label{cursor:pointer;border:1px solid #dce5f1;border-radius:10px;align-items:center;gap:12px;padding:9px 13px;display:flex}.options label:hover,.options label.selected{border-color:var(--primary);background:#edf6ff}.options input{display:none}.options label>span{color:#59687c;background:#f1f4f8;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.options label.selected>span{background:var(--primary);color:#fff}.options label>b{font-size:13px}.question-actions{border-top:1px solid #edf1f6;justify-content:space-between;padding-top:12px;display:flex}.question-nav{padding:14px 16px}.question-nav h3{margin:0 0 10px;font-size:14px}.question-legend{color:#7a8797;flex-wrap:wrap;gap:8px;font-size:9px;display:flex}.question-legend span{align-items:center;gap:3px;display:flex}.question-legend i,.review-heading i{border:1px solid #c8d3e0;border-radius:2px;width:8px;height:8px;display:inline-block}.question-legend i.answered,.review-heading i.correct{background:#dff5e7;border-color:#27a85d}.question-legend i.mark{background:#fff1c6;border-color:#dba622}.review-heading i.wrong{background:#ffe3e3;border-color:#e84545}.question-numbers{grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0;display:grid}.question-numbers button{aspect-ratio:1;background:#fff;border:1px solid #d6e0ec;border-radius:6px;font-size:10px}.question-numbers button.answered{color:#11823b;background:#e4f7eb;border-color:#55bd79}.question-numbers button.current{outline:2px solid var(--primary);outline-offset:1px}.question-numbers button.marked{box-shadow:inset 0 -3px #e8b42a}.answered-count{text-align:center;border-block:1px solid #edf1f6;margin-bottom:10px;padding:10px}.answered-count b{color:var(--primary);font-size:16px}.answered-count span{color:var(--muted);margin-left:4px;font-size:10px}.submit-wide{width:100%}.navigator-toggle{display:none}.modal-backdrop{z-index:100;background:#132a4288;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(480px,100%);padding:24px;box-shadow:0 24px 70px #0004}.game-character-selection-backdrop{z-index:120;background:#061a36c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.game-character-selection-modal{background:linear-gradient(145deg,#fff 0%,#f4f9ff 100%);border:1px solid #ffffff4d;border-radius:24px;width:min(980px,100%);max-height:calc(100vh - 48px);padding:clamp(24px,4vw,48px);overflow-y:auto;box-shadow:0 30px 90px #000c2466}.game-character-selection-heading{text-align:center;max-width:620px;margin:0 auto 28px}.game-character-selection-kicker{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:850}.game-character-selection-heading h1{color:var(--dark);margin:0 0 8px;font-size:clamp(24px,4vw,36px)}.game-character-selection-heading>p:last-child{color:var(--muted);margin:0;line-height:1.55}.game-character-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.game-character-selection-card,.game-character-change-option{min-width:0;color:inherit;cursor:pointer;text-align:center;background:#fff;border:1px solid #d7e3f1;border-radius:16px;align-items:center;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.game-character-selection-card{flex-direction:column;gap:8px;padding:20px 16px 16px}.game-character-selection-card:hover:not(:disabled),.game-character-change-option:hover:not(:disabled),.game-character-change-option.selected{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 12px 28px #003da524}.game-character-selection-card:focus-visible,.game-character-change-option:focus-visible{outline-offset:3px;outline:3px solid #1e88e559}.game-character-selection-card:disabled,.game-character-change-option:disabled{cursor:wait;opacity:.65}.game-character-selection-sprite{flex:0 0 220px;grid-template-rows:1fr;grid-template-columns:1fr;place-items:end center;width:220px;height:220px;display:grid;overflow:hidden}.game-character-selection-sprite img,.game-character-selection-sprite canvas{max-width:100%;max-height:100%}.game-character-selection-sprite .game-sprite-animation{min-width:0;max-width:100%;min-height:0;max-height:100%}.game-character-selection-card h2{color:var(--dark);margin:0;font-size:18px}.game-character-selection-card p{min-height:40px;color:var(--muted);margin:0;font-size:12px;line-height:1.45}.game-character-selection-card .btn{width:100%;margin-top:6px}.game-character-change-trigger{width:100%;margin-top:14px}.game-character-change-modal{width:min(620px,100%)}.game-character-change-info{border:1px solid var(--primary-100);background:var(--primary-50);border-radius:12px;flex-direction:column;gap:6px;margin:12px 0;padding:12px 14px;display:flex}.game-character-change-cost{color:#9a6900;align-items:center;gap:6px;font-weight:800;display:inline-flex}.game-character-change-cost svg{width:15px;height:15px;color:var(--accent)}.game-character-change-warning,.game-character-change-requirements{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.game-character-change-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.game-character-change-option{flex-direction:column;align-items:center;gap:6px;padding:16px 12px 14px;display:flex;position:relative}.game-character-change-sprite{flex:none;justify-content:center;align-items:flex-end;width:180px;height:200px;display:flex;overflow:hidden}.game-character-change-sprite .game-sprite-animation{min-width:0;max-width:100%;min-height:0;max-height:100%}.game-character-change-option strong{color:var(--dark);font-size:14px;line-height:1.2}.game-character-change-option .badge{line-height:1.2}.game-character-change-check{background:var(--primary);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px #1e88e54d}.game-character-change-check svg{stroke-width:3px;width:13px;height:13px}.game-character-change-modal .modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}@media (width<=640px){.game-character-selection-backdrop{align-items:flex-end;padding:0;display:flex}.game-character-selection-modal{width:100%;min-height:92dvh;max-height:100dvh;padding:28px 16px max(24px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.game-character-selection-grid{grid-template-columns:1fr}.game-character-selection-card{text-align:center;flex-direction:column;align-items:center;padding:12px;display:flex}.game-character-selection-sprite{flex-basis:220px;width:220px;height:220px}.game-character-selection-card h2,.game-character-selection-card p,.game-character-selection-card .badge{width:100%}.game-character-selection-card p{min-height:0}.game-character-selection-card .btn{width:auto}.game-character-change-grid{grid-template-columns:1fr}}.level-topic-picker{border:1px solid var(--border);padding:20px 22px 22px}.level-topic-picker .modal-head h2{color:var(--dark);font-size:18px;font-weight:800}.level-topic-picker-list{scrollbar-color:#b8cbe0 transparent;scrollbar-width:thin;grid-template-columns:repeat(4,1fr);gap:10px;max-height:50vh;margin:16px 0 0;padding:2px;list-style:none;display:grid;overflow-y:auto}.level-topic-picker-list::-webkit-scrollbar{width:6px}.level-topic-picker-list::-webkit-scrollbar-track{background:0 0}.level-topic-picker-list::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.level-topic-picker-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.level-topic-picker-list button:not(.vocabulary-mode-card){cursor:pointer;text-align:center;background:#fff;border:1px solid #d7e3f1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-height:96px;padding:12px;transition:border-color .15s,background .15s;display:flex}.level-topic-picker-list button:not(.vocabulary-mode-card):hover{background:var(--primary-50);border-color:var(--primary)}.level-topic-picker-list button:not(.vocabulary-mode-card):focus-visible{outline-offset:2px;outline:3px solid #1e88e54d}.level-topic-picker-code{color:var(--primary);font-size:16px;font-weight:800}.level-topic-picker-count{color:var(--muted);font-size:11.5px;font-weight:600}.topic-picker-list button span:first-child{color:#16304e;align-items:center;gap:5px;font-size:13.5px;font-weight:700;line-height:1.3;display:flex}.topic-picker-item-locked{cursor:not-allowed;opacity:.55}.level-topic-picker-list .topic-picker-item-locked:hover{background:#fff;border-color:#d7e3f1}.topic-picker-item-lock-icon{color:#8a95a6;flex-shrink:0;width:13px;height:13px}.level-picker-list{grid-template-columns:repeat(2,1fr);gap:14px;max-width:none;padding:4px;display:grid}.level-picker-list li{width:auto;min-width:0}.level-picker-list .vocabulary-mode-card{align-items:stretch;gap:10px;width:100%;min-width:0;padding:14px}.level-picker-card-header{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.level-picker-list .vocabulary-mode-card .vocabulary-mode-icon{flex-shrink:0;width:34px;height:34px}.level-picker-list .level-picker-card-text{flex:1;min-width:0}.level-picker-list .vocabulary-mode-card h3{margin:0}.level-picker-list .vocabulary-mode-card p{white-space:normal;min-height:0;margin:0}.level-picker-list .vocabulary-mode-card .btn{margin-top:4px}.level-picker-list .vocabulary-mode-card:hover:not(:disabled){transform:none}.level-picker-card-locked{cursor:not-allowed;opacity:.6}.level-picker-card-locked .vocabulary-mode-icon{color:#8a95a6;background:#eef1f5}.level-picker-card-locked:hover{border-color:var(--border);box-shadow:0 8px 28px #2852820e}.level-picker-card-locked-btn{align-items:center;gap:6px;display:inline-flex}.level-picker-card-locked-btn svg{width:14px;height:14px}.vocabulary-mode-card-locked{cursor:not-allowed;opacity:.6}.vocabulary-mode-card-locked .vocabulary-mode-icon{color:#8a95a6;background:#eef1f5}.vocabulary-mode-card-locked:hover{border-color:var(--border);transform:none;box-shadow:0 8px 28px #2852820e}.vocabulary-mode-card-locked-btn{align-items:center;gap:6px;display:inline-flex}.vocabulary-mode-card-locked-btn svg{width:14px;height:14px}.level-topic-picker-wide{width:min(640px,100vw - 40px)}.level-topic-picker-narrow{width:min(480px,100vw - 40px)}@media (width<=640px){.topic-picker-list{grid-template-columns:repeat(2,1fr);max-height:60vh}.topic-picker-list button{min-height:84px;padding:10px 8px}}.modal-detail{flex-direction:column;width:min(1100px,94vw);max-height:min(88vh,900px);padding:14px 24px 18px;display:flex;overflow:hidden}.modal-detail .detail-modal-content{flex:1;min-height:0;padding-right:6px;overflow-y:auto}.modal-detail .detail-modal-content::-webkit-scrollbar{width:6px}.modal-detail .detail-modal-content::-webkit-scrollbar-track{background:0 0}.modal-detail .detail-modal-content::-webkit-scrollbar-thumb{background:#b8cbe0;border-radius:999px}.modal-detail .detail-modal-content::-webkit-scrollbar-thumb:hover{background:var(--primary)}.modal-detail .vocab-detail-page{margin-top:0}.modal-compare{width:min(640px,94vw)}.vocab-compare-relation-label{color:var(--muted);text-align:center;margin:0 0 16px;font-size:14px}.vocab-compare-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;display:grid}.vocab-compare-col{background:var(--primary-50);border-radius:var(--radius-card-sm);text-align:center;flex-direction:column;gap:6px;padding:16px;display:flex}.vocab-compare-role{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.vocab-compare-image{border-radius:var(--radius-card-sm);object-fit:cover;width:100%;height:96px}.vocab-compare-word{justify-content:center;align-items:center;gap:8px;font-size:32px;font-weight:700;display:flex}.vocab-compare-word button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.vocab-compare-sino{color:var(--dark);margin:0;font-weight:600}.vocab-compare-meaning{margin:0}.vocab-compare-col .yomi{flex-direction:column;align-items:center;gap:8px;margin:8px 0 0}.vocab-compare-col .yomi-row{align-items:center}.vocab-compare-col .yomi-chips{justify-content:center}.vocab-compare-link{color:var(--primary);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:13px;text-decoration:underline}.vocab-compare-vs{color:var(--muted);align-self:center;font-size:13px;font-weight:700}@media (width<=480px){.vocab-compare-grid{grid-template-columns:1fr}.vocab-compare-vs{padding:4px 0}}.vocab-detail-compact-page{flex-direction:column;gap:24px;display:flex}.vocab-detail-compact-top{grid-template-columns:minmax(200px,2fr) minmax(0,3fr);align-items:start;gap:28px;display:grid}.vocab-detail-compact-top .vocab-illustration{height:auto;min-height:220px;margin-top:0}.vocab-detail-compact-image-col{flex-direction:column;gap:16px;display:flex}.vocab-detail-compact-image-col .vocab-detail-compact-mnemonic{border-left:0;gap:0;padding-left:0;overflow-y:visible}.vocab-detail-compact-stroke{text-align:center;background:#f5f8fc;border-radius:12px;padding:16px}.vocab-detail-compact-stroke .stroke-viewer-canvas{width:168px}.vocab-detail-compact-info{flex-direction:column;gap:4px;min-width:0;display:flex}.vocab-detail-compact-info .vocab-knowledge-panel{border-top:1px solid #dce7f7e6;border-left:none;margin-top:8px;padding-top:16px;padding-left:0;overflow-y:visible}.vocab-detail-compact-info .vocab-knowledge-panel .vocab-knowledge-block,.vocab-detail-compact-image-col .vocab-detail-compact-mnemonic .vocab-knowledge-block{background:#f5f8fc;border-radius:10px;padding:12px 14px}.vocab-detail-compact-decomposition .kanji-decomposition-viewport{aspect-ratio:1;max-width:220px}.vocab-detail-compact-decomposition .kanji-decomposition-svg,.vocab-detail-compact-decomposition .kanji-decomposition-svg.is-zoomed{width:100%;height:100%}.modal-detail .vocab-top{gap:8px}.modal-detail .vocab-top>button{background:#f2f5f8;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.modal-detail .vocab-top>button:hover{background:#e5eaf1}.modal-detail .vocab-top>button.favorite{background:#ffe9ee}.modal-detail .vocab-top>button:focus-visible{outline-offset:1px;outline:3px solid #1e88e538}.modal-detail .japanese-word{gap:10px}.modal-detail .japanese-word button:not(.vocabulary-detail-link){margin-left:0}@media (width<=760px){.vocab-detail-compact-top{grid-template-columns:1fr}}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:20px}.modal-detail .modal-head{border-bottom:1px solid #dce7f7e6;margin-bottom:14px;padding-bottom:12px}.modal-detail .modal-head h2{color:var(--dark);font-size:16px;font-weight:800}.modal-detail .modal-head button{width:28px;height:28px}.detail-modal-nav-btn{background:var(--primary);border:1px solid var(--primary);color:#fff;cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .15s,box-shadow .15s,transform .1s;display:flex;box-shadow:0 4px 14px #0003}.detail-modal-nav-btn svg{width:20px;height:20px}.detail-modal-nav-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #1e88e566}.detail-modal-nav-btn:focus-visible{outline-offset:2px;outline:3px solid #1e88e538}.detail-modal-nav-btn:disabled{color:#a8b6c8;cursor:default;box-shadow:none;background:#e7eef7;border-color:#e7eef7}@media (width<=760px){.detail-modal-nav-btn{display:none}}.detail-modal-content-refreshing{opacity:.45;pointer-events:none;transition:opacity .15s}.modal-head button{color:#53627a;cursor:pointer;background:#f2f5f8;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;width:35px;height:35px;transition:background-color .15s,color .15s;display:flex}.modal-head button svg{width:18px;height:18px}.modal-head button:hover{color:#16304e;background:#e5eaf1}.modal-head button:focus-visible{outline-offset:1px;outline:3px solid #1e88e538}.submit-modal>p{color:var(--muted);font-size:13px}.submit-hint{color:#9f7100;background:#fff8e2;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;display:flex}.submit-hint svg{flex-shrink:0}.submit-hint-wide{width:100%;margin:0}.submit-modal>div:last-child{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.result-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#003da5,#1e88e5 50%,#4db8a8);border-radius:22px;width:100%;margin-inline:auto;padding:44px 32px;position:relative;overflow:hidden;box-shadow:0 16px 40px #003da540}.result-hero:before{content:"";pointer-events:none;background-image:radial-gradient(260px at 85% -10%,#f5c54959,#0000 65%),radial-gradient(220px at -10% 110%,#ffffff38,#0000 65%);position:absolute;inset:0}.result-hero>span{letter-spacing:2px;font-size:14px;font-weight:800}.result-hero h1{margin:8px 0;font-size:36px}.result-hero p{color:#e4f4fb;margin:0;font-size:16px}@media (width<=640px){.result-hero{width:100%}}.result-score{margin:18px 0 7px}.result-score b{font-size:56px}.result-score span{font-size:13px}.result-stats{grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0;display:grid}.result-stats article{align-items:center;gap:12px;padding:18px;display:flex}.result-stats article>svg{color:var(--primary);width:27px;height:27px}.result-stats article:first-child>svg{color:#21a455}.result-stats article:nth-child(2)>svg{color:#e84545}.result-stats div{flex-direction:column;display:flex}.result-stats b{font-size:20px}.result-stats span{color:var(--muted);font-size:11px}.battle-result-stats{grid-template-columns:repeat(2,1fr)}.accuracy{padding:22px}.accuracy>div{justify-content:space-between;margin-bottom:10px;font-size:13px;display:flex}.accuracy span{color:var(--muted)}.review-heading{justify-content:space-between;align-items:end;margin:30px 0 14px;display:flex}.review-heading>p{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.review-list{gap:15px;display:grid}.review-card{border-left:4px solid #cbd5e1;padding:22px}.review-card.correct{border-left-color:#25ac5c}.review-card.wrong{border-left-color:#ec4b4b}.review-top{justify-content:space-between;display:flex}.review-top>span{color:#718095;font-size:11px}.review-card h3{font-size:16px}.review-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.review-options>div{border:1px solid #e1e8f0;border-radius:9px;align-items:center;gap:9px;padding:9px;display:flex}.review-options>div>span{background:#f1f4f7;border-radius:7px;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.review-options p{margin:0;font-size:12px}.review-options b{align-items:center;gap:3px;margin-left:auto;font-size:10px;display:flex}.review-options b svg{width:13px}.review-options .correct{color:#167f3d;background:#effaf3;border-color:#81d59f}.review-options .wrong{color:#c83232;background:#fff2f2;border-color:#f1a0a0}.explanation{background:#f4f8fc;border-radius:9px;margin-top:13px;padding:12px}.explanation b{color:var(--primary);font-size:11px}.explanation p{color:#637187;margin:3px 0;font-size:12px}.result-actions{justify-content:center;gap:10px;margin:28px;display:flex}.pvp-result-giai-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.pvp-result-giai-notice{color:var(--muted);margin:0;font-size:13px}.ranking-filters{gap:10px;display:flex}.ranking-filters label{min-width:140px}.podium{justify-content:center;align-items:flex-end;gap:16px;max-width:950px;margin:30px auto;display:flex}.podium-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:17px;width:30%;min-height:290px;padding:25px 15px 16px;position:relative;box-shadow:0 8px 25px #395e8b14}.podium-card.rank-1{background:linear-gradient(#fffdf5,#fff);border:2px solid #f5c549;order:2;min-height:335px}.podium-card.rank-2{background:linear-gradient(#f8fafc,#fff);border:2px solid silver;order:1}.podium-card.rank-3{background:linear-gradient(#fdf6f0,#fff);border:2px solid #cd7f32;order:3}.podium-card>svg{width:36px;height:36px;position:absolute;top:-28px;left:calc(50% - 18px)}.rank-1>svg{color:#f5c549;fill:#f5c549}.rank-2>svg,.rank-3>svg{width:26px;height:26px;top:-22px;left:calc(50% - 13px)}.rank-2>svg{color:silver;fill:silver}.rank-3>svg{color:#cd7f32;fill:#cd7f32}.rank-medal{color:#94a3b8;position:absolute;top:15px;left:15px}.rank-medal svg{width:27px;height:27px}.rank-medal b{text-align:center;color:#fff;font-size:11px;position:absolute;inset:4px 0}.rank-1 .rank-medal{color:#f5c549}.rank-2 .rank-medal{color:silver}.rank-3 .rank-medal{color:#cd7f32}.avatar.large{width:68px;height:68px;margin:8px auto}.podium-card h3{margin:10px 0 5px;font-size:15px}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.podium-card>strong{color:var(--primary);margin:12px;font-size:21px;display:block}.podium-card>strong small{font-size:10px}.podium-card>div:nth-of-type(3){color:var(--muted);justify-content:center;gap:13px;font-size:10px;display:flex}.podium-card>div span{align-items:center;gap:3px;display:flex}.podium-card>div svg{width:13px;color:var(--primary)}.podium-card>p{color:#b47700;background:#fff7da;border-radius:20px;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:10px;display:flex}.podium-card>p svg{width:13px}.your-rank{border:2px solid var(--primary);background:#eaf5ff;align-items:center;gap:15px;margin:28px 0;padding:18px 25px;display:flex}.your-rank>div:nth-child(2){margin-right:auto}.your-rank>div:nth-child(2)>span{color:var(--primary);letter-spacing:1px;font-size:9px;font-weight:800}.your-rank h3{margin:2px 0}.your-rank>div:nth-child(n+3){border-left:1px solid #c8dcf0;flex-direction:column;min-width:110px;padding-left:25px;display:flex}.your-rank>div:nth-child(n+3) b{color:#17486d;font-size:18px}.your-rank>div:nth-child(n+3) span{color:var(--muted);font-size:10px}.ranking-table-wrap{padding:25px}.table-title{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.table-title p{color:var(--muted);font-size:11px}.ranking-row{border-bottom:1px solid #edf1f6;grid-template-columns:65px 2fr .75fr .9fr 1fr 1fr 1fr;align-items:center;min-width:920px;padding:11px 12px;font-size:12px;display:grid}.ranking-row.head{color:#718095;background:#f5f8fc;border-radius:8px;font-size:10px;font-weight:700}.ranking-row.me{border:1px solid var(--primary);background:#edf6ff;border-radius:9px}.user-cell{align-items:center;gap:9px;display:flex}.user-cell p{flex-direction:column;margin:0;display:flex}.user-cell p>span{color:var(--muted);font-size:9px}.ranking-row-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.ranking-row>span{align-items:center;gap:4px;display:flex}.ranking-row svg{width:14px;color:var(--primary)}.ranking-table-wrap .pagination{margin-bottom:0}.profile-link{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:12px;flex:1;align-items:center;gap:10px;padding:4px 7px 4px 4px;display:flex}.profile-link:hover{background:var(--primary-50)}.profile-link .avatar{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--primary-100)}.profile-menu{position:relative}.profile-menu-summary{align-items:center;min-width:0;display:flex}.profile-menu-trigger{color:#66788d;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.profile-menu-trigger:hover,.profile-menu-trigger[aria-expanded=true]{color:var(--primary);background:#edf6ff}.profile-menu-trigger:focus-visible,.profile-dropdown a:focus-visible,.profile-dropdown button:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.profile-menu-trigger svg{width:17px;transition:transform .16s}.profile-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.profile-dropdown{z-index:20;border:1px solid var(--border);background:#fff;border-radius:13px;width:auto;min-width:210px;padding:7px;position:absolute;bottom:calc(100% + 10px);left:0;right:0;box-shadow:0 14px 35px #17345229}.profile-dropdown-collapsed{bottom:0;left:calc(100% + 10px);right:auto}.profile-dropdown a,.profile-dropdown button{color:#314b65;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:10px 11px;font-size:13px;font-weight:700;display:flex}.profile-dropdown a:hover{color:var(--primary);background:#edf6ff}.profile-dropdown button:hover:not(:disabled){color:#c83b3b;background:#fff0f0}.profile-dropdown button:disabled{opacity:.6;cursor:wait}.profile-dropdown svg{width:17px;height:17px}.profile-dropdown p{color:#b82f2f;margin:5px 8px 3px;font-size:11px;line-height:1.4}.header-auth-actions{align-items:center;gap:8px;display:flex}.header-auth-actions .btn{min-height:38px;padding:0 14px}.header-login{color:#4f6075;border-radius:9px;align-items:center;gap:6px;padding:9px 8px;font-size:13px;font-weight:750;display:inline-flex}.header-login:hover{color:var(--primary);background:#edf6ff}.header-login svg,.mobile-auth-actions svg{width:17px}.mobile-auth-actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding-top:12px;display:grid}.mobile-auth-actions a{color:var(--primary);background:#edf6ff;justify-content:center;align-items:center;gap:6px;display:flex}.auth-shell{background:linear-gradient(160deg, var(--bg) 0%, #f7fbff 45%, #e4f0fd 100%);min-height:100vh;position:relative;overflow:hidden}.auth-shell-decor{z-index:0;pointer-events:none;background-image:radial-gradient(circle,#1e88e529 1.6px,#0000 1.6px),radial-gradient(circle,#1e88e529 1.6px,#0000 1.6px);background-position:0 0,60px 90px;background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 40%,#0000 30%,#000 78%);mask-image:radial-gradient(circle at 50% 40%,#0000 30%,#000 78%)}.auth-shell-decor:before,.auth-shell-decor:after{content:"";background:linear-gradient(135deg, var(--dark), var(--primary), var(--teal));opacity:.12;filter:blur(4px);border-radius:50%;width:560px;height:560px;position:absolute}.auth-shell-decor:before{top:-220px;left:-180px}.auth-shell-decor:after{background:linear-gradient(135deg, var(--teal), var(--accent));bottom:-240px;right:-200px}.auth-showcase-content{z-index:2;max-width:580px;margin-top:10%;position:relative}.auth-kicker{letter-spacing:2px;color:#a8eee2;margin-bottom:18px;font-size:13px;font-weight:800;display:inline-block}.auth-showcase h1{letter-spacing:-1.8px;margin:0 0 24px;font-size:clamp(38px,3.5vw,60px);line-height:1.08}.auth-showcase-content>p{color:#ffffffc7;max-width:540px;font-size:16px;line-height:1.75}.value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:35px;display:grid}.value-card{background:#ffffff17;border:1px solid #ffffff29;border-radius:16px;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.value-card svg{color:#8de4d5;flex:none;width:18px;margin-top:1px}.value-card b{font-size:13.5px;display:block}.value-card small{color:#ffffffb8;margin-top:3px;font-size:12px;line-height:1.35;display:block}.preview-card{z-index:2;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;max-width:460px;margin-top:26px;padding:16px;position:relative}.preview-top{justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.preview-streak{align-items:center;gap:7px;display:flex}.preview-streak svg{color:#f5c549;width:16px}.preview-card .pill{background:#ffffff24;border:1px solid #fff3;border-radius:999px;padding:6px 11px;font-size:12px}.progress-bar{background:#ffffff29;border-radius:999px;height:8px;margin:14px 0 12px;overflow:hidden}.progress-bar span{background:linear-gradient(90deg,#8de4d5,#f5c549);border-radius:999px;height:100%;display:block}.mini-lessons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-lesson{background:#ffffff1a;border:1px solid #ffffff24;border-radius:12px;padding:10px}.mini-lesson strong{font-size:12.5px;display:block}.mini-lesson small{color:#ffffffad;font-size:11px}.auth-kanji{z-index:1;color:#ffffff0b;font-size:330px;font-weight:900;line-height:1;position:absolute;bottom:-95px;right:-25px;transform:rotate(-8deg)}.floating-tip{z-index:3;color:#16304e;background:#fffffff2;border-radius:18px;align-items:center;gap:12px;max-width:460px;margin-top:14px;padding:13px 15px;display:flex;position:relative;box-shadow:0 20px 45px #0000002e}.floating-tip-icon{width:34px;height:34px;color:var(--primary);background:#edf6ff;border-radius:11px;flex:none;place-items:center;display:grid}.floating-tip-icon svg{width:18px}.floating-tip b{font-size:13px;display:block}.floating-tip small{color:var(--muted);font-size:12px}.auth-main{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:40px 20px;display:flex;position:relative}.auth-main-register,.auth-main.auth-main-login{gap:12px;padding-block:18px}.auth-main-login .auth-card{padding-block:14px}.auth-main-login .auth-heading p{margin-bottom:12px}.auth-main-login .auth-form{gap:10px}.auth-main-login .auth-divider{margin-block:10px}.auth-main-login .auth-switch{margin:12px 0 0}.auth-main-login .auth-footer,.auth-main-register .auth-footer{margin-top:0;padding-top:0}.auth-brand{color:var(--dark);align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.auth-card{border-radius:var(--radius-card-sm);width:min(100%,530px);box-shadow:var(--shadow-card);background:#fff;padding:16px 22px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--dark), var(--primary), var(--teal));height:5px;position:absolute;inset:0 0 auto}.register-card{padding:20px 22px}.register-card .auth-heading p{margin-bottom:14px}.register-card .auth-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.register-level-field,.register-password-grid,.register-card .terms-field,.register-card .field-error,.register-card .form-message,.register-card .auth-submit{grid-column:1/-1}.register-level-field{width:calc(50% - 7px)}.register-password-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.register-card .password-strength{margin-top:5px}.register-card .auth-submit{min-height:44px}.register-card .auth-divider{margin:12px 0}.register-card .auth-switch{margin:14px 0 0}@media (width<=640px){.register-card .auth-form,.register-password-grid{grid-template-columns:1fr}.register-level-field{width:100%}}.auth-heading>span,.profile-guest>span,.profile-section-head-title>div>span{letter-spacing:1.7px;color:var(--primary);font-size:11px;font-weight:850}.auth-badge{color:var(--primary);letter-spacing:.03em;background:linear-gradient(135deg,#e8f3ff,#eafaf6);border:1px solid #c9e4ff;border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:5px 10px;font-size:11px;font-weight:850;display:inline-flex;box-shadow:0 2px 6px #1e88e51f}.auth-badge svg{width:14px}.field-valid-icon{color:var(--teal);pointer-events:none;display:flex;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.field-valid-icon svg{width:18px}.auth-heading h1{color:#16304e;margin:5px 0 6px;font-size:24px;line-height:1.15}.auth-heading p{color:var(--muted);margin:0 0 16px}.auth-notice{color:#315675;background:#edf7ff;border:1px solid #d6eaff;border-radius:10px;margin-bottom:18px;padding:11px 13px;font-size:13px}.auth-form{gap:12px;display:grid}.google-signin-panel{width:100%}.google-signin-row{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:10px 16px;transition:background .15s,border-color .15s;display:flex}.google-signin-row:hover{background:var(--primary-50);border-color:var(--primary-100)}.google-button-wrap{flex-shrink:0;justify-content:center;align-items:center;min-width:1px;min-height:1px;display:flex}.google-button-wrap svg{transform:translateY(-10px)}.google-signin-label{color:var(--dark);font-size:14px;font-weight:700}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:12px 0;font-size:12px;font-weight:650;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e7ecf3;flex:1;height:1px}.field-with-icon{position:relative}.field-with-icon>svg{z-index:1;color:#8a9bad;pointer-events:none;width:17px;transition:color .15s;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.field-with-icon:focus-within>svg{color:var(--primary)}.auth-form input,.auth-form select{background:#f8fafc;border-color:#dbe6f5;border-radius:11px;transition:border-color .15s,background .15s,box-shadow .15s}.auth-form input:focus,.auth-form select:focus{background:#fff}.field-with-icon input{padding-left:32px;padding-right:24px}.password-field input{padding-right:45px}.password-field>button{color:#77879a;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:1px;right:1px}.password-field>button:hover{color:var(--primary);background:#edf6ff}.password-field>button svg{width:17px}.auth-form-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.check-field{cursor:pointer;align-items:flex-start;gap:9px;padding:4px 0;display:flex}.check-field input{width:17px;height:17px;accent-color:var(--primary);flex:none;margin:2px 0 0}.check-field>span{color:#59677a;margin:0;font-size:13px;font-weight:550}.field-error{color:#b72f2f;margin-top:6px;font-size:12px;font-weight:600;display:block}.password-strength{align-items:center;gap:9px;margin-top:8px;display:flex}.password-strength-track{flex:1;gap:4px;display:flex}.password-strength-segment{background:#e7ecf3;border-radius:999px;flex:1;height:4px}.password-strength-segment.filled.weak{background:#b72f2f}.password-strength-segment.filled.medium{background:#f5c549}.password-strength-segment.filled.strong{background:#4db8a8}.password-strength-label{white-space:nowrap;font-size:12px;font-weight:700}.password-strength-label.weak{color:#b72f2f}.password-strength-label.medium{color:#b8860b}.password-strength-label.strong{color:#2f8f7f}.terms-field a,.auth-switch a,.text-button{color:var(--primary);font-weight:750}.text-button{background:0 0;border:0;padding:0;font-size:13px}.auth-submit.btn-primary{background:linear-gradient(135deg, var(--dark), var(--primary) 55%, var(--teal));width:100%;min-height:48px;margin-top:2px;box-shadow:0 8px 20px #003da538}.auth-submit.btn-primary:hover{background:linear-gradient(135deg, var(--dark), var(--primary) 45%, var(--teal));box-shadow:0 10px 24px #003da547}.form-message{border-radius:9px;margin:0;padding:10px 12px;font-size:13px}.form-message.error{color:#b72f2f;background:#fff0f0;border:1px solid #ffd4d4}.form-message.success{color:#16713b;background:#ebf9f0;border:1px solid #ccefd8}.demo-account{color:#657388;background:#f4f8fd;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 0;padding:12px 14px;font-size:12px;display:flex}.demo-account span{white-space:nowrap;font-weight:750}.demo-account button{color:#315675;text-align:right;background:0 0;border:0;padding:0;font-size:12px}.auth-switch{text-align:center;color:#667488;margin:25px 0 8px;font-size:14px}.auth-footer{color:#9aa6b5;margin:auto 0 0;font-size:11px}.profile-loading{background:linear-gradient(100deg,#fff 30%,#f2f7fc 50%,#fff 70%) 0 0/200% 100%;min-height:500px;margin-top:25px;animation:1.2s infinite shimmer}.profile-guest{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:650px;min-height:520px;margin:35px auto;display:flex}.profile-guest-icon{width:82px;height:82px;color:var(--dark);background:linear-gradient(135deg,#dceeff,#d8f4ee);border-radius:24px;place-items:center;margin-bottom:22px;display:grid}.profile-guest-icon svg{width:38px;height:38px}.profile-guest h1{color:#16304e;margin:8px 0 12px;font-size:34px}.profile-guest p{max-width:570px;color:var(--muted);line-height:1.7}.profile-guest>div:last-child{gap:10px;margin-top:14px;display:flex}.profile-overview{grid-template-columns:minmax(330px,1.2fr) 2fr;gap:18px;display:grid}.card.profile-identity{background:linear-gradient(155deg, var(--primary-50) 0%, #fff 55%);border-color:var(--primary-100);align-items:center;gap:22px;padding:25px;display:flex}.profile-avatar{width:86px;height:86px;box-shadow:inset 0 0 0 6px #fff, 0 0 0 3px var(--primary-100), 0 8px 22px #1e88e52e;flex:0 0 86px;font-size:24px}.profile-identity h2{color:#173452;margin:7px 0 5px}.profile-identity p,.profile-identity>div:last-child>span{color:#6f7d90;align-items:center;gap:7px;margin:5px 0;font-size:13px;display:flex}.profile-identity svg{width:15px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.profile-stat{flex-direction:column;justify-content:center;min-width:0;padding:20px;transition:transform .18s,box-shadow .18s;display:flex}.profile-stat:hover{transform:translateY(-3px);box-shadow:0 12px 24px #0f2d5a14}.profile-stat-icon{border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:15px;display:grid;box-shadow:0 4px 10px #0f2d5a14}.profile-stat-icon.blue{color:#1574c9;background:#e7f3ff}.profile-stat-icon.yellow{color:#a87500;background:#fff5d5}.profile-stat-icon.red{color:#d74747;background:#ffebeb}.profile-stat span{color:var(--muted);font-size:12px}.profile-stat strong{color:#183653;margin-top:3px;font-size:24px}.profile-content{align-items:start;gap:18px;margin:18px 0 60px}.profile-form{padding:26px}.profile-section-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.profile-section-head-title{align-items:flex-start;gap:14px;display:flex}.profile-section-icon{background:var(--primary-50);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;place-items:center;margin-top:2px;display:grid}.profile-section-icon svg{width:20px;height:20px}.profile-section-head h2{color:#193653;margin:5px 0 3px;font-size:20px}.profile-section-head p{color:var(--muted);margin:0;font-size:13px}.profile-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.profile-form input,.profile-form select{border-radius:11px;transition:border-color .15s,box-shadow .15s}.profile-form input:disabled,.profile-form select:disabled{opacity:1;color:#516176;cursor:default;background:#f5f8fc}.goal-input{position:relative}.goal-input>svg{width:17px;color:var(--primary);position:absolute;top:10px;left:12px}.goal-input input{padding-left:40px;padding-right:48px}.goal-input>span{color:var(--muted);font-size:12px;position:absolute;top:13px;right:13px}.profile-form>.form-message{margin-top:18px}.profile-form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:24px;padding-top:20px;display:flex}.not-found{text-align:center;align-content:center;place-items:center;height:100vh;display:grid}.not-found>svg{width:70px;height:70px;color:var(--primary)}.not-found>span{color:#cbdff3;font-size:80px;font-weight:900}.not-found h1{margin:0}.not-found p{color:var(--muted)}@keyframes shimmer{to{background-position:-200%}}.flashcard-picker{max-width:760px;height:min(760px, calc(100dvh - var(--topbar-height) - 48px));grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:16px;min-height:420px;margin:0 auto;padding:24px;display:grid;overflow:hidden}.flashcard-picker-header{text-align:center}.flashcard-picker-header h2{color:var(--dark);font-size:22px}.flashcard-picker-header p{color:var(--muted);font-size:14px}.flashcard-picker-filter{border:1px solid var(--border);border-radius:var(--radius-card-sm);cursor:pointer;background:#f8fbff;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.flashcard-picker-filter span{gap:2px;margin:0;display:grid}.flashcard-picker-filter b{color:var(--dark);font-size:14px}.flashcard-picker-filter small{color:var(--muted);font-size:12px}.flashcard-picker-filter input{appearance:none;background:#ccd5df;border:0;border-radius:20px;flex:none;width:42px;height:24px;padding:2px}.flashcard-picker-filter input:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block}.flashcard-picker-filter input:checked{background:var(--primary)}.flashcard-picker-filter input:checked:before{transform:translate(18px)}.flashcard-picker-actions{flex-wrap:wrap;align-items:center;gap:10px;min-height:36px;display:flex}.flashcard-picker-actions>span{color:var(--dark);margin-right:auto;font-size:13px;font-weight:700}.flashcard-picker-actions>button{border:1px solid var(--border);min-height:36px;color:var(--primary);background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;line-height:1.2}.flashcard-picker-actions>button:hover,.flashcard-picker-actions>button:focus-visible{border-color:var(--primary);background:var(--primary-50)}.flashcard-picker-actions>button:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:.65;background:#f4f7fb}.flashcard-picker-list{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:10px;min-height:0;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.flashcard-picker>.state-card{flex-direction:column;justify-content:safe center;align-items:center;min-height:0;padding:24px 18px;display:flex;overflow-y:auto}.flashcard-picker .state-card-image{filter:drop-shadow(0 12px 18px #45379633);width:min(115px,46vw);margin-bottom:10px;animation:.5s cubic-bezier(.2,.8,.2,1) both flashcard-congratulation-enter,3s ease-in-out .5s infinite flashcard-congratulation-float}@keyframes flashcard-congratulation-enter{0%{opacity:0;transform:translateY(12px)scale(.86)rotate(-3deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes flashcard-congratulation-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.flashcard-picker .state-card-image{animation:none}}.flashcard-picker-item{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-card-sm);background:#fff;align-items:center;gap:12px;padding:10px 12px;display:flex}.flashcard-picker-item input{width:17px;height:17px;accent-color:var(--primary);flex:none;margin:0;padding:0}.flashcard-picker-item>span{margin:0 0 0 auto;font-size:12px}.status-mastered{color:var(--success)}.status-unmastered{color:var(--warning)}.flashcard-picker-footer{border-top:1px solid var(--border);padding-top:4px}.flashcard-picker-footer .btn{width:100%;min-height:46px}@media (width<=760px){.flashcard-picker{height:calc(100dvh - var(--topbar-height) - 24px);min-height:360px;padding:16px}.flashcard-picker .state-card-image{width:85px}}@media (width<=1050px){.vocabulary-slider-card{flex-direction:column;max-height:none;display:flex}.vocabulary-slider-card .vocab-illustration{aspect-ratio:4/3;height:auto;min-height:0}.vocabulary-slider-card .vocab-knowledge-panel:not(.vocab-knowledge-panel-below){border-top:1px solid #dce7f7e6}.vocabulary-slider-card .vocab-knowledge-panel{border-left:none;padding-top:14px;padding-left:0;overflow-y:visible}.mobile-more-logout{border:0;border-top:1px solid var(--border);color:#c83b3b;text-align:left;background:0 0;align-items:center;gap:9px;width:100%;margin-top:10px;padding:12px 11px 2px;font-size:13px;font-weight:700;display:flex}.mobile-more-logout:hover:not(:disabled),.mobile-more-logout:focus-visible{color:#a92d2d}.mobile-more-logout:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.mobile-more-logout:disabled{cursor:wait;opacity:.6}.mobile-more-logout svg{width:17px;height:17px}.auth-shell{grid-template-columns:minmax(330px,.75fr) minmax(500px,1.25fr)}.auth-showcase{padding:35px}.auth-showcase-content{margin-top:10%}.auth-showcase h1{font-size:32px}.auth-showcase-content>p{font-size:14px}.profile-overview{grid-template-columns:1fr}.profile-content{grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr)}.sidebar{width:258px}.stats-grid,.review-mode-grid,.vocabulary-mode-grid{grid-template-columns:repeat(2,1fr)}.vocabulary-layout{grid-template-columns:176px minmax(0,1fr)}.flash-setup{grid-template-columns:2fr 1fr}.podium{max-width:850px}.ranking-table{overflow-x:auto}}@media (width<=1200px){.vocabulary-layout,.vocabulary-layout>.vocabulary-sidebar,.vocabulary-layout>.vocabulary-main,.vocabulary-layout>.vocabulary-main>.vocabulary-main{height:auto}.vocabulary-slider-card-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.container:has(>.kanji-layout){height:auto;display:block}.kanji-layout .kanji-card-knowledge{max-height:none;overflow-y:visible}.kanji-layout .vocabulary-slider-card-top{flex-direction:column;align-items:stretch;height:auto;display:flex}.kanji-layout .kanji-image-column{width:100%}.kanji-layout .vocabulary-slider-card .vocab-illustration{max-height:420px}.kanji-layout .vocab-card-content{height:auto}}@media (width<=850px){.vocab-detail-grid{flex-direction:column;display:flex}.vocab-detail-grid .vocab-illustration{aspect-ratio:4/3;height:auto;min-height:0}.vocab-detail-grid .vocab-knowledge-panel{border-top:1px solid #dce7f7e6;border-left:none;padding-top:18px;padding-left:0}.auth-main{padding:28px 20px}}@media (width<=760px){:root{--topbar-height:66px}.container{width:min(100% - 28px,1400px)}.topbar-inner{width:100%}.topbar{gap:10px;height:66px;min-height:0;padding:0 14px}.topbar-inner{flex-wrap:nowrap;padding:0}.sidebar:not(.sidebar-drawer),.topbar-search,.topbar-actions{display:none}.topbar-brand{flex:none;order:0;margin-right:8px;font-size:16px;display:flex}.topbar-mobile-overview{flex:1 1 0;width:0;min-width:0;display:block}.topbar-mobile-status{background:#fff;border:0;border-radius:12px;flex:1 1 0;order:1;justify-content:flex-end;align-items:center;gap:8px;width:100%;min-width:0;max-width:300px;margin-left:auto;padding:4px 5px 4px 8px;display:flex}.topbar-mobile-actions{border-left:1px solid var(--border);flex:none;align-items:center;gap:0;padding-left:6px;display:flex}.topbar-shop-link{width:36px;height:36px;color:var(--primary);background:0 0;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.topbar-shop-link svg{width:18px;height:18px}.page-heading{flex-direction:column;align-items:start;margin:8px 0 16px}.page-heading h1{font-size:22px}.stats-grid,.tests-grid,.review-mode-grid,.vocabulary-mode-grid,.result-stats{grid-template-columns:1fr}.vocabulary-filters{flex-direction:column;align-items:stretch}.vocabulary-filters .vocabulary-filter,.vocabulary-filters .vocabulary-filter-level,.vocabulary-filters .vocabulary-filter-topic{flex:auto;width:100%;max-width:none}.vocabulary-filters:has(+.kanji-layout){flex-flow:wrap;align-items:flex-end}.vocabulary-filters:has(+.kanji-layout) .vocabulary-filter-level{flex:100%;width:100%;max-width:none}:is(.vocabulary-filters:has(+.kanji-layout) .vocabulary-flashcard-cta,.vocabulary-filters:has(+.kanji-layout) .vocabulary-tour-restart){white-space:normal;text-align:center;flex:1 1 0;justify-content:center;width:auto;min-width:0;height:auto;min-height:34px;margin:0;padding:7px 6px;font-size:12px;line-height:1.25}.vocabulary-layout{grid-template-columns:1fr;height:auto;min-height:0}.vocabulary-slider-card-top{flex-direction:column;flex:none;gap:14px;min-width:0;display:flex}.kanji-layout .kanji-reading-tools{grid-template-columns:minmax(0,1fr)}.kanji-layout .kanji-writing-tools{margin-top:0}.kanji-layout .kanji-learning-info{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity""readings""mnemonic""decomposition""details"}.kanji-layout .kanji-image-column{min-height:0}.kanji-layout .vocabulary-slider-card .vocab-illustration{aspect-ratio:4/3;height:auto;min-height:0}.vocabulary-slider-card-top .vocab-card-content,.vocabulary-slider-card-top .vocabulary-example-list{width:100%;min-width:0}.vocabulary-mode-screen{height:auto;padding:24px 0}.vocabulary-layout>.vocabulary-sidebar,.vocabulary-layout>.vocabulary-main,.vocabulary-layout>.vocabulary-main>.vocabulary-main,.vocabulary-sidebar .vocabulary-table-wrap{height:auto;min-height:0}.vocabulary-sidebar{position:static}.vocabulary-sidebar .vocabulary-table-wrap{overflow:visible}.vocabulary-sidebar .vocabulary-word-list{max-height:340px;overflow-y:auto}.vocabulary-split-layout{height:auto}.vocabulary-main .vocabulary-slider{flex:none;height:auto;max-height:none}.vocabulary-main .vocabulary-slider .vocabulary-slider-stage{flex:none;min-height:0;overflow:visible}.vocabulary-slider-card{flex:none;min-width:0}.vocabulary-slider-card-top{flex:none;min-height:0;overflow:visible}.vocabulary-slider-card-top .vocabulary-example-list{flex:none;min-height:0;max-height:none;overflow-y:visible}.jlpt-progress{grid-template-columns:1fr;padding:14px 16px}.stat-card{padding:15px}.test-filters,.form-grid{grid-template-columns:1fr}.test-footer{flex-wrap:wrap;align-items:stretch;gap:10px}.test-footer>div{width:100%}.test-footer>.btn{flex:1}.test-history-summary{grid-template-columns:1fr 1fr}.test-history-filters{grid-template-columns:1fr}.test-history-filters .history-search-filter{grid-column:auto}.history-clear-filters{width:100%}.favorite-summary{grid-template-columns:1fr 1fr}.favorite-filters{grid-template-columns:1fr}.favorite-filters .history-search-filter{grid-column:auto}.favorite-status-filter .choice-row{grid-template-columns:repeat(2,1fr)}.favorite-item{flex-direction:column;align-items:stretch}.favorite-item-actions{justify-content:space-between}.test-history-table-wrap{display:none}.test-history-mobile{gap:12px;display:grid}.test-history-mobile-card{padding:18px}.test-history-mobile-card>div:first-child{gap:6px;display:flex}.test-history-mobile-card h2{margin:12px 0 4px;font-size:16px}.test-history-mobile-card time{color:var(--muted);font-size:11px}.test-history-mobile-meta{border-block:1px solid #edf1f6;justify-content:space-between;align-items:center;margin:14px 0;padding-block:11px;font-size:12px;display:flex}.test-history-mobile-meta b{color:var(--primary)}.test-history-mobile-card .test-history-actions .btn{flex:1}.test-history-context{flex-direction:column;align-items:flex-start}.step-back{margin-top:0}.vocabulary-slider-navigation>span{display:none}.vocabulary-flashcard-cta{padding:0 12px;font-size:12px}.vocabulary-slider-card-top{flex-direction:column;max-height:none;display:flex}.vocabulary-slider-card-top .vocab-illustration{aspect-ratio:4/3;height:auto;min-height:0}.kanji-stroke-panel{border-top:1px solid #dce7f7e6;border-left:none;padding-top:18px;padding-left:0}.vocab-card{padding:14px}.vocab-knowledge-panel:not(.vocab-knowledge-panel-below){border-top:1px solid #dce7f7e6}.vocab-knowledge-panel{border-left:none;padding-top:14px;padding-left:0}.vocabulary-table-wrap{padding:18px 14px}.flash-setup{grid-template-columns:1fr}.study-tip{display:none}.setup-card{padding:16px}.flashcard-wrap{width:100%;height:clamp(240px,100svh - 430px,360px);overflow:hidden}.flashcard-navigation{display:none}.flashcard-navigation-mobile{pointer-events:auto;justify-content:space-between;margin-top:3px;display:flex;position:static;transform:none}.flash-face h1{font-size:40px}.rating-actions{gap:6px}.rating-actions .btn{padding:0 8px;font-size:12px}.completion{padding:25px 15px}.completion-stats{grid-template-columns:1fr 1fr}.completion-stats>div:nth-child(2){border-right:0}.completion-stats>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.test-taking-head{align-items:start}.test-taking-head h1{font-size:18px}.timer{padding:8px}.test-layout{grid-template-columns:1fr}.navigator-toggle{color:var(--primary);background:#fff;border:0;border-radius:8px;gap:6px;margin:15px 0;padding:9px;display:flex}.question-nav{display:none}.question-nav.open{grid-row:1;display:block}.question-card{padding:14px 16px}.question-card h2{font-size:16px}.review-options{grid-template-columns:1fr}.review-heading{flex-direction:column;align-items:start}.podium{align-items:stretch;gap:6px}.podium-card{width:33%;min-height:255px;padding:22px 5px 10px}.podium-card.rank-1{min-height:275px}.podium-card h3{font-size:12px}.podium-card>strong{margin:9px 0;font-size:15px}.podium-card>div:nth-of-type(3){flex-direction:column;gap:2px}.podium-card>p{display:none}.avatar.large{width:50px;height:50px}.your-rank{flex-wrap:wrap;padding:15px}.your-rank>div:nth-child(2){width:calc(100% - 65px);margin:0}.your-rank>div:nth-child(n+3){min-width:29%;padding-left:10px}.ranking-filters{width:100%}.ranking-filters label{flex:1;min-width:0}.ranking-table-wrap{padding:15px}.ranking-table{overflow-x:auto}.table-title p{display:none}footer .container{flex-direction:column;gap:8px}footer p{margin:0}.profile .avatar{display:none}.auth-main{padding:18px 14px}.auth-card{padding:20px 18px}.auth-heading h1{font-size:21px}.auth-heading p{margin-bottom:10px}.profile-form-grid{grid-template-columns:1fr}.demo-account{flex-direction:column;align-items:flex-start}.demo-account button{text-align:left}.profile-guest{min-height:430px;margin:10px auto 35px}.profile-guest h1{font-size:28px}.profile-overview,.profile-stats,.profile-content{grid-template-columns:1fr}.profile-identity{align-items:flex-start;padding:20px}.profile-avatar{flex-basis:68px;width:68px;height:68px;font-size:19px}.profile-stats{gap:10px}.profile-stat{grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px;display:grid}.profile-stat-icon{margin:0}.profile-stat strong{margin:0;font-size:20px}.profile-content{margin-bottom:30px}.profile-form{padding:20px}.profile-section-head{flex-direction:column;align-items:stretch}}.mc-topic-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.mc-topic-card{text-align:left;cursor:pointer;flex-direction:column;align-items:start;padding:24px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.mc-topic-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1a599221}.mc-topic-icon{width:46px;height:46px;color:var(--primary);background:#e9f3ff;border-radius:14px;place-items:center;display:grid}.mc-topic-card h3{margin:14px 0 4px;font-size:16px}.mc-topic-card p{color:var(--muted);margin:0 0 14px;font-size:13px}.mc-topic-cta{text-align:center;pointer-events:none;width:100%;margin-top:auto}.quiz-game-shell{background:linear-gradient(#eef5ff 0%,#f7fafd 45%);justify-content:center;min-width:0;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.quiz-game-inner{width:min(1100px,100% - 64px);height:min(760px, calc(100dvh - var(--topbar-height) - var(--content-top-gap) - var(--content-bottom-gap) - 24px));flex-direction:column;align-self:center;margin:0 auto;display:flex;position:relative}.quiz-back-btn{z-index:10;border:1px solid var(--border);color:var(--dark);background:#fff;border-radius:10px;align-items:center;gap:8px;margin-top:15px;margin-left:5px;padding:9px 16px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;left:0;box-shadow:0 6px 18px #204d8217}.quiz-game-area{text-align:center;color:#fff;background:linear-gradient(135deg, var(--dark), var(--primary) 65%, var(--teal));border-radius:24px 24px 0 0;flex-direction:column;flex:0 0 35%;justify-content:center;align-items:center;gap:6px;min-height:290px;padding:16px;display:flex}.review-character-panel{color:var(--dark);background:#fff;border-bottom:1px solid #dbe5f0;position:relative;overflow:hidden}.review-character-panel span{color:var(--dark)}.review-character-panel p{color:var(--muted)}.review-character-sprite{filter:drop-shadow(0 8px 8px #001c5447);flex:none}.review-character-sprite.healing{animation:2s ease-out both review-character-healing}.review-healing-hearts{pointer-events:none;color:#e5484d;position:absolute;inset:0}.review-healing-heart{opacity:0;color:#e5484d;stroke:#e5484d;fill:#e5484d;width:20px;height:20px;animation:2s ease-out both review-healing-heart;position:absolute}.review-healing-heart.heart-left{top:42%;left:calc(50% - 104px)}.review-healing-heart.heart-right{animation-delay:.12s;top:38%;right:calc(50% - 104px)}.review-healing-heart.heart-left-small{width:14px;height:14px;animation-delay:.24s;top:52%;left:calc(50% - 132px)}.review-healing-heart.heart-right-small{width:14px;height:14px;animation-delay:.36s;top:49%;right:calc(50% - 132px)}@keyframes review-healing-heart{0%{opacity:0;transform:translateY(20px)scale(.5)rotate(-10deg)}25%{opacity:.95;transform:translateY(0)scale(1)rotate(0)}to{opacity:0;transform:translateY(-82px)scale(1.25)rotate(12deg)}}@keyframes review-character-healing{0%{filter:drop-shadow(0 8px 8px #001c5447)}25%{filter:drop-shadow(0 0 5px #22a06bf2)drop-shadow(0 0 18px #22a06bd9)}to{filter:drop-shadow(0 8px 8px #001c5447)}}.quiz-game-area svg{width:34px;height:34px;color:var(--accent)}.quiz-game-area span{font-size:18px;font-weight:800}.quiz-game-area p{color:#ffffffbf;max-width:360px;margin:0;font-size:12px}.quiz-game-area.review-character-panel{flex:none;gap:2px;height:clamp(220px,29vh,280px);min-height:0;padding:14px 16px 16px}.quiz-game-area.review-character-panel span{color:var(--dark)}.quiz-game-area.review-character-panel p{color:var(--muted)}.quiz-game-area.review-character-panel .review-character-sprite{flex:auto;width:auto;max-width:100%;min-height:0;margin-bottom:2px}.review-character-panel-bottom-text{font-weight:600;line-height:1.35;color:#a0aec0!important;font-size:11px!important}.quiz-game-inner.random-review-layout{flex-direction:row;align-items:stretch;gap:20px}.random-review-sidebar{background:#fff;border-radius:24px 0 0 24px;flex-direction:column;flex:0 0 260px;padding:28px 20px 20px;display:flex;overflow-y:auto;box-shadow:0 20px 44px #1a599224}.random-review-sidebar .review-character-panel{background:0 0;border-bottom:1px solid #dce7f7e6;border-radius:0;flex:none;height:auto;min-height:0;padding:0 0 20px;overflow:visible}.random-review-sidebar .review-character-sprite{max-height:200px}.random-review-legend{flex-direction:column;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.random-review-legend .random-review-format{opacity:.4;filter:grayscale(.4);justify-content:flex-start;width:100%;transition:opacity .16s,filter .16s,transform .16s}.random-review-legend .random-review-format.active{opacity:1;filter:none;transform:scale(1.03);box-shadow:inset 0 0 0 2px}.random-review-layout .quiz-question-area{border-radius:0 24px 24px 0;flex:auto;min-width:0}@media (width<=640px){.quiz-game-inner.random-review-layout{flex-direction:column}.random-review-sidebar{border-radius:24px 24px 0 0;flex:none}.random-review-layout .quiz-question-area{border-radius:0 0 24px 24px}}.quiz-question-area{background:#fff;border-radius:0 0 24px 24px;flex-direction:column;flex:auto;min-height:0;padding:6px clamp(20px,4vw,44px) 14px;display:flex;overflow-y:auto;box-shadow:0 20px 44px #1a599224}.quiz-question-head{justify-content:space-between;align-items:center;display:flex}.quiz-question-head .timer{border-radius:9px;gap:6px;padding:6px 10px}.quiz-question-head .timer svg{width:15px;height:15px}.quiz-question-head .timer b{font-size:14px}.quiz-progress-label{color:var(--dark);white-space:nowrap;font-size:14px;font-weight:800}.quiz-progress-bar{flex:1;margin:0 16px}.quiz-game-error{justify-content:center;align-items:center;margin-top:0}.quiz-question-text{text-align:center;font-size:18px;font-weight:600}.quiz-answer-list{gap:6px;display:grid}.quiz-answer-option{text-align:left;font:inherit;background:#fff;border:1px solid #dce5f1;border-radius:11px;align-items:center;gap:12px;padding:9px 13px;display:flex}.quiz-answer-option:not(:disabled):hover{border-color:var(--primary);background:#edf6ff}.quiz-answer-key{color:#59687c;background:#f1f4f8;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.quiz-answer-text{flex:1;font-size:14px;font-weight:700}.quiz-answer-icon{flex:none;display:flex}.quiz-answer-option.correct{background:#eafff2;border-color:#34d399}.quiz-answer-option.correct .quiz-answer-key{color:#fff;background:#34d399}.quiz-answer-option.correct .quiz-answer-icon{color:#22a06b}.quiz-answer-option.incorrect{background:#fff2f2;border-color:#f87171}.quiz-answer-option.incorrect .quiz-answer-key{color:#fff;background:#f87171}.quiz-answer-option.incorrect .quiz-answer-icon{color:#dc2626}.quiz-answer-option.selected{border-color:var(--primary);background:#edf6ff}.quiz-answer-option.selected .quiz-answer-key{background:var(--primary);color:#fff}.quiz-answer-explanation{color:#1f2937;background:#eef4fb;border:1px solid #d5e4f5;border-radius:10px;margin:14px 0 0;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5}.quiz-navigation{border-top:1px solid #edf1f6;justify-content:flex-end;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.quiz-navigation .quiz-answer-explanation{text-align:left;flex:1;margin:0}.quiz-result{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:auto;padding:20px 0;display:flex}.quiz-result>svg{color:#22a06b;width:44px;height:44px;margin-bottom:6px}.quiz-result-actions{gap:12px;margin-top:14px;display:flex}.quiz-result-hp{color:#e5484d;justify-content:center;align-items:center;gap:4px;font-size:14px;display:flex}.quiz-result-hp svg{width:16px;height:16px}.memory-card-hp-hint{color:#6b7280;margin:6px 0 0;font-size:13px}.quiz-result-perfect{color:#f5c549;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.quiz-result-perfect svg{width:18px;height:18px}.random-review-category{align-items:center;gap:6px;display:flex}.random-review-category svg{width:15px;height:15px;color:var(--primary)}.random-review-stats{flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:10px 0 0;padding:0;list-style:none;display:flex}.random-review-stats li{color:#59687c;align-items:center;gap:6px;font-size:13px;display:flex}.random-review-stats svg{width:15px;height:15px;color:var(--primary)}.quiz-hint-image{object-fit:contain;background:#f7fafd;border:1px solid #dce5f1;border-radius:14px;flex:none;width:min(100%,280px);max-width:100%;height:auto;max-height:min(32vh,280px);margin:0 auto 12px;display:block}.quiz-hint-chip{color:var(--dark);background:#edf6ff;border-radius:999px;margin:0 0 16px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.quiz-tile-slots{flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.4vw,14px);margin-bottom:14px;display:flex}.quiz-slot{width:clamp(52px,7vw,68px);height:clamp(52px,7vw,68px);color:var(--dark);background:#fff;border-radius:12px;flex:none;place-items:center;font-size:clamp(23px,3vw,30px);font-weight:800;display:grid}.quiz-slot.empty{background:#f7fafd;border:2px dashed #c7d6ea}.quiz-slot.filled{border:2px solid var(--primary)}.quiz-slot.correct{color:#22a06b;background:#eafff2;border-color:#34d399}.quiz-slot.incorrect{color:#dc2626;background:#fff2f2;border-color:#f87171}.quiz-tile-grid{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));place-content:start center;gap:clamp(8px,1.2vw,12px);margin-bottom:16px;display:grid}.quiz-tile{aspect-ratio:1;width:min(100%,72px);color:var(--dark);background:#fff;border:1px solid #dce5f1;border-radius:11px;justify-self:center;place-items:center;font-size:clamp(23px,3vw,30px);font-weight:800;display:grid}.quiz-tile:not(:disabled):hover{border-color:var(--primary);background:#edf6ff}.quiz-tile:disabled{opacity:.35}@media (width>=900px){.picture-guessing-game-inner{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(250px,.38fr) minmax(0,1fr);gap:16px;display:grid}.picture-guessing-game-inner .review-character-panel{border-radius:24px;grid-area:1/1;height:auto;min-height:0;padding:28px 20px;box-shadow:0 20px 44px #1a599224}.picture-guessing-game-inner .review-character-panel .review-character-sprite{flex:none;max-height:min(58vh,430px)}.picture-guessing-game-inner .review-character-panel-bottom-text{margin-top:0;position:absolute;bottom:20px;left:20px;right:20px}.picture-guessing-question-area .quiz-hint-image{width:min(100%,360px);max-height:min(34vh,300px)}.picture-guessing-question-area{border-radius:24px;grid-area:1/2;height:auto;padding:24px clamp(28px,3vw,48px);box-shadow:0 20px 44px #1a599224}.picture-guessing-question-area .quiz-navigation{background:linear-gradient(#fff0 0%,#fff 28%);padding:14px 0 0;position:sticky;bottom:-24px}}@media (width<=1024px){.mc-topic-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.mc-topic-grid{grid-template-columns:1fr}.quiz-game-inner{width:calc(100% - 32px);height:100%;max-height:none}.quiz-game-area{flex-basis:28%;min-height:230px}.quiz-game-area.review-character-panel{height:230px}.review-character-panel-bottom-text,.picture-guessing-game-inner .review-character-panel>span,.picture-guessing-game-inner .review-character-panel>p:not(.review-character-panel-bottom-text){display:none}.review-character-sprite{transform-origin:bottom;margin-bottom:-18px;transform:scale(.82)}.quiz-question-area{padding:20px}.quiz-tile-grid{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}.quiz-slot{width:48px;height:48px;font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.review-character-sprite.healing{filter:drop-shadow(0 0 8px #22a06bbf);animation:none}.review-healing-heart{opacity:.8;animation:none}.flashcard.flipped .flashcard-content{transform:none}.flashcard.flipped .front{visibility:hidden}.flashcard.flipped .back{transform:none}}.guided-tour-overlay{z-index:80;pointer-events:none;position:fixed;inset:0}.guided-tour-spotlight{pointer-events:none;border-radius:16px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 9999px #0f203899}.guided-tour-tooltip{z-index:81;pointer-events:auto;background:#fff;border-radius:14px;width:320px;max-width:calc(100vw - 32px);padding:18px 20px;position:fixed;box-shadow:0 18px 40px #0f203847}.guided-tour-close{color:#94a3b8;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.guided-tour-close:hover{color:#475569;background:#f1f5f9}.guided-tour-close svg{width:16px;height:16px}.guided-tour-step-label{color:var(--primary);letter-spacing:1.2px;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.guided-tour-tooltip h4{color:#16304e;margin:0 0 6px;padding-right:20px;font-size:15px}.guided-tour-tooltip p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.guided-tour-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.guided-tour-prev,.guided-tour-next{border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700}.guided-tour-prev{color:#475569;background:#f1f5f9}.guided-tour-next{background:var(--primary);color:#fff}.vocabulary-tour-restart{border:1px solid var(--border);color:var(--primary);cursor:pointer;background:#edf6ff;border-radius:999px;align-self:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.vocabulary-tour-restart svg{width:16px;height:16px}.learning-bottom-nav{display:none}@media (width<=760px){.learning-bottom-nav{z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#fff;justify-content:space-around;align-items:flex-end;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #003da50f}.learning-bottom-nav-item{color:#8896ab;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:54px;padding:6px 2px;font-size:10px;font-weight:700;line-height:1.1;text-decoration:none;transition:color .15s;display:flex}.learning-bottom-nav-item.active{color:var(--primary)}.learning-bottom-nav-icon svg{width:24px;height:24px}.learning-bottom-nav-label{overflow-wrap:anywhere;text-align:center;max-width:100%}@media (width<=399px){.learning-bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}}.topbar-actions{display:none!important}.app-main main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.dark .learning-bottom-nav{background:var(--surface,#1a1f2e);border-top-color:var(--border)}.dark .learning-bottom-nav-item{color:#8896ab}.dark .learning-bottom-nav-item.active{color:var(--primary)}.mobile-bubble-dock{display:none}@media (width<=760px){.mobile-bubble-dock{pointer-events:none;z-index:60;display:block;position:fixed;inset:0}.mobile-bubble-backdrop{pointer-events:auto;background:#0f233e47;border:0;position:absolute;inset:0}.mobile-bubble-stack{bottom:calc(78px + env(safe-area-inset-bottom,0px));pointer-events:auto;flex-direction:column-reverse;gap:10px;display:flex;position:absolute;right:14px}.mobile-bubble-dock:has(.mobile-bubble-sheet) .mobile-bubble-stack{display:none}.mobile-bubble-trigger{background:var(--primary);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:48px;min-width:48px;height:48px;padding:0;display:grid;position:relative;box-shadow:0 8px 22px #003da540}.mobile-bubble-trigger:hover,.mobile-bubble-trigger:focus-visible,.mobile-bubble-trigger.active{background:var(--dark)}.mobile-bubble-trigger:focus-visible{outline-offset:2px;outline:3px solid #f5c549d9}.mobile-bubble-trigger svg{width:21px;height:21px}.mobile-bubble-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mobile-bubble-badge{background:var(--accent);color:#513f00;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-5px;right:-5px}.mobile-bubble-sheet{background:var(--surface,#fff);border:1px solid var(--border);pointer-events:auto;border-radius:18px;flex-direction:column;max-height:min(80vh,620px);margin:0 14px;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 -12px 34px #1734522e}.mobile-bubble-sheet-head{background:#eef1f5;border-bottom:1px solid #d7dde5;border-radius:17px 17px 0 0;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.mobile-bubble-sheet-title{align-items:center;gap:9px;min-width:0;display:flex}.mobile-bubble-sheet-title>svg{color:#5f6b7a;flex:none;width:19px;height:19px}.mobile-bubble-sheet-head h2{color:#4b5563;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0;font-size:16px;font-weight:800;overflow:hidden}.mobile-bubble-close{color:var(--muted);background:0 0;border:0;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:grid}.mobile-bubble-close:hover,.mobile-bubble-close:focus-visible{background:var(--primary-50);color:var(--primary)}.mobile-bubble-close:focus-visible{outline-offset:1px;outline:3px solid #1e88e547}.mobile-bubble-close svg{width:20px;height:20px}.mobile-bubble-sheet-content{overscroll-behavior:contain;min-height:0;padding:16px;overflow-y:auto}.mobile-bubble-sheet-content .vocabulary-review-panel-head{display:none}.mobile-bubble-sheet-content>:first-child{margin-top:0}.mobile-bubble-sheet-content>:last-child{margin-bottom:0}.mobile-bubble-sheet-content .vocabulary-review-aside{position:static}.mobile-bubble-sheet-content .vocabulary-review-panel,.mobile-bubble-sheet-content .test-filters{box-shadow:none;border:0;padding:0}}.dark .mobile-bubble-trigger,.dark .mobile-bubble-badge{border-color:var(--surface,#1a1f2e)}@media (prefers-reduced-motion:reduce){.mobile-bubble-trigger,.mobile-bubble-close{transition:none}}.game-overview-compact-bar{margin-bottom:16px}.vocabulary-home-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.vocabulary-home-main{min-width:0}.vocabulary-topic-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-topic-row{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:14px 18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.vocabulary-topic-row.menu-open{z-index:5}.vocabulary-topic-row:hover{border-color:var(--primary-100,#cfe0f5);transform:translateY(-2px);box-shadow:0 10px 26px #1a59921a}.vocabulary-topic-row.locked{background:#f6f8fb}.vocabulary-topic-row.locked:hover{box-shadow:none;transform:none}.vocabulary-topic-row-top{justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.vocabulary-topic-row-rail{justify-content:flex-start;align-items:center;gap:6px;min-height:14px;padding-left:50px;display:flex}.vocabulary-topic-row-rail-skeleton{background:linear-gradient(90deg,#e8edf3 25%,#f7f9fb 50%,#e8edf3 75%) 0 0/200% 100%;border-radius:3px;width:176px;height:14px;animation:1.4s infinite shimmer;display:block}.vocabulary-topic-row-info{flex:240px;align-items:stretch;gap:12px;min-width:0;display:flex}.vocabulary-topic-open-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:0;display:flex}.vocabulary-topic-open-button:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.vocabulary-topic-open-button:hover .vocabulary-topic-row-text b,.vocabulary-topic-open-button:focus-visible .vocabulary-topic-row-text b{color:var(--primary)}.vocabulary-topic-open-button:hover .vocabulary-topic-row-icon,.vocabulary-topic-open-button:focus-visible .vocabulary-topic-row-icon{background:var(--primary-100,#cfe0f5)}.vocabulary-topic-row.locked .vocabulary-topic-open-button{cursor:not-allowed}.vocabulary-topic-row.locked .vocabulary-topic-open-button:hover,.vocabulary-topic-row.locked .vocabulary-topic-open-button:focus-visible{outline:none}.vocabulary-topic-row-stt{color:var(--muted);text-align:center;flex:none;min-width:18px;font-size:12px;font-weight:700}.vocabulary-topic-row-icon{color:var(--primary);background:#e9f3ff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;transition:background-color .15s;display:grid;box-shadow:0 2px 6px #1e88e52e}.vocabulary-topic-row-icon svg{width:19px;height:19px}.vocabulary-topic-row.locked .vocabulary-topic-row-icon{box-shadow:none;color:var(--muted);background:#eef1f6}.vocabulary-topic-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.vocabulary-topic-row-text b{font-size:15px}.vocabulary-topic-row-text small{color:var(--muted);font-size:12px}.vocabulary-topic-row-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex;position:relative}.vocabulary-topic-stage-rail{flex:none;align-items:center;gap:4px;display:flex}.vocabulary-topic-stage-item{border-radius:5px;place-items:center;width:14px;height:14px;font-size:10px;font-weight:800;transition:background-color .15s,box-shadow .15s;display:grid}.vocabulary-topic-stage-item.done{background:var(--teal,#4db8a8);color:#fff;box-shadow:0 2px 5px #4db8a859}.vocabulary-topic-stage-item.locked{background:var(--bg,#f1f5f9);border:1px solid var(--border);color:var(--muted)}.vocabulary-topic-stage-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.vocabulary-topic-action{white-space:nowrap;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.vocabulary-topic-action svg{width:15px;height:15px}.vocabulary-topic-action[aria-disabled=true],.vocabulary-topic-action.locked{cursor:not-allowed;opacity:.6}.vocabulary-topic-review{position:relative}.vocabulary-topic-review>.vocabulary-topic-action svg:last-child{opacity:.8;margin-left:-2px}.vocabulary-topic-review-menu{border:1px solid var(--border);z-index:30;background:#fff;border-radius:13px;min-width:180px;padding:7px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 35px #17345229}.vocabulary-topic-review-menu button{color:#314b65;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;width:100%;padding:10px 11px;font-size:13px;font-weight:700;display:flex}.vocabulary-topic-review-menu button svg{color:var(--primary);width:16px;height:16px}.vocabulary-topic-review-menu button:hover{color:var(--primary);background:#edf6ff}.vocabulary-topic-review-menu button:focus-visible{outline-offset:2px;outline:3px solid #1e88e547}.vocabulary-mode-side{align-items:center;gap:10px;padding-bottom:8px;display:flex}.vocabulary-battle-cta{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.vocabulary-battle-cta svg{width:15px;height:15px}.vocabulary-battle-cta.locked{cursor:not-allowed;opacity:.6}@media (width<=640px){.vocabulary-mode-side{justify-content:space-between;width:100%}}.vocabulary-review-aside{top:calc(var(--topbar-height,64px) + 16px);position:sticky}.vocabulary-review-panel{flex-direction:column;gap:12px;padding:18px;display:flex;position:relative;overflow:hidden}.vocabulary-review-panel:before{background:linear-gradient(90deg, var(--dark), var(--primary), var(--teal));content:"";height:4px;position:absolute;top:0;left:0;right:0}.vocabulary-review-panel-head h2{color:var(--dark);margin:0;font-size:16px}.vocabulary-review-panel-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.vocabulary-review-panel-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-review-panel-item{border:1px solid var(--border);color:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s;display:flex}.vocabulary-review-panel-item .review-mode-icon{flex:none;width:34px;height:34px;box-shadow:0 2px 6px #1734521a}.vocabulary-review-panel-item .review-mode-icon svg{width:17px;height:17px}a.vocabulary-review-panel-item:hover{background:var(--primary-50,#eaf3ff);border-color:var(--primary-100,#cfe0f5);transform:translateY(-1px);box-shadow:0 6px 16px #17345214}.vocabulary-review-panel-item.disabled{color:var(--muted);cursor:not-allowed;background:#f6f8fb}.vocabulary-review-panel-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.vocabulary-review-panel-text b{font-size:13.5px}.vocabulary-review-panel-text small{color:var(--muted);font-size:11.5px;line-height:1.35}.vocabulary-review-panel-item>svg:not(.vocabulary-review-panel-lock){color:var(--muted);flex:none;width:18px;height:18px}.vocabulary-review-panel-lock{color:#bd8800;flex:none;width:16px;height:16px}@media (width<=1100px){.vocabulary-home-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (width<=880px){.vocabulary-home-layout{grid-template-columns:1fr}.vocabulary-review-aside{position:static;top:auto}}@media (width<=560px){.vocabulary-topic-row-top{display:contents}.vocabulary-topic-row-info{order:1}.vocabulary-topic-row-rail{order:2}.vocabulary-topic-row-actions{order:3}.vocabulary-topic-row-top{flex-wrap:wrap}.vocabulary-topic-row-info{flex:auto;min-width:0}.vocabulary-topic-row-actions{flex-wrap:wrap;width:100%}.vocabulary-topic-action{flex:auto;justify-content:center}.vocabulary-topic-review{flex:auto;display:flex}.vocabulary-topic-row-rail{justify-content:flex-start;padding-left:0}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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}@keyframes spin{to{transform:rotate(360deg)}}
