*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Courier New,Courier,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-2{bottom:.5rem}.left-0{left:0}.right-3{right:.75rem}.top-0{top:0}.top-3{top:.75rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[9500\]{z-index:9500}.z-\[9999\]{z-index:9999}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-8{height:2rem!important}.\!h-9{height:2.25rem!important}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[calc\(100\%_-_1\.5rem\)\]{max-height:calc(100% - 1.5rem)}.\!min-h-8{min-height:2rem!important}.\!min-h-9{min-height:2.25rem!important}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-9{min-height:2.25rem}.min-h-\[56px\]{min-height:56px}.min-h-\[64px\]{min-height:64px}.min-h-screen{min-height:100vh}.\!w-9{width:2.25rem!important}.\!w-full{width:100%!important}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-\[210px\]{width:210px}.w-\[220px\]{width:220px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.animate-bounce-in{animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards bounceIn}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.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}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-black\/10{border-color:#0000001a}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-red-500\/30{border-color:#ef44444d}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity,1))}.border-slate-200\/90{border-color:#e2e8f0e6}.border-white\/30{border-color:#ffffff4d}.border-white\/5{border-color:#ffffff0d}.border-yellow-200\/60{border-color:#fef08a99}.bg-black\/10{background-color:#0000001a}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/5{background-color:#0000000d}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-900\/90{background-color:#7f1d1de6}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/15{background-color:#0ea5e926}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-300\/20{background-color:#fde04733}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-400\/15{background-color:#facc1526}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(45deg\,rgba\(255\,255\,255\,0\.4\)_25\%\,transparent_25\%\,transparent_50\%\,rgba\(255\,255\,255\,0\.4\)_50\%\,rgba\(255\,255\,255\,0\.4\)_75\%\,transparent_75\%\,transparent\)\]{background-image:linear-gradient(45deg,#fff6 25%,#0000 25% 50%,#fff6 50% 75%,#0000 75%,#0000)}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-200{--tw-gradient-from:#a5f3fc var(--tw-gradient-from-position);--tw-gradient-to:#a5f3fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-300{--tw-gradient-from:#6ee7b7 var(--tw-gradient-from-position);--tw-gradient-to:#6ee7b700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-fuchsia-600{--tw-gradient-from:#c026d3 var(--tw-gradient-from-position);--tw-gradient-to:#c026d300 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-400{--tw-gradient-from:#9ca3af var(--tw-gradient-from-position);--tw-gradient-to:#9ca3af00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:#4ade8000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-300{--tw-gradient-from:#bef264 var(--tw-gradient-from-position);--tw-gradient-to:#bef26400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:#fb923c00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-200{--tw-gradient-from:#fbcfe8 var(--tw-gradient-from-position);--tw-gradient-to:#fbcfe800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:#f472b600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-200{--tw-gradient-from:#bae6fd var(--tw-gradient-from-position);--tw-gradient-to:#bae6fd00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-sky-300{--tw-gradient-from:#7dd3fc var(--tw-gradient-from-position);--tw-gradient-to:#7dd3fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-300{--tw-gradient-from:#cbd5e1 var(--tw-gradient-from-position);--tw-gradient-to:#cbd5e100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-400{--tw-gradient-from:#94a3b8 var(--tw-gradient-from-position);--tw-gradient-to:#94a3b800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-700{--tw-gradient-from:#334155 var(--tw-gradient-from-position);--tw-gradient-to:#33415500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:#8b5cf600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-300{--tw-gradient-from:#fde047 var(--tw-gradient-from-position);--tw-gradient-to:#fde04700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-600{--tw-gradient-from:#ca8a04 var(--tw-gradient-from-position);--tw-gradient-to:#ca8a0400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-amber-400{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-fuchsia-600{--tw-gradient-to:#c026d3 var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-orange-800{--tw-gradient-to:#9a3412 var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.to-purple-800{--tw-gradient-to:#6b21a8 var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-rose-400{--tw-gradient-to:#fb7185 var(--tw-gradient-to-position)}.to-rose-800{--tw-gradient-to:#9f1239 var(--tw-gradient-to-position)}.to-sky-400{--tw-gradient-to:#38bdf8 var(--tw-gradient-to-position)}.to-slate-500{--tw-gradient-to:#64748b var(--tw-gradient-to-position)}.to-slate-950{--tw-gradient-to:#020617 var(--tw-gradient-to-position)}.to-stone-700{--tw-gradient-to:#44403c var(--tw-gradient-to-position)}.to-violet-700{--tw-gradient-to:#6d28d9 var(--tw-gradient-to-position)}.bg-\[length\:8px_8px\]{background-size:8px 8px}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-3{padding-bottom:.75rem}.pb-\[max\(0\.45rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.45rem, env(safe-area-inset-bottom))}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Courier New,Courier,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\/90{color:#fde68ae6}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-sky-100\/75{color:#e0f2febf}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/70{color:#ffffffb3}.text-white\/90{color:#ffffffe6}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.35\)\,0_4px_10px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:inset 0 1px 0 #ffffff59,0 4px 10px #0000002e;--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color), 0 4px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur-sm{--tw-blur:blur(4px);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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter!important;transition-duration:.15s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;image-rendering:auto;background-color:#08111f;margin:0;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#2d2d2d}::-webkit-scrollbar-thumb{background:#a8a878;border-radius:2px}.pixel-border{margin:4px;box-shadow:-4px 0 #000,4px 0 #000,0 -4px #000,0 4px #000}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.game-app-bg{background:linear-gradient(135deg,#e0fcefeb,#dbeafef0 48%,#fef3c7db),repeating-linear-gradient(45deg,#ffffff38 0 1px,#0000 1px 22px);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:clamp(12px,2.4vw,24px);display:flex;position:relative;overflow:hidden}.game-app-bg--immersive,.game-app-bg.launch-adventure,.game-app-bg.teacher-dashboard{justify-content:stretch;align-items:stretch;padding:0}.game-app-bg:has(>.game-console-shell){justify-content:stretch;align-items:stretch;padding:0}.game-app-bg:has(>.launch-console){justify-content:stretch;align-items:stretch;padding:0}.game-app-bg:has(>.launch-story-console){justify-content:stretch;align-items:stretch;padding:0}.auth-page.game-app-bg{justify-content:center;align-items:center;padding:clamp(12px,3vw,30px)}.game-gate-card{z-index:1;isolation:isolate;pointer-events:auto;flex:none;align-self:center;width:min(100%,clamp(320px,92vw,520px));position:relative}.game-entry-loading__bar{background:#94a3b847;border-radius:999px;width:100%;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a1f}.game-entry-loading__bar-fill{border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#22c55e);height:100%;transition:width .18s;display:block}.launch-screen-overlay{z-index:1400;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08111f47;position:fixed;inset:0;overflow-y:auto}.game-app-bg:before{content:"";pointer-events:none;opacity:.85;background:linear-gradient(90deg,#14b8a614,#0000 24%,#f871710f 72%,#0000),repeating-linear-gradient(90deg,#0000 0 54px,#ffffff2e 54px 56px),repeating-linear-gradient(0deg,#0000 0 42px,#ffffff24 42px 44px);position:absolute;inset:0}.game-app-bg.overflow-y-auto{align-items:flex-start;overflow:hidden auto}.game-console-shell{z-index:1;width:100%;max-width:none;height:100dvh;min-height:100dvh;max-height:none;padding:max(10px, env(safe-area-inset-top,0px)) max(10px, env(safe-area-inset-right,0px)) max(10px, env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-left,0px));box-shadow:none;background:linear-gradient(#ffffffeb,#f1f8ffdb),linear-gradient(135deg,#ffffff6b,#0ea5e914);border:none;border-radius:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.game-console-overlay-host{z-index:12000;border-radius:inherit;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.game-console-overlay-host:empty{display:none}.game-console-overlay-host>*{pointer-events:auto}.game-bounded-modal-overlay{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.game-bounded-modal-overlay--cloud{z-index:95;-webkit-backdrop-filter:blur(12px);background:radial-gradient(circle at 50% 32%,#fb71852e,#0000 30%),#020617c2}.game-topbar{background:linear-gradient(135deg,#fffffff5,#ecfdf5e0 48%,#dbeafedb),radial-gradient(circle at 18% 10%,#14b8a62e,#0000 34%),radial-gradient(circle at 92% 18%,#fbbf241f,#0000 30%);border:1px solid #ffffffdb;border-radius:16px;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:58px;margin:2px 2px 6px;padding:6px 8px;display:flex;box-shadow:0 10px 22px #0f172a1a,inset 0 1px #fffffff5,inset 0 -6px 14px #0f766e0d}.adventurer-profile{flex:1 1 0;align-items:center;gap:8px;min-width:0;display:flex}.adventurer-avatar{background:linear-gradient(#fffffffa,#bae6fdb8),linear-gradient(135deg,#10b98133,#38bdf833);border:1px solid #0ea5e942;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 6px 14px #0ea5e924}.adventurer-avatar img{-o-object-fit:contain;object-fit:contain;width:36px;height:36px}.adventurer-profile__body{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.adventurer-title{color:#0f766e;letter-spacing:.05em;font-size:9px;font-weight:900;line-height:1}.adventurer-name{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;max-width:118px;font-size:15px;font-weight:950;line-height:1.05;overflow:hidden}.adventurer-meta{flex-wrap:nowrap;gap:4px;width:max-content;max-width:100%;margin-top:0;display:flex}.adventure-chip{color:#334155;background:#ffffffd1;border:1px solid #0f172a17;border-radius:999px;flex:none;align-items:center;gap:3px;min-height:20px;padding:2px 6px;font-size:10px;font-weight:900;display:inline-flex;box-shadow:inset 0 1px #ffffffe0,0 4px 8px #0f172a0d}.adventure-chip--level{color:#1e293b}.adventure-chip--gold i{color:#f59e0b}.adventure-chip--energy i{color:#0ea5e9}.topbar-actions{box-shadow:none;background:0 0;border:none;border-radius:0;flex:none;align-items:center;gap:6px;padding:0;display:flex}.game-topbar:not(.game-topbar--unified) .game-icon-button{border-radius:10px;width:34px;min-height:34px;font-size:14px}.game-topbar--unified .adventurer-title{display:none}.map-hud-frosted{-webkit-backdrop-filter:blur(8px);background:#0f172a42;border:1px solid #ffffff47;box-shadow:0 3px 10px #0f172a29}.map-player-hud{--map-hud-avatar-size:40px;--map-hud-name-size:15px;--map-hud-level-size:10px;--map-hud-stat-size:12px;--map-hud-icon-size:11px;--map-hud-icon-box:14px;--map-hud-row-gap:4px;--map-hud-stat-gap:10px;border-radius:12px;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;max-width:min(100% - 52px,280px);padding:5px 10px 5px 5px;display:flex}.map-player-hud__avatar{width:var(--map-hud-avatar-size);height:var(--map-hud-avatar-size);background:#ffffffeb;border:1px solid #ffffff6b;border-radius:10px;flex:none;place-items:center;padding:3px;display:grid;overflow:hidden;box-shadow:0 2px 8px #0f172a2e}.map-player-hud__avatar img{width:calc(var(--map-hud-avatar-size) - 8px);height:calc(var(--map-hud-avatar-size) - 8px);-o-object-fit:contain;object-fit:contain}.map-player-hud__content{justify-content:center;gap:var(--map-hud-row-gap);flex-direction:column;flex:auto;min-width:0;display:flex}.map-player-hud__head{align-items:baseline;gap:6px;min-width:0;display:flex}.map-player-hud__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--map-hud-name-size);letter-spacing:-.01em;color:#fffffffa;text-shadow:0 1px 2px #0000008c;flex:auto;font-weight:950;line-height:1.1;overflow:hidden}.map-player-hud__level{color:#f0fdf4fa;min-height:18px;font-size:var(--map-hud-level-size);letter-spacing:.02em;text-shadow:0 1px 1px #00000059;background:#10b98147;border:1px solid #ffffff57;border-radius:999px;flex:none;align-items:center;padding:1px 6px;font-weight:900;line-height:1;display:inline-flex}.map-player-hud__stats{align-items:center;gap:var(--map-hud-stat-gap);flex-wrap:nowrap;min-width:0;display:flex}.map-player-hud__stat{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.map-player-hud__stat-icon{flex:0 0 var(--map-hud-icon-box);width:var(--map-hud-icon-box);height:var(--map-hud-icon-box);justify-content:center;align-items:center;display:inline-flex}.map-player-hud__stat-icon i{font-size:var(--map-hud-icon-size);line-height:1}.map-player-hud__stat-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--map-hud-stat-size);font-variant-numeric:tabular-nums;color:#fffffff5;text-shadow:0 1px 2px #00000080;font-weight:900;line-height:1.1;overflow:hidden}.map-player-hud__stat-divider{color:#ffffff9e;margin:0 1px;font-weight:800}.map-player-hud__stat--gold .map-player-hud__stat-icon i{color:#fbbf24}.map-player-hud__stat--energy .map-player-hud__stat-icon i{color:#38bdf8}.game-topbar--unified{align-items:flex-start}.game-console-shell--map-overlay .game-topbar--unified{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none}.map-action-rail{flex-direction:column;flex:none;align-items:flex-end;gap:6px;width:auto;min-width:0;display:flex}.map-hud-actions-rail{pointer-events:auto}.map-hud-icon-button,.map-action-button.map-hud-icon-button{color:#fffffff0;touch-action:manipulation;cursor:pointer;width:40px;height:40px;min-height:40px;font-size:inherit;font-weight:inherit;-webkit-backdrop-filter:blur(8px);background:#0f172a42;border:1px solid #ffffff47;border-radius:10px;justify-content:center;align-items:center;gap:0;padding:0;transition:transform 90ms,background 90ms,opacity 90ms;display:inline-flex;box-shadow:0 3px 10px #0f172a29}.map-hud-icon-button i,.map-action-button.map-hud-icon-button i{color:inherit;font-size:15px}.map-hud-icon-button:active:not(:disabled),.map-action-button.map-hud-icon-button:active:not(:disabled){filter:none;background:#0f172a61;transform:scale(.94)}.map-hud-icon-button:disabled,.map-action-button.map-hud-icon-button:disabled{opacity:.45;cursor:not-allowed}.map-hud-icon-button--active{background:#0f172a61}.game-console-shell--panel-full .game-screen-frame{flex:auto;min-height:0}.game-console-shell--map-overlay{padding:0;position:relative}.game-console-shell--map-overlay .game-topbar{top:max(6px, env(safe-area-inset-top,0px));left:max(6px, env(safe-area-inset-left,0px));right:max(6px, env(safe-area-inset-right,0px));z-index:45;align-items:flex-start;min-height:0;margin:0;padding:4px 6px;position:absolute}.game-console-shell--map-overlay .game-screen-frame{background:#0b1220;border:none;border-radius:0;flex:auto;min-height:0;box-shadow:inset 0 0 0 1px #ffffff14}.game-console-shell--map-overlay .game-notification-stack{top:calc(max(6px, env(safe-area-inset-top,0px)) + 92px)}.topbar-settings-overlay{z-index:95}.topbar-settings-overlay--shell{z-index:200;border-radius:inherit;-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:auto}.topbar-settings-card{flex-direction:column;gap:10px;width:min(100%,292px);max-height:min(100%,460px);padding:14px;display:flex;position:relative;overflow:hidden}.topbar-settings-close{border-radius:10px;width:32px;min-height:32px;position:absolute;top:10px;right:10px}.topbar-settings-card__header{flex-direction:column;gap:2px;padding-right:40px;display:flex}.topbar-settings-card__header h2{color:#0f172a;margin:0;font-size:17px;font-weight:950;line-height:1.15}.topbar-settings-card__header p{color:#64748b;margin:0;font-size:11px;font-weight:800;line-height:1.35}.topbar-settings-card__body{flex-direction:column;gap:8px;min-width:0;display:flex;overflow-y:auto}.topbar-settings-card__section{-moz-column-gap:8px;background:#ffffffbd;border:1px solid #94a3b824;border-radius:12px;grid-template-columns:minmax(52px,auto) minmax(0,1fr);align-items:center;gap:0 8px;min-width:0;padding:9px 10px;display:grid}.topbar-settings-card__label{color:#0f766e;letter-spacing:.04em;white-space:nowrap;grid-area:1/1;font-size:10px;font-weight:950;line-height:1.2}.topbar-settings-card__row{flex-wrap:nowrap;grid-area:1/2;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.topbar-settings-card__section>.cloud-save-widget,.topbar-settings-card__section>.topbar-settings-card__reset{grid-area:1/2;justify-self:end}.topbar-settings-card .cloud-save-widget{justify-content:flex-end;gap:6px}.topbar-settings-card .cloud-status-chip{max-width:118px;padding:6px 8px;font-size:9px;display:inline-flex}.topbar-settings-card__reset{align-self:center}.topbar-settings-card .topbar-audio-slider{flex:auto;min-width:0;max-width:132px}.topbar-settings-card .game-icon-button{border-radius:10px;width:36px;min-height:36px}.topbar-settings-card .topbar-audio-slider span{min-width:30px;font-size:10px}.topbar-settings-shell{align-items:center;display:inline-flex;position:relative}.topbar-settings-button--open{color:#0f766e;background:linear-gradient(#fffffffa,#e0f2fee0)}.topbar-settings-popover{z-index:35;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#fffffff5,#f1f5f9eb),#ffffffd6;border:1px solid #fffc;border-radius:18px;flex-direction:column;gap:8px;width:min(240px,100vw - 24px);padding:10px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 32px #0f172a24,inset 0 1px #ffffffeb}.topbar-settings-popover__group{align-items:center;gap:8px;min-width:0;display:flex}.topbar-settings-popover__group--audio{flex-wrap:wrap}.topbar-settings-popover .cloud-save-widget{gap:6px}.topbar-settings-popover .cloud-status-chip{display:inline-flex}.topbar-audio-slider{color:#475569;flex:auto;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:900;display:inline-flex}.topbar-audio-slider input[type=range]{accent-color:#0ea5e9;width:100px}.topbar-audio-slider span{text-align:right;min-width:36px}.topbar-settings-popover__reset{align-self:flex-start}.cloud-save-widget{pointer-events:auto;align-items:center;gap:6px;display:flex}.topbar-actions .cloud-save-widget{gap:0}.topbar-actions .cloud-status-chip{display:none}.cloud-save-floating{z-index:140;position:fixed;top:14px;right:14px}.cloud-status-chip{text-overflow:ellipsis;white-space:nowrap;color:#334155;background:#ffffffd6;border:1px solid #0f172a14;border-radius:12px;max-width:148px;padding:7px 10px;font-size:10px;font-weight:900;overflow:hidden;box-shadow:0 8px 16px #0f172a14,inset 0 1px #ffffffd6}.cloud-status-chip-error{color:#991b1b;background:#fee2e2f0}.game-icon-button,.game-soft-button,.game-danger-button,.game-primary-button{border:1px solid #ffffffb3;border-radius:12px;min-height:38px;font-weight:950;transition:transform .12s,filter .12s,box-shadow .12s;box-shadow:inset 0 1px #ffffffbd,0 8px 16px #0f172a1f}.game-icon-button:active:not(:disabled),.game-soft-button:active:not(:disabled),.game-danger-button:active:not(:disabled),.game-primary-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffffff94,0 4px 10px #0f172a1f}.game-icon-button:disabled,.game-soft-button:disabled,.game-danger-button:disabled,.game-primary-button:disabled{cursor:not-allowed;opacity:.55}.game-icon-button{color:#0f172a;background:linear-gradient(#fffffff5,#dbeafed6);justify-content:center;align-items:center;width:40px;display:inline-flex}.game-icon-button--muted{color:#64748b;background:linear-gradient(#fffffff5,#e2e8f0e0)}.game-icon-button--danger{color:#9f1239;background:linear-gradient(#fffffffa,#ffe4e6eb)}.game-icon-button--danger:hover:not(:disabled){filter:saturate(1.08)}.topbar-reset-button{border-color:#fb718552}.game-soft-button{color:#0f172a;background:linear-gradient(#fffffff5,#e0f2fed6);justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.game-primary-button{color:#0f172a;background:linear-gradient(#fde68a,#fbbf24);justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.game-danger-button{color:#fff;background:linear-gradient(#fb7185,#e11d48);justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.reset-confirm-overlay{z-index:70;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));pointer-events:auto;-webkit-backdrop-filter:blur(12px);background:#020617ad;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.reset-confirm-card{background:linear-gradient(#fffffffa,#fff7edf0),radial-gradient(circle at 100% 0,#fb71852e,#0000 34%);border:1px solid #ffffffdb;border-radius:22px;grid-template-columns:auto 1fr;gap:14px;width:min(100%,380px);max-height:min(100%,640px);padding:18px;display:grid;overflow-y:auto;box-shadow:0 28px 70px #02061757,inset 0 1px #fffffff2}.game-local-confirm-overlay{z-index:130}.game-local-confirm-card{width:min(100%,390px)}.game-local-confirm-card__icon{background:linear-gradient(#fb7185,#e11d48)}.reset-confirm-card__icon{color:#fff;background:linear-gradient(#fb7185,#e11d48);border-radius:16px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 12px 22px #e11d483d,inset 0 1px #ffffff73}.reset-confirm-card__body{min-width:0}.reset-confirm-card__eyebrow{letter-spacing:.06em;color:#be123c;margin:0 0 2px;font-size:10px;font-weight:950}.reset-confirm-card h2{color:#0f172a;margin:0;font-size:20px;font-weight:950;line-height:1.15}.reset-confirm-card p{color:#475569;margin:8px 0 0;font-size:13px;font-weight:800;line-height:1.65}.reset-confirm-card__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.reset-confirm-card.topbar-settings-card{flex-direction:column;gap:10px;width:min(100%,292px);max-height:min(100%,460px);padding:14px;display:flex;overflow:hidden}.reset-confirm-card.topbar-settings-card .topbar-settings-close{border-radius:10px;width:32px;min-height:32px;position:absolute;top:10px;right:10px}.reset-confirm-card.topbar-settings-card .topbar-settings-card__header{flex-direction:column;gap:2px;padding-right:40px;display:flex}.reset-confirm-card.topbar-settings-card .topbar-settings-card__header h2{color:#0f172a;margin:0;font-size:17px;font-weight:950;line-height:1.15}.reset-confirm-card.topbar-settings-card .topbar-settings-card__header p{color:#64748b;margin:0;font-size:11px;font-weight:800;line-height:1.35}.reset-confirm-card.topbar-settings-card .topbar-settings-card__body{flex-direction:column;gap:8px;min-width:0;display:flex;overflow-y:auto}.reset-confirm-card.topbar-settings-card .topbar-settings-card__section{-moz-column-gap:8px;background:#ffffffbd;border:1px solid #94a3b824;border-radius:12px;grid-template-columns:minmax(52px,auto) minmax(0,1fr);align-items:center;gap:0 8px;min-width:0;padding:9px 10px;display:grid}.reset-confirm-card.topbar-settings-card .topbar-settings-card__label{color:#0f766e;letter-spacing:.04em;white-space:nowrap;grid-area:1/1;font-size:10px;font-weight:950;line-height:1.2}.reset-confirm-card.topbar-settings-card .topbar-settings-card__row{flex-wrap:nowrap;grid-area:1/2;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.reset-confirm-card.topbar-settings-card .topbar-settings-card__section>.cloud-save-widget,.reset-confirm-card.topbar-settings-card .topbar-settings-card__section>.topbar-settings-card__reset{grid-area:1/2;justify-self:end}.reset-confirm-card.topbar-settings-card .cloud-save-widget{justify-content:flex-end;gap:6px}.reset-confirm-card.topbar-settings-card .cloud-status-chip{max-width:118px;padding:6px 8px;font-size:9px;display:inline-flex}.reset-confirm-card.topbar-settings-card .topbar-settings-card__reset{align-self:center}.reset-confirm-card.topbar-settings-card .topbar-audio-slider{flex:auto;min-width:0;max-width:132px}.reset-confirm-card.topbar-settings-card .game-icon-button{border-radius:10px;width:36px;min-height:36px}.reset-confirm-card.topbar-settings-card .topbar-audio-slider span{min-width:30px;font-size:10px}.challenge-confirm-overlay{background:radial-gradient(circle at 50% 38%,#3b82f638,#0000 32%),#020617a8}.challenge-confirm-card{background:linear-gradient(#fffffffb,#eff6fff2),radial-gradient(circle at 100% 0,#3b82f624,#0000 34%);border:1px solid #ffffffdb;border-radius:18px;flex-direction:column;gap:10px;width:min(100%,340px);max-height:min(100%,92vh);padding:14px;display:flex;overflow-y:auto;box-shadow:0 24px 56px #0206174d,inset 0 1px #fffffff2}.challenge-confirm-card__header{align-items:center;gap:10px;min-width:0;display:flex}.challenge-confirm-card__icon{color:#fff;background:linear-gradient(#38bdf8,#2563eb);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:17px;display:grid;box-shadow:0 10px 20px #2563eb38,inset 0 1px #ffffff73}.challenge-confirm-card__headings{flex-direction:column;gap:2px;min-width:0;display:flex}.challenge-confirm-card__eyebrow{color:#2563eb;letter-spacing:.04em;margin:0;font-size:10px;font-weight:950;line-height:1.2}.challenge-confirm-card__headings h2{color:#0f172a;margin:0;font-size:17px;font-weight:950;line-height:1.15}.challenge-confirm-card__lead{color:#475569;margin:0;font-size:12px;font-weight:800;line-height:1.45}.challenge-confirm-card__chips{flex-wrap:wrap;gap:6px;display:flex}.challenge-confirm-card__chip{color:#1d4ed8;background:#eff6fff2;border:1px solid #3b82f629;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 9px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.challenge-confirm-card__panel{background:#f8fafcf0;border:1px solid #94a3b824;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex;box-shadow:inset 0 1px #ffffffd1}.challenge-confirm-card__panel-label{color:#2563eb;letter-spacing:.03em;margin:0;font-size:10px;font-weight:950;line-height:1.2;display:block}.challenge-confirm-card__panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.challenge-confirm-card__panel-count{color:#1d4ed8;background:#dbeafef5;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:22px;padding:0 8px;font-size:10px;font-weight:950;line-height:1;display:inline-flex}.challenge-confirm-card__panel-copy{color:#64748b;margin:0;font-size:11px;font-weight:800;line-height:1.4}.challenge-confirm-card__reward-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.challenge-confirm-card__reward-pill{color:#334155;background:#fffffffa;border:1px solid #bfdbfef2;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;width:min(100%,152px);min-height:58px;padding:8px 10px;font-size:11px;font-weight:900;display:grid;box-shadow:0 6px 14px #94a3b81a}.challenge-confirm-card__reward-icon{background:radial-gradient(circle at 50% 35%,#fffffffa,#dbeafedb);border-radius:14px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.challenge-confirm-card__reward-icon img{-o-object-fit:contain;object-fit:contain;image-rendering:auto;width:34px;height:34px}.challenge-confirm-card__reward-icon i{color:#2563eb;font-size:18px}.challenge-confirm-card__reward-name{word-break:keep-all;overflow-wrap:anywhere;min-width:0;line-height:1.25}.challenge-confirm-card__reward-qty{color:#1d4ed8;text-align:center;background:#dbeafef5;border-radius:999px;min-width:24px;padding:2px 6px;font-size:10px;font-weight:950}.challenge-confirm-card__unlock-grid{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.challenge-confirm-card__unlock-mon{background:#fffffff5;border:1px solid #bfdbfed1;border-radius:16px;flex-direction:column;align-items:center;gap:7px;width:76px;min-width:0;padding:10px 8px 9px;display:flex;box-shadow:0 6px 14px #94a3b81a}.challenge-confirm-card__unlock-mon--more{background:#eff6ffeb;border-style:dashed}.challenge-confirm-card__unlock-mon--more .challenge-confirm-card__unlock-sprite{color:#2563eb}.challenge-confirm-card__more-mark{color:#2563eb;font-size:15px;font-weight:950;line-height:1}.challenge-confirm-card__unlock-sprite{background:radial-gradient(circle at 50% 35%,#fffffffa,#dbeafedb);border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.challenge-confirm-card__unlock-sprite img{-o-object-fit:contain;object-fit:contain;image-rendering:auto;width:42px;height:42px}.challenge-confirm-card__unlock-name{text-align:center;color:#334155;word-break:break-word;width:100%;margin:0;font-size:11px;font-weight:900;line-height:1.35}.challenge-confirm-card__unlock-level{color:#2563eb;margin-top:-3px;font-size:10px;font-weight:950;line-height:1}.challenge-confirm-card__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;padding-top:2px;display:grid}.challenge-confirm-card__button{min-height:38px;padding:0 10px;font-size:12px}.challenge-confirm-card__button--confirm{gap:6px}@media (width<=520px){.challenge-confirm-card{gap:9px;width:min(100%,320px);padding:12px}.challenge-confirm-card__headings h2{font-size:16px}.challenge-confirm-card__reward-pill{width:100%;max-width:none}.challenge-confirm-card__actions{grid-template-columns:1fr}}@media (width<=420px){.challenge-confirm-card__unlock-mon{width:72px}}.spring-restore-overlay{background:radial-gradient(circle at 50% 40%,#7dd3fc47,#0000 30%),#020617a8}.spring-restore-card{background:radial-gradient(circle at 10% 0,#7dd3fc38,#0000 32%),linear-gradient(#fffffffb,#f0fdfaf2);border:1px solid #ffffffdb;border-radius:18px;flex-direction:column;gap:10px;width:min(100%,300px);padding:14px;display:flex;box-shadow:0 24px 56px #0206174d,inset 0 1px #fffffff2}.spring-restore-card__header{align-items:center;gap:10px;min-width:0;display:flex}.spring-restore-card__icon{color:#fff;background:linear-gradient(#67e8f9,#0ea5e9);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:17px;display:grid;box-shadow:0 10px 20px #0ea5e93d,inset 0 1px #ffffff80}.spring-restore-card__headings{flex-direction:column;gap:2px;min-width:0;display:flex}.spring-restore-card__eyebrow{color:#0284c7;letter-spacing:.04em;margin:0;font-size:10px;font-weight:950;line-height:1.2}.spring-restore-card__headings h2{color:#0f172a;margin:0;font-size:17px;font-weight:950;line-height:1.15}.spring-restore-card__lead{color:#475569;margin:0;font-size:12px;font-weight:800;line-height:1.45}.spring-restore-card__facts{flex-direction:column;gap:6px;display:flex}.spring-restore-card__fact{background:#f0f9fff0;border:1px solid #0ea5e924;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:7px 10px;display:flex}.spring-restore-card__fact-label{color:#0369a1;letter-spacing:.02em;flex:none;font-size:10px;font-weight:950;line-height:1.2}.spring-restore-card__fact-value{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-variant-numeric:tabular-nums;align-items:center;gap:5px;min-width:0;font-size:12px;font-weight:950;line-height:1.2;display:inline-flex;overflow:hidden}.spring-restore-card__fact-value .fa-coins{color:#d97706;font-size:11px}.spring-restore-card__warning{color:#b45309;background:#fef3c7eb;border:1px solid #fbbf2457;border-radius:10px;margin:0;padding:8px 10px;font-size:11px;font-weight:800;line-height:1.35}.spring-restore-card__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:2px;display:grid}.spring-restore-card__button{min-height:38px;padding:0 10px;font-size:12px}.spring-restore-card__button--confirm{gap:6px}@media (width<=480px){.spring-restore-card{gap:9px;width:min(100%,288px);padding:12px}.spring-restore-card__icon{width:36px;height:36px;font-size:15px}.spring-restore-card__headings h2{font-size:16px}.spring-restore-card__actions{grid-template-columns:1fr}}.fast-travel-overlay{z-index:88;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));pointer-events:auto;-webkit-backdrop-filter:blur(12px);background:linear-gradient(#080d1cbd,#0f172aa8),#0206179e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.fast-travel-panel{color:#0f172a;background:linear-gradient(#fffffffa,#eff6fff2),linear-gradient(135deg,#14b8a61f,#facc151f);border:1px solid #ffffffd6;border-radius:22px;flex-direction:column;width:min(100%,470px);height:min(100%,760px);min-height:0;display:flex;overflow:hidden;box-shadow:0 30px 90px #0206176b,inset 0 1px #fffffff2}.fast-travel-heading p{color:#0f766e;margin:0 0 4px;font-size:11px;font-weight:950;line-height:1}.fast-travel-heading h2{color:#0f172a;margin:0;font-size:22px;font-weight:950;line-height:1.05}.fast-travel-status span{color:#475569;white-space:nowrap;background:#ffffffd1;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:11px;font-weight:950;line-height:1;display:inline-flex}.fast-travel-toolbar{background:#f8fafce0;border-bottom:1px solid #0f172a14;flex:none;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:9px;padding:10px 14px;display:grid}.fast-travel-toolbar input[type=range]{accent-color:#0f766e;width:100%}.fast-travel-map-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(#e2e8f075,#f0fdfa6b);flex:auto;min-height:0;padding:12px;overflow:auto}.fast-travel-map-layer{border:1px solid #ffffffe0;border-radius:28px;min-width:100%;min-height:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 18px 38px #0f172a1f}.fast-travel-route-map{width:100%;height:100%;position:absolute;inset:0}.fast-travel-route-line{fill:none;stroke:#0f172a47;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22 13}.fast-travel-node{color:#0f172a;text-align:left;background:#ffffffe6;border:1px solid #ffffffd6;border-radius:16px;grid-template-rows:minmax(0,1fr) 22px;grid-template-columns:minmax(38px,.42fr) minmax(0,1fr);gap:6px;padding:8px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;position:absolute;overflow:hidden;box-shadow:0 14px 26px #0f172a29,inset 0 1px #ffffffe6}.fast-travel-node:not(:disabled):hover{border-color:#14b8a68c;transform:translateY(-2px);box-shadow:0 18px 34px #14b8a62e,inset 0 1px #ffffffeb}.fast-travel-node:disabled{cursor:default}.fast-travel-node__terrain{background:#dcfce7;border:1px solid #0f172a14;border-radius:12px;grid-row:1/3;min-width:0;min-height:0;position:relative;overflow:hidden}.fast-travel-node__terrain i,.fast-travel-node__terrain b,.fast-travel-node__terrain em{font-style:normal;display:block;position:absolute}.fast-travel-node__terrain i{background:#22c55e61;height:44%;inset:auto 0 0}.fast-travel-node__terrain b{background:#ffffffa8;border-radius:999px;height:10%;top:46%;left:14%;right:14%}.fast-travel-node__terrain em{background:#facc15b8;border-radius:999px;width:34%;height:34%;top:10%;right:8%}.fast-travel-node--lake .fast-travel-node__terrain{background:linear-gradient(#bfdbfe 0 42%,#7dd3fc 42% 100%)}.fast-travel-node--farm .fast-travel-node__terrain{background:repeating-linear-gradient(90deg,#fde68a 0 9px,#bbf7d0 9px 18px)}.fast-travel-node--shore .fast-travel-node__terrain{background:linear-gradient(#bae6fd 0 40%,#fde68a 40% 100%)}.fast-travel-node--grave .fast-travel-node__terrain{background:linear-gradient(#cbd5e1,#e9d5ff)}.fast-travel-node--ruins .fast-travel-node__terrain{background:repeating-linear-gradient(135deg,#e2e8f0 0 12px,#ccfbf1 12px 24px)}.fast-travel-node--ridge .fast-travel-node__terrain{background:linear-gradient(135deg,#bbf7d0 0 44%,#cbd5e1 44% 100%)}.fast-travel-node--peak .fast-travel-node__terrain{background:linear-gradient(135deg,#dbeafe 0 38%,#e2e8f0 38% 70%,#f8fafc 70% 100%)}.fast-travel-node__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.fast-travel-node__copy strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;line-height:1.1;overflow:hidden}.fast-travel-node__copy small,.fast-travel-node__copy span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.2;overflow:hidden}.fast-travel-node__status{color:#15803d;text-overflow:ellipsis;white-space:nowrap;background:#dcfce7;border-radius:999px;place-self:end;max-width:100%;padding:5px 7px;font-size:10px;font-weight:950;line-height:1;overflow:hidden}.fast-travel-node--current{background:#f0f9fff0;border-color:#0ea5e999}.fast-travel-node--current .fast-travel-node__status{color:#1d4ed8;background:#dbeafe}.fast-travel-node--locked .fast-travel-node__status,.fast-travel-node--poor .fast-travel-node__status{color:#b91c1c;background:#fee2e2}@media (width<=420px){.fast-travel-overlay{padding:8px}.fast-travel-panel{border-radius:18px}.fast-travel-header{align-items:flex-start;padding:12px}.fast-travel-heading h2{font-size:19px}.fast-travel-status{flex-wrap:wrap;justify-content:flex-end}.fast-travel-status span{min-height:28px;padding:0 7px}.fast-travel-map-scroll{padding:8px}}.fast-travel-panel{background:linear-gradient(#fffffffa,#f0f9fff5),radial-gradient(circle at 12% 0,#fde04738,#0000 32%),radial-gradient(circle at 95% 18%,#2dd4bf33,#0000 34%);border:2px solid #ffffffeb;border-radius:24px;width:min(100%,520px)}.fast-travel-heading p{color:#0f766e;letter-spacing:0}.fast-travel-heading span{color:#64748b;margin-top:5px;font-size:11px;font-weight:900;line-height:1.25;display:block}.fast-travel-status span{background:#fffffff0;border-color:#0f766e1f;box-shadow:inset 0 -2px #0f766e0a}.fast-travel-toolbar{background:linear-gradient(#f8fafcf5,#ecfdf5b8);grid-template-columns:42px minmax(0,1fr) 42px}.fast-travel-toolbar input[type=range]{background:linear-gradient(90deg,#0f766e,#facc15);border-radius:999px;height:8px}.fast-travel-map-scroll{background:linear-gradient(#dbeafe80,#f0fdfa8a),repeating-linear-gradient(135deg,#0f172a09 0 1px,#0000 1px 18px);place-items:start center;padding:14px;display:grid}.fast-travel-map-layer{background:#e0f2fe;border-color:#fffffff5;border-radius:24px;flex:none;min-width:0;min-height:0;box-shadow:inset 0 1px #ffffffdb,inset 0 -10px 22px #0f766e0f,0 20px 46px #0f172a24}.fast-travel-route-map{background:#dbeafe}.fast-travel-route-line{stroke:#0f766e75;stroke-width:11px;stroke-dasharray:18 14;animation:1.8s linear infinite fastTravelRouteFlow}.fast-travel-map-label{fill:#0f172a6b;paint-order:stroke;stroke:#ffffffb8;stroke-width:4px;font-size:13px;font-weight:950}.fast-travel-map-ridge{stroke:#16a34a2e}.fast-travel-map-cloud{stroke:#ffffff9e}.fast-travel-map-shoreline{stroke:#f59e0b38}.fast-travel-node{background:linear-gradient(#fffffff2,#f8fafce0),radial-gradient(circle at 16% 18%,#facc1526,#0000 32%);border:2px solid #ffffffeb;border-radius:14px;grid-template-rows:minmax(0,1fr) 21px;grid-template-columns:34px minmax(0,1fr);gap:6px;padding:7px}.fast-travel-node:after{content:"";pointer-events:none;border:1px dashed #0f766e1f;border-radius:10px;position:absolute;inset:5px}.fast-travel-node:not(:disabled):hover{transform:translateY(-3px)scale(1.02)}.fast-travel-node__beacon{z-index:2;color:#0f766e;background:#fef9c3;border-radius:999px;place-items:center;width:22px;height:22px;font-size:11px;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 5px 12px #0f766e2e}.fast-travel-node__terrain{border-radius:10px;box-shadow:inset 0 -8px 12px #0f172a0f}.fast-travel-node__copy strong{padding-right:21px;font-size:13px}.fast-travel-node__copy small,.fast-travel-node__copy span{font-size:9px}.fast-travel-node__status{color:#0f766e;background:#ccfbf1;border-radius:9px}.fast-travel-node--current{border-color:#2563eb85;box-shadow:0 0 0 4px #3b82f61a,0 14px 28px #0f172a29}.fast-travel-node--locked,.fast-travel-node--poor{filter:saturate(.65);opacity:.7}.fast-travel-footer{background:linear-gradient(#fffffff5,#fefce8e6);min-height:48px}.fast-travel-transit{z-index:8;-webkit-backdrop-filter:blur(5px);background:radial-gradient(circle,#ecfdf5d6,#0f172a61 68%),#ffffff29;place-items:center;gap:12px;display:grid;position:absolute;inset:0}.fast-travel-transit__portal{width:150px;height:150px;position:relative}.fast-travel-transit__portal i{border:5px solid #facc15;border-color:#facc15 #7dd3fcd6 #0f766eb8 #0f766eb8;border-radius:50%;animation:1.1s linear infinite fastTravelPortalSpin;position:absolute;inset:12px;box-shadow:0 0 28px #2dd4bf7a,inset 0 0 22px #facc1542}.fast-travel-transit__portal i:nth-child(2){opacity:.8;animation-duration:.82s;animation-direction:reverse;inset:32px}.fast-travel-transit__portal i:nth-child(3){opacity:.66;animation-duration:1.38s;inset:54px}.fast-travel-transit__runner{background:linear-gradient(#fde68a 0 30%,#2563eb 31% 72%,#1e293b 73%);border-radius:14px 14px 10px 10px;width:22px;height:42px;animation:1.16s ease-in-out infinite fastTravelRunnerLift;position:absolute;top:52px;left:64px;box-shadow:0 12px 22px #0f172a38}.fast-travel-transit__coin{background:radial-gradient(circle at 32% 28%,#fff7ad,#f59e0b);border-radius:50%;width:18px;height:18px;animation:1.2s ease-in-out infinite fastTravelCoinOrbit;position:absolute;box-shadow:0 0 12px #f59e0b73}.fast-travel-transit__coin--one{top:34px;left:28px}.fast-travel-transit__coin--two{animation-delay:-.38s;bottom:34px;right:28px}@keyframes fastTravelRouteFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-64px}}@keyframes fastTravelPortalSpin{to{transform:rotate(360deg)}}@keyframes fastTravelRunnerLift{0%,to{opacity:.82;transform:translateY(8px)scale(.92)}50%{opacity:1;transform:translateY(-12px)scale(1.06)}}@keyframes fastTravelCoinOrbit{0%,to{opacity:.62;transform:translate(0,0)scale(.84)}50%{opacity:1;transform:translate(16px,-18px)scale(1.08)}}@keyframes fastTravelTransitLanePulse{0%,to{opacity:.72;transform:scaleX(.98)}50%{opacity:1;transform:scaleX(1)}}@keyframes fastTravelTransitStreak{0%{opacity:0;transform:translate(-16px)scaleX(.72)}22%{opacity:.92}to{opacity:0;transform:translate(52px)scaleX(1.08)}}@keyframes fastTravelTransitGateRing{0%{opacity:.22;transform:scale(.76)}34%{opacity:1;transform:scale(1.08)}to{opacity:.86;transform:scale(.96)}}@keyframes fastTravelTransitGateCore{0%{opacity:.24;transform:scale(.54)}28%{opacity:1;transform:scale(1.14)}to{opacity:.94;transform:scale(.98)}}@keyframes fastTravelTransitPlayerRun{0%{opacity:.95;transform:translate(0,0)scale(.96)}72%{opacity:1;transform:translate(106px,-8px)scale(1.01)}to{opacity:.05;transform:translate(138px,-12px)scale(.82)}}@media (width<=420px){.fast-travel-panel{border-radius:20px;width:100%}.fast-travel-heading span{font-size:10px}.fast-travel-node__copy strong{font-size:12px}.fast-travel-transit__portal{width:128px;height:128px}}.fast-travel-overlay{z-index:88;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(9px);background:radial-gradient(circle at 50% 42%,#7dd3fc33,#0000 36%),linear-gradient(#0f172a9e,#0f172ac7);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.fast-travel-panel{color:#182033;background:linear-gradient(#fffef7,#eefbff);border:1px solid #ffffffe6;border-radius:22px;flex-direction:column;width:min(94vw,720px);min-height:0;max-height:min(86vh,640px);display:flex;overflow:hidden;box-shadow:0 24px 72px #0206175c,inset 0 1px #fffffff5}.fast-travel-header{background:#ffffffb8;border-bottom:1px solid #0f172a12;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.fast-travel-heading{min-width:0}.fast-travel-heading p{display:none}.fast-travel-heading h2{color:#12203a;letter-spacing:0;margin:0;font-size:clamp(22px,3.3vw,30px);font-weight:950;line-height:1.02}.fast-travel-heading span{color:#637086;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;font-weight:850;line-height:1.25;display:block;overflow:hidden}.fast-travel-status{flex:none;align-items:center;gap:7px;display:flex}.fast-travel-status span{color:#475569;white-space:nowrap;background:#ffffffd6;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:950;line-height:1;display:inline-flex;box-shadow:inset 0 -2px #0f172a0a}.fast-travel-status .fa-coins{color:#d97706}.fast-travel-toolbar,.fast-travel-map-scroll{display:none}.fast-travel-map-wrap{background:linear-gradient(#e0f7ff94,#ecfdf58a),repeating-linear-gradient(135deg,#0f172a06 0 1px,#0000 1px 18px);flex:auto;min-height:0;padding:14px}.fast-travel-map-layer{aspect-ratio:1080/600;background:#dff7ff;border:1px solid #ffffffeb;border-radius:20px;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,inset 0 -14px 24px #0f766e0f,0 14px 30px #0f172a1c}.fast-travel-route-map{background:0 0;width:100%;height:100%;position:absolute;inset:0}.fast-travel-land{opacity:.88;stroke:#ffffffb8;stroke-width:8px;stroke-linejoin:round;filter:drop-shadow(0 8px 10px #0f172a0d)}.fast-travel-land--main{fill:url(#fastTravelGrassland)}.fast-travel-land--lake{fill:url(#fastTravelLake)}.fast-travel-land--farm{fill:#ffe88f}.fast-travel-land--ruin{fill:#e2ddff}.fast-travel-land--ridge{fill:url(#fastTravelRidge)}.fast-travel-land--peak{fill:#edf2f7}.fast-travel-map-ridge,.fast-travel-map-cloud,.fast-travel-map-shoreline{fill:none;stroke-linecap:round;stroke-linejoin:round}.fast-travel-map-ridge{stroke:#22c55e2e;stroke-width:68px}.fast-travel-map-cloud{stroke:#ffffff8c;stroke-width:28px}.fast-travel-map-shoreline{stroke:#f59e0b33;stroke-width:40px}.fast-travel-route-line{fill:none;stroke:#1f4e796b;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16 13;animation:2.4s linear infinite fastTravelRouteFlow}.fast-travel-map-label,.fast-travel-node{display:none}.fast-travel-pin{z-index:3;color:#172033;text-align:left;background:#ffffffe6;border:0;border-radius:999px;grid-template-columns:30px minmax(0,auto);align-items:center;gap:5px;width:auto;max-width:min(132px,18vw);min-height:38px;padding:4px 8px 4px 4px;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 20px #0f172a29,inset 0 1px #ffffffe6}.fast-travel-pin:before{content:"";background:#2dd4bf38;border-radius:999px;width:28px;height:28px;animation:1.9s ease-in-out infinite fastTravelPinPulse;position:absolute;top:50%;left:15px;transform:translate(-50%,-50%)scale(1)}.fast-travel-pin:not(:disabled):hover{transform:translate(-50%,-54%)scale(1.04);box-shadow:0 14px 26px #14b8a638,inset 0 1px #ffffffeb}.fast-travel-pin:disabled{cursor:default}.fast-travel-pin__dot{z-index:1;color:#0f766e;background:linear-gradient(#ccfbf1,#99f6e4);border-radius:999px;place-items:center;width:30px;height:30px;font-size:13px;display:grid;position:relative;box-shadow:inset 0 -2px #0f766e1a}.fast-travel-pin__label{z-index:1;gap:2px;min-width:0;display:grid;position:relative}.fast-travel-pin__label strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:950;line-height:1;overflow:hidden}.fast-travel-pin__label em{color:#0f766e;white-space:nowrap;font-size:10px;font-style:normal;font-weight:950;line-height:1}.fast-travel-pin--lake .fast-travel-pin__dot{color:#0369a1;background:linear-gradient(#bae6fd,#67e8f9)}.fast-travel-pin--farm .fast-travel-pin__dot{color:#92400e;background:linear-gradient(#fef3c7,#facc15)}.fast-travel-pin--shore .fast-travel-pin__dot{color:#075985;background:linear-gradient(#fde68a,#93c5fd)}.fast-travel-pin--grave .fast-travel-pin__dot{color:#5b21b6;background:linear-gradient(#e9d5ff,#cbd5e1)}.fast-travel-pin--ruins .fast-travel-pin__dot{color:#4c1d95;background:linear-gradient(#ddd6fe,#99f6e4)}.fast-travel-pin--ridge .fast-travel-pin__dot{color:#166534;background:linear-gradient(#bbf7d0,#cbd5e1)}.fast-travel-pin--peak .fast-travel-pin__dot{color:#334155;background:linear-gradient(#e0f2fe,#f8fafc)}.fast-travel-pin--current{background:#eff6fff0;outline:3px solid #3b82f647}.fast-travel-pin--current .fast-travel-pin__label em{color:#2563eb}.fast-travel-pin--locked,.fast-travel-pin--poor{opacity:.66;filter:saturate(.72)}.fast-travel-pin--locked .fast-travel-pin__label em,.fast-travel-pin--poor .fast-travel-pin__label em{color:#b45309}.fast-travel-pin--locked:before,.fast-travel-pin--poor:before{background:#94a3b838;animation:none}.fast-travel-footer{min-height:44px;padding:10px 16px max(12px, env(safe-area-inset-bottom));color:#526070;background:#ffffffc2;border-top:1px solid #0f172a12;flex:none;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:850;line-height:1.35;display:flex}.fast-travel-footer__warning{color:#b45309}.fast-travel-footer .fa-spin{color:#0f766e}.fast-travel-transit{z-index:8;-webkit-backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 42%,#ecfdf5c7,#0f172a6b 68%),#ffffff14;place-items:center;gap:12px;padding:18px;display:grid;position:absolute;inset:0}.fast-travel-transit__stage{--fast-travel-stage-accent:#2dd4bf;--fast-travel-stage-accent-soft:#2dd4bf2e;--fast-travel-stage-core:#3b82f6c7;background:linear-gradient(#ffffffeb,#edfeffbd),radial-gradient(circle at 18% 20%,#2dd4bf24,#0000 34%);border:1px solid #ffffff70;border-radius:28px;width:min(76vw,276px);height:152px;position:relative;overflow:hidden;box-shadow:0 18px 34px #0f172a2e,inset 0 1px #ffffffe6}.fast-travel-transit__stage--lake{--fast-travel-stage-accent:#22d3ee;--fast-travel-stage-accent-soft:#22d3ee33;--fast-travel-stage-core:#0ea5e9c7}.fast-travel-transit__stage--farm{--fast-travel-stage-accent:#f59e0b;--fast-travel-stage-accent-soft:#f59e0b2e;--fast-travel-stage-core:#facc15b8}.fast-travel-transit__stage--grave,.fast-travel-transit__stage--ruins{--fast-travel-stage-accent:#a78bfa;--fast-travel-stage-accent-soft:#a78bfa2e;--fast-travel-stage-core:#818cf8bd}.fast-travel-transit__stage--ridge,.fast-travel-transit__stage--peak{--fast-travel-stage-accent:#60a5fa;--fast-travel-stage-accent-soft:#60a5fa2e;--fast-travel-stage-core:#3b82f6cc}.fast-travel-transit__lane{background:linear-gradient(90deg, #ffffff1f, var(--fast-travel-stage-accent-soft), #ffffff14), linear-gradient(180deg, #94a3b847, #ffffff14);border-radius:999px;height:16px;animation:1.08s ease-in-out infinite fastTravelTransitLanePulse;position:absolute;bottom:24px;left:22px;right:22px;box-shadow:inset 0 1px #ffffff3d}.fast-travel-transit__streak{opacity:0;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);border-radius:999px;height:3px;animation:1s ease-out infinite fastTravelTransitStreak;position:absolute;left:24px;right:92px}.fast-travel-transit__streak--one{top:34px}.fast-travel-transit__streak--two{animation-delay:.2s;top:52px}.fast-travel-transit__gate-glow{background:radial-gradient(circle, #ffffffe0, #ffffff8a 20%, var(--fast-travel-stage-accent-soft) 46%, transparent 72%);filter:blur(3px);opacity:1;border-radius:999px;width:94px;height:94px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.fast-travel-transit__gate{width:74px;height:74px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.fast-travel-transit__gate-ring,.fast-travel-transit__gate-core{border-radius:999px;position:absolute;inset:0}.fast-travel-transit__gate-ring{box-shadow:0 0 0 6px #ffffff1f, 0 0 24px var(--fast-travel-stage-accent-soft);border:3px solid #ffffffd1;animation:.78s cubic-bezier(.22,.84,.24,1) infinite fastTravelTransitGateRing}.fast-travel-transit__gate-core{background:radial-gradient(circle at 42% 36%, #fff, #ffffffc2 16%, #ffffff42 28%, var(--fast-travel-stage-core) 58%, #0f172a0a 74%, transparent 82%);box-shadow:0 0 18px #ffffff52, 0 0 28px var(--fast-travel-stage-accent-soft);animation:.72s cubic-bezier(.26,.88,.3,1) infinite fastTravelTransitGateCore;inset:10px}.fast-travel-transit__player{z-index:1;-o-object-fit:contain;object-fit:contain;transform-origin:50% 100%;backface-visibility:hidden;will-change:transform, opacity;filter:drop-shadow(0 14px 18px #0f172a38);width:108px;height:auto;animation:.88s cubic-bezier(.22,.88,.24,1) infinite fastTravelTransitPlayerRun;position:absolute;bottom:10px;left:22px}.fast-travel-transit__player--fallback{background:linear-gradient(#fde68a 0 28%,#8b5cf6 29% 74%,#475569 75% 100%);border-radius:16px 16px 10px 10px;width:34px;height:66px}.fast-travel-transit__copy{color:#0f172a;text-align:center;background:#ffffffe6;border:1px solid #ffffffdb;border-radius:16px;gap:4px;min-width:min(82vw,250px);padding:10px 14px;display:grid;box-shadow:0 16px 32px #0f172a33}.fast-travel-transit__copy strong{font-size:15px;font-weight:950}.fast-travel-transit__copy span{color:#0f766e;font-size:12px;font-weight:950}.fast-travel-cinematic{--fast-travel-cinematic-color:#14b8a6;--fast-travel-cinematic-soft:#14b8a63d;--fast-travel-cinematic-core:#3b82f6b8;--fast-travel-arrival-lift:clamp(34px, 5.8vh, 54px);--fast-travel-target-y:calc(50% - var(--fast-travel-arrival-lift));z-index:96;border-radius:inherit;color:#f8fafc;pointer-events:auto;background:radial-gradient(circle at 50% 43%, var(--fast-travel-cinematic-soft), transparent 28%), linear-gradient(180deg, #0f172a52, #0f172ac7);isolation:isolate;contain:paint;backface-visibility:hidden;will-change:opacity;place-items:center;animation:.3s both fastTravelCinematicIn;display:grid;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.fast-travel-cinematic--arriving{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicReveal}.fast-travel-cinematic--lake{--fast-travel-cinematic-color:#06b6d4;--fast-travel-cinematic-soft:#22d3ee3d;--fast-travel-cinematic-core:#0ea5e9bd}.fast-travel-cinematic--farm{--fast-travel-cinematic-color:#f59e0b;--fast-travel-cinematic-soft:#f59e0b3d;--fast-travel-cinematic-core:#facc15b8}.fast-travel-cinematic--grave,.fast-travel-cinematic--ruins{--fast-travel-cinematic-color:#8b5cf6;--fast-travel-cinematic-soft:#8b5cf63d;--fast-travel-cinematic-core:#818cf8bd}.fast-travel-cinematic--ridge,.fast-travel-cinematic--peak{--fast-travel-cinematic-color:#3b82f6;--fast-travel-cinematic-soft:#3b82f63d;--fast-travel-cinematic-core:#60a5fac7}.fast-travel-cinematic__vignette{background:radial-gradient(circle at 50% 46%,#0000 0 28%,#0206176b 65%,#020617b3),linear-gradient(#f0fdfa29,#3b82f61f);position:absolute;inset:0}.fast-travel-cinematic--arriving .fast-travel-cinematic__vignette{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicVignetteArrive}.fast-travel-cinematic__road{transform-origin:bottom;background:linear-gradient(90deg, transparent 0 15%, #ffffff3d 15% 16%, transparent 16% 84%, #ffffff3d 84% 85%, transparent 85%), linear-gradient(180deg, var(--fast-travel-cinematic-soft), #0ea5e91a);width:min(92%,520px);height:54%;box-shadow:0 0 64px var(--fast-travel-cinematic-soft);opacity:.86;backface-visibility:hidden;will-change:opacity, transform;border-radius:999px 999px 0 0;animation:.92s both fastTravelCinematicRoadOpen;position:absolute;bottom:-12%;left:50%;transform:translate(-50%)perspective(360px)rotateX(64deg)}.fast-travel-cinematic__road span{background:#ffffffbd;border-radius:999px;width:14px;height:44px;animation:1.1s linear infinite fastTravelCinematicRoadMark;position:absolute;top:16%;left:50%;transform:translate(-50%)}.fast-travel-cinematic__road span:nth-child(2){animation-delay:-.36s}.fast-travel-cinematic__road span:nth-child(3){animation-delay:-.72s}.fast-travel-cinematic--arriving .fast-travel-cinematic__road{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicRoadClose}.fast-travel-cinematic__cue{z-index:2;background:radial-gradient(circle at 50% 34%, #ffffff5c, transparent 56%), color-mix(in srgb, var(--fast-travel-cinematic-color) 28%, #0f172a4d);color:#fff;opacity:0;backface-visibility:hidden;will-change:opacity, transform;border:1px solid #ffffff6b;border-radius:18px;place-items:center;width:54px;height:54px;font-size:23px;animation:.62s .16s both fastTravelCinematicCueIn;display:grid;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff57,0 18px 30px #02061738}.fast-travel-cinematic__cue:after{content:"";border:1px solid color-mix(in srgb, var(--fast-travel-cinematic-color) 36%, #ffffff80);opacity:.52;border-radius:22px;animation:1.5s ease-in-out infinite fastTravelCinematicCuePulse;position:absolute;inset:-9px}.fast-travel-cinematic--arriving .fast-travel-cinematic__cue{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicCueArrive}.fast-travel-cinematic__target{left:50%;top:var(--fast-travel-target-y);z-index:1;aspect-ratio:1;opacity:0;pointer-events:none;border-radius:999px;width:clamp(50px,13vw,78px);position:absolute;transform:translate(-50%,-50%)scale(.7)}.fast-travel-cinematic__target span{border-radius:inherit;position:absolute;inset:0}.fast-travel-cinematic__target span:first-child{box-shadow:0 0 24px var(--fast-travel-cinematic-soft);border:2px solid #ffffffc7}.fast-travel-cinematic__target span:last-child{background:color-mix(in srgb, var(--fast-travel-cinematic-color) 52%, #ffffffb8);box-shadow:0 0 18px color-mix(in srgb, var(--fast-travel-cinematic-color) 56%, white);border:0;inset:24%}.fast-travel-cinematic--arriving .fast-travel-cinematic__target{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicTargetLock}.fast-travel-cinematic__runner{z-index:3;will-change:transform, opacity, filter;backface-visibility:hidden;place-items:center;animation:.92s both fastTravelCinematicRun;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,calc(48px - 50%))scale(.88)}.fast-travel-cinematic--syncing .fast-travel-cinematic__runner{animation:1.4s ease-in-out infinite fastTravelCinematicHold}.fast-travel-cinematic--arriving .fast-travel-cinematic__runner{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicArrive}.fast-travel-cinematic__runner img{z-index:1;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 22px 24px #02061752);width:clamp(98px,20vw,138px);height:clamp(98px,20vw,138px);position:relative}.fast-travel-cinematic__aura{aspect-ratio:1;background:radial-gradient(circle, #fff6, var(--fast-travel-cinematic-soft) 48%, transparent 70%);width:clamp(144px,30vw,220px);box-shadow:0 0 60px var(--fast-travel-cinematic-soft);border:1px solid #ffffff38;border-radius:999px;animation:1.4s ease-in-out infinite fastTravelCinematicAura;position:absolute}.fast-travel-cinematic--arriving .fast-travel-cinematic__aura{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicAuraCollapse}.fast-travel-cinematic__fallback{background:linear-gradient(#fde68a 0 28%,#4f8df7 29% 74%,#1e293b 75% 100%);border-radius:16px 16px 10px 10px;width:36px;height:68px}.fast-travel-cinematic__copy{left:50%;bottom:max(7%, env(safe-area-inset-bottom));z-index:4;text-align:center;text-shadow:0 5px 16px #02061770;background:linear-gradient(#0f172a75,#0f172a3d);border:1px solid #ffffff2e;border-radius:22px;justify-items:center;gap:5px;width:min(82%,390px);max-width:calc(100% - 32px);padding:12px 16px;animation:.56s .18s both fastTravelCinematicCopyIn;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 20px 42px #0206172e,inset 0 1px #ffffff1f}.fast-travel-cinematic--arriving .fast-travel-cinematic__copy{animation:1.12s cubic-bezier(.22,1,.36,1) both fastTravelCinematicCopyOut}.fast-travel-cinematic__copy strong{color:#fff;letter-spacing:0;font-size:clamp(21px,4.2vw,32px);font-weight:950;line-height:1.08}.fast-travel-cinematic__copy p{color:#f8fafce0;margin:0;font-size:clamp(13px,2.8vw,16px);font-weight:850}@keyframes fastTravelPinPulse{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(.82)}50%{opacity:.08;transform:translate(-50%,-50%)scale(1.42)}}@keyframes fastTravelCinematicIn{0%{opacity:0}to{opacity:1}}@keyframes fastTravelCinematicReveal{0%,62%{opacity:1}82%{opacity:.36}to{opacity:.08}}@keyframes fastTravelCinematicVignetteArrive{0%{opacity:1}45%{opacity:.62}to{opacity:0}}@keyframes fastTravelCinematicRoadOpen{0%{opacity:0;transform:translate(-50%)perspective(360px)rotateX(70deg)translateY(58px)scaleX(.72)}to{opacity:.86;transform:translate(-50%)perspective(360px)rotateX(64deg)translateY(0)scaleX(1)}}@keyframes fastTravelCinematicRoadClose{0%{opacity:.86;transform:translate(-50%)perspective(360px)rotateX(64deg)translateY(0)scaleX(1)}42%{opacity:.54;transform:translate(-50%)perspective(360px)rotateX(66deg)translateY(26px)scaleX(.9)}to{opacity:0;transform:translate(-50%)perspective(360px)rotateX(70deg)translateY(96px)scaleX(.42)}}@keyframes fastTravelCinematicRoadMark{0%{opacity:0;top:10%;transform:translate(-50%)scale(.74)}35%{opacity:.82}to{opacity:0;top:84%;transform:translate(-50%)scale(1.25)}}@keyframes fastTravelCinematicCueIn{0%{opacity:0;transform:translate(-50%)translateY(-14px)scale(.86)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes fastTravelCinematicCuePulse{0%,to{opacity:.34;transform:scale(.92)}50%{opacity:.72;transform:scale(1.06)}}@keyframes fastTravelCinematicCueArrive{0%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}34%{opacity:.84;transform:translate(-50%)translateY(-4px)scale(1.04)}to{opacity:0;transform:translate(-50%)translateY(-24px)scale(.8)}}@keyframes fastTravelCinematicTargetLock{0%,22%{opacity:0;transform:translate(-50%,-50%)scale(.62)}34%{opacity:.92;transform:translate(-50%,-50%)scale(1.08)}70%{opacity:.78;transform:translate(-50%,-50%)scale(.92)}to{opacity:0;transform:translate(-50%,-50%)scale(.28)}}@keyframes fastTravelCinematicRun{0%{opacity:0;transform:translate(-50%,calc(72px - 50%))scale(.68)}62%{opacity:1;transform:translate(-50%,calc(-50% - 10px))scale(.98)}to{opacity:1;transform:translate(-50%,calc(6px - 50%))scale(.92)}}@keyframes fastTravelCinematicHold{0%,to{opacity:1;transform:translate(-50%,calc(6px - 50%))scale(.92)}50%{opacity:1;transform:translate(-50%,calc(-50% - 4px))scale(.94)}}@keyframes fastTravelCinematicArrive{0%{opacity:1;filter:saturate();transform:translate(-50%,calc(6px - 50%))scale(.92)}22%{opacity:1;filter:saturate(1.08)brightness(1.02);transform:translate(-50%,calc(-50% - 18px))scale(1.04)}54%{opacity:1;transform:translate(-50%, calc(-50% + 42px - var(--fast-travel-arrival-lift))) scale(.54)}78%{opacity:.92;filter:saturate(1.12)brightness(1.08);transform:translate(-50%, calc(-50% - var(--fast-travel-arrival-lift))) scale(.22)}to{opacity:0;filter:saturate(1.18)brightness(1.18);transform:translate(-50%, calc(-50% - var(--fast-travel-arrival-lift))) scale(.12)}}@keyframes fastTravelCinematicAura{0%,to{opacity:.54;transform:scale(.94)}50%{opacity:.88;transform:scale(1.06)}}@keyframes fastTravelCinematicAuraCollapse{0%{opacity:.78;transform:scale(1)}48%{opacity:.72;transform:scale(.62)}78%{opacity:.42;transform:scale(.24)}to{opacity:0;transform:scale(.08)}}@keyframes fastTravelCinematicCopyIn{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fastTravelCinematicCopyOut{0%,58%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(28px)}}@media (width<=560px){.fast-travel-overlay{padding:8px}.fast-travel-panel{border-radius:20px;width:100%;max-height:min(86vh,560px)}.fast-travel-header{padding:12px}.fast-travel-heading h2{font-size:23px}.fast-travel-heading span{max-width:48vw;font-size:11px}.fast-travel-status{gap:5px}.fast-travel-status span{min-height:28px;padding:0 8px;font-size:11px}.fast-travel-map-wrap{padding:10px}.fast-travel-map-layer{border-radius:18px}.fast-travel-pin{grid-template-columns:26px minmax(0,auto);gap:4px;max-width:112px;min-height:34px;padding:4px 7px 4px 4px}.fast-travel-pin__dot{width:26px;height:26px;font-size:11px}.fast-travel-pin__label strong{font-size:11px}.fast-travel-pin__label em{font-size:9px}.fast-travel-footer{min-height:40px;padding:9px 12px max(10px, env(safe-area-inset-bottom));font-size:11px}}.fast-travel-overlay{-webkit-backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 28%,#bae6fd3d,#0000 34%),linear-gradient(#0f172a8a,#0f172ac2)}.fast-travel-panel{background:linear-gradient(#fffdf5,#f2fbff);border:1px solid #ffffffd6;border-radius:22px;width:min(94vw,640px);max-height:min(88vh,620px);box-shadow:0 26px 78px #0206175c,inset 0 1px #fffffff0}.fast-travel-header{background:#ffffffb8;padding:14px 16px}.fast-travel-heading h2{font-size:clamp(23px,3.1vw,30px);line-height:1.04}.fast-travel-heading span{color:#64748b;max-width:min(440px,52vw);font-size:12px;font-weight:850}.fast-travel-status span{color:#475569;background:#ffffffdb;min-height:30px}.fast-travel-map-wrap,.fast-travel-map-layer,.fast-travel-route-map,.fast-travel-pin{display:none}.fast-travel-destination-body{background:linear-gradient(#e0f2fe52,#f0fdfa6b),repeating-linear-gradient(135deg,#0f172a05 0 1px,#0000 1px 20px);flex:auto;min-height:0;padding:14px;position:relative;overflow:auto}.fast-travel-route-backdrop{background:linear-gradient(135deg,#dbeafec7,#dcfce7a8),linear-gradient(#f8fafc,#ecfeff);border:1px solid #ffffffdb;border-radius:18px;height:104px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd6,0 12px 26px #0f172a14}.fast-travel-route-backdrop__land{opacity:.72;border-radius:999px;position:absolute}.fast-travel-route-backdrop__land--a{background:#b8f3c8;width:56%;height:86px;bottom:-38px;left:-5%}.fast-travel-route-backdrop__land--b{background:#9ee7f7;width:34%;height:92px;top:-34px;right:9%}.fast-travel-route-backdrop__land--c{background:#fee89a;width:46%;height:92px;bottom:-42px;right:-8%}.fast-travel-route-rail{background:linear-gradient(90deg,#14b8a638,#3b82f652,#f59e0b3d);border-radius:999px;height:3px;position:absolute;top:50%;left:42px;right:42px;transform:translateY(-50%)}.fast-travel-route-step{color:#0f766e;background:#ffffffe0;border:2px solid #ffffffeb;border-radius:999px;place-items:center;width:28px;height:28px;font-size:11px;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 6px 14px #0f172a24}.fast-travel-route-step--current{color:#1d4ed8;background:#dbeafe;box-shadow:0 0 0 5px #3b82f624,0 8px 18px #2563eb2e}.fast-travel-route-step--locked{color:#94a3b8;opacity:.58}.fast-travel-destination-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.fast-travel-destination{color:#162033;text-align:left;background:#ffffffd1;border:1px solid #0f172a12;border-radius:16px;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:5px 8px;min-width:0;min-height:72px;padding:9px;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffdb,0 9px 18px #0f172a12}.fast-travel-destination:not(:disabled):hover{background:#fffffff0;border-color:#14b8a657;transform:translateY(-2px);box-shadow:inset 0 1px #ffffffeb,0 13px 24px #14b8a624}.fast-travel-destination:disabled{cursor:default}.fast-travel-destination__icon{color:#0f766e;background:linear-gradient(#ccfbf1,#99f6e4);border-radius:12px;grid-row:1/3;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.fast-travel-destination__copy{gap:3px;min-width:0;display:grid}.fast-travel-destination__copy strong{color:#162033;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;line-height:1.05;overflow:hidden}.fast-travel-destination__status{color:#0f766e;text-overflow:ellipsis;white-space:nowrap;background:#dcfce7;border-radius:999px;justify-self:start;max-width:100%;padding:5px 8px;font-size:10px;font-weight:950;line-height:1;overflow:hidden}.fast-travel-destination--lake .fast-travel-destination__icon{color:#0369a1;background:linear-gradient(#bae6fd,#67e8f9)}.fast-travel-destination--farm .fast-travel-destination__icon{color:#92400e;background:linear-gradient(#fef3c7,#facc15)}.fast-travel-destination--shore .fast-travel-destination__icon{color:#075985;background:linear-gradient(#fde68a,#93c5fd)}.fast-travel-destination--grave .fast-travel-destination__icon{color:#5b21b6;background:linear-gradient(#e9d5ff,#cbd5e1)}.fast-travel-destination--ruins .fast-travel-destination__icon{color:#4c1d95;background:linear-gradient(#ddd6fe,#99f6e4)}.fast-travel-destination--ridge .fast-travel-destination__icon{color:#166534;background:linear-gradient(#bbf7d0,#cbd5e1)}.fast-travel-destination--peak .fast-travel-destination__icon{color:#334155;background:linear-gradient(#e0f2fe,#f8fafc)}.fast-travel-destination--current{background:#eff6ffe0;border-color:#3b82f652}.fast-travel-destination--current .fast-travel-destination__status{color:#2563eb;background:#dbeafe}.fast-travel-destination--locked,.fast-travel-destination--poor{opacity:.66;filter:saturate(.68)}.fast-travel-destination--locked .fast-travel-destination__status,.fast-travel-destination--poor .fast-travel-destination__status{color:#b45309;background:#fee2e2}.fast-travel-footer{color:#64748b;background:#ffffffc7;min-height:42px}.fast-travel-destination-body .fast-travel-transit{border-radius:0}@media (width<=560px){.fast-travel-panel{max-height:min(88vh,600px)}.fast-travel-heading span{max-width:44vw}.fast-travel-destination-body{padding:10px}.fast-travel-route-backdrop{border-radius:16px;height:88px}.fast-travel-route-rail{left:28px;right:28px}.fast-travel-route-step{width:24px;height:24px;font-size:10px}.fast-travel-destination-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fast-travel-destination{grid-template-columns:30px minmax(0,1fr);min-height:66px;padding:8px}.fast-travel-destination__icon{border-radius:10px;width:30px;height:30px;font-size:12px}.fast-travel-destination__copy strong{font-size:12px}.fast-travel-destination__copy small{font-size:9px}}.fast-travel-destination-list{grid-template-columns:minmax(0,1fr);gap:10px;padding-left:18px;position:relative}.fast-travel-destination-list:before{content:"";background:linear-gradient(#14b8a659,#3b82f647,#f59e0b40);border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:18px}.fast-travel-destination{background:linear-gradient(#ffffffe6,#f8fafcd1),radial-gradient(circle at 0 0,#2dd4bf14,#0000 44%);border-radius:18px;grid-template-rows:auto;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;min-height:92px;padding:12px 14px 12px 16px;overflow:visible}.fast-travel-destination:before{content:"";background:#14b8a640;border-radius:999px;width:18px;height:3px;position:absolute;top:50%;left:-18px;transform:translateY(-50%)}.fast-travel-destination__order{z-index:2;color:#0f766e;background:#fff;border:2px solid #ffffffeb;border-radius:999px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:950;display:grid;position:absolute;top:50%;left:-15px;transform:translateY(-50%);box-shadow:0 6px 14px #0f172a1f}.fast-travel-destination__icon{border-radius:14px;grid-row:auto;width:42px;height:42px;box-shadow:inset 0 -3px #0f172a0f}.fast-travel-destination__copy{gap:5px}.fast-travel-destination__route{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.15;overflow:hidden}.fast-travel-destination__links{color:#2563eb;text-overflow:ellipsis;white-space:nowrap;background:#dbeafe94;border-radius:999px;width:fit-content;max-width:100%;padding:4px 8px;font-size:10px;font-weight:900;line-height:1.15;display:inline-flex;overflow:hidden}.fast-travel-destination__copy strong{font-size:16px;line-height:1.08}.fast-travel-destination__copy small{color:#64748b;text-overflow:clip;white-space:normal;font-size:12px;font-weight:850;line-height:1.32;overflow:visible}.fast-travel-destination__status{background:#d9fbe8;place-self:center end;font-size:11px}.fast-travel-destination--current{background:linear-gradient(#eff6fff5,#dbeafec7),radial-gradient(circle at 0 0,#3b82f61f,#0000 42%)}.fast-travel-destination--current .fast-travel-destination__order{color:#2563eb;background:#dbeafe}.fast-travel-destination--locked,.fast-travel-destination--poor{opacity:.82;filter:none;background:linear-gradient(#ffffffb3,#f8fafc94),radial-gradient(circle at 0 0,#94a3b817,#0000 40%)}.fast-travel-destination--locked .fast-travel-destination__order,.fast-travel-destination--poor .fast-travel-destination__order{color:#94a3b8}.fast-travel-destination--locked .fast-travel-destination__copy small,.fast-travel-destination--poor .fast-travel-destination__copy small{color:#7c8797}.fast-travel-destination--locked .fast-travel-destination__links,.fast-travel-destination--poor .fast-travel-destination__links{color:#64748b;background:#e2e8f0b8}@media (width<=560px){.fast-travel-destination-list{grid-template-columns:minmax(0,1fr);padding-left:14px}.fast-travel-destination-list:before{left:14px}.fast-travel-destination{grid-template-columns:36px minmax(0,1fr);gap:8px;min-height:88px;padding:10px 11px 10px 13px}.fast-travel-destination__order{width:26px;height:26px;font-size:9px;left:-13px}.fast-travel-destination:before{width:14px;left:-14px}.fast-travel-destination__icon{border-radius:12px;width:36px;height:36px}.fast-travel-destination__copy strong{font-size:15px}.fast-travel-destination__copy small{font-size:11px}.fast-travel-destination__links{white-space:normal;font-size:9px}.fast-travel-destination__status{grid-column:2;place-self:start}}.auth-page{isolation:isolate;color:#0f172a;justify-content:center;align-items:center;padding:clamp(12px,3vw,30px);overflow:hidden}.auth-page:before{pointer-events:none}.auth-scenery{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-cloud{background:#ffffff8a;border-radius:999px;height:7px;animation:13s ease-in-out infinite auth-cloud-drift;position:absolute;box-shadow:32px 12px #ffffff57,78px -8px #ffffff4d,0 18px 34px #0ea5e91a}.auth-cloud--one{width:clamp(100px,20vw,220px);top:12%;left:7%}.auth-cloud--two{width:clamp(120px,24vw,260px);animation-delay:-5s;top:28%;right:10%}.auth-pokemon{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 24px 24px #0f172a29);transform-origin:bottom;animation:5.5s ease-in-out infinite auth-pokemon-float;position:absolute}.auth-pokemon--pikachu{width:clamp(92px,14vw,160px);animation-delay:-2s;bottom:max(22px,10vh);right:max(18px,7vw)}.auth-pokemon--eevee,.auth-pokemon--squirtle{opacity:.88;width:clamp(92px,13vw,150px);animation-delay:-3.5s;top:max(72px,14vh);right:max(80px,18vw)}.auth-shell{z-index:2;background:linear-gradient(135deg,#ffffffbd,#f0fdfa9e),linear-gradient(#bae6fd57,#fef9c338);border:1px solid #ffffffe6;border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:18px;width:min(100%,980px);min-height:min(720px,100dvh - clamp(24px,6vw,60px));padding:12px;display:grid;position:relative;box-shadow:0 30px 80px #0f172a33,inset 0 1px #ffffffeb}.auth-hero{background:linear-gradient(160deg,#0ea5e92e,#0000 46%),linear-gradient(24deg,#16a34a2e,#0000 42%),radial-gradient(circle at 68% 28%,#fbbf2452,#0000 26%),#ffffff94;border-radius:24px;flex-direction:column;justify-content:flex-end;gap:16px;min-width:0;padding:clamp(22px,4vw,42px);display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffc2}.auth-badge{color:#0f766e;background:#f0fdfad1;border:1px solid #0f766e29;border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:100%;min-height:32px;padding:5px 12px;font-size:13px;font-weight:950;display:inline-flex}.auth-hero h1{color:#0f172a;letter-spacing:0;max-width:420px;margin:0;font-size:clamp(42px,7vw,74px);font-weight:950;line-height:.95}.auth-hero p{color:#334155;max-width:360px;margin:0;font-size:clamp(16px,2.3vw,20px);font-weight:850;line-height:1.55}.auth-route-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,420px);display:grid}.auth-route-card span{color:#334155;text-align:center;background:#ffffffad;border:1px solid #ffffffad;border-radius:16px;place-items:center;gap:5px;min-width:0;min-height:70px;padding:8px;font-size:12px;font-weight:950;display:grid;box-shadow:inset 0 1px #ffffffc7}.auth-panel{z-index:3;pointer-events:auto;background:#ffffffdb;border:1px solid #ffffffd1;border-radius:24px;flex-direction:column;justify-content:center;gap:18px;min-width:0;padding:clamp(18px,3.2vw,30px);display:flex;position:relative;box-shadow:0 18px 42px #0f172a1f,inset 0 1px #ffffffeb}.auth-panel__header span{color:#0369a1;background:#0ea5e91a;border-radius:999px;align-items:center;min-height:26px;padding:3px 9px;font-size:12px;font-weight:950;display:inline-flex}.auth-panel__header h2{color:#0f172a;letter-spacing:0;margin:10px 0 6px;font-size:clamp(28px,5vw,38px);font-weight:950;line-height:1.05}.auth-panel__header p{color:#64748b;margin:0;font-size:14px;font-weight:800;line-height:1.5}.auth-form{gap:13px;display:grid}.auth-field{color:#0f172a;gap:7px;font-weight:950;display:grid}.auth-field>span,.auth-role-picker legend{color:#334155;font-size:13px;font-weight:950;line-height:1.2}.auth-input-wrap{z-index:4;pointer-events:auto;background:#fffffff0;border:1px solid #94a3b847;border-radius:16px;align-items:center;gap:10px;min-height:52px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd6,0 8px 18px #0f172a0f}.auth-input-wrap:focus-within{background:#fff;border-color:#0ea5e9b8;box-shadow:0 0 0 4px #0ea5e924,0 12px 22px #0ea5e91a,inset 0 1px #ffffffeb}.auth-input-wrap>i{color:#0f766e;pointer-events:none;flex:0 0 44px;place-items:center;width:44px;font-size:16px;display:grid}.auth-input-wrap input{z-index:2;color:#0f172a;width:100%;min-width:0;height:52px;font:inherit;letter-spacing:0;caret-color:#0284c7;pointer-events:auto;-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:0;font-size:16px;font-weight:850;position:relative}.auth-input-wrap input::placeholder{color:#94a3b8;opacity:1}.auth-input-wrap input:-webkit-autofill{-webkit-text-fill-color:#0f172a;transition:background-color 9999s ease-in-out;box-shadow:inset 0 0 0 1000px #fffffff0}.auth-input-wrap--password input{padding-right:48px}.auth-password-toggle{z-index:5;color:#475569;cursor:pointer;background:#e2e8f094;border:0;border-radius:12px;place-items:center;width:40px;height:40px;transition:background .12s,color .12s,transform .12s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-password-toggle:active{transform:translateY(calc(1px - 50%))}.auth-password-toggle:hover{color:#0369a1;background:#bae6fdbd}.auth-error{color:#991b1b;background:#fee2e2e6;border:1px solid #fecacaeb;border-radius:14px;align-items:flex-start;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:900;line-height:1.45;display:flex}.auth-error i{margin-top:2px}.auth-notice{color:#0f766e;background:#ccfbf1c2;border:1px solid #14b8a642;border-radius:14px;align-items:flex-start;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:900;line-height:1.45;display:flex}.auth-notice i{margin-top:2px}.auth-submit{border-radius:16px;width:100%;min-height:52px;font-size:15px}.auth-switch{color:#64748b;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:850;display:flex}.auth-switch button{color:#0369a1;cursor:pointer;background:0 0;border:0;font-weight:950}.auth-switch button:hover{text-decoration:underline}.auth-role-picker{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.auth-role-picker div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-role-button{color:#334155;background:#ffffffb8;border:1px solid #94a3b847;border-radius:15px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:950;display:inline-flex;box-shadow:inset 0 1px #ffffffc7}.auth-role-button--active{color:#0f172a;background:linear-gradient(#fffffff5,#dbeafed1);border-color:#0ea5e97a;box-shadow:0 10px 18px #0ea5e91f,inset 0 1px #ffffffe0}@keyframes auth-cloud-drift{0%,to{opacity:.45;transform:translate(0,0)}50%{opacity:.75;transform:translate(20px,-8px)}}@keyframes auth-pokemon-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.02)}}@media (width<=820px){.auth-page{justify-content:flex-start;padding:0;overflow-y:auto}.auth-shell{border-radius:0;grid-template-columns:1fr;gap:10px;width:100%;min-height:100dvh;padding:10px}.auth-hero{border-radius:22px;justify-content:flex-end;min-height:210px;padding:22px}.auth-route-card{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-route-card span{min-height:58px;font-size:11px}.auth-panel{border-radius:22px;justify-content:flex-start}.auth-pokemon--bulbasaur,.auth-pokemon--charmander{opacity:.5;width:104px;bottom:10px;left:14px}.auth-pokemon--pikachu{opacity:.58;width:92px;bottom:16px;right:12px}.auth-pokemon--eevee,.auth-pokemon--squirtle{display:none}}@media (width<=460px){.auth-shell{padding:8px}.auth-hero{min-height:190px;padding:18px}.auth-hero h1{font-size:38px}.auth-hero p{font-size:14px}.auth-route-card{gap:6px}.auth-route-card span{min-height:52px;padding:6px 4px}.auth-route-card i{font-size:17px}.auth-panel{padding:16px}.auth-input-wrap,.auth-input-wrap input{height:50px;min-height:50px}.auth-input-wrap>i{flex-basis:40px;width:40px}}@media (prefers-reduced-motion:reduce){.auth-cloud,.auth-pokemon{animation:none}}.auth-page{padding:calc(clamp(10px, 2.4vw, 26px) + env(safe-area-inset-top)) clamp(10px, 2.4vw, 26px) calc(clamp(10px, 2.4vw, 26px) + env(safe-area-inset-bottom));color:#1f2937;background:linear-gradient(#bfe8ffeb 0%,#e7f8fff2 38%,#f4fdeaf5 39%,#ddf5c0f0 100%),repeating-linear-gradient(45deg,#fff3 0 1px,#0000 1px 22px);justify-content:center;align-items:center;overflow:hidden}.auth-page:before{pointer-events:none;background:linear-gradient(90deg,#ffffff47,#0000 18%,#fff7b738 44%,#0000 75%,#fff3),repeating-linear-gradient(0deg,#0000 0 42px,#ffffff29 42px 44px)}.auth-scenery:before,.auth-scenery:after{content:"";pointer-events:none;position:absolute}.auth-scenery:before{background:radial-gradient(at 22% 22%,#ffffff75 0 14%,#0000 15%),radial-gradient(at 76% 18%,#ffffff57 0 12%,#0000 13%),linear-gradient(#a4de89fa,#5fbf79f0);border-radius:50% 50% 0 0;height:250px;bottom:-110px;left:-10%;right:-10%;box-shadow:inset 0 22px #ffffff2e}.auth-scenery:after{filter:blur(.2px);background:linear-gradient(#fff7d2b8,#facc7242);border-radius:50% 50% 0 0;width:min(42vw,390px);height:74px;bottom:-24px;left:50%;transform:translate(-50%)}.auth-cloud{background:#ffffffd1;height:9px;box-shadow:28px 12px #ffffff94,66px -7px #ffffff80,106px 10px #ffffff61,0 18px 28px #38bdf81a}.auth-cloud--one{top:10%;left:5%}.auth-cloud--two{top:22%;right:7%}.auth-pokemon{filter:drop-shadow(0 22px 24px #32402a33);opacity:.78;display:block}.auth-pokemon--bulbasaur,.auth-pokemon--charmander{width:clamp(96px,13vw,168px);bottom:max(10px,7vh);left:max(10px,4vw)}.auth-pokemon--pikachu{width:clamp(84px,11vw,142px);bottom:max(18px,8vh);right:max(12px,5vw)}.auth-pokemon--eevee,.auth-pokemon--squirtle{width:clamp(82px,10vw,132px);display:block;top:max(58px,11vh);right:max(62px,16vw)}.auth-shell{background:linear-gradient(135deg,#ffffffdb,#effdf4b8),linear-gradient(#bae6fd6b,#fef9c352);border:2px solid #ffffffeb;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(350px,430px);gap:clamp(10px,1.8vw,18px);width:min(100%,1100px);min-height:min(700px,100dvh - clamp(20px,5vw,58px));padding:clamp(9px,1.6vw,14px);box-shadow:0 28px 68px #33415533,inset 0 1px #fffffffa}.auth-hero{background:linear-gradient(#ffffff70,#ffffffb3),linear-gradient(145deg,#dbf4ffcc,#fff8cc94 54%,#dcfce7b3);border:1px solid #ffffffc2;border-radius:22px;grid-template-rows:minmax(255px,1fr) auto;place-content:stretch;gap:clamp(12px,2vw,18px);min-height:0;padding:clamp(16px,2.8vw,28px);display:grid;box-shadow:inset 0 1px #ffffffeb}.auth-mascot-stage{isolation:isolate;background:linear-gradient(#b0e1fff5 0%,#dbf4fff7 46%,#b8e787eb 47%,#86cd61e6 74%,#69b867f0 100%);border:1px solid #ffffffd1;border-radius:20px;min-height:248px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffffff2,inset 0 -18px 30px #4d7c0f1a,0 14px 28px #38bdf81f}.auth-mascot-stage:before,.auth-mascot-stage:after{content:"";pointer-events:none;position:absolute}.auth-mascot-stage:before{z-index:1;background:radial-gradient(at 14% 54%,#ffffff2e 0 10%,#0000 11%),radial-gradient(at 86%,#ffffff29 0 12%,#0000 13%),repeating-linear-gradient(90deg,#ffffff1f 0 7px,#0000 7px 20px),linear-gradient(#a7e274a3,#53ae5ee0);height:34%;bottom:0;left:0;right:0;box-shadow:inset 0 13px #ffffff24}.auth-mascot-stage:after{z-index:4;filter:blur(8px);background:#375f261f;border-radius:50%;height:26px;bottom:26px;left:7%;right:7%}.auth-scene-sun,.auth-scene-mountain,.auth-scene-tree,.auth-scene-path,.auth-scene-sign,.auth-scene-bush,.auth-scene-flowers{pointer-events:none;display:block;position:absolute}.auth-scene-sun{z-index:0;background:radial-gradient(circle,#fff7ad 0 42%,#ffec7a7a 43% 66%,#0000 67%);border-radius:999px;width:58px;height:58px;top:20px;right:10%;box-shadow:0 0 28px #facc153d}.auth-scene-mountain{z-index:0;clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.74;background:linear-gradient(135deg,#ffffff8c 0 22%,#0000 23%),linear-gradient(#7dd3fc57,#22c55e42);width:210px;height:90px;bottom:33%}.auth-scene-mountain--one{left:5%}.auth-scene-mountain--two{opacity:.58;width:176px;height:76px;right:7%}.auth-scene-tree{z-index:2;width:50px;height:82px;bottom:28%}.auth-scene-tree:before,.auth-scene-tree:after{content:"";position:absolute;left:50%;transform:translate(-50%)}.auth-scene-tree:before{background:linear-gradient(#b77938,#7c4a22);border-radius:7px;width:12px;height:38px;bottom:0}.auth-scene-tree:after{background:radial-gradient(circle at 28% 38%,#fff3 0 12%,#0000 13%),linear-gradient(#4ade80,#16a34a);border-radius:50% 50% 42% 42%;width:62px;height:58px;bottom:22px;box-shadow:-18px 9px 0 -5px #22c55e,18px 8px 0 -6px #15803d}.auth-scene-tree--left{left:2%}.auth-scene-tree--right{opacity:.9;bottom:31%;right:3%;transform:scale(.84)}.auth-scene-path{z-index:2;transform-origin:bottom;opacity:.88;background:repeating-linear-gradient(90deg,#ffffff38 0 10px,#0000 10px 24px),linear-gradient(#ffe8a6b8,#e0b05e6b);border-radius:999px 999px 0 0;width:25%;height:44%;bottom:0;left:38%;transform:perspective(160px)rotateX(52deg)}.auth-scene-sign{z-index:6;transform-origin:bottom;background:linear-gradient(#fee8a9,#f7c875);border:2px solid #784a1ca6;border-radius:8px;width:42px;height:32px;bottom:57%;right:clamp(28px,7%,58px);transform:scale(.86)rotate(10deg);box-shadow:0 8px 10px #5c371424}.auth-scene-sign:before{content:"";background:#8b5a2b;border-radius:999px;width:7px;height:30px;position:absolute;top:30px;left:18px}.auth-scene-sign:after{content:"";background:#92400e73;border-radius:999px;height:4px;position:absolute;top:12px;left:10px;right:10px;box-shadow:0 8px #92400e47}.auth-scene-bush{z-index:5;opacity:.92;background:radial-gradient(circle at 18% 56%,#bbf7d0 0 16%,#0000 17%),radial-gradient(circle at 42% 36%,#86efac 0 20%,#0000 21%),radial-gradient(circle at 70% 54%,#4ade80 0 22%,#0000 23%),linear-gradient(#22c55e,#15803d);border-radius:999px 999px 30px 30px;width:118px;height:44px;bottom:24px}.auth-scene-bush--left{left:4%}.auth-scene-bush--right{right:5%;transform:scale(.82)}.auth-scene-flowers{z-index:6;background:radial-gradient(circle at 6px 8px,#fb7185 0 3px,#0000 4px),radial-gradient(circle at 18px 14px,#fef08a 0 3px,#0000 4px),radial-gradient(circle at 33px 7px,#f472b6 0 3px,#0000 4px),radial-gradient(circle at 50px 15px,#fde047 0 3px,#0000 4px),radial-gradient(circle at 66px 9px,#fb7185 0 3px,#0000 4px);width:76px;height:20px;bottom:30px}.auth-scene-flowers--left{left:31%}.auth-scene-flowers--right{bottom:34px;right:28%;transform:scale(.8)}.auth-stage-cloud{z-index:1;background:#ffffffd6;border-radius:999px;height:7px;animation:12s ease-in-out infinite auth-cloud-drift;position:absolute;box-shadow:20px 9px #ffffff94,50px -5px #ffffff80}.auth-stage-cloud--left{width:74px;top:20px;left:9%}.auth-stage-cloud--right{width:96px;animation-delay:-4s;top:46px;right:14%}.auth-stage-pokeball{z-index:7;background:radial-gradient(circle,#fff 0 16%,#1f2937 17% 24%,#0000 25%),linear-gradient(#f87171 0 47%,#1f2937 48% 53%,#fff 54% 100%);border:2px solid #1f2937;border-radius:999px;width:28px;height:28px;animation:4.8s ease-in-out infinite auth-pokeball-wiggle;position:absolute;box-shadow:0 7px 12px #0f172a24,inset 0 1px #ffffffd6}.auth-stage-pokeball--one{bottom:20px;left:6%}.auth-stage-pokeball--two{width:22px;height:22px;animation-delay:-2.6s;bottom:35px;right:8%}.auth-mascot{z-index:8;-o-object-fit:contain;object-fit:contain;transform-origin:bottom;filter:drop-shadow(0 18px 16px #2030243d);animation:4.8s ease-in-out infinite auth-mascot-idle;position:absolute}.auth-mascot--hero{width:clamp(150px,19vw,218px);bottom:45px;left:50%;transform:translate(-50%)}.auth-mascot--left{width:clamp(86px,11vw,130px);animation-delay:-1.2s;bottom:47px;left:clamp(24px,9%,58px)}.auth-mascot--right{width:clamp(82px,10vw,122px);animation-delay:-2.4s;bottom:48px;right:clamp(24px,9%,58px)}.auth-mascot-stage--register .auth-mascot--hero{width:clamp(152px,18vw,208px)}.auth-mascot-stage--register .auth-mascot--left{width:clamp(90px,11vw,136px)}.auth-mascot-stage--register .auth-mascot--right{width:clamp(82px,10.5vw,126px)}.auth-hero-copy{z-index:2;justify-items:start;gap:11px;display:grid;position:relative}.auth-badge{color:#0f766e;background:#f0fdfaeb;border:1px solid #14b8a638;min-height:30px;padding:4px 12px;box-shadow:inset 0 1px #fffc}.auth-hero h1{color:#172554;text-wrap:balance;max-width:500px;font-size:clamp(36px,5.4vw,66px);line-height:1.08}.auth-hero p{color:#334155;max-width:450px;font-size:clamp(15px,1.8vw,19px);line-height:1.55}.auth-hero-subtitle{color:#0f766e;letter-spacing:.12em;text-transform:uppercase;margin:-3px 0 2px;font-size:clamp(11px,1.35vw,14px);font-weight:950;line-height:1.2}.auth-route-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,450px)}.auth-route-card span{color:#334155;background:linear-gradient(#ffffffd1,#f0fdfaad);border:1px solid #14b8a621;border-radius:14px;min-height:50px;padding:8px;box-shadow:inset 0 1px #ffffffc7}.auth-route-card i{color:#f59e0b;font-size:18px}.auth-panel{z-index:3;scrollbar-gutter:stable;background:linear-gradient(#fffffff0,#fffbebdb),#ffffffe6;border:1px solid #ffffffe6;border-radius:22px;flex-direction:column;justify-content:center;gap:17px;min-height:0;max-height:calc(100dvh - clamp(48px,8vw,96px));padding:clamp(18px,3vw,30px);display:flex;position:relative;overflow:hidden auto;box-shadow:0 18px 36px #0f172a1c,inset 0 1px #fffffff5}.auth-panel__header span{color:#92400e;background:#fef3c7e0}.auth-panel__header h2{color:#172554;font-size:clamp(27px,4.2vw,36px);line-height:1.08}.auth-panel__header p{color:#52627a}.auth-form{flex:none;gap:12px}.auth-input-wrap{background:#fffffff5;border-color:#7d97b33d;border-radius:15px;min-height:52px}.auth-input-wrap:focus-within{border-color:#2dd4bfad;box-shadow:0 0 0 4px #2dd4bf21,0 12px 22px #0ea5e917,inset 0 1px #ffffffeb}.auth-input-wrap>i{color:#0f766e}.auth-panel:before,.auth-panel:after{content:"";pointer-events:none;position:absolute}.auth-panel:before{opacity:.7;background:radial-gradient(circle,#fff 0 14%,#1f293733 15% 21%,#0000 22%),linear-gradient(#f8717175 0 47%,#1f29372e 48% 53%,#ffffffb8 54% 100%);border:2px solid #1f293724;border-radius:999px;width:34px;height:34px;top:14px;right:15px}.auth-panel:after{background:linear-gradient(90deg,#2dd4bf2e,#facc1547,#60a5fa2e);border-radius:999px;height:5px;bottom:10px;left:18px;right:18px}.auth-submit{color:#332100;background:linear-gradient(#ffef9e,#f9c43b);border-radius:15px;min-height:52px;box-shadow:inset 0 1px #ffffffb8,0 10px 18px #f59e0b2e}.auth-submit:hover:not(:disabled){filter:saturate(1.04)brightness(1.02)}.auth-switch{color:#52627a;padding:12px 0 max(2px, env(safe-area-inset-bottom));background:linear-gradient(#fff0,#fffbebeb 30%,#fffbebfa);margin-top:auto;position:sticky;bottom:calc(-1*clamp(18px,3vw,30px))}.auth-switch button{color:#0f766e}.auth-role-button{background:#ffffffd1;border-color:#7d97b33d}.auth-role-button--active{background:linear-gradient(#fffffffa,#ccfbf1cc);border-color:#2dd4bf8a;box-shadow:0 10px 18px #14b8a61f,inset 0 1px #ffffffe0}@keyframes auth-mascot-idle{0%,to{translate:0}50%{translate:0 -9px}}@keyframes auth-pokeball-wiggle{0%,88%,to{transform:rotate(0)}91%{transform:rotate(-10deg)}94%{transform:rotate(9deg)}97%{transform:rotate(-5deg)}}@media (width<=900px){.auth-page{justify-content:flex-start;align-items:flex-start;overflow:hidden auto}.auth-shell{border-radius:24px;grid-template-columns:1fr;gap:10px;width:min(100%,560px);min-height:auto;margin:0 auto;padding:9px}.auth-hero{border-radius:20px;grid-template-rows:minmax(178px,40vw) auto;gap:12px;padding:14px}.auth-page--register .auth-hero{grid-template-rows:minmax(166px,36vw) auto}.auth-mascot-stage{border-radius:18px;min-height:0}.auth-scene-sun{width:44px;height:44px;top:14px;right:9%}.auth-scene-mountain{width:150px;height:62px;bottom:34%}.auth-scene-tree{bottom:28%;transform:scale(.72)}.auth-scene-tree--left{left:-8px}.auth-scene-tree--right{right:-10px;transform:scale(.62)}.auth-scene-sign{z-index:6;transform-origin:bottom;bottom:55%;right:clamp(18px,7%,42px);transform:scale(.68)rotate(10deg)}.auth-scene-bush{width:92px;height:34px;bottom:19px}.auth-scene-flowers{bottom:24px;transform:scale(.78)}.auth-stage-pokeball--one{width:22px;height:22px;bottom:14px;left:4%}.auth-stage-pokeball--two{width:18px;height:18px;bottom:23px;right:5%}.auth-mascot--hero{width:clamp(128px,35vw,178px);bottom:33px}.auth-mascot--left{width:clamp(76px,22vw,110px);bottom:33px;left:7%}.auth-mascot--right{width:clamp(74px,21vw,104px);bottom:33px;right:7%}.auth-hero-copy{text-align:center;justify-items:center;gap:9px}.auth-hero h1{font-size:clamp(31px,8.5vw,44px)}.auth-hero p{max-width:410px;font-size:14px}.auth-hero-subtitle{font-size:11px}.auth-route-card{width:100%}.auth-route-card span{min-height:42px;padding:6px 5px;font-size:11px}.auth-panel{border-radius:20px;justify-content:flex-start;padding:17px}.auth-pokemon--bulbasaur,.auth-pokemon--charmander{opacity:.34;width:78px;bottom:8px;left:8px}.auth-pokemon--pikachu{opacity:.36;width:72px;bottom:14px;right:9px}.auth-pokemon--eevee,.auth-pokemon--squirtle{opacity:.3;width:64px;display:block;top:20px;right:22px}}@media (width<=520px){.auth-page{padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))}.auth-shell{border-radius:21px;padding:7px}.auth-hero{grid-template-rows:minmax(154px,42vw) auto;padding:12px}.auth-page--register .auth-hero{grid-template-rows:minmax(145px,39vw) auto}.auth-stage-cloud--right,.auth-stage-pokeball--two,.auth-scene-mountain--two,.auth-scene-tree--right,.auth-scene-sign,.auth-scene-flowers--right{display:none}.auth-scene-tree--left{left:-16px;transform:scale(.58)}.auth-scene-path{width:30%;left:36%}.auth-scene-bush--left{left:-10px}.auth-scene-bush--right{right:-13px}.auth-mascot--hero{width:clamp(112px,38vw,150px);bottom:30px}.auth-mascot--left{width:clamp(62px,23vw,88px);bottom:31px;left:5%}.auth-mascot--right{width:clamp(58px,22vw,84px);bottom:31px;right:5%}.auth-badge{min-height:28px;font-size:12px}.auth-hero h1{font-size:clamp(29px,9vw,38px)}.auth-hero p{font-size:13px}.auth-route-card{gap:6px}.auth-route-card span{border-radius:12px;min-height:40px;font-size:10px;line-height:1.18}.auth-route-card i{font-size:15px}.auth-panel{gap:14px;padding:15px}.auth-panel__header h2{font-size:27px}.auth-panel__header p{font-size:13px}.auth-form{gap:10px}.auth-input-wrap,.auth-input-wrap input{height:50px;min-height:50px}.auth-field>span,.auth-role-picker legend{font-size:12px}.auth-submit{min-height:50px}}@media (height<=720px) and (width>=901px){.auth-shell{min-height:calc(100dvh - 24px)}.auth-hero{grid-template-rows:minmax(220px,1fr) auto}.auth-mascot-stage{min-height:220px}}@media (prefers-reduced-motion:reduce){.auth-cloud,.auth-pokemon,.auth-stage-cloud,.auth-stage-pokeball,.auth-mascot{animation:none}}.auth-page{overscroll-behavior:contain;min-height:100dvh;padding:calc(clamp(10px, 1.6vw, 18px) + env(safe-area-inset-top)) clamp(12px, 2.4vw, 32px) calc(clamp(10px, 1.6vw, 18px) + env(safe-area-inset-bottom));scrollbar-color:#0f766e47 transparent;scrollbar-width:thin;justify-content:center;align-items:center;overflow:hidden auto}.auth-page::-webkit-scrollbar{width:10px}.auth-page::-webkit-scrollbar-track{background:0 0}.auth-page::-webkit-scrollbar-thumb{background:#0f766e42 padding-box content-box;border:3px solid #0000;border-radius:999px}.auth-page::-webkit-scrollbar-thumb:hover{background:#0f766e61 padding-box content-box}.auth-shell{border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:stretch;gap:clamp(12px,1.8vw,20px);width:min(100%,1120px);height:auto;min-height:min(680px,100dvh - clamp(32px,6vw,72px));max-height:none;padding:clamp(10px,1.5vw,16px)}.auth-shell--register{grid-template-columns:minmax(0,.95fr) minmax(410px,460px)}.auth-panel{scrollbar-gutter:auto;border-radius:20px;justify-content:flex-start;gap:clamp(14px,2vw,18px);max-height:none;padding:clamp(22px,2.6vw,32px);overflow:visible}.auth-shell--login .auth-panel{justify-content:center}.auth-panel:before{opacity:.42;width:30px;height:30px;top:16px;right:18px}.auth-panel:after{display:none}.auth-panel__header{padding-right:38px}.auth-panel__header h2{font-size:clamp(30px,3.25vw,42px);line-height:1.06}.auth-shell--register .auth-panel__header h2{font-size:clamp(32px,3.5vw,46px)}.auth-form{gap:11px}.auth-input-wrap{border-radius:14px;min-height:50px}.auth-input-wrap input{height:50px;min-height:50px;font-size:15px}.auth-password-toggle{border-radius:12px;width:38px;height:38px;right:6px}.auth-role-button{border-radius:14px;min-height:46px}.auth-submit{border-radius:14px;min-height:50px}.auth-switch{background:0 0;margin-top:0;padding:0;position:static}@media (width>=901px){.auth-shell--register .auth-panel{padding-block:clamp(20px,2.1vw,26px)}.auth-shell--register .auth-panel__header h2{font-size:clamp(30px,3.15vw,42px)}.auth-shell--register .auth-panel__header p{font-size:13px}.auth-shell--register .auth-form{gap:9px}.auth-shell--register .auth-input-wrap,.auth-shell--register .auth-input-wrap input{height:48px;min-height:48px}.auth-shell--register .auth-role-button,.auth-shell--register .auth-submit{min-height:48px}}@media (width<=900px){.auth-page{justify-content:center;align-items:flex-start}.auth-page:not(.auth-page--register),.auth-page.auth-page--login{align-items:center}.auth-shell,.auth-shell--register{border-radius:24px;grid-template-columns:1fr;width:min(100%,620px);min-height:auto;margin:0 auto;padding:clamp(8px,2.4vw,12px)}.auth-hero{display:none}.auth-shell--login{gap:9px}.auth-shell--login .auth-hero{border-radius:20px;grid-template-rows:minmax(150px,38vw) auto;gap:9px;padding:clamp(9px,2.8vw,13px);display:grid}.auth-shell--login .auth-mascot-stage{border-radius:17px;min-height:150px}.auth-shell--login .auth-hero-copy{text-align:center;justify-items:center;gap:6px}.auth-shell--login .auth-badge{min-height:24px;padding:3px 9px;font-size:11px}.auth-shell--login .auth-hero h1{font-size:clamp(27px,7.4vw,34px);line-height:1.02}.auth-shell--login .auth-hero-subtitle{margin:-1px 0 0;font-size:10px}.auth-shell--login .auth-route-card{gap:6px;width:min(100%,330px)}.auth-shell--login .auth-route-card span{min-height:32px;padding:5px 4px;font-size:10px}.auth-panel{border-radius:21px;padding:clamp(18px,5vw,26px)}.auth-panel__header h2,.auth-shell--register .auth-panel__header h2{font-size:clamp(28px,8vw,38px)}.auth-input-wrap,.auth-input-wrap input{height:48px;min-height:48px}.auth-submit{min-height:48px}}@media (width<=900px) and (height<=520px){.auth-page.auth-page--login{align-items:flex-start}.auth-shell--login .auth-hero{grid-template-rows:minmax(124px,32vw) auto}.auth-shell--login .auth-mascot-stage{min-height:124px}.auth-shell--login .auth-route-card{display:none}}@media (width<=900px) and (height<=700px){.auth-page.auth-page--login{align-items:flex-start}.auth-shell--login{gap:7px;padding:6px}.auth-shell--login .auth-hero{grid-template-rows:minmax(118px,29vw) auto;gap:6px;padding:7px}.auth-shell--login .auth-mascot-stage{min-height:118px}.auth-shell--login .auth-hero-copy{gap:4px}.auth-shell--login .auth-hero h1{font-size:clamp(25px,7vw,30px)}.auth-shell--login .auth-hero-subtitle{font-size:9px}.auth-shell--login .auth-route-card{display:none}.auth-shell--login .auth-panel{gap:11px;padding:14px}}@media (width<=520px){.auth-page{padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom))}.auth-shell,.auth-shell--register{border-radius:21px;width:100%;padding:7px}.auth-panel{border-radius:18px;gap:13px;padding:15px}.auth-shell--login .auth-hero{border-radius:18px;grid-template-rows:minmax(142px,41vw) auto;gap:8px;padding:9px}.auth-shell--login .auth-mascot-stage{border-radius:15px;min-height:142px}.auth-shell--login .auth-mascot--hero{width:clamp(112px,34vw,142px);bottom:25px}.auth-shell--login .auth-mascot--left{width:clamp(64px,20vw,88px);bottom:26px;left:8%}.auth-shell--login .auth-mascot--right{width:clamp(62px,19vw,84px);bottom:26px;right:8%}.auth-shell--login .auth-route-card{gap:5px}.auth-panel__header{padding-right:32px}.auth-panel__header h2,.auth-shell--register .auth-panel__header h2{font-size:clamp(27px,9vw,34px)}.auth-panel__header p{font-size:13px}.auth-form{gap:10px}.auth-role-picker div{gap:7px}.auth-role-button{min-height:44px;font-size:14px}}@media (width<=520px) and (height<=700px){.auth-shell--login{gap:7px;padding:6px}.auth-shell--login .auth-hero{grid-template-rows:minmax(116px,30vw) auto;gap:6px;padding:7px}.auth-shell--login .auth-mascot-stage{min-height:116px}.auth-shell--login .auth-mascot--hero{width:clamp(98px,30vw,120px);bottom:20px}.auth-shell--login .auth-mascot--left{width:clamp(54px,17vw,72px);bottom:21px}.auth-shell--login .auth-mascot--right{width:clamp(54px,16vw,70px);bottom:21px}.auth-shell--login .auth-hero h1{font-size:clamp(24px,6.7vw,29px)}.auth-shell--login .auth-route-card{display:none}.auth-shell--login .auth-panel{gap:10px;padding:13px 14px}}@media (height<=760px) and (width>=901px){.auth-page{align-items:flex-start}.auth-shell{min-height:auto}.auth-hero{grid-template-rows:minmax(210px,1fr) auto}.auth-mascot-stage{min-height:210px}}.teacher-dashboard.game-app-bg{box-sizing:border-box;justify-content:flex-start;align-items:stretch;width:100%;max-width:100vw;height:100dvh;padding:52px max(12px,4.5rem) 16px clamp(8px,1.5vw,16px);overflow:hidden}.teacher-dashboard{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;max-width:100%;height:100dvh;min-height:0;display:flex;position:relative}.teacher-dashboard>.teacher-header,.teacher-dashboard>.teacher-alert,.teacher-dashboard>.teacher-layout{z-index:1;pointer-events:auto;position:relative}.teacher-header{background:#ffffffc7;border:1px solid #ffffffb8;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;max-width:min(1280px,100%);margin:0 auto;padding:14px 18px;display:flex;box-shadow:0 10px 24px #0f172a14,inset 0 1px #ffffffe6}.teacher-header__brand{align-items:center;gap:12px;display:flex}.teacher-header__icon{color:#fff;background:linear-gradient(145deg,#0ea5e9,#0284c7);border-radius:12px;place-items:center;width:44px;height:44px;font-size:18px;display:grid;box-shadow:0 8px 18px #0ea5e959}.teacher-header__title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:900}.teacher-header__subtitle{color:#64748b;margin:2px 0 0;font-size:.875rem;font-weight:600}.teacher-header__stats{flex-wrap:wrap;gap:8px;display:flex}.teacher-stat-pill{color:#0c4a6e;background:#e0f2fee6;border:1px solid #bae6fde6;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex}.teacher-stat-pill--muted{color:#64748b;background:#f1f5f9eb;border-color:#e2e8f0f2}.teacher-stat-pill--pending{color:#92400e;background:#fef3c7f0;border-color:#fde68af2}.teacher-layout{flex:auto;grid-template-columns:minmax(220px,min(320px,32vw)) minmax(0,1fr);gap:14px;width:100%;min-width:0;max-width:min(1280px,100%);min-height:0;margin:0 auto;display:grid;overflow:hidden}.teacher-sidebar{z-index:2;pointer-events:auto;flex-direction:column;gap:12px;min-width:0;max-width:100%;min-height:0;padding:14px;display:flex;position:relative;overflow:hidden}.teacher-sidebar__head{justify-content:space-between;align-items:center;display:flex}.teacher-sidebar__head h2{color:#0f172a;margin:0;font-size:1rem;font-weight:900}.teacher-sidebar__count{color:#0369a1;background:#e0f2fe;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.75rem;font-weight:900;display:grid}.teacher-approval-box{background:linear-gradient(#fffbebeb,#fef3c794);border:1px solid #fde68ac7;border-radius:14px;gap:9px;padding:10px;display:grid}.teacher-approval-box__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-approval-box__head h3{color:#78350f;margin:0;font-size:.88rem;font-weight:950}.teacher-approval-box__head span{color:#92400e;background:#f59e0b29;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:.76rem;font-weight:950;display:grid}.teacher-approval-list{gap:8px;max-height:210px;padding-right:2px;display:grid;overflow-y:auto}.teacher-approval-card{background:#ffffffd1;border:1px solid #ffffffc7;border-radius:12px;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:9px;display:grid;box-shadow:inset 0 1px #ffffffd9}.teacher-approval-card__body{gap:2px;min-width:0;display:grid}.teacher-approval-card__body strong{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;font-size:.84rem;font-weight:950;overflow:hidden}.teacher-approval-card__body span,.teacher-approval-card__body time{color:#64748b;font-size:.72rem;font-weight:800}.teacher-approval-card__actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.teacher-approval-card__actions button{border:1px solid #0f172a14;border-radius:10px;min-height:32px;font-size:.78rem;font-weight:950}.teacher-approval-card__actions button:disabled{cursor:wait;opacity:.62}.teacher-approval-card__approve{color:#064e3b;background:linear-gradient(#bbf7d0,#86efac)}.teacher-approval-card__reject{color:#7f1d1d;background:linear-gradient(#fee2e2,#fecaca)}.teacher-student-list{z-index:2;pointer-events:auto;flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0 2px 0 0;list-style:none;display:flex;position:relative;overflow-y:auto}.teacher-selected-strip{z-index:3;color:#64748b;background:#f8fafcc7;border:1px dashed #94a3b885;border-radius:12px;align-items:center;gap:7px;min-height:36px;padding:7px 10px;font-size:.78rem;font-weight:900;display:flex;position:relative}.teacher-selected-strip--active{color:#0369a1;background:linear-gradient(#f0f9fff5,#e0f2fedb);border-style:solid;border-color:#38bdf89e}.teacher-student-card{z-index:3;text-align:left;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#ffffffb8;border:1px solid #e2e8f0f2;border-radius:12px;outline:none;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid;position:relative}.teacher-student-card *{pointer-events:auto}.teacher-student-card:focus-visible{border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e929}.teacher-student-card:hover{background:#f0f9fff2;border-color:#7dd3fc}.teacher-student-card--active{background:linear-gradient(#f0f9fffa,#e0f2feeb);border-color:#38bdf8;box-shadow:0 8px 18px #0ea5e924}.teacher-avatar{color:#0c4a6e;background:linear-gradient(160deg,#e0f2fe,#bae6fd);border:1px solid #ffffffd9;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1rem;font-weight:900;display:grid}.teacher-student-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-student-card__name{color:#0f172a;font-size:.92rem;font-weight:900}.teacher-student-card__user,.teacher-student-card__meta{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;overflow:hidden}.teacher-student-card__meta{color:#0369a1}.teacher-student-card__stats{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.teacher-student-card__gold{color:#ca8a04;font-size:1.05rem;font-weight:900;line-height:1.1}.teacher-student-card__energy{color:#0284c7;font-size:.7rem;font-weight:800}.teacher-main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;padding-right:4px;display:flex;overflow:hidden}.teacher-main-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:360px;padding:48px 24px;display:flex}.teacher-main-empty__icon{color:#38bdf8;margin-bottom:12px;font-size:2.5rem}.teacher-main-empty h2{color:#0f172a;margin:0 0 8px;font-size:1.2rem;font-weight:900}.teacher-main-empty p{color:#64748b;max-width:360px;margin:0;font-weight:600}.teacher-profile,.teacher-panel,.teacher-tabs{min-width:0;max-width:100%}.teacher-profile{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 16px;padding:16px;display:grid}.teacher-profile .teacher-avatar{grid-row:span 2;width:52px;height:52px;font-size:1.2rem}.teacher-profile__info h2{color:#0f172a;margin:0;font-size:1.15rem;font-weight:900}.teacher-profile__info p{color:#64748b;margin:2px 0 0;font-size:.85rem;font-weight:700}.teacher-profile__grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.teacher-profile__grid dt{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.teacher-profile__grid dd{color:#0f172a;margin:4px 0 0;font-size:.95rem;font-weight:900}.teacher-profile__password{border-top:1px solid #e2e8f0eb;flex-direction:column;grid-column:1/-1;gap:12px;margin-top:4px;padding-top:14px;display:flex}.teacher-profile__password-copy{flex-direction:column;gap:4px;display:flex}.teacher-profile__password-copy strong{color:#0f172a;font-size:.96rem;font-weight:900}.teacher-profile__password-copy span{color:#64748b;font-size:.78rem;font-weight:700;line-height:1.5}.teacher-profile__password-btn{width:100%}.teacher-profile__gold{color:#ca8a04!important;font-size:1.15rem!important}.teacher-profile__energy{color:#0284c7!important}.teacher-tabs{flex-wrap:wrap;gap:8px;display:flex}.teacher-tab{color:#475569;cursor:pointer;background:#ffffffbf;border:1px solid #e2e8f0f2;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.85rem;font-weight:900;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.teacher-tab:hover{color:#0369a1;border-color:#7dd3fc}.teacher-tab--active{color:#fff;background:linear-gradient(#38bdf8,#0ea5e9);border-color:#0ea5e9;box-shadow:0 8px 16px #0ea5e947}.teacher-panel{flex-direction:column;flex:auto;min-width:0;min-height:280px;padding:0;display:flex;overflow:hidden}.teacher-panel__head{background:#f8fafca6;border-bottom:1px solid #e2e8f0e6;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:14px 16px;display:flex}.teacher-panel__head h3{color:#0f172a;margin:0;font-size:1rem;font-weight:900}.teacher-panel__target{color:#64748b;font-size:.8rem;font-weight:800}.teacher-form,.teacher-logs{box-sizing:border-box;flex-direction:column;flex:auto;gap:14px;min-width:0;max-width:100%;min-height:0;padding:16px;display:flex;overflow-y:auto}.teacher-input{box-sizing:border-box;max-width:100%}.teacher-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.teacher-form-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-field{flex-direction:column;gap:6px;display:flex}.teacher-field__label{color:#334155;font-size:.8rem;font-weight:900}.teacher-field__hint{color:#94a3b8;font-size:.72rem;font-weight:600}.teacher-checkbox{color:#334155;cursor:pointer;background:#f8fafce6;border:1px solid #e2e8f0f2;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:800;display:flex}.teacher-presets{flex-wrap:wrap;gap:8px;display:flex}.teacher-preset-chip{color:#0369a1;cursor:pointer;background:#f0f9fff2;border:1px solid #bae6fdf2;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:900;transition:background .12s,transform .12s}.teacher-preset-chip:hover{background:#e0f2fe}.teacher-segment{background:#f1f5f9e6;border:1px solid #e2e8f0f2;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.teacher-segment--compact{max-width:320px}.teacher-segment__btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 12px;font-size:.82rem;font-weight:900}.teacher-segment__btn--active{color:#0369a1;background:#fff;box-shadow:0 4px 10px #0f172a14}.teacher-alert{border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.85rem;font-weight:800;display:flex}.teacher-alert--success{color:#047857;background:#ecfdf5;border:1px solid #6ee7b7}.teacher-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5}.teacher-alert--warning{color:#c2410c;background:#fff7ed;border:1px solid #fdba74}.teacher-alert__text{flex:1}.teacher-alert__close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;padding:2px 4px}.teacher-logs{flex-direction:column;gap:14px;padding:16px;display:flex}.teacher-log-list{flex-direction:column;gap:8px;max-height:420px;display:flex;overflow-y:auto}.teacher-log-item{background:#ffffffd9;border:1px solid #e2e8f0f2;border-radius:10px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.teacher-log-item__time{color:#94a3b8;font-size:.72rem;font-weight:700}.teacher-log-item__reason{color:#0f172a;margin:4px 0 0;font-size:.88rem;font-weight:900}.teacher-log-item__amount{text-align:right;font-size:1.05rem;font-weight:900}.teacher-log-item__meta{color:#64748b;text-align:right;margin-top:2px;font-size:.72rem;font-weight:700}.teacher-empty,.teacher-empty-inline{text-align:center;color:#64748b;font-weight:700}.teacher-empty{padding:28px 12px}.teacher-empty__icon{color:#94a3b8;margin-bottom:8px;font-size:1.8rem}.teacher-empty__hint{color:#94a3b8;margin-top:6px;font-size:.8rem}@media (width<=1100px){.teacher-form-row--3{grid-template-columns:1fr}}@media (width<=960px){.teacher-dashboard.game-app-bg{height:auto;min-height:100dvh;padding:8px 8px 16px;overflow-y:auto}.teacher-dashboard{height:auto;min-height:100dvh}.teacher-header{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.teacher-header__brand{width:100%}.teacher-header__icon{width:36px;height:36px;font-size:16px}.teacher-header__title{font-size:1.1rem}.teacher-header__subtitle{font-size:.8rem}.teacher-header__stats{flex-wrap:wrap;gap:6px;width:100%}.teacher-stat-pill{padding:5px 10px;font-size:.75rem}.teacher-layout{flex:none;grid-template-columns:1fr;gap:12px;overflow:visible}.teacher-sidebar{max-height:none;padding:12px}.teacher-student-list{max-height:400px;overflow-y:auto}.teacher-student-card{grid-template-columns:36px 1fr auto;gap:8px;padding:10px}.teacher-avatar{width:36px;height:36px;font-size:.9rem}.teacher-student-card__name{font-size:.88rem}.teacher-student-card__user,.teacher-student-card__meta{font-size:.7rem}.teacher-student-card__gold{font-size:.95rem}.teacher-student-card__energy{font-size:.68rem}.teacher-main{height:auto;padding-right:0;overflow:visible}.teacher-panel{padding:14px}.teacher-panel__head h2{font-size:1rem}.teacher-tabs{gap:6px}.teacher-tab{padding:8px 12px;font-size:.8rem}.teacher-tab i{font-size:.85rem}.teacher-profile__grid,.teacher-form-row,.teacher-form-row--3{grid-template-columns:1fr}.teacher-field__label{font-size:.85rem}.teacher-input,.teacher-select{padding:10px 12px;font-size:.9rem}.teacher-button{padding:10px 16px;font-size:.9rem}.teacher-presets{gap:6px}.teacher-preset-chip{padding:6px 10px;font-size:.75rem}}@media (width>=768px){.game-gate-card{width:min(100%,clamp(400px,42vw,640px))}}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.focus\:border-sky-400:focus{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-sky-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity,1))}.active\:scale-\[0\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (width>=768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
