/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-700:oklch(55.3% .195 38.402);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-400:oklch(70.7% .165 254.624);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-8{top:calc(var(--spacing) * 8)}.right-0{right:calc(var(--spacing) * 0)}.bottom-10{bottom:calc(var(--spacing) * 10)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-\[calc\(100vh-52px\)\]{height:calc(100vh - 52px)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[40px\]{min-height:40px}.min-h-\[60px\]{min-height:60px}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[85\%\]{max-width:85%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.resize-none{resize:none}.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))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-zinc-800\/50>:not(:last-child)){border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){:where(.divide-zinc-800\/50>:not(:last-child)){border-color:color-mix(in oklab,var(--color-zinc-800) 50%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-tr-sm{border-top-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-600{border-color:var(--color-amber-600)}.border-amber-600\/50{border-color:#dd740080}@supports (color:color-mix(in lab,red,red)){.border-amber-600\/50{border-color:color-mix(in oklab,var(--color-amber-600) 50%,transparent)}}.border-amber-700\/40{border-color:#b7500066}@supports (color:color-mix(in lab,red,red)){.border-amber-700\/40{border-color:color-mix(in oklab,var(--color-amber-700) 40%,transparent)}}.border-amber-700\/50{border-color:#b7500080}@supports (color:color-mix(in lab,red,red)){.border-amber-700\/50{border-color:color-mix(in oklab,var(--color-amber-700) 50%,transparent)}}.border-amber-800\/50{border-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.border-amber-800\/50{border-color:color-mix(in oklab,var(--color-amber-800) 50%,transparent)}}.border-amber-900\/40{border-color:#7b330666}@supports (color:color-mix(in lab,red,red)){.border-amber-900\/40{border-color:color-mix(in oklab,var(--color-amber-900) 40%,transparent)}}.border-red-600{border-color:var(--color-red-600)}.border-red-700{border-color:var(--color-red-700)}.border-red-800{border-color:var(--color-red-800)}.border-red-800\/50{border-color:#9f071280}@supports (color:color-mix(in lab,red,red)){.border-red-800\/50{border-color:color-mix(in oklab,var(--color-red-800) 50%,transparent)}}.border-red-900\/40{border-color:#82181a66}@supports (color:color-mix(in lab,red,red)){.border-red-900\/40{border-color:color-mix(in oklab,var(--color-red-900) 40%,transparent)}}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.border-red-900\/50{border-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500{border-color:var(--color-violet-500)}.border-violet-600{border-color:var(--color-violet-600)}.border-violet-700{border-color:var(--color-violet-700)}.border-violet-700\/50{border-color:#7008e780}@supports (color:color-mix(in lab,red,red)){.border-violet-700\/50{border-color:color-mix(in oklab,var(--color-violet-700) 50%,transparent)}}.border-violet-800{border-color:var(--color-violet-800)}.border-violet-800\/30{border-color:#5d0ec04d}@supports (color:color-mix(in lab,red,red)){.border-violet-800\/30{border-color:color-mix(in oklab,var(--color-violet-800) 30%,transparent)}}.border-violet-800\/50{border-color:#5d0ec080}@supports (color:color-mix(in lab,red,red)){.border-violet-800\/50{border-color:color-mix(in oklab,var(--color-violet-800) 50%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-zinc-600{border-color:var(--color-zinc-600)}.border-zinc-700{border-color:var(--color-zinc-700)}.border-zinc-800{border-color:var(--color-zinc-800)}.border-zinc-800\/50{border-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.border-zinc-800\/50{border-color:color-mix(in oklab,var(--color-zinc-800) 50%,transparent)}}.bg-\[\#0a0a0f\]{background-color:#0a0a0f}.bg-\[\#0d0d14\]{background-color:#0d0d14}.bg-\[\#0f0f1a\]{background-color:#0f0f1a}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-900\/30{background-color:#7b33064d}@supports (color:color-mix(in lab,red,red)){.bg-amber-900\/30{background-color:color-mix(in oklab,var(--color-amber-900) 30%,transparent)}}.bg-amber-900\/40{background-color:#7b330666}@supports (color:color-mix(in lab,red,red)){.bg-amber-900\/40{background-color:color-mix(in oklab,var(--color-amber-900) 40%,transparent)}}.bg-amber-900\/50{background-color:#7b330680}@supports (color:color-mix(in lab,red,red)){.bg-amber-900\/50{background-color:color-mix(in oklab,var(--color-amber-900) 50%,transparent)}}.bg-amber-950\/20{background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/20{background-color:color-mix(in oklab,var(--color-amber-950) 20%,transparent)}}.bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/30{background-color:color-mix(in oklab,var(--color-amber-950) 30%,transparent)}}.bg-amber-950\/40{background-color:#46190166}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/40{background-color:color-mix(in oklab,var(--color-amber-950) 40%,transparent)}}.bg-amber-950\/60{background-color:#46190199}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/60{background-color:color-mix(in oklab,var(--color-amber-950) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-emerald-800{background-color:var(--color-emerald-800)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900{background-color:var(--color-red-900)}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}.bg-red-900\/40{background-color:#82181a66}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/40{background-color:color-mix(in oklab,var(--color-red-900) 40%,transparent)}}.bg-red-900\/50{background-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.bg-red-900\/50{background-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.bg-red-950\/20{background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/20{background-color:color-mix(in oklab,var(--color-red-950) 20%,transparent)}}.bg-red-950\/30{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/30{background-color:color-mix(in oklab,var(--color-red-950) 30%,transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/40{background-color:color-mix(in oklab,var(--color-red-950) 40%,transparent)}}.bg-red-950\/60{background-color:#46080999}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/60{background-color:color-mix(in oklab,var(--color-red-950) 60%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-600{background-color:var(--color-violet-600)}.bg-violet-700{background-color:var(--color-violet-700)}.bg-violet-900\/30{background-color:#4d179a4d}@supports (color:color-mix(in lab,red,red)){.bg-violet-900\/30{background-color:color-mix(in oklab,var(--color-violet-900) 30%,transparent)}}.bg-violet-900\/40{background-color:#4d179a66}@supports (color:color-mix(in lab,red,red)){.bg-violet-900\/40{background-color:color-mix(in oklab,var(--color-violet-900) 40%,transparent)}}.bg-violet-950{background-color:var(--color-violet-950)}.bg-violet-950\/20{background-color:#2f0d6833}@supports (color:color-mix(in lab,red,red)){.bg-violet-950\/20{background-color:color-mix(in oklab,var(--color-violet-950) 20%,transparent)}}.bg-violet-950\/30{background-color:#2f0d684d}@supports (color:color-mix(in lab,red,red)){.bg-violet-950\/30{background-color:color-mix(in oklab,var(--color-violet-950) 30%,transparent)}}.bg-violet-950\/40{background-color:#2f0d6866}@supports (color:color-mix(in lab,red,red)){.bg-violet-950\/40{background-color:color-mix(in oklab,var(--color-violet-950) 40%,transparent)}}.bg-violet-950\/50{background-color:#2f0d6880}@supports (color:color-mix(in lab,red,red)){.bg-violet-950\/50{background-color:color-mix(in oklab,var(--color-violet-950) 50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-950\/40{background-color:#43200466}@supports (color:color-mix(in lab,red,red)){.bg-yellow-950\/40{background-color:color-mix(in oklab,var(--color-yellow-950) 40%,transparent)}}.bg-zinc-500{background-color:var(--color-zinc-500)}.bg-zinc-700{background-color:var(--color-zinc-700)}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-900\/30{background-color:#18181b4d}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/30{background-color:color-mix(in oklab,var(--color-zinc-900) 30%,transparent)}}.bg-zinc-900\/50{background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.bg-zinc-900\/50{background-color:color-mix(in oklab,var(--color-zinc-900) 50%,transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(ellipse_at_center\,_rgba\(124\,58\,237\,0\.08\)_0\%\,_transparent_70\%\)\]{background-image:radial-gradient(#7c3aed14 0,#0000 70%)}.from-zinc-900{--tw-gradient-from:var(--color-zinc-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-zinc-950{--tw-gradient-to:var(--color-zinc-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.object-top{object-position:top}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-700{color:var(--color-orange-700)}.text-red-200{color:var(--color-red-200)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-500\/70{color:#fb2c36b3}@supports (color:color-mix(in lab,red,red)){.text-red-500\/70{color:color-mix(in oklab,var(--color-red-500) 70%,transparent)}}.text-violet-100{color:var(--color-violet-100)}.text-violet-300{color:var(--color-violet-300)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-zinc-600::placeholder{color:var(--color-zinc-600)}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-500\/30{--tw-ring-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.ring-amber-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.ring-amber-600\/20{--tw-ring-color:#dd740033}@supports (color:color-mix(in lab,red,red)){.ring-amber-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-amber-600) 20%,transparent)}}.ring-red-700\/20{--tw-ring-color:#bf000f33}@supports (color:color-mix(in lab,red,red)){.ring-red-700\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-700) 20%,transparent)}}.ring-red-700\/30{--tw-ring-color:#bf000f4d}@supports (color:color-mix(in lab,red,red)){.ring-red-700\/30{--tw-ring-color:color-mix(in oklab,var(--color-red-700) 30%,transparent)}}.ring-violet-500\/20{--tw-ring-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.ring-violet-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.ring-violet-500\/30{--tw-ring-color:#8d54ff4d}@supports (color:color-mix(in lab,red,red)){.ring-violet-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-violet-500) 30%,transparent)}}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.hover\:border-amber-500:hover{border-color:var(--color-amber-500)}.hover\:border-amber-600:hover{border-color:var(--color-amber-600)}.hover\:border-red-700:hover{border-color:var(--color-red-700)}.hover\:border-violet-600:hover{border-color:var(--color-violet-600)}.hover\:border-zinc-500:hover{border-color:var(--color-zinc-500)}.hover\:border-zinc-600:hover{border-color:var(--color-zinc-600)}.hover\:border-zinc-700:hover{border-color:var(--color-zinc-700)}.hover\:bg-amber-800\/50:hover{background-color:#953d0080}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-800\/50:hover{background-color:color-mix(in oklab,var(--color-amber-800) 50%,transparent)}}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-red-800\/50:hover{background-color:#9f071280}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-800\/50:hover{background-color:color-mix(in oklab,var(--color-red-800) 50%,transparent)}}.hover\:bg-red-950\/20:hover{background-color:#46080933}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-950\/20:hover{background-color:color-mix(in oklab,var(--color-red-950) 20%,transparent)}}.hover\:bg-red-950\/30:hover{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-950\/30:hover{background-color:color-mix(in oklab,var(--color-red-950) 30%,transparent)}}.hover\:bg-violet-600:hover{background-color:var(--color-violet-600)}.hover\:bg-violet-950\/20:hover{background-color:#2f0d6833}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-950\/20:hover{background-color:color-mix(in oklab,var(--color-violet-950) 20%,transparent)}}.hover\:bg-zinc-700:hover{background-color:var(--color-zinc-700)}.hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.hover\:bg-zinc-800\/50:hover{background-color:#27272a80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-800\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-800) 50%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-zinc-200:hover{color:var(--color-zinc-200)}.hover\:text-zinc-300:hover{color:var(--color-zinc-300)}.hover\:text-zinc-400:hover{color:var(--color-zinc-400)}}.focus\:border-violet-500:focus{border-color:var(--color-violet-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-zinc-800:disabled{background-color:var(--color-zinc-800)}.disabled\:text-zinc-600:disabled{color:var(--color-zinc-600)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:block{display:block}.sm\:w-24{width:calc(var(--spacing) * 24)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}[data-theme=base]{--color-bg-primary:#0a0a0f;--color-bg-secondary:#12121a;--color-bg-card:#1a1a24;--color-accent:#7c5cbf;--color-accent-hover:#9b7dd4;--color-text-primary:#e8e8f0;--color-text-secondary:#9090a8;--color-border:#2a2a3a;--font-primary:"Inter",sans-serif;--font-display:"Inter",sans-serif;--border-radius:8px;--transition:.2s ease;--color-fantasy:#c9a84c;--color-fantasy-bg:#14100a;--color-fantasy-border:#3a2a10;--color-horror:#b060c0;--color-horror-bg:#0e080f;--color-horror-border:#2a0a2a}[data-theme=fantasy]{--color-bg-primary:#1a1508;--color-bg-secondary:#221d0a;--color-bg-card:#2d2510;--color-accent:#c9a84c;--color-accent-hover:#e0c068;--color-accent-glow:#c9a84c4d;--color-text-primary:#f0e6c8;--color-text-secondary:#a89060;--color-text-accent:#c9a84c;--color-border:#3d3018;--color-health:#4caf50;--color-danger:#e57373;--color-magic:#9c7fd4;--font-primary:var(--font-crimson),"Georgia",serif;--font-display:"Palatino Linotype",serif;--font-mono:"Courier New",monospace;--border-radius:4px;--transition:.3s ease;--particle-color:#c9a84c}[data-theme=horror]{--color-bg-primary:#080808;--color-bg-secondary:#0f0c0c;--color-bg-card:#150f0f;--color-accent:#8b1a1a;--color-accent-hover:#a82020;--color-accent-glow:#8b1a1a66;--color-text-primary:#d4c8b8;--color-text-secondary:#7a6e65;--color-text-accent:#c44040;--color-border:#2a1a1a;--color-health:#6a9e6a;--color-danger:#c44040;--color-magic:#7a5a9e;--font-primary:var(--font-special-elite),"Courier New",monospace;--font-display:"Times New Roman",serif;--font-mono:"Courier New",monospace;--border-radius:2px;--transition:.4s ease;--particle-color:#8b1a1a}[data-theme=theme-void]{--color-bg-primary:#000005;--color-bg-secondary:#05050f;--color-bg-card:#0a0a1a;--color-accent:#7b5ea7;--color-accent-hover:#9b7ec7;--color-accent-glow:#7b5ea766;--color-text-primary:#e0e0ff;--color-text-secondary:#7878aa;--color-text-accent:#a090f0;--color-border:#18182e;--color-health:#4caf50;--color-danger:#e57373;--color-magic:#b090f0;--font-primary:"Inter",sans-serif;--font-display:"Inter",sans-serif;--border-radius:8px;--transition:.2s ease;--particle-color:#7b5ea7}[data-theme=theme-foggy-london]{--color-bg-primary:#080807;--color-bg-secondary:#100f0d;--color-bg-card:#1a1914;--color-accent:#c8a84b;--color-accent-hover:#e0c068;--color-accent-glow:#c8a84b4d;--color-text-primary:#d4c9a8;--color-text-secondary:#8a7e6a;--color-text-accent:#c8a84b;--color-border:#28240f;--color-health:#6a9e6a;--color-danger:#c44040;--color-magic:#7a6590;--font-primary:var(--font-special-elite),"Courier New",monospace;--font-display:"Times New Roman",serif;--border-radius:3px;--transition:.35s ease;--particle-color:#c8a84b}[data-theme=theme-deep-ocean]{--color-bg-primary:#010a14;--color-bg-secondary:#050e1a;--color-bg-card:#081520;--color-accent:#00b4d8;--color-accent-hover:#00d4f8;--color-accent-glow:#00b4d859;--color-text-primary:#aad8e6;--color-text-secondary:#4a7080;--color-text-accent:#00e5ff;--color-border:#0a2030;--color-health:#40c090;--color-danger:#e05060;--color-magic:#00b4d8;--font-primary:"Inter",sans-serif;--font-display:"Inter",sans-serif;--border-radius:8px;--transition:.25s ease;--particle-color:#00b4d8}[data-theme=theme-crimson-castle]{--color-bg-primary:#0d0800;--color-bg-secondary:#160d00;--color-bg-card:#1e1200;--color-accent:#e06020;--color-accent-hover:#ff8040;--color-accent-glow:#e0602066;--color-text-primary:#f0d0a0;--color-text-secondary:#9a7a50;--color-text-accent:#ff9040;--color-border:#2a1500;--color-health:#608030;--color-danger:#d04020;--color-magic:#804060;--font-primary:var(--font-crimson),"Georgia",serif;--font-display:"Palatino Linotype",serif;--border-radius:4px;--transition:.3s ease;--particle-color:#e06020}[data-color-mode=light]{--color-bg-primary:#f5f5f0;--color-bg-secondary:#ebebea;--color-bg-card:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#555;--color-border:#ddd}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-text-secondary)}.topbar{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);z-index:1000;height:52px;transition:background var(--transition),border-color var(--transition);justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar__left,.topbar__right{align-items:center;gap:8px;display:flex}.topbar__center{font-family:var(--font-display);color:var(--color-accent);letter-spacing:.05em;pointer-events:none;white-space:nowrap;font-size:1.1rem;position:absolute;left:50%;transform:translate(-50%)}.topbar__btn{border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;padding:6px 12px;font-size:.85rem}.topbar__btn:hover{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-accent)}.topbar__btn--danger:hover,.topbar__btn--leave{border-color:var(--color-danger);color:var(--color-danger)}.topbar__credits{color:var(--color-accent);background:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);padding:4px 10px;font-size:.85rem}.has-topbar{padding-top:52px}.dialog-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);width:90%;max-width:400px;padding:24px}.dialog__title{color:var(--color-text-primary);margin-bottom:12px;font-size:1.2rem}.dialog__message{color:var(--color-text-secondary);margin-bottom:20px;line-height:1.5}.dialog__actions{justify-content:flex-end;gap:12px;display:flex}.btn{border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);border:1px solid #0000;padding:8px 16px;font-size:.9rem}.btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn--secondary:hover{background:var(--color-bg-primary);color:var(--color-text-primary)}.btn--ghost{color:var(--color-text-muted,#6b7280);background:0 0;border-color:#0000;font-size:.75rem}.btn--ghost:hover{color:var(--color-danger,#ef4444);border-color:var(--color-danger,#ef4444)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover{opacity:.85}.background-canvas,.particle-canvas,.shop-theme-bg{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.dashboard{max-width:1200px;min-height:100vh;margin:0 auto;padding:24px}.dashboard__topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard__welcome-title{color:#f0e8ff;margin-bottom:3px;font-size:22px;font-weight:500}.dashboard__welcome-sub{color:#6060a0;font-size:13px}.dashboard__credits-pill{color:#c9a84c;background:#1a1428;border:1px solid #3a2a5a;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:flex}.dashboard__settings-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.setting-card{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;padding:24px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.setting-card:hover{transform:translateY(-2px)}.setting-card--fantasy{background:#14100a;border-color:#3a2a10}.setting-card--fantasy:hover{border-color:#c9a84c;box-shadow:0 0 24px #c9a84c26}.setting-card--horror{background:#0e080f;border-color:#2a0a2a}.setting-card--horror:hover{border-color:#7c2a8a;box-shadow:0 0 24px #7c2a8a26}.setting-card__icon{margin-bottom:12px;font-size:28px;display:block}.setting-card__title{margin-bottom:4px;font-size:18px;font-weight:500}.setting-card--fantasy .setting-card__title{color:#c9a84c}.setting-card--horror .setting-card__title{color:#b060c0}.setting-card__dm{margin-bottom:8px;font-size:12px}.setting-card--fantasy .setting-card__dm{color:#7a6030}.setting-card--horror .setting-card__dm{color:#6a3a7a}.setting-card__desc{flex:1;font-size:12px;line-height:1.5}.setting-card--fantasy .setting-card__desc{color:#6a5828}.setting-card--horror .setting-card__desc{color:#5a3060}.setting-card__btn{cursor:pointer;border:none;border-radius:8px;align-self:flex-start;margin-top:16px;padding:9px 20px;font-size:12px;font-weight:500;transition:opacity .15s}.setting-card__btn:hover{opacity:.85}.setting-card--fantasy .setting-card__btn{color:#0a0800;background:#c9a84c}.setting-card--horror .setting-card__btn{color:#f0e0ff;background:#7c2a8a}.dashboard__nav-grid{grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:24px;display:grid}.nav-card{cursor:pointer;color:var(--color-text-primary);background:#0e0e1a;border:1px solid #1e1e30;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;text-decoration:none;transition:all .2s;display:flex}.nav-card:hover{background:#141428;border-color:#4a3a7a;transform:translateY(-2px)}.nav-card--disabled{opacity:.4;pointer-events:none;cursor:default}.nav-card__icon{background:#1a1a2e;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.nav-card__label{color:#8080a8;text-align:center;font-size:11px}.dashboard__section{margin-bottom:24px}.dashboard__section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dashboard__section-title{color:#c0b0e0;font-size:14px;font-weight:500}.dashboard__section-count{color:#4040a0;margin-left:6px;font-size:13px;font-weight:400}.dashboard__section-link{color:#7c5cbf;font-size:12px;text-decoration:none}.dashboard__campaign-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.campaign-card{background:#0e0e1a;border:1px solid #1e1e30;border-left-width:3px;border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.campaign-card--fantasy{border-left-color:#c9a84c}.campaign-card--horror{border-left-color:#7c2a8a}.campaign-card__top{justify-content:space-between;align-items:flex-start;display:flex}.campaign-card__name{color:#e0d0ff;font-size:14px;font-weight:500}.campaign-card__badge{color:#4caf50;background:#0a2a0a;border-radius:10px;padding:2px 8px;font-size:10px}.campaign-card__meta{color:#5050a0;font-size:11px}.campaign-card__char{color:#6060a8;font-size:11px}.campaign-card__actions{align-items:center;gap:8px;margin-top:4px;display:flex}.campaign-card__btn{color:#c0b0e0;cursor:pointer;text-align:center;background:#1a1a2e;border:1px solid #2e2e4e;border-radius:8px;flex:1;padding:9px;font-size:12px;text-decoration:none;transition:background .15s;display:block}.campaign-card__btn:hover{background:#242440}.dashboard__char-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.char-preview-card{cursor:pointer;background:#0e0e1a;border:1px solid #1e1e30;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .2s;display:flex}.char-preview-card:hover{border-color:#3a2a5a}.char-preview-card__av{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex;position:relative;overflow:hidden}.char-preview-card__av--horror{background:#1e0a1e;border:1px solid #4a1a4a}.char-preview-card__av--fantasy{background:#1e1608;border:1px solid #4a3a10}.char-preview-card__info{flex:1;min-width:0}.char-preview-card__name{color:#e0d0ff;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:500;overflow:hidden}.char-preview-card__class{color:#6060a0;font-size:11px}.char-preview-card__xp{margin-top:8px}.char-preview-card__xp-labels{color:#4040a0;justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.char-preview-card__xp-bar{background:#1a1a2e;border-radius:2px;height:3px;overflow:hidden}.char-preview-card__xp-fill{background:#7c5cbf;border-radius:2px;height:100%;transition:width .4s}.char-preview-card__level{color:#7c5cbf;text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;font-size:18px;font-weight:500;display:flex}.char-preview-card__level span{color:#4040a0;font-size:9px;font-weight:400}@media (max-width:768px){.dashboard__settings-grid{grid-template-columns:1fr}.dashboard__nav-grid{grid-template-columns:repeat(4,1fr)}.dashboard__campaign-grid,.dashboard__char-grid{grid-template-columns:1fr}}.slider-input{flex-direction:column;gap:6px;display:flex}.slider-input--disabled{opacity:.4;pointer-events:none}.slider-input__header{justify-content:space-between;align-items:center;display:flex}.slider-input__label{color:var(--color-text-primary);font-size:.9rem}.slider-input__value{color:var(--color-accent);font-variant-numeric:tabular-nums;text-align:right;min-width:3.5ch;font-size:.85rem}.slider-input__range{appearance:none;background:var(--color-border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.slider-input__range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .15s,box-shadow .15s}.slider-input__range::-webkit-slider-thumb:hover{box-shadow:0 0 8px var(--color-accent-glow,#7c5cbf66);transform:scale(1.2)}.slider-input__markers{color:var(--color-text-secondary);font-size:.7rem}.slider-input__markers,.toggle-switch{justify-content:space-between;display:flex}.toggle-switch{align-items:center;padding:4px 0}.toggle-switch--disabled{opacity:.4;cursor:not-allowed}.toggle-switch__text{flex-direction:column;gap:2px;display:flex}.toggle-switch__label{color:var(--color-text-primary);font-size:.9rem}.toggle-switch__description{color:var(--color-text-secondary);font-size:.75rem}.toggle-switch__btn{background:var(--color-border);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:2px;transition:background .2s;position:relative}.toggle-switch__btn--on{background:var(--color-accent)}.toggle-switch__knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0000004d}.toggle-switch__btn--on .toggle-switch__knob{transform:translate(20px)}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:all;background:#000000bf;justify-content:center;align-items:center;animation:modalFadeIn .15s;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;width:90%;max-width:560px;max-height:85vh;animation:modalSlideUp .2s;display:flex}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal__title{color:var(--color-text-primary);font-size:1.1rem}.modal__close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius);transition:color var(--transition),background var(--transition);background:0 0;border:none;padding:4px 8px;font-size:1.1rem}.modal__close:hover{color:var(--color-text-primary);background:var(--color-bg-card)}.modal__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.settings-modal__tabs{border-bottom:1px solid var(--color-border);gap:4px;padding:0 24px;display:flex;overflow-x:auto}.settings-modal__tab{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:.85rem}.settings-modal__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.settings-modal__content{flex:1;padding:24px;overflow-y:auto}.settings-modal__save-hint{color:var(--color-text-secondary);font-size:.8rem}.settings-section{flex-direction:column;gap:20px;display:flex}.settings-section__item{flex-direction:column;gap:10px;display:flex}.settings-section__item--danger{border-radius:var(--border-radius);background:#c800000d;border:1px solid #c8000033;padding:16px}.settings-section__divider{background:var(--color-border);height:1px;margin:4px 0}.settings-label{color:var(--color-text-primary);font-size:.9rem;font-weight:500}.settings-label--danger{color:var(--color-danger)}.settings-hint{color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.settings-btn-group{flex-wrap:wrap;gap:8px;display:flex}.settings-btn-group__btn{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);padding:8px 16px;font-size:.85rem}.settings-btn-group__btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.settings-btn-group__btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.resizable-panel{flex-shrink:0;min-width:320px;max-width:900px;position:relative}.resizable-panel__handle{cursor:col-resize;z-index:10;width:8px;height:100%;transition:background .15s;position:absolute;top:0;right:-4px}.resizable-panel__handle:active,.resizable-panel__handle:hover{background:var(--color-accent);opacity:.5;border-radius:4px}.resizable-panel__handle--left{left:-4px;right:auto}.pinnable-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;display:flex;overflow:hidden}.pinnable-panel__header{border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pinnable-panel__title{color:var(--color-text-primary);font-size:.85rem;font-weight:600}.pinnable-panel__unpin{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.8rem}.pinnable-panel__unpin:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.pinnable-panel--collapsed{border:1px dashed var(--color-border);border-radius:var(--border-radius);opacity:.6;transition:opacity var(--transition);margin-bottom:4px}.pinnable-panel--collapsed:hover{opacity:1}.pinnable-panel__restore{width:100%;color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:color var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;display:flex}.pinnable-panel__restore:hover{color:var(--color-accent)}.pinnable-panel__restore-icon{color:var(--color-accent);margin-left:auto;font-size:1rem}.pinnable-panel__content{flex:1;padding:12px;overflow-y:auto}.panel-restore-bar{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);flex-wrap:wrap;gap:8px;padding:8px;display:flex}.panel-restore-bar__btn{background:var(--color-bg-card);border:1px dashed var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);padding:4px 12px;font-size:.8rem}.panel-restore-bar__btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.compact-toggle{border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;padding:4px 8px;font-size:1rem}.compact-toggle--active{border-color:var(--color-accent);color:var(--color-accent)}[data-compact=true] .topbar{height:40px}[data-compact=true] .has-topbar{padding-top:40px}[data-compact=true] .pinnable-panel__header{padding:6px 10px}[data-compact=true] .pinnable-panel__content{padding:8px}[data-compact=true] .dashboard__hero{margin-bottom:16px;padding:16px}[data-compact=true] .settings-section{gap:12px}[data-compact=true] .topbar__btn{padding:4px 8px;font-size:.8rem}.dice-scene-container{z-index:500;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.dice-canvas{pointer-events:none;width:400px!important;height:400px!important}.dice-result-overlay{z-index:600;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dice-result-overlay--enter .dice-result{animation:diceReveal .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes diceReveal{0%{opacity:0;transform:scale(.3)translateY(40px)}to{opacity:1;transform:scale(1)translateY(0)}}.dice-result{background:var(--color-bg-card);border:2px solid var(--color-border);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;min-width:200px;padding:32px 48px;box-shadow:0 20px 60px #00000080}.dice-result--critical{background:linear-gradient(135deg,var(--color-bg-card),#c9a84c1a);border-color:#c9a84c;box-shadow:0 0 40px #c9a84c66,0 20px 60px #00000080}.dice-result--fail{background:linear-gradient(135deg,var(--color-bg-card),#8b1a1a1a);border-color:#8b1a1a;box-shadow:0 0 40px #8b1a1a66,0 20px 60px #00000080}.dice-result__header{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dice-result__type{color:var(--color-accent);background:var(--color-bg-secondary);letter-spacing:.1em;border-radius:4px;padding:4px 10px;font-size:.9rem;font-weight:700}.dice-result__skill{color:var(--color-text-secondary);font-size:.85rem}.dice-result__number{justify-content:center;align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.dice-result__value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:5rem;font-weight:900;line-height:1}.dice-result--critical .dice-result__value{color:#c9a84c;text-shadow:0 0 20px #c9a84c99}.dice-result--fail .dice-result__value{color:#c44040}.dice-result__max{color:var(--color-text-secondary);font-size:1.5rem}.dice-result__label{letter-spacing:.05em;margin-bottom:16px;font-size:1rem;font-weight:700;animation:pulse .8s infinite alternate}.dice-result--critical .dice-result__label{color:#c9a84c}.dice-result--fail .dice-result__label{color:#c44040}@keyframes pulse{50%{opacity:.5}}.dice-result__dismiss{color:var(--color-text-secondary);cursor:pointer;pointer-events:all;font-size:.75rem;animation:fadeInDelayed .5s .3s both}@keyframes fadeInDelayed{0%{opacity:0}to{opacity:1}}.dice-skin-selector{padding:16px 0}.dice-skin-selector__title{color:var(--color-text-primary);margin-bottom:12px;font-size:.9rem}.dice-skin-selector__grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.dice-skin-btn{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);flex-direction:column;align-items:center;gap:6px;padding:12px 8px;display:flex;position:relative}.dice-skin-btn:hover:not(.dice-skin-btn--locked){border-color:var(--skin-edge,var(--color-accent));transform:translateY(-2px)}.dice-skin-btn--active{border-color:var(--skin-edge,var(--color-accent));background:var(--skin-color,var(--color-accent))}@supports (color:color-mix(in lab,red,red)){.dice-skin-btn--active{background:color-mix(in srgb,var(--skin-color,var(--color-accent)) 15%,var(--color-bg-card))}}.dice-skin-btn--locked{opacity:.6;cursor:not-allowed}.dice-skin-btn__preview{background:var(--skin-color,#e8e0d0);border:2px solid var(--skin-edge,#c8b890);border-radius:8px;width:40px;height:40px;display:block}.dice-skin-btn__name{color:var(--color-text-primary);font-size:.75rem}.dice-skin-btn__cost{color:var(--color-text-secondary);font-size:.65rem}.dice-skin-btn__active-badge{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.6rem;display:flex;position:absolute;top:4px;right:4px}.map-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;transition:width .3s,height .3s;display:flex;overflow:hidden}.map-container--loading{justify-content:center;align-items:center;display:flex}.map-container__viewport{flex:1;position:relative;overflow:hidden}.map-svg{width:100%;height:100%;display:block}.map-location-highlight{animation:locationPulse 2s infinite}@keyframes locationPulse{0%,to{opacity:.4}50%{opacity:.9}}.map-glow{animation:glowPulse 3s infinite}@keyframes glowPulse{0%,to{opacity:.2}50%{opacity:.5}}.skeleton--map{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-card) 50%,var(--color-bg-secondary) 75%);border-radius:var(--border-radius);background-size:200% 100%;width:100%;height:200px;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.map-controls{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.map-controls__btn{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);padding:4px 10px;font-size:.78rem}.map-controls__btn:hover:not(.map-controls__btn--disabled){border-color:var(--color-accent);color:var(--color-text-primary)}.map-controls__btn--disabled{opacity:.4;cursor:not-allowed}.map-controls__size{gap:2px;display:flex}.map-controls__size-btn{background:var(--color-bg-card);border:1px solid var(--color-border);width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-radius:4px;font-size:1rem;line-height:1}.map-controls__size-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.map-controls__layer-badge{color:var(--color-text-secondary);margin-left:auto;font-size:.72rem}.map-controls__fullscreen-btn{border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;flex-shrink:0;padding:3px 7px;font-size:.85rem;line-height:1}.map-controls__fullscreen-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.map-fullscreen-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background:#000000bf;justify-content:center;align-items:center;animation:mapOverlayFadeIn .2s;display:flex;position:fixed;inset:52px 0 0}.map-fullscreen{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;width:85vw;max-width:1000px;height:80vh;animation:mapFullscreenSlideUp .2s;display:flex;overflow:hidden;box-shadow:0 24px 80px #0009}.map-fullscreen__header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:stretch;display:flex}.map-fullscreen__header .map-controls{border-bottom:none;flex:1}.map-fullscreen__close{border:none;border-left:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;flex-shrink:0;align-items:center;padding:0 16px;font-size:1rem;display:flex}.map-fullscreen__close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.map-location-label{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;padding:2px 6px 3px;font-size:.7rem;display:flex;overflow:hidden}.map-location-label__pin{flex-shrink:0;font-size:.65rem}.map-location-label__name{text-overflow:ellipsis;letter-spacing:.03em;overflow:hidden}.map-location-label--fullscreen{color:var(--color-text-primary);padding:0 8px;font-size:.85rem}.map-fullscreen__viewport{flex:1;position:relative;overflow:hidden}.map-fullscreen__viewport .map-svg{width:100%;height:100%}@keyframes mapOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mapFullscreenSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.player-marker{z-index:10;transition:left .6s cubic-bezier(.34,1.56,.64,1),top .6s cubic-bezier(.34,1.56,.64,1)}.player-marker,.player-marker__pulse{position:absolute;transform:translate(-50%,-50%)}.player-marker__pulse{border:2px solid var(--marker-color);border-radius:50%;width:30px;height:30px;animation:markerPulse 1.5s ease-out infinite;top:50%;left:50%}@keyframes markerPulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.8)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}.player-marker__pin{filter:drop-shadow(0 0 4px var(--marker-glow));z-index:1;font-size:1.2rem;position:relative}.player-marker--moving .player-marker__pin{animation:markerBounce .4s}@keyframes markerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.backstory-generator{border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg-card);overflow:hidden}.backstory-generator--fantasy{border-color:#c9a84c4d}.backstory-generator--horror{border-color:#8b1a1a4d}.backstory-generator__header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:14px 16px;display:flex}.backstory-generator__icon{font-size:1.4rem}.backstory-generator__title{color:var(--color-text-primary);margin:0;font-size:.95rem}.backstory-generator__subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.75rem}.backstory-generator__editor,.backstory-generator__empty,.backstory-generator__error,.backstory-generator__loading,.backstory-generator__result{flex-direction:column;gap:12px;padding:16px;display:flex}.backstory-generator__hint{color:var(--color-text-secondary);font-size:.85rem;line-height:1.5}.backstory-generator__text{border-radius:var(--border-radius);padding:14px 16px;font-size:.9rem;font-style:italic;line-height:1.7;position:relative}.backstory-generator__text--fantasy{color:var(--color-text-primary);font-family:var(--font-primary);background:#c9a84c0f;border-left:3px solid #c9a84c66}.backstory-generator__text--horror{color:var(--color-text-primary);font-family:var(--font-primary);background:#8b1a1a0f;border-left:3px solid #8b1a1a66}.backstory-generator__loading{justify-content:center;align-items:center;padding:32px}.backstory-generator__loading-dots{gap:6px;margin-bottom:12px;display:flex}.backstory-generator__loading-dots span{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:dotBounce 1.2s infinite}.backstory-generator__loading-dots span:nth-child(2){animation-delay:.2s}.backstory-generator__loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.backstory-generator__loading-text{color:var(--color-text-secondary);font-size:.85rem;font-style:italic}.backstory-generator__dm-hint{background:var(--color-bg-secondary);border-radius:var(--border-radius);border:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.backstory-generator__dm-icon{flex-shrink:0;font-size:1.1rem}.backstory-generator__dm-hint p{color:var(--color-text-secondary);margin:0;font-size:.78rem;line-height:1.4}.backstory-generator__textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);font-size:.9rem;font-family:var(--font-primary);resize:vertical;min-height:100px;transition:border-color var(--transition);padding:12px;line-height:1.6}.backstory-generator__textarea:focus{border-color:var(--color-accent);outline:none}.backstory-generator__editor-footer{justify-content:space-between;align-items:center;display:flex}.backstory-generator__char-count{color:var(--color-text-secondary);font-size:.75rem}.backstory-generator__saved-badge{color:#4caf50;font-size:.8rem;animation:fadeIn .3s}.backstory-generator__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.backstory-generator__error{border-radius:var(--border-radius);color:var(--color-danger);background:#c800000d;font-size:.85rem}.typewriter{display:inline}.typewriter__cursor{color:var(--color-accent);margin-left:1px;font-weight:100;animation:cursorBlink .8s step-end infinite;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.title-card{z-index:900;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0;overflow:hidden}.title-card--entering{opacity:0}.title-card--visible{opacity:1}.title-card--leaving{opacity:0}.title-card--fantasy{background:radial-gradient(#2a2008f7 0,#0f0c03fc 100%)}.title-card--horror{background:radial-gradient(#0f0404f7 0,#030000fc 100%)}.title-card--fantasy .title-card__bg{background:radial-gradient(#c9a84c14 0,#0000 70%);position:absolute;inset:0}.title-card--horror .title-card__bg{background:radial-gradient(#8b1a1a14 0,#0000 70%);position:absolute;inset:0}.title-card__line{height:1px;transition:transform .8s .3s;position:absolute;left:10%;right:10%;transform:scaleX(0)}.title-card--visible .title-card__line{transform:scaleX(1)}.title-card--fantasy .title-card__line{background:#c9a84c66}.title-card--horror .title-card__line{background:#8b1a1a66}.title-card__line--top{top:30%}.title-card__line--bottom{bottom:30%}.title-card__content{text-align:center;z-index:1;padding:40px 60px;transition:transform .6s .2s;position:relative;transform:translateY(20px)}.title-card--visible .title-card__content{transform:translateY(0)}.title-card__subtitle{letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;font-size:.9rem;font-style:italic}.title-card--fantasy .title-card__subtitle{color:#c9a84cb3}.title-card--horror .title-card__subtitle{color:#b45050b3}.title-card__title{font-size:clamp(2rem,5vw,3.5rem);font-family:var(--font-display);letter-spacing:.05em;margin:0 0 20px;font-weight:700;line-height:1.2}.title-card--fantasy .title-card__title{color:#f0e8c0;text-shadow:0 0 40px #c9a84c4d}.title-card--horror .title-card__title{color:#d4b8b8;text-shadow:0 0 40px #8b1a1a4d}.title-card__ornament{letter-spacing:.3em;font-size:1rem}.title-card--fantasy .title-card__ornament{color:#c9a84c80}.title-card--horror .title-card__ornament{color:#8b1a1a80}.adventure-intro{z-index:800;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.adventure-intro--fantasy{background:#0f0a03f2}.adventure-intro--horror{background:#050202f7}.adventure-intro__loading{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:.9rem;font-style:italic;display:flex}.adventure-intro__spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.adventure-intro__text-phase{border-radius:8px;flex-direction:column;gap:24px;width:90%;max-width:680px;padding:40px;animation:introFadeIn .6s;display:flex}@keyframes introFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.adventure-intro__text-phase--fantasy{background:#1e1405e6;border:1px solid #c9a84c33;box-shadow:0 0 60px #c9a84c0d}.adventure-intro__text-phase--horror{background:#0a0404f2;border:1px solid #8b1a1a33;box-shadow:0 0 60px #8b1a1a0d}.adventure-intro__dm-header{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding-bottom:16px;display:flex}.adventure-intro__dm-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.4rem;display:flex}.adventure-intro__dm-avatar--fantasy{background:#c9a84c1a;border:1px solid #c9a84c4d}.adventure-intro__dm-avatar--horror{background:#8b1a1a1a;border:1px solid #8b1a1a4d}.adventure-intro__dm-name{color:var(--color-text-primary);font-size:.95rem;font-weight:600;display:block}.adventure-intro__dm-label{color:var(--color-text-secondary);font-size:.75rem;font-style:italic;display:block}.adventure-intro__text{min-height:100px;font-size:1.05rem;line-height:1.8}.adventure-intro__text--fantasy{color:#f0e8c8;font-family:var(--font-primary)}.adventure-intro__text--horror{color:#d0c4b8;font-family:var(--font-primary);letter-spacing:.01em}.adventure-intro__skip{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition);opacity:.6;background:0 0;border:none;align-self:flex-end;padding:4px 8px;font-size:.8rem}.adventure-intro__skip:hover{color:var(--color-text-primary);opacity:1}.adventure-intro__actions{justify-content:center;min-height:44px;margin-top:28px;display:flex}.adventure-intro__start-btn{font-size:.8rem;font-family:var(--font-primary);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:8px 22px;transition:background .2s,color .2s,border-color .2s;animation:introDoneFade .6s forwards}.adventure-intro--fantasy .adventure-intro__start-btn{color:#c9a84cbf;border-color:#c9a84c73}.adventure-intro--fantasy .adventure-intro__start-btn:hover{color:#c9a84c;background:#c9a84c12;border-color:#c9a84ccc}.adventure-intro--horror .adventure-intro__start-btn{color:#c86464bf;border-color:#a0282880}.adventure-intro--horror .adventure-intro__start-btn:hover{color:#dc7878;background:#8b1a1a1a;border-color:#b43232cc}@keyframes introDoneFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes introFadeOut{0%{opacity:1}to{opacity:0}}.adventure-intro__error{text-align:center;max-width:400px;color:var(--color-danger);flex-direction:column;align-items:center;gap:16px;font-size:.9rem;display:flex}.game-content--hidden{visibility:hidden;pointer-events:none}.tts-controls{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.tts-controls--playing,.tts-controls:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.tts-controls--playing{background:rgba(var(--color-accent-rgb,124,92,191),.08)}.tts-controls--loading{opacity:.6;cursor:wait}.tts-controls--compact{border-radius:50%;justify-content:center;width:28px;height:28px;padding:4px 8px}.tts-controls__icon{font-size:.75rem}.tts-controls__wave{align-items:center;gap:2px;height:12px;display:flex}.tts-controls__wave span{background:var(--color-accent);border-radius:1px;width:2px;animation:ttsWave .8s infinite;display:block}.tts-controls__wave span:first-child{height:6px;animation-delay:0s}.tts-controls__wave span:nth-child(2){height:10px;animation-delay:.15s}.tts-controls__wave span:nth-child(3){height:6px;animation-delay:.3s}@keyframes ttsWave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.tts-status-bar{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:8px;padding:10px 12px;font-size:.8rem;display:flex}.tts-status-bar--warning{background:#ffa0000a;border-color:#ffa00066}.tts-status-bar__engine{align-items:center;gap:8px;display:flex}.tts-status-bar__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tts-status-bar__dot--elevenlabs{background:#4caf50;box-shadow:0 0 4px #4caf5080}.tts-status-bar__dot--browser{background:#ff9800}.tts-status-bar__dot--none{background:var(--color-text-secondary)}.tts-status-bar__engine-name{color:var(--color-text-primary);font-weight:500}.tts-status-bar__quota{flex-direction:column;gap:4px;display:flex}.tts-status-bar__quota-bar{background:var(--color-border);border-radius:2px;height:3px;position:relative;overflow:hidden}.tts-status-bar__quota-bar:after{content:"";height:100%;width:var(--quota-pct,100%);background:var(--color-accent);border-radius:2px;transition:width .3s;position:absolute;top:0;left:0}.tts-status-bar__hint,.tts-status-bar__quota-text{color:var(--color-text-secondary)}.tts-status-bar__hint{margin:0}.tts-status-bar__warning-text{color:#ff9800;margin:0}.message__tts-row{opacity:.5;transition:opacity var(--transition);justify-content:flex-start;margin-top:6px;display:flex}.message__tts-row:hover{opacity:1}.credits-display{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex;position:relative}.credits-display--header{color:var(--color-accent);background:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);cursor:pointer;padding:4px 10px;font-size:.85rem;text-decoration:none}.credits-display--large{color:var(--color-accent);font-size:1.8rem;font-weight:700}.credits-display--loading{color:var(--color-text-secondary);font-size:.85rem}.credits-display__bonus{color:#4caf50;white-space:nowrap;font-size:.75rem;font-weight:600;animation:bonusFloat 3s forwards;position:absolute;top:-20px;right:0}@keyframes bonusFloat{0%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(-12px)}to{opacity:0;transform:translateY(-20px)}}.shop-item-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:transform var(--transition),box-shadow var(--transition);flex-direction:column;gap:10px;padding:16px;display:flex;position:relative;overflow:hidden}.shop-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.shop-item-card--owned{background:#4caf500a;border-color:#4caf504d}.shop-item-card__rarity-bar{background:var(--rarity-color);height:3px;position:absolute;top:0;left:0;right:0}.shop-item-card__icon{text-align:center;font-size:2rem}.shop-item-card__name{color:var(--color-text-primary);margin:0;font-size:.95rem;font-weight:600}.shop-item-card__desc{color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.4}.shop-item-card__rarity{color:var(--rarity-color);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:600}.shop-item-card__setting-badge{border-radius:10px;align-self:flex-start;padding:2px 8px;font-size:.7rem}.shop-item-card__setting-badge--fantasy{color:#c9a84c;background:#c9a84c1a;border:1px solid #c9a84c4d}.shop-item-card__setting-badge--horror{color:#c44;background:#8b1a1a1a;border:1px solid #8b1a1a4d}.shop-item-card__footer{margin-top:auto}.shop-item-card__owned-row,.shop-item-card__quantity-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-item-card__owned-badge{color:#4caf50;font-size:.8rem}.shop-item-card__quantity{color:var(--color-text-secondary);font-size:.8rem}.btn--shop-buy{background:var(--color-accent);color:#fff;border-radius:var(--border-radius);cursor:pointer;width:100%;transition:all var(--transition);border:none;justify-content:space-between;align-items:center;padding:10px;font-size:.85rem;font-weight:600;display:flex}.btn--shop-buy:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn--shop-buy:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--shop-buy--cant-afford{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--small{border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);padding:4px 10px;font-size:.78rem}.purchase-confirm__content{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.purchase-confirm__item{background:var(--color-bg-secondary);border-radius:var(--border-radius);align-items:center;gap:14px;padding:12px;display:flex}.purchase-confirm__icon{font-size:2rem}.purchase-confirm__item-name{color:var(--color-text-primary);margin:0 0 4px;font-weight:600}.purchase-confirm__item-desc{color:var(--color-text-secondary);margin:0;font-size:.8rem}.purchase-confirm__breakdown{flex-direction:column;gap:6px;font-size:.85rem;display:flex}.purchase-confirm__row{color:var(--color-text-secondary);justify-content:space-between;display:flex}.purchase-confirm__row--cost{color:var(--color-danger)}.purchase-confirm__row--remaining{color:var(--color-text-primary);border-top:1px solid var(--color-border);padding-top:6px;font-weight:600}.purchase-confirm__hint{color:#ff9800;border-radius:var(--border-radius);background:#ff980014;margin:0;padding:8px;font-size:.78rem}.shop-page{flex-direction:column;gap:24px;max-width:1100px;margin:0 auto;padding:24px;display:flex}.shop-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.shop-page__title{color:var(--color-text-primary);margin:0;font-size:1.6rem}.shop-page__subtitle{color:var(--color-text-secondary);margin:4px 0 0;font-size:.85rem}.shop-page__balance{text-align:right}.shop-page__balance-label{color:var(--color-text-secondary);margin:0 0 4px;font-size:.75rem}.shop-page__tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:8px;padding-bottom:0;display:flex}.shop-page__tab{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;font-size:.88rem}.shop-page__tab:hover{color:var(--color-text-primary)}.shop-page__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.shop-page__category-hint{color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);padding:8px 12px;font-size:.8rem}.shop-page__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.starter-selector{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.starter-selector__header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:16px 20px}.starter-selector__header h3{color:var(--color-text-primary);margin:0 0 4px;font-size:1rem}.starter-selector__header p{color:var(--color-text-secondary);margin:0;font-size:.8rem}.starter-selector__grid{flex-wrap:wrap;gap:10px;padding:16px 20px;display:flex}.starter-selector__item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);color:var(--color-text-primary);align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;display:flex;position:relative}.starter-selector__item:hover{border-color:var(--color-accent)}.starter-selector__item--selected{border-color:var(--color-accent);background:#7c5cbf1a}.starter-selector__item-icon{font-size:1.1rem}.starter-selector__item-qty{color:var(--color-text-secondary);font-size:.75rem}.starter-selector__check{color:var(--color-accent);font-weight:700}.starter-selector__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.achievement-popup-overlay{z-index:1500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.achievement-popup{background:var(--color-bg-card);border:2px solid var(--rarity-color);text-align:center;width:90%;max-width:360px;box-shadow:0 0 40px var(--rarity-color);border-radius:16px;padding:32px;animation:achievementPop .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.achievement-popup{box-shadow:0 0 40px color-mix(in srgb,var(--rarity-color) 30%,transparent)}}@keyframes achievementPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.achievement-popup__glow{background:radial-gradient(ellipse at center,var(--rarity-color) 0,transparent 60%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}@supports (color:color-mix(in lab,red,red)){.achievement-popup__glow{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--rarity-color) 10%,transparent) 0,transparent 60%)}}.achievement-popup__glow{pointer-events:none}.achievement-popup__label{color:var(--rarity-color);text-transform:uppercase;letter-spacing:.15em;margin:0 0 16px;font-size:.75rem;font-weight:600}.achievement-popup__icon{margin-bottom:12px;font-size:3rem}.achievement-popup__name{color:var(--color-text-primary);margin:0 0 8px;font-size:1.3rem}.achievement-popup__desc{color:var(--color-text-secondary);margin:0 0 16px;font-size:.85rem;line-height:1.4}.achievement-popup__reward{color:#c9a84c;background:#c9a84c1a;border:1px solid #c9a84c4d;border-radius:20px;margin-bottom:20px;padding:6px 16px;font-size:.9rem;font-weight:600;display:inline-block}.cookie-banner{background:var(--color-bg-card);border:1px solid var(--color-border);z-index:3000;border-radius:12px;width:min(700px,100vw - 32px);animation:cookieSlideUp .4s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}@keyframes cookieSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-banner__content{flex-wrap:wrap;align-items:center;gap:20px;padding:16px 20px;display:flex}.cookie-banner__text{flex:1;min-width:200px}.cookie-banner__title{color:var(--color-text-primary);margin:0 0 4px;font-size:.9rem;font-weight:600}.cookie-banner__desc{color:var(--color-text-secondary);margin:0;font-size:.78rem;line-height:1.4}.cookie-banner__link{color:var(--color-accent);text-decoration:underline}.cookie-banner__actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.cookie-settings-overlay{z-index:3100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cookie-settings{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;width:min(520px,92vw);max-height:85vh;display:flex;overflow-y:auto}.cookie-settings__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.cookie-settings__header h2{color:var(--color-text-primary);margin:0;font-size:1.05rem}.cookie-settings__body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.cookie-settings__category{background:var(--color-bg-card);border-radius:var(--border-radius);border:1px solid var(--color-border);padding:14px}.cookie-settings__category-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cookie-settings__category-header h3{color:var(--color-text-primary);margin:0 0 4px;font-size:.9rem}.cookie-settings__category-header p{color:var(--color-text-secondary);margin:0;font-size:.78rem}.cookie-settings__required-badge{color:#4caf50;white-space:nowrap;background:#4caf501a;border:1px solid #4caf504d;border-radius:10px;padding:2px 8px;font-size:.72rem}.cookie-settings__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.legal-page{background:var(--color-bg-primary);min-height:100vh;padding:40px 16px}.legal-page__container{max-width:780px;margin:0 auto}.legal-page__title{color:var(--color-text-primary);margin-bottom:6px;font-size:1.8rem}.legal-page__updated{color:var(--color-text-secondary);margin-bottom:32px;font-size:.8rem}.legal-section{margin-bottom:32px}.legal-section h2{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin:0 0 12px;padding-bottom:8px;font-size:1.1rem}.legal-section h3{color:var(--color-text-primary);margin:16px 0 6px;font-size:.95rem}.legal-section p{color:var(--color-text-secondary);margin:0 0 10px;font-size:.88rem;line-height:1.7}.legal-section a{color:var(--color-accent);text-decoration:underline}.legal-placeholder{border-radius:var(--border-radius);color:#ff9800;background:#ffa0000f;border:1px dashed #ffa00066;padding:12px 16px;font-size:.85rem}.legal-placeholder p{color:#ff9800;margin:2px 0}.legal-placeholder-inline{color:#ff9800;background:#ffa0001a;border:1px dashed #ffa00066;border-radius:4px;padding:1px 6px;font-size:.85em}.legal-list{margin:8px 0;padding-left:20px}.legal-list li{color:var(--color-text-secondary);margin-bottom:4px;font-size:.88rem;line-height:1.6}.legal-table{border:1px solid var(--color-border);border-radius:var(--border-radius);margin:12px 0;font-size:.82rem;overflow:hidden}.legal-table__row{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);grid-template-columns:1.5fr 2fr 1fr 1fr;gap:8px;padding:8px 12px;display:grid}.legal-table__row:last-child{border-bottom:none}.legal-table__row--header{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:600}.legal-table__row code{background:var(--color-bg-secondary);border-radius:3px;padding:1px 5px;font-size:.78rem}.delete-account-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.delete-account-page__container{width:100%;max-width:520px}.delete-account-page__title{color:var(--color-danger);margin-bottom:24px;font-size:1.4rem}.delete-account-page__warning{border-radius:var(--border-radius);color:var(--color-text-secondary);background:#c800000f;border:1px solid #c8000033;margin-bottom:20px;padding:20px;font-size:.88rem;line-height:1.6}.delete-account-page__warning strong{color:var(--color-danger)}.delete-account-page__warning ul{margin:8px 0 8px 20px}.delete-account-page__warning li{margin-bottom:4px}.delete-account-page__warning a{color:var(--color-accent);text-decoration:underline}.delete-account-page__confirm-text{color:var(--color-text-secondary);margin-bottom:12px;font-size:.9rem}.delete-account-page__input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);transition:border-color var(--transition);box-sizing:border-box;margin-bottom:12px;padding:10px 14px;font-size:1rem}.delete-account-page__input:focus{border-color:var(--color-danger);outline:none}.delete-account-page__error{color:var(--color-danger);margin-bottom:12px;font-size:.82rem}.delete-account-page__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.delete-account-page__step{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:24px}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);margin-top:auto;padding:14px 24px}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.site-footer__brand{color:var(--color-text-secondary);font-size:.78rem}.site-footer__links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.site-footer__link{color:var(--color-text-secondary);transition:color var(--transition);font-size:.78rem;text-decoration:none}.site-footer__link:hover{color:var(--color-text-primary)}.site-footer__link--btn{cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem}.site-footer__sep{color:var(--color-border);font-size:.78rem}.skip-to-content{background:var(--color-accent);color:#fff;z-index:9999;border-radius:0 0 4px;padding:8px 16px;font-size:.9rem;text-decoration:none;transition:top .2s;position:absolute;top:-40px;left:0}.skip-to-content:focus{top:0}.offline-page{background:var(--color-bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.offline-page__content{text-align:center;max-width:400px}.offline-page__icon{opacity:.6;margin-bottom:16px;font-size:4rem}.offline-page__title{color:var(--color-text-primary);margin-bottom:12px;font-size:1.6rem}.offline-page__text{color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6}.error-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.error-page--fantasy{background:radial-gradient(#1a1508 0,#0a0804 100%)}.error-page--horror{background:radial-gradient(#0f0505 0,#050202 100%)}.error-page--base{background:var(--color-bg-primary)}.error-page__content{text-align:center;z-index:1;max-width:560px;animation:errorFadeIn .6s;position:relative}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.error-page__code{font-size:clamp(5rem,15vw,9rem);font-weight:900;line-height:1;font-family:var(--font-display,serif);margin-bottom:16px}.error-page--fantasy .error-page__code{color:#c9a84c66}.error-page--horror .error-page__code{color:#8b1a1a66}.error-page--base .error-page__code{color:#7c5cbf66}.error-page__code--error{font-size:5rem;color:#ffa00080!important}.error-page__title{font-size:clamp(1.2rem,3vw,1.7rem);font-family:var(--font-primary,serif);margin-bottom:12px}.error-page--fantasy .error-page__title{color:#f0e8c8}.error-page--horror .error-page__title{color:#d4b8b8}.error-page--base .error-page__title{color:var(--color-text-primary)}.error-page__subtitle{margin-bottom:24px;font-size:.9rem;line-height:1.6}.error-page--fantasy .error-page__subtitle{color:#c9a84cb3}.error-page--horror .error-page__subtitle{color:#d4b8b899}.error-page--base .error-page__subtitle{color:var(--color-text-secondary)}.error-page__ornament{letter-spacing:.3em;opacity:.4;margin-bottom:28px;font-size:1rem}.error-page__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.error-page__details{text-align:left;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);margin:16px 0;padding:12px}.error-page__details summary{cursor:pointer;color:var(--color-text-secondary);font-size:.85rem}.error-page__stack{color:var(--color-danger);white-space:pre-wrap;word-break:break-all;margin-top:8px;font-size:.78rem;overflow-x:auto}.error-page__digest{color:var(--color-text-secondary);margin-top:16px;font-size:.75rem}.error-page__digest code{background:var(--color-bg-secondary);border-radius:3px;padding:2px 6px}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-card) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:4px;animation:skeletonShimmer 1.6s ease-in-out infinite;display:block}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton--rounded{border-radius:8px}.skeleton--circle{border-radius:50%;flex-shrink:0}.skeleton-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.skeleton-card__body{flex-direction:column;gap:8px;padding:14px;display:flex}.skeleton-message{align-items:flex-start;gap:12px;padding:12px;display:flex}.skeleton-message__lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-dashboard__hero{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);justify-content:space-between;align-items:center;margin-bottom:20px;padding:24px;display:flex}.skeleton-dashboard__grid-2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.skeleton-dashboard__grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skeleton-nav-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);align-items:center;gap:8px;padding:20px}.skeleton-nav-card,.skeleton-shop{flex-direction:column;display:flex}.skeleton-shop{gap:16px;max-width:1100px;margin:0 auto;padding:24px}.skeleton-shop__tabs{gap:8px;display:flex}.skeleton-shop__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.mt-2{margin-top:8px}.feedback-btn{background:var(--color-bg-card);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;z-index:2500;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:fixed;bottom:80px;right:20px;box-shadow:0 2px 12px #0000004d}.feedback-btn--open,.feedback-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-secondary)}.feedback-panel{background:var(--color-bg-card);border:1px solid var(--color-border);z-index:2500;border-radius:12px;width:300px;animation:feedbackSlideIn .25s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:134px;right:20px;overflow:hidden;box-shadow:0 8px 32px #0006}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-panel__header{border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);padding:12px 16px}.feedback-panel__header h3{color:var(--color-text-primary);margin:0;font-size:.9rem}.feedback-panel__body{flex-direction:column;gap:10px;padding:14px;display:flex}.feedback-panel__types{flex-wrap:wrap;gap:6px;display:flex}.feedback-panel__type-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-radius:20px;padding:4px 10px;font-size:.75rem}.feedback-panel__type-btn--active{border-color:var(--color-accent);color:var(--color-accent);background:#7c5cbf1a}.feedback-panel__textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);width:100%;color:var(--color-text-primary);resize:none;transition:border-color var(--transition);font-size:.82rem;font-family:var(--font-primary);box-sizing:border-box;padding:8px 10px;line-height:1.5}.feedback-panel__textarea:focus{border-color:var(--color-accent);outline:none}.feedback-panel__footer{justify-content:space-between;align-items:center;display:flex}.feedback-panel__char-count{color:var(--color-text-secondary);font-size:.72rem}.feedback-panel__success{text-align:center;color:#4caf50;padding:16px;font-size:.9rem}.feedback-panel__error{color:var(--color-danger);margin:0;font-size:.78rem}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0fd9;border-bottom:1px solid #ffffff0f;position:fixed;top:0;left:0;right:0}.landing-nav__inner{justify-content:space-between;align-items:center;max-width:1100px;height:60px;margin:0 auto;padding:0 24px;display:flex}.landing-nav__brand{font-family:var(--font-display,serif);color:var(--color-accent);letter-spacing:.05em;font-size:1.1rem;text-decoration:none}.landing-nav__links{align-items:center;gap:20px;display:flex}.landing-nav__link{color:var(--color-text-secondary);transition:color var(--transition);font-size:.88rem;text-decoration:none}.landing-nav__link:hover{color:var(--color-text-primary)}.hero-section{background:radial-gradient(at 50% 40%,#16102a 0,#0a0a0f 60%);justify-content:center;align-items:center;min-height:100vh;padding:100px 24px 60px;display:flex;position:relative;overflow:hidden}.hero-section__canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-section__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:700px;display:flex;position:relative}.hero-section__badge{color:var(--color-accent);letter-spacing:.08em;background:#7c5cbf26;border:1px solid #7c5cbf59;border-radius:20px;padding:6px 16px;font-size:.82rem;display:inline-block}.hero-section__title{font-size:clamp(3rem,8vw,5.5rem);font-family:var(--font-display,serif);flex-direction:column;gap:0;margin:0;font-weight:900;line-height:1.05;display:flex}.hero-section__title-line{color:#f0e8f0}.hero-section__title-line--accent{color:var(--color-accent)}.hero-section__subtitle{color:var(--color-text-secondary);max-width:560px;margin:0;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.6}.hero-section__preview{text-align:left;background:#140f23cc;border:1px solid #7c5cbf40;border-radius:12px;max-width:520px;padding:16px 20px}.hero-section__preview-dm{align-items:center;gap:8px;margin-bottom:8px;display:flex}.hero-section__preview-avatar{font-size:1.1rem}.hero-section__preview-name{color:var(--color-accent);font-size:.82rem;font-weight:600}.hero-section__preview-text{color:#c8b8d8;margin:0;font-family:Georgia,serif;font-size:.9rem;font-style:italic;line-height:1.6}.hero-section__ctas{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn--hero-primary{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn--hero-primary:hover{background:var(--color-accent-hover,#6a4aaf);transform:translateY(-2px);box-shadow:0 8px 24px #7c5cbf66}.btn--hero-secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;padding:14px 32px;font-size:1rem;text-decoration:none;transition:all .2s;display:inline-block}.btn--hero-secondary:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.btn--large{padding:16px 40px;font-size:1.1rem}.hero-section__social-proof{color:var(--color-text-secondary);opacity:.7;margin:0;font-size:.78rem}.feature-grid{background:var(--color-bg-secondary);padding:80px 24px}.feature-grid__inner{max-width:1100px;margin:0 auto}.feature-grid__title{color:var(--color-text-primary);text-align:center;margin-bottom:8px;font-size:clamp(1.5rem,4vw,2.2rem)}.feature-grid__subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:48px;font-size:1rem}.feature-grid__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);transition:transform var(--transition),border-color var(--transition);border-radius:12px;padding:24px}.feature-card:hover{border-color:var(--color-accent);transform:translateY(-3px)}.feature-card__icon{margin-bottom:12px;font-size:1.8rem}.feature-card__title{color:var(--color-text-primary);margin:0 0 8px;font-size:1rem;font-weight:600}.feature-card__desc{color:var(--color-text-secondary);margin:0;font-size:.85rem;line-height:1.5}.setting-preview{background:var(--color-bg-primary);padding:80px 24px}.setting-preview__inner{max-width:1000px;margin:0 auto}.setting-preview__title{color:var(--color-text-primary);text-align:center;margin-bottom:48px;font-size:clamp(1.5rem,4vw,2.2rem)}.setting-preview__grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (max-width:640px){.setting-preview__grid{grid-template-columns:1fr}}.setting-preview__card{border-radius:16px;padding:32px;position:relative;overflow:hidden}.setting-preview__card--fantasy{background:linear-gradient(135deg,#1a1508,#2a2010);border:1px solid #c9a84c40}.setting-preview__card--horror{background:linear-gradient(135deg,#0f0505,#180c0c);border:1px solid #8b1a1a40}.setting-preview__card-glow{pointer-events:none;border-radius:50%;width:70%;height:70%;position:absolute;top:-40%;left:-20%}.setting-preview__card--fantasy .setting-preview__card-glow{background:radial-gradient(circle,#c9a84c14 0,#0000 70%)}.setting-preview__card--horror .setting-preview__card-glow{background:radial-gradient(circle,#8b1a1a1a 0,#0000 70%)}.setting-preview__card-content{z-index:1;position:relative}.setting-preview__dm-name{letter-spacing:.05em;margin-bottom:8px;font-size:.82rem;display:block}.setting-preview__card--fantasy .setting-preview__dm-name{color:#c9a84cb3}.setting-preview__card--horror .setting-preview__dm-name{color:#cc4444b3}.setting-preview__card-title{font-size:1.8rem;font-family:var(--font-display,serif);margin:0 0 12px}.setting-preview__card--fantasy .setting-preview__card-title{color:#f0e8c8}.setting-preview__card--horror .setting-preview__card-title{color:#d4b8b8}.setting-preview__card-desc{color:var(--color-text-secondary);margin:0 0 16px;font-size:.88rem;line-height:1.6}.setting-preview__features{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.setting-preview__features li{color:var(--color-text-secondary);padding-left:16px;font-size:.82rem;position:relative}.setting-preview__features li:before{content:"✦";font-size:.6rem;position:absolute;top:2px;left:0}.setting-preview__card--fantasy .setting-preview__features li:before{color:#c9a84c}.setting-preview__card--horror .setting-preview__features li:before{color:#c44}.cta-section{background:radial-gradient(ellipse at center,#7c5cbf14 0,transparent 70%),var(--color-bg-secondary);text-align:center;padding:100px 24px}.cta-section__inner{flex-direction:column;align-items:center;gap:16px;max-width:600px;margin:0 auto;display:flex}.cta-section__title{color:var(--color-text-primary);margin:0;font-size:clamp(1.6rem,4vw,2.4rem)}.cta-section__subtitle{font-size:1rem;line-height:1.6}.cta-section__fine,.cta-section__subtitle{color:var(--color-text-secondary);margin:0}.cta-section__fine{opacity:.6;font-size:.78rem}.landing-page{flex-direction:column;min-height:100vh;display:flex}.landing-page main{flex:1;padding-top:60px}.onboarding-overlay{z-index:3100;cursor:pointer;background:#0000008c;position:fixed;inset:0}.onboarding-highlight{border:2px solid var(--color-accent);z-index:3200;pointer-events:none;border-radius:8px;animation:highlightPulse 1.5s infinite;position:absolute;box-shadow:0 0 0 4px #7c5cbf26,0 0 20px #7c5cbf4d}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 4px #7c5cbf26,0 0 20px #7c5cbf4d}50%{box-shadow:0 0 0 8px #7c5cbf40,0 0 30px #7c5cbf66}}.onboarding-tooltip{z-index:3300;background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:12px;width:320px;animation:tooltipPop .3s cubic-bezier(.34,1.56,.64,1);position:absolute;overflow:hidden;box-shadow:0 12px 40px #00000080}@keyframes tooltipPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.onboarding-tooltip__progress-bar{background:var(--color-border);height:3px}.onboarding-tooltip__progress-fill{background:var(--color-accent);height:100%;transition:width .4s}.onboarding-tooltip__content{padding:16px 18px 12px}.onboarding-tooltip__title{color:var(--color-text-primary);margin:0 0 6px;font-size:.95rem;font-weight:600}.onboarding-tooltip__text{color:var(--color-text-secondary);margin:0;font-size:.84rem;line-height:1.5}.onboarding-tooltip__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 18px 14px;display:flex}.onboarding-tooltip__counter{color:var(--color-text-secondary);font-size:.75rem}.onboarding-tooltip__actions{align-items:center;gap:8px;display:flex}.onboarding-tooltip__skip{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:4px;font-size:.78rem}.onboarding-tooltip__skip:hover{color:var(--color-text-primary)}.changelog-modal{max-width:520px}.changelog-modal__header-content{flex-direction:column;gap:4px;display:flex}.changelog-modal__badge{color:var(--color-accent);letter-spacing:.06em;background:#7c5cbf26;border:1px solid #7c5cbf59;border-radius:20px;align-self:flex-start;padding:2px 10px;font-size:.72rem;display:inline-block}.changelog-modal__version{color:var(--color-text-secondary);font-size:.78rem}.changelog-modal__tabs{border-bottom:1px solid var(--color-border);gap:4px;padding:0 24px;display:flex;overflow-x:auto}.changelog-modal__tab{color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.82rem}.changelog-modal__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.changelog-modal__content{max-height:300px;padding:20px 24px;overflow-y:auto}.changelog-modal__text{color:var(--color-text-secondary);font-size:.88rem;line-height:1.7}.changelog-modal__text strong{color:var(--color-text-primary);margin:12px 0 6px;font-size:.9rem;display:block}.changelog-modal__text strong:first-child{margin-top:0}.changelog-modal__date{color:var(--color-text-secondary);font-size:.78rem}.changelog-modal__counter{color:var(--color-text-secondary);font-size:.82rem}.server-banner{z-index:999;align-items:center;gap:10px;padding:10px 20px;font-size:.85rem;display:flex;position:relative}.server-banner--info{background:#2196f31f;border-bottom:1px solid #2196f34d}.server-banner--warning{background:#ff98001f;border-bottom:1px solid #ff98004d}.server-banner--maintenance{background:#9c27b01f;border-bottom:1px solid #9c27b04d}.server-banner--success{background:#4caf501f;border-bottom:1px solid #4caf504d}.server-banner__icon{flex-shrink:0;font-size:1rem}.server-banner__message{color:var(--color-text-primary);flex:1;margin:0}.server-banner__close{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.9rem}.server-banner__close:hover{color:var(--color-text-primary)}.rating-prompt{background:var(--color-bg-card);border:1px solid var(--color-border);z-index:2000;border-radius:12px;flex-direction:column;gap:10px;max-width:280px;padding:14px 18px;animation:ratingSlideIn .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 8px 32px #0006}@keyframes ratingSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rating-prompt__close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.8rem;position:absolute;top:8px;right:8px}.rating-prompt__text{color:var(--color-text-primary);margin:0;padding-right:20px;font-size:.85rem;line-height:1.4}.rating-prompt__stars{gap:4px;display:flex}.rating-prompt__star{color:var(--color-border);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.6rem;line-height:1;transition:color .15s,transform .15s}.rating-prompt__star--active{color:#f0c040;transform:scale(1.15)}.tutorial-overlay{z-index:2900;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tutorial-overlay__card{background:var(--color-bg-card);border:1px solid var(--color-border);text-align:center;border-radius:16px;width:100%;max-width:460px;padding:36px;animation:tutorialPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes tutorialPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.tutorial-overlay__icon{margin-bottom:16px;font-size:3rem}.tutorial-overlay__title{color:var(--color-text-primary);margin:0 0 10px;font-size:1.3rem}.tutorial-overlay__text{color:var(--color-text-secondary);margin:0 0 20px;font-size:.9rem;line-height:1.5}.tutorial-overlay__features{text-align:left;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;display:grid}.tutorial-overlay__feature{background:var(--color-bg-secondary);border-radius:var(--border-radius);color:var(--color-text-secondary);align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;display:flex}.tutorial-overlay__actions{justify-content:center;gap:10px;margin-bottom:12px;display:flex}.tutorial-overlay__note{color:var(--color-text-secondary);opacity:.6;margin:0;font-size:.72rem}.achievement-badge{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition);align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.achievement-badge--unlocked{border-color:var(--rarity-color)}@supports (color:color-mix(in lab,red,red)){.achievement-badge--unlocked{border-color:color-mix(in srgb,var(--rarity-color) 30%,var(--color-border))}}.achievement-badge--locked{opacity:.45;filter:grayscale(.6)}.achievement-badge--small{gap:6px;padding:6px 8px}.achievement-badge--large{flex-direction:column;align-items:flex-start;gap:6px}.achievement-badge__icon{flex-shrink:0;font-size:1.5rem}.achievement-badge--small .achievement-badge__icon{font-size:1rem}.achievement-badge--large .achievement-badge__icon{font-size:2rem}.achievement-badge__info{flex-direction:column;gap:2px;min-width:0;display:flex}.achievement-badge__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.achievement-badge--large .achievement-badge__name{white-space:normal}.achievement-badge__desc{color:var(--color-text-secondary);font-size:.75rem;line-height:1.4}.achievement-badge__date{color:var(--color-text-secondary);opacity:.6;font-size:.7rem}.achievement-badge__rarity-dot{background:var(--rarity-color,var(--color-border));border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.achievement-grid{flex-direction:column;gap:16px;display:flex}.achievement-grid__header{flex-direction:column;gap:8px;display:flex}.achievement-grid__title{color:var(--color-text-primary);align-items:center;gap:12px;margin:0;font-size:1.1rem;display:flex}.achievement-grid__count{color:var(--color-text-secondary);font-size:.85rem;font-weight:400}.achievement-grid__progress{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.achievement-grid__progress-fill{background:var(--color-accent);border-radius:2px;height:100%;transition:width .6s}.achievement-grid__progress-text{color:var(--color-text-secondary);margin:0;font-size:.75rem}.achievement-grid__categories{flex-wrap:wrap;gap:6px;display:flex}.achievement-grid__cat-btn{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-radius:20px;padding:5px 12px;font-size:.78rem}.achievement-grid__cat-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.achievement-grid__cat-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.achievement-grid__items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.achievement-progress{background:var(--color-bg-card);border:1px solid var(--rarity-color,var(--color-border));align-items:center;gap:12px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.achievement-progress{border:1px solid color-mix(in srgb,var(--rarity-color,var(--color-border)) 20%,var(--color-border))}}.achievement-progress{border-radius:var(--border-radius)}.achievement-progress__icon{font-size:1.3rem}.achievement-progress__info{flex-direction:column;flex:1;gap:4px;display:flex}.achievement-progress__name{color:var(--color-text-primary);font-size:.82rem;font-weight:500}.achievement-progress__bar{background:var(--color-border);border-radius:2px;height:3px;overflow:hidden}.achievement-progress__fill{background:var(--rarity-color,var(--color-accent));border-radius:2px;height:100%;transition:width .4s}.achievement-progress__label{color:var(--color-text-secondary);font-size:.7rem}.replay-filter{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:20px;margin-bottom:16px;padding:12px 0;display:flex}.replay-filter__group{flex-direction:column;gap:6px;display:flex}.replay-filter__label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:500}.replay-filter__btns{flex-wrap:wrap;gap:6px;display:flex}.replay-filter__btn{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-radius:20px;padding:4px 12px;font-size:.78rem}.replay-filter__btn--active,.replay-filter__btn:hover{border-color:var(--color-accent)}.replay-filter__btn--active{background:var(--color-accent);color:#fff}.replay-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.replay-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.replay-card--fantasy:hover{border-color:#c9a84c80}.replay-card--horror:hover{border-color:#8b1a1a80}.replay-card__left{align-items:center;gap:12px;min-width:0;display:flex}.replay-card__setting-icon{flex-shrink:0;font-size:1.3rem}.replay-card__char{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;overflow:hidden}.replay-card__class{color:var(--color-text-secondary);font-size:.82rem}.replay-card__date{color:var(--color-text-secondary);margin:2px 0 0;font-size:.75rem}.replay-card__right{flex-shrink:0;align-items:center;gap:10px;display:flex}.replay-card__rounds{color:var(--color-text-secondary);font-size:.78rem}.replay-card__outcome{font-size:1.1rem}.replay-list__empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.replay-list__load-more{width:100%;margin-top:12px}.replay-list__skeleton-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:8px;padding:16px;display:flex}.replay-viewer{flex-direction:column;gap:0;display:flex}.replay-viewer__header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);border-radius:var(--border-radius) var(--border-radius) 0 0;padding:20px 24px}.replay-viewer__title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.replay-viewer__title{color:var(--color-text-primary);font-size:1.1rem;font-family:var(--font-display,serif);margin:0}.replay-viewer__outcome{border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:.78rem}.replay-viewer__outcome--success{color:#4caf50;background:#4caf5026}.replay-viewer__outcome--death{color:#f44336;background:#f4433626}.replay-viewer__outcome--abandoned{color:#ff9800;background:#ff980026}.replay-viewer__outcome--timeout{color:#9e9e9e;background:#9e9e9e26}.replay-viewer__stats{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;font-size:.8rem;display:flex}.replay-viewer__messages{background:var(--color-bg-primary);flex-direction:column;gap:12px;max-height:600px;padding:16px;display:flex;overflow-y:auto}.replay-viewer__empty{text-align:center;color:var(--color-text-secondary);padding:32px;font-style:italic}.replay-msg{flex-direction:column;gap:4px;display:flex}.replay-msg--user{align-items:flex-end}.replay-msg--assistant{align-items:flex-start}.replay-msg__header{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.72rem;display:flex}.replay-msg__sender{font-weight:600}.replay-msg__round{opacity:.6}.replay-msg__bubble{border-radius:12px;max-width:80%;margin:8px 0;padding:14px 18px;font-size:.88rem;line-height:1.6}.replay-msg__bubble--user{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px 12px 2px}.replay-msg__bubble--assistant.replay-msg__bubble--fantasy{color:#f0e8c8;background:#2a200899;border:1px solid #c9a84c33;border-radius:12px 12px 12px 2px;font-style:italic}.replay-msg__bubble--assistant.replay-msg__bubble--horror{color:#d4b8b8;background:#0f0505b3;border:1px solid #8b1a1a33;border-radius:12px 12px 12px 2px;font-style:italic}.replay-msg__text{margin:0}.replay-msg__tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.replay-msg__tag{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:10px;padding:2px 8px;font-size:.7rem}.replay-msg__tag--hp{color:#f44336;border-color:#f443364d}.replay-msg__tag--gold{color:#c9a84c;border-color:#c9a84c4d}.replay-msg__tag--roll{color:var(--color-accent);border-color:#7c5cbf4d}.replay-msg__tag--item{color:#4caf50;border-color:#4caf504d}.profile-page{flex-direction:column;gap:28px;max-width:900px;margin:0 auto;padding:24px;display:flex}.profile-page__header{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);align-items:center;gap:16px;padding:20px 24px;display:flex}.profile-page__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.6rem;font-weight:700;display:flex}.profile-page__username{color:var(--color-text-primary);margin:0;font-size:1.3rem}.profile-page__since{color:var(--color-text-secondary);margin:4px 0 0;font-size:.8rem}.profile-page__credits{color:var(--color-accent);align-items:center;gap:6px;margin-left:auto;font-size:1.1rem;font-weight:600;display:flex}.profile-page__stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.profile-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;display:flex}.profile-stat__icon{font-size:1.3rem}.profile-stat__value{color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.profile-stat__label{color:var(--color-text-secondary);font-size:.72rem}.profile-page__section{flex-direction:column;gap:12px;display:flex}.profile-page__section-header{justify-content:space-between;align-items:center;display:flex}.profile-page__section-title{color:var(--color-text-primary);margin:0;font-size:1rem}.replay-page{max-width:900px;margin:0 auto;padding:24px}.replay-page__header{margin-bottom:20px}.replay-page__title{color:var(--color-text-primary);margin:0 0 6px;font-size:1.5rem}.replay-page__subtitle{color:var(--color-text-secondary);margin:0;font-size:.88rem}.replay-detail-page{flex-direction:column;gap:16px;max-width:800px;margin:0 auto;padding:24px;display:flex}.replay-detail-page__nav{align-items:center;display:flex}.replay-list,.replay-list__items{flex-direction:column;gap:8px;display:flex}.connection-status{border:1px solid var(--status-color,#ff9800);color:var(--status-color,#ff9800);background:#0000004d;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;animation:statusPulse 2s infinite;display:flex}@keyframes statusPulse{0%,to{opacity:.8}50%{opacity:1}}.connection-status__dot{font-size:.65rem}.connection-status__label{white-space:nowrap}.session-browser__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.session-browser__filters{gap:6px;display:flex}.session-browser__filter-btn{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-radius:20px;padding:6px 14px;font-size:.82rem}.session-browser__filter-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.session-browser__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.session-browser__empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;gap:8px;padding:48px;display:flex}.session-card{background:var(--color-bg-card);border:1px solid var(--color-border);transition:all var(--transition);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.session-card--fantasy:hover{border-color:#c9a84c66}.session-card--horror:hover{border-color:#8b1a1a66}.session-card__header{justify-content:space-between;align-items:center;display:flex}.session-card__setting{color:var(--color-text-primary);align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.session-card__badges{gap:4px;display:flex}.session-card__badge{background:var(--color-bg-secondary);border-radius:10px;padding:2px 7px;font-size:.7rem}.session-card__badge--live{color:#4caf50;background:#4caf5026;animation:livePulse 1.5s infinite}@keyframes livePulse{0%,to{opacity:.7}50%{opacity:1}}.session-card__players{align-items:center;gap:10px;display:flex}.session-card__slots{gap:4px;display:flex}.session-card__slot{background:var(--color-border);border:1px solid var(--color-border);border-radius:50%;width:10px;height:10px}.session-card__slot--filled{background:var(--color-accent);border-color:var(--color-accent)}.session-card__player-count{color:var(--color-text-secondary);font-size:.78rem}.session-card__player-list{flex-wrap:wrap;gap:4px;display:flex}.session-card__player-more,.session-card__player-name{color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:10px;padding:2px 7px;font-size:.72rem}.session-card__meta{color:var(--color-text-secondary);gap:8px;font-size:.72rem;display:flex}.session-card__join{background:var(--color-accent);color:#fff;border-radius:var(--border-radius);cursor:pointer;width:100%;transition:all var(--transition);border:none;margin-top:auto;padding:9px;font-size:.88rem;font-weight:600}.session-card__join:hover:not(.session-card__join--disabled){background:var(--color-accent-hover)}.session-card__join--disabled{background:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed}.create-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:18px;max-width:500px;margin:0 auto;padding:24px;display:flex}.create-form__title{color:var(--color-text-primary);margin:0;font-size:1.2rem}.create-form__field{flex-direction:column;gap:8px;display:flex}.create-form__label{color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.create-form__btn-group{flex-wrap:wrap;gap:8px;display:flex}.create-form__choice{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);padding:8px 16px;font-size:.85rem}.create-form__choice--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.create-form__choice--fantasy.create-form__choice--active{color:#c9a84c;background:#c9a84c33;border-color:#c9a84c}.create-form__choice--horror.create-form__choice--active{color:#c44;background:#8b1a1a33;border-color:#c44}.create-form__range-labels{color:var(--color-text-secondary);justify-content:space-between;font-size:.72rem;display:flex}.create-form__input,.create-form__select{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);transition:border-color var(--transition);padding:9px 12px;font-size:.88rem}.create-form__input:focus,.create-form__select:focus{border-color:var(--color-accent);outline:none}.create-form__error{color:var(--color-danger);font-size:.82rem}.create-form__actions{justify-content:flex-end;gap:10px;display:flex}.waiting-room{flex-direction:column;gap:20px;max-width:700px;margin:0 auto;padding:24px;display:flex}.waiting-room__header{text-align:center}.waiting-room__title{color:var(--color-text-primary);margin:0 0 6px;font-size:1.6rem}.waiting-room__subtitle{color:var(--color-text-secondary);margin:0;font-size:.9rem}.waiting-room__slots{flex-direction:column;gap:8px;display:flex}.waiting-room__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.waiting-room__hint{text-align:center;color:var(--color-text-secondary);margin:0;font-size:.78rem}.player-slot{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition);align-items:center;gap:14px;padding:14px 16px;display:flex}.player-slot--ready{background:#4caf500a;border-color:#4caf5066}.player-slot--you{border-color:var(--color-accent)}.player-slot--empty{opacity:.4}.player-slot__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex;position:relative}.player-slot__avatar--empty{background:var(--color-border);color:var(--color-text-secondary);font-size:.9rem}.player-slot__host-crown{font-size:.75rem;position:absolute;top:-6px;right:-6px}.player-slot__info{flex-direction:column;flex:1;gap:2px;display:flex}.player-slot__name-row{align-items:center;gap:8px;display:flex}.player-slot__name{color:var(--color-text-primary);font-size:.95rem;font-weight:600}.player-slot__you-badge{color:var(--color-accent);font-size:.72rem;font-weight:400}.player-slot__character,.player-slot__hp,.player-slot__waiting{color:var(--color-text-secondary);font-size:.78rem}.player-slot__ready{border-radius:20px;flex-shrink:0;padding:4px 12px;font-size:.8rem}.player-slot__ready--yes{color:#4caf50;background:#4caf5026}.player-slot__ready--no{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.invite-link{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:14px 16px}.invite-link__label{color:var(--color-text-secondary);margin:0 0 8px;font-size:.8rem}.invite-link__row{gap:8px;display:flex}.invite-link__input{color:var(--color-text-secondary);cursor:text;flex:1;padding:7px 10px;font-size:.8rem}.invite-link__input,.turn-indicator{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius)}.turn-indicator{transition:all var(--transition);padding:10px 16px}.turn-indicator--mine{border-color:var(--color-accent);background:#7c5cbf14;animation:turnPulse 2s infinite}@keyframes turnPulse{0%,to{box-shadow:0 0 #7c5cbf00}50%{box-shadow:0 0 0 4px #7c5cbf26}}.turn-indicator__inner{align-items:center;gap:10px;font-size:.88rem;display:flex}.turn-indicator__icon{font-size:1rem}.turn-indicator__text{color:var(--color-text-primary);flex:1;font-weight:500}.turn-indicator__round,.turn-indicator__time{color:var(--color-text-secondary);font-size:.78rem}.player-status-bar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:6px;padding:10px;display:flex}.player-status{transition:background var(--transition);border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.player-status--active{background:#7c5cbf14}.player-status__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:flex;position:relative}.player-status__turn-dot{background:var(--color-accent);border:1px solid var(--color-bg-card);border-radius:50%;width:8px;height:8px;animation:turnPulse 1.5s infinite;position:absolute;bottom:-1px;right:-1px}.player-status__info{flex-direction:column;gap:1px;min-width:80px;display:flex}.player-status__name{color:var(--color-text-primary);font-size:.8rem;font-weight:600}.player-status__char{color:var(--color-text-secondary);font-size:.7rem}.player-status__hp-wrap{flex-direction:column;flex:1;gap:3px;display:flex}.player-status__hp-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.player-status__hp-fill{border-radius:2px;height:100%;transition:width .3s}.player-status__hp-text{color:var(--color-text-secondary);font-size:.68rem}.coop-chat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.coop-chat__header{color:var(--color-text-primary);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:.82rem;font-weight:600}.coop-chat__messages{flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}.coop-chat__empty{text-align:center;color:var(--color-text-secondary);margin:auto;font-size:.78rem;font-style:italic}.coop-chat__msg{flex-direction:column;gap:2px;max-width:85%;display:flex}.coop-chat__msg--mine{align-self:flex-end}.coop-chat__msg--system{align-self:center}.coop-chat__sender{color:var(--color-text-secondary);font-size:.68rem}.coop-chat__content{color:var(--color-text-primary);background:var(--color-bg-secondary);border-radius:8px;padding:10px 14px;font-size:.82rem;line-height:1.4}.coop-chat__msg--mine .coop-chat__content{background:#7c5cbf26;border-radius:8px 8px 2px}.coop-chat__msg--system .coop-chat__content{color:var(--color-text-secondary);background:0 0;padding:2px 8px;font-size:.75rem;font-style:italic}.coop-chat__input-row{border-top:1px solid var(--color-border);gap:6px;padding:8px;display:flex}.coop-chat__input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);flex:1;padding:6px 10px;font-size:.82rem}.coop-chat__input:focus{border-color:var(--color-accent);outline:none}.vote-panel{background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:var(--border-radius);flex-direction:column;gap:10px;padding:14px;animation:voteSlideIn .3s;display:flex}@keyframes voteSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.vote-panel__header{color:var(--color-text-primary);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.vote-panel__count{color:var(--color-text-secondary);font-size:.75rem}.vote-panel__question{color:var(--color-text-primary);margin:0;font-size:.88rem;font-style:italic}.vote-panel__options{flex-direction:column;gap:6px;display:flex}.vote-panel__option{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;display:flex}.vote-panel__option--selected,.vote-panel__option:hover:not(:disabled){border-color:var(--color-accent)}.vote-panel__option--selected{background:#7c5cbf1f}.vote-panel__option:disabled{cursor:default}.vote-panel__option-count{color:var(--color-text-secondary);font-size:.75rem}.vote-panel__result{border-radius:var(--border-radius);color:#4caf50;text-align:center;background:#4caf501a;border:1px solid #4caf504d;padding:10px;font-size:.88rem}.lobby-page{flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;padding:24px;display:flex}.lobby-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lobby-page__title{color:var(--color-text-primary);margin:0 0 4px;font-size:1.5rem}.lobby-page__subtitle{color:var(--color-text-secondary);margin:0;font-size:.88rem}.multiplayer-page{min-height:100vh}.multiplayer-page--error,.multiplayer-page--loading{min-height:60vh;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.coop-layout{box-sizing:border-box;grid-template-columns:220px 1fr 220px;gap:12px;height:calc(100vh - 52px);padding:12px;display:grid}@media (max-width:900px){.coop-layout{grid-template-columns:1fr;height:auto}}.coop-layout__left,.coop-layout__right{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.coop-layout__center{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;display:flex;overflow:hidden}.coop-layout__messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.coop-layout__msg{border-radius:10px;max-width:90%;padding:10px 14px;font-size:.9rem;line-height:1.6}.coop-layout__msg--user{background:var(--color-bg-secondary);border:1px solid var(--color-border);align-self:flex-end}.coop-layout__msg--assistant{color:#f0e8c8;font-style:italic;font-family:var(--font-primary,serif);background:#2a200880;border:1px solid #c9a84c26;align-self:flex-start}.coop-layout__typing{gap:4px;padding:12px;display:flex}.coop-layout__typing span{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:typingDot 1.2s infinite}.coop-layout__typing span:nth-child(2){animation-delay:.2s}.coop-layout__typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.coop-layout__input-area{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);padding:12px}.coop-layout__waiting-text{color:var(--color-text-secondary);text-align:center;margin:0;padding:8px;font-size:.85rem;font-style:italic}.coop-layout__input-row{align-items:flex-end;gap:8px;display:flex}.coop-layout__textarea{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);resize:none;font-size:.88rem;font-family:var(--font-primary,sans-serif);flex:1;padding:9px 12px;line-height:1.5}.coop-layout__textarea:focus{border-color:var(--color-accent);outline:none}.coop-layout__leave-btn{margin-top:auto}.sidebar-divider{align-items:center;gap:8px;margin-top:4px;padding:10px 12px 6px;display:flex}.sidebar-divider span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:.7rem}.sidebar-divider:after,.sidebar-divider:before{content:"";background:var(--color-border);flex:1;height:1px}.teammates-panel{padding:0 0 4px}.teammate-card,.teammates-panel{flex-direction:column;gap:6px;display:flex}.teammate-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition);padding:8px 10px}.teammate-card:hover{border-color:var(--color-accent)}.teammate-card--you{background:#2a20084d;border-color:#c9a84c59}.teammate-card--dead{opacity:.5;filter:grayscale(.7)}.teammate-card--offline{opacity:.55}.teammate-card__header{align-items:center;gap:8px;display:flex}.teammate-card__avatar{background:var(--color-accent);color:#1a1200;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;font-weight:700;display:flex;position:relative}.teammate-card__online-dot{border:1px solid var(--color-bg-secondary);background:#4caf50;border-radius:50%;width:8px;height:8px;position:absolute;bottom:0;right:0}.teammate-card__online-dot--offline{background:#9e9e9e}.teammate-card__info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.teammate-card__username{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.teammate-card__you-label{color:var(--color-accent);font-size:.72rem;font-weight:400}.teammate-card__char{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.teammate-card__dead{color:#f44336;flex-shrink:0;font-size:.75rem}.teammate-card__bars{flex-direction:column;gap:3px;display:flex}.teammate-bar{align-items:center;gap:5px;display:flex}.teammate-bar__label{flex-shrink:0;font-size:.65rem}.teammate-bar__track{background:var(--color-bg-card);border-radius:2px;flex:1;height:4px;overflow:hidden}.teammate-bar__fill{border-radius:2px;height:100%;transition:width .4s}.teammate-bar__value{color:var(--color-text-secondary);text-align:right;flex-shrink:0;width:32px;font-size:.62rem}.online-status-wrapper{align-items:center;gap:5px;display:inline-flex}.online-status{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.online-status--online{background:#22c55e;box-shadow:0 0 4px #22c55e80}.online-status--in-session{background:#3b82f6;box-shadow:0 0 4px #3b82f680}.online-status--offline{background:#52525b}.online-status__label{color:var(--color-text-secondary);font-size:.75rem}.friends-page{flex-direction:column;gap:24px;max-width:800px;margin:0 auto;padding:24px;display:flex}.friends-page__header{justify-content:space-between;align-items:center;display:flex}.friends-page__title{color:var(--color-text-primary);margin:0;font-size:1.4rem}.friends-page__loading{color:var(--color-text-secondary);text-align:center;padding:40px}.friends-page__tabs{border-bottom:1px solid var(--color-border);gap:4px;padding-bottom:0;display:flex}.friends-tab{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 16px;font-size:.88rem;display:flex}.friends-tab:hover{color:var(--color-text-primary)}.friends-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.friends-tab__count{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:10px;padding:1px 6px;font-size:.72rem}.friends-tab__count--badge{color:#fff;background:#ef4444}.friends-list{flex-direction:column;gap:12px;display:flex}.friends-list__items{flex-direction:column;gap:8px;margin-top:16px;display:flex}.friends-list__empty{text-align:center;color:var(--color-text-secondary);padding:32px;font-size:.88rem}.friend-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition);align-items:center;gap:12px;padding:12px 16px;display:flex}.friend-card:hover{border-color:var(--color-accent)}.friend-card__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:flex}.friend-card__info{flex-direction:column;flex:1;gap:3px;display:flex}.friend-card__name{color:var(--color-text-primary);font-size:.9rem;font-weight:500}.friend-card__remove{opacity:0;transition:opacity var(--transition);margin-left:auto}.friend-card:hover .friend-card__remove{opacity:1}.friend-request-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);align-items:center;gap:12px;padding:12px 16px;display:flex}.friend-request-item__avatar{background:var(--color-bg-secondary);width:40px;height:40px;color:var(--color-text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.friend-request-item__info{flex-direction:column;flex:1;gap:2px;display:flex}.friend-request-item__name{color:var(--color-text-primary);font-size:.9rem;font-weight:500}.friend-request-item__date{color:var(--color-text-secondary);font-size:.75rem}.friend-request-item__actions{gap:6px;display:flex}.add-friend-dialog{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px;display:flex}.add-friend-dialog__header{justify-content:space-between;align-items:center;display:flex}.add-friend-dialog__title{color:var(--color-text-primary);margin:0;font-size:1.1rem}.add-friend-dialog__form{gap:8px;display:flex}.add-friend-dialog__feedback{border-radius:var(--border-radius);margin:0;padding:8px 12px;font-size:.82rem}.add-friend-dialog__feedback--success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.add-friend-dialog__feedback--error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.add-friend-dialog__search{flex-direction:column;gap:4px;display:flex}.add-friend-dialog__hint{color:var(--color-text-secondary);margin:0;font-size:.78rem}.add-friend-dialog__empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:16px 0;font-size:.85rem}.add-friend-dialog__results{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.add-friend-result{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.add-friend-result__info{flex-direction:column;gap:2px;min-width:0;display:flex}.add-friend-result__name{color:var(--color-text-primary);font-size:.95rem;font-weight:600}.add-friend-result__chars{color:var(--color-text-secondary);font-size:.75rem}.add-friend-result__action{flex-shrink:0}.add-friend-result__feedback{border-radius:4px;padding:4px 8px;font-size:.78rem}.add-friend-result__feedback--success{color:#22c55e;background:#22c55e1a}.add-friend-result__feedback--error{color:#ef4444;background:#ef44441a}.username-check{align-items:center;display:flex;position:relative}.username-check__input{flex:1;padding-right:2.4rem!important}.username-check__icon{pointer-events:none;font-size:.9rem;font-weight:700;position:absolute;right:10px}.username-check__icon--ok{color:#22c55e}.username-check__icon--err{color:#ef4444}.username-check__icon--loading{color:var(--color-text-secondary);letter-spacing:2px}.username-check__msg{margin:4px 0 0;font-size:.8rem}.username-check__msg--ok{color:#22c55e}.username-check__msg--err{color:#ef4444}.username-onboarding{background:var(--color-bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.username-onboarding__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:32px 28px;display:flex}.username-onboarding__title{color:var(--color-text-primary);margin:0;font-size:1.4rem}.username-onboarding__desc{color:var(--color-text-secondary);margin:0;font-size:.88rem;line-height:1.5}.username-onboarding__hint{color:var(--color-text-secondary);margin:0;font-size:.75rem}.username-onboarding__form{flex-direction:column;gap:8px;display:flex}.username-onboarding__submit{width:100%;margin-top:8px}.profile-username-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;padding:16px}.profile-username-section__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-username-section__current{color:var(--color-text-primary);font-size:1.05rem;font-weight:600}.profile-username-section__meta{align-items:center;gap:10px;display:flex}.profile-username-section__hint{color:var(--color-text-secondary);font-size:.78rem}.profile-username-section__hint--used{color:var(--color-text-secondary);opacity:.7}.profile-username-section__edit{flex-direction:column;gap:8px;display:flex}.profile-username-section__actions{gap:8px;margin-top:4px;display:flex}.invite-friends-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:400px;max-height:80vh;padding:20px;display:flex}.invite-friends-panel__header{justify-content:space-between;align-items:center;display:flex}.invite-friends-panel__title{color:var(--color-text-primary);margin:0;font-size:1.1rem}.invite-friends-panel__hint{color:var(--color-text-secondary);font-size:.82rem}.invite-friends-panel__empty{color:var(--color-text-secondary);text-align:center;padding:12px 0;font-size:.85rem}.invite-friends-panel__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.invite-friend-item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.invite-friend-item--disabled{opacity:.5}.invite-friend-item__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.9rem;font-weight:700;display:flex}.invite-friend-item__avatar--offline{background:var(--color-text-secondary)}.invite-friend-item__info{flex-direction:column;flex:1;min-width:0;display:flex}.invite-friend-item__name{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.invite-friend-item__status{color:var(--color-text-secondary);font-size:.72rem}.invite-friend-item__status--online{color:#22c55e}.invite-friend-item__sent{color:#22c55e;white-space:nowrap;font-size:.78rem}.invite-friend-item__error{color:#ef4444;font-size:.72rem}.waiting-room__invite-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.waiting-room__invite-friends-btn{flex-shrink:0}.waiting-room__invite-toast{text-align:center;border-radius:8px;padding:10px 16px;font-size:.85rem;animation:fadeInDown .3s}.waiting-room__invite-toast--accepted{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e4d}.waiting-room__invite-toast--declined{color:#ef4444;background:#ef44441a;border:1px solid #ef444440}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.invite-notification-container{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:68px;right:16px}.invite-toast{background:var(--color-bg-card);border:1px solid var(--color-accent);pointer-events:all;border-radius:12px;flex-direction:column;gap:6px;width:300px;padding:14px 16px;animation:slideInRight .3s;display:flex;box-shadow:0 4px 20px #0006}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.invite-toast__header{align-items:center;gap:8px;display:flex}.invite-toast__icon{font-size:1rem}.invite-toast__title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:.82rem;font-weight:700}.invite-toast__countdown{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.78rem}.invite-toast__from{color:var(--color-text-primary);margin:0;font-size:.9rem}.invite-toast__session{color:var(--color-text-secondary);margin:0;font-size:.78rem}.invite-toast__actions{gap:8px;margin-top:4px;display:flex}.char-select-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:420px;max-height:80vh;padding:24px 20px;display:flex}.char-select-modal__header{flex-direction:column;gap:4px;display:flex}.char-select-modal__title{color:var(--color-text-primary);margin:0;font-size:1.1rem}.char-select-modal__subtitle{margin:0}.char-select-modal__hint,.char-select-modal__subtitle{color:var(--color-text-secondary);font-size:.82rem}.char-select-modal__empty{color:var(--color-text-secondary);text-align:center;padding:12px;font-size:.85rem}.char-select-modal__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.char-select-item{background:var(--color-bg-surface);border:2px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.char-select-item--active,.char-select-item:hover{border-color:var(--color-accent)}.char-select-item--active{background:rgba(var(--color-accent-rgb,120,80,255),.08)}.char-select-item__avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.char-select-item__info{flex-direction:column;flex:1;min-width:0;display:flex}.char-select-item__name{color:var(--color-text-primary);font-size:.95rem;font-weight:600}.char-select-item__meta{color:var(--color-text-secondary);font-size:.75rem}.char-select-item__check{color:var(--color-accent);font-weight:700}.char-select-modal__actions{gap:10px;display:flex}.topbar__btn--friends{position:relative}.topbar__badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.62rem;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.guilds-page{flex-direction:column;gap:28px;max-width:900px;margin:0 auto;padding:24px;display:flex}.guilds-page__header{justify-content:space-between;align-items:center;display:flex}.guilds-page__title{color:var(--color-text-primary);margin:0;font-size:1.4rem}.guilds-page__section-title{color:var(--color-text-secondary);margin:0 0 12px;font-size:1rem}.guilds-page__section{flex-direction:column;display:flex}.guilds-page__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.guilds-page__empty{padding:32px;font-size:.88rem}.guilds-page__empty,.guilds-page__loading{text-align:center;color:var(--color-text-secondary)}.guilds-page__loading{padding:40px}.guilds-page__create-wrapper{max-width:500px}.guild-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:border-color var(--transition),transform var(--transition);color:inherit;align-items:flex-start;gap:14px;padding:16px;text-decoration:none;display:flex}.guild-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.guild-card--mine{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.guild-card--mine{background:color-mix(in srgb,var(--color-accent) 5%,var(--color-bg-card))}}.guild-card__icon{flex-shrink:0;font-size:2rem}.guild-card__body{flex-direction:column;flex:1;gap:4px;display:flex}.guild-card__name{color:var(--color-text-primary);font-size:1rem;font-weight:600}.guild-card__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.guild-card__setting-badge{background:var(--color-bg-secondary);border-radius:10px;padding:1px 8px;font-size:.72rem}.guild-card__desc{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.8rem;display:-webkit-box;overflow:hidden}.guild-card__actions{flex-shrink:0}.guild-card__member-badge{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:10px;padding:3px 10px;font-size:.75rem}.guild-detail{flex-direction:column;gap:28px;display:flex}.guild-detail__error,.guild-detail__loading{text-align:center;color:var(--color-text-secondary);padding:40px}.guild-detail__header{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);align-items:center;gap:20px;padding:24px;display:flex}.guild-detail__icon{font-size:3rem}.guild-detail__name{color:var(--color-text-primary);margin:0 0 4px;font-size:1.5rem}.guild-detail__desc{color:var(--color-text-secondary);margin:0;font-size:.88rem}.guild-detail__stats{flex-wrap:wrap;gap:16px;display:flex}.guild-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:14px 20px;display:flex}.guild-stat__value{color:var(--color-text-primary);font-size:1.3rem;font-weight:700}.guild-stat__label{color:var(--color-text-secondary);font-size:.72rem}.guild-detail__section{flex-direction:column;gap:12px;display:flex}.guild-detail__section-title{color:var(--color-text-primary);margin:0;font-size:1rem}.guild-detail__invite-url{gap:8px;margin-top:8px;display:flex}.guild-member-list{flex-direction:column;gap:6px;display:flex}.guild-member-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);align-items:center;gap:10px;padding:10px 14px;display:flex}.guild-member-item__avatar{background:var(--color-bg-secondary);width:34px;height:34px;color:var(--color-text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.guild-member-item__info{flex:1;align-items:center;gap:8px;display:flex}.guild-member-item__name{color:var(--color-text-primary);font-size:.88rem}.guild-role-badge{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:10px;padding:1px 7px;font-size:.72rem}.guild-member-item__status{flex-shrink:0}.guild-member-item__kick{opacity:0;transition:opacity var(--transition);margin-left:auto;font-size:.75rem}.guild-member-item:hover .guild-member-item__kick{opacity:1}.guild-world-editor{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:16px;padding:20px;display:flex}.guild-world-editor__title{color:var(--color-text-primary);margin:0;font-size:1rem}.guild-world-editor__field{flex-direction:column;gap:6px;display:flex}.guild-world-editor__label{color:var(--color-text-secondary);font-size:.82rem}.guild-world-editor__footer{align-items:center;gap:12px;display:flex}.guild-world-editor__feedback{color:#22c55e;font-size:.82rem}.create-guild-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);flex-direction:column;gap:20px;padding:24px;display:flex}.create-guild-form__field{flex-direction:column;gap:6px;display:flex}.create-guild-form__field--inline{flex-direction:row;justify-content:space-between;align-items:center}.create-guild-form__label{color:var(--color-text-secondary);font-size:.82rem}.create-guild-form__counter{color:var(--color-text-secondary);text-align:right;font-size:.72rem}.create-guild-form__error{color:#ef4444;margin:0;font-size:.82rem}.create-guild-form__emoji-picker{flex-wrap:wrap;gap:6px;display:flex}.emoji-option{border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg-card);cursor:pointer;width:38px;height:38px;transition:all var(--transition);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.emoji-option--selected,.emoji-option:hover{border-color:var(--color-accent)}.emoji-option--selected{background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.emoji-option--selected{background:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg-card))}}.dashboard__nav-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))!important}.abilities-panel{flex-direction:column;gap:4px;padding:4px 0;display:flex}.ability-category__header{cursor:pointer;border-top:1px solid var(--cat-color,var(--color-border));align-items:center;gap:6px;padding:6px 8px;display:flex}@supports (color:color-mix(in lab,red,red)){.ability-category__header{border-top:1px solid color-mix(in srgb,var(--cat-color,var(--color-border)) 30%,transparent)}}.ability-category__header{-webkit-user-select:none;user-select:none;transition:background var(--transition)}.ability-category__header:hover{background:#ffffff08}.ability-category__icon{font-size:.85rem}.ability-category__name{color:var(--cat-color,var(--color-accent));letter-spacing:.08em;flex:1;font-size:.7rem;font-weight:700}.ability-category__count{color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:8px;padding:1px 5px;font-size:.65rem}.ability-category__toggle{color:var(--color-text-secondary);font-size:.55rem}.ability-list{flex-direction:column;gap:2px;padding:4px 0 6px 8px;display:flex}.ability-item{cursor:pointer;transition:all var(--transition);border:1px solid #0000;border-radius:6px;padding:5px 8px}.ability-item:hover{border-color:var(--color-border);background:#ffffff0a}.ability-item--active{background:#7c5cbf14;border-color:#7c5cbf4d}.ability-item__row{align-items:center;gap:6px;display:flex}.ability-item__icon{flex-shrink:0;font-size:.85rem}.ability-item__name{color:var(--color-text-primary);flex:1;font-size:.8rem}.ability-item__cost{flex-shrink:0;font-size:.68rem}.ability-item__detail{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.ability-item__desc{color:var(--color-text-secondary);margin:0;font-size:.75rem;font-style:italic;line-height:1.4}.ability-item__cooldown{color:#ff9800;font-size:.68rem}.ability-item__type{border-radius:8px;align-self:flex-start;padding:1px 6px;font-size:.65rem}.ability-item__type--aktiv{color:#2196f3;background:#2196f326}.ability-item__type--passiv{color:#9e9e9e;background:#9e9e9e26}.ability-item__type--reaktion{color:#ff9800;background:#ff980026}.abilities-panel__soul{border-top:1px solid var(--color-border);align-items:center;gap:8px;margin-top:4px;padding:8px 8px 4px;display:flex}.abilities-panel__soul-label{color:var(--color-text-secondary);flex-shrink:0;font-size:.72rem}.abilities-panel__soul-bar{background:var(--color-border);border-radius:3px;flex:1;height:5px;overflow:hidden}.abilities-panel__soul-fill{background:linear-gradient(90deg,#7c5cbf,#9c7cdf);border-radius:3px;height:100%;transition:width .3s}.abilities-panel__soul-text{color:var(--color-accent);flex-shrink:0;font-size:.7rem;font-weight:600}.resizable-panel{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.resizable-panel::-webkit-scrollbar{width:4px}.resizable-panel::-webkit-scrollbar-track{background:0 0}.resizable-panel::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.char-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.char-panel__header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:flex-start;gap:12px;padding:12px 12px 10px;display:flex}.char-panel__avatar{border:2px solid;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;font-size:2rem;display:flex;position:relative;overflow:hidden}.char-panel__avatar--fantasy{background:#c9a84c14;border-color:#c9a84c66}.char-panel__avatar--horror{background:#cc444414;border-color:#c446}.char-panel__identity{min-width:0}.char-panel__name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.char-panel__class{margin-top:1px;font-size:.7rem}.char-panel__hp{flex-shrink:0;padding:6px 12px}.char-panel__hp-row{color:var(--color-text-secondary);justify-content:space-between;margin-bottom:4px;font-size:.72rem;display:flex}.char-panel__hp-bar{background:var(--color-bg-secondary);border-radius:3px;width:100%;height:6px;overflow:hidden}.char-panel__hp-fill{border-radius:3px;height:100%;transition:width .4s}.char-bars{flex-direction:column;flex-shrink:0;gap:6px;margin-top:8px;margin-bottom:10px;padding:0 12px;display:flex}.char-bar{align-items:center;gap:6px;display:flex}.char-bar__label{color:var(--color-text-secondary);flex-shrink:0;width:24px;font-size:9px}.char-bar__track{background:var(--color-bg-card);border-radius:3px;flex:1;height:6px;overflow:hidden}.char-bar__fill{border-radius:3px;height:100%;transition:width .4s}.char-bar__fill--hp{background:#c44}.char-bar__fill--hp-mid{background:#ff9800}.char-bar__fill--hp-low{background:#f44336;animation:hpPulse 1.5s infinite}.char-bar__fill--soul{background:#7c5cbf}@keyframes hpPulse{0%,to{opacity:1}50%{opacity:.6}}.char-bar__value{color:var(--color-text-secondary);text-align:right;flex-shrink:0;width:30px;font-size:9px}.char-bar__regen{color:#7c5cbf;opacity:.7;flex-shrink:0;font-size:8px}.char-panel__tabs{border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.char-panel__tab{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:.65rem;display:flex}.char-panel__tab:hover{color:var(--color-text-primary);background:#ffffff08}.char-panel__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.char-panel__tab span:first-child{font-size:.9rem}.char-panel__content{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;overflow-y:auto}.char-panel__content::-webkit-scrollbar{width:4px}.char-panel__content::-webkit-scrollbar-track{background:0 0}.char-panel__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.char-panel__section-stack{flex-direction:column;gap:14px;padding:10px 10px 16px;display:flex}.char-panel__section-title{text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:.68rem;font-weight:700}.stat-cell{cursor:default;position:relative}.stat-cell[data-tooltip]:hover:after{content:attr(data-tooltip);color:#c8bfb0;white-space:nowrap;pointer-events:none;z-index:50;background:#0c0808f7;border:1px solid #ffffff17;border-radius:6px;padding:5px 9px;font-size:.68rem;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0009}.equip-slots{align-items:flex-start;gap:10px;display:flex}.equip-slots__silhouette{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:40px;padding-top:4px;display:flex}.equip-slots__figure{opacity:.25;filter:grayscale();font-size:2rem}.equip-slots__list{flex-direction:column;flex:1;gap:3px;display:flex}.equip-slot{border:1px solid var(--color-border);background:var(--color-bg-secondary);transition:border-color var(--transition);border-radius:5px;align-items:center;gap:7px;padding:4px 7px;display:flex}.equip-slot--filled{background:#7c5cbf0f;border-color:#7c5cbf59}.equip-slot__icon{text-align:center;flex-shrink:0;width:16px;font-size:.8rem}.equip-slot__info{flex-direction:column;min-width:0;display:flex}.equip-slot__label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem;line-height:1}.equip-slot__item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;line-height:1.3;overflow:hidden}.equip-slot__empty-label{color:var(--color-text-secondary);opacity:.45;font-size:.68rem;font-style:italic;line-height:1.3}:root{--background:#fff;--foreground:#171717}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}main{min-height:calc(100vh - 52px);padding-top:52px}main:has(.landing-page){min-height:100vh;padding-top:0}.auth-page{background:radial-gradient(at 50% 40%,#16102a 0,#0a0a0f 60%);justify-content:center;align-items:center;min-height:100vh;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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}}