/*! tailwindcss v4.3.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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-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-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-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-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--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-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--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-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;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-ping:ping 1s cubic-bezier(0,0,.2,1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Harry P","Palatino Linotype","Book Antiqua",Palatino,serif;--font-body:"Segoe UI",system-ui,sans-serif}}@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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-\[3\/4\]{aspect-ratio:3/4}.h-0{height:0}.h-2{height:calc(var(--spacing) * 2)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-\[60vmin\]{height:60vmin}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[70vh\]{max-height:70vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-2{width:calc(var(--spacing) * 2)}.w-\[60vmin\]{width:60vmin}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.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-xl{max-width:var(--container-xl)}.flex-1{flex:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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-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(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-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-ember\/40{border-color:var(--ember)}@supports (color:color-mix(in lab,red,red)){.border-ember\/40{border-color:color-mix(in oklab,var(--ember) 40%,transparent)}}.border-gold\/50{border-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.border-gold\/50{border-color:color-mix(in oklab,var(--gold) 50%,transparent)}}.border-indigo-400\/40{border-color:#7d87ff66}@supports (color:color-mix(in lab,red,red)){.border-indigo-400\/40{border-color:color-mix(in oklab,var(--color-indigo-400) 40%,transparent)}}.border-ink\/10{border-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/10{border-color:color-mix(in oklab,var(--ink) 10%,transparent)}}.border-ink\/15{border-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/15{border-color:color-mix(in oklab,var(--ink) 15%,transparent)}}.border-ink\/20{border-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.border-ink\/20{border-color:color-mix(in oklab,var(--ink) 20%,transparent)}}.border-parchment\/40{border-color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.border-parchment\/40{border-color:color-mix(in oklab,var(--parchment) 40%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-700{border-color:var(--color-red-700)}.border-red-800{border-color:var(--color-red-800)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-slate-800\/80{border-color:#1d293dcc}@supports (color:color-mix(in lab,red,red)){.border-slate-800\/80{border-color:color-mix(in oklab,var(--color-slate-800) 80%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-amber-700{background-color:var(--color-amber-700)}.bg-amber-700\/90{background-color:#b75000e6}@supports (color:color-mix(in lab,red,red)){.bg-amber-700\/90{background-color:color-mix(in oklab,var(--color-amber-700) 90%,transparent)}}.bg-amber-800{background-color:var(--color-amber-800)}.bg-amber-800\/80{background-color:#953d00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-800\/80{background-color:color-mix(in oklab,var(--color-amber-800) 80%,transparent)}}.bg-amber-900{background-color:var(--color-amber-900)}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-ember{background-color:var(--ember)}.bg-emerald-700{background-color:var(--color-emerald-700)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-700{background-color:var(--color-green-700)}.bg-green-800{background-color:var(--color-green-800)}.bg-green-900{background-color:var(--color-green-900)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-700{background-color:var(--color-indigo-700)}.bg-indigo-800{background-color:var(--color-indigo-800)}.bg-indigo-900\/20{background-color:#312c8533}@supports (color:color-mix(in lab,red,red)){.bg-indigo-900\/20{background-color:color-mix(in oklab,var(--color-indigo-900) 20%,transparent)}}.bg-ink,.bg-ink\/5{background-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.bg-ink\/5{background-color:color-mix(in oklab,var(--ink) 5%,transparent)}}.bg-ink\/10{background-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.bg-ink\/10{background-color:color-mix(in oklab,var(--ink) 10%,transparent)}}.bg-purple-700{background-color:var(--color-purple-700)}.bg-purple-800{background-color:var(--color-purple-800)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-900{background-color:var(--color-red-900)}.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-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/80{background-color:#0f172bcc}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/80{background-color:color-mix(in oklab,var(--color-slate-900) 80%,transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-ember\/10{--tw-gradient-from:var(--ember)}@supports (color:color-mix(in lab,red,red)){.from-ember\/10{--tw-gradient-from:color-mix(in oklab,var(--ember) 10%,transparent)}}.from-ember\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--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}.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-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-display{font-family:Harry P,Palatino Linotype,Book Antiqua,Palatino,serif}.font-mono{font-family:var(--font-mono)}.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-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-\[0\.35em\]{--tw-tracking:.35em;letter-spacing:.35em}.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-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500\/80{color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-500\/80{color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.text-amber-600\/80{color:#dd7400cc}@supports (color:color-mix(in lab,red,red)){.text-amber-600\/80{color:color-mix(in oklab,var(--color-amber-600) 80%,transparent)}}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-800{color:var(--color-blue-800)}.text-ember{color:var(--ember)}.text-emerald-300{color:var(--color-emerald-300)}.text-gold,.text-gold\/70{color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.text-gold\/70{color:color-mix(in oklab,var(--gold) 70%,transparent)}}.text-gold\/80{color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.text-gold\/80{color:color-mix(in oklab,var(--gold) 80%,transparent)}}.text-green-300{color:var(--color-green-300)}.text-green-400{color:var(--color-green-400)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-300{color:var(--color-indigo-300)}.text-ink,.text-ink\/40{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/40{color:color-mix(in oklab,var(--ink) 40%,transparent)}}.text-ink\/50{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/50{color:color-mix(in oklab,var(--ink) 50%,transparent)}}.text-ink\/60{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/60{color:color-mix(in oklab,var(--ink) 60%,transparent)}}.text-ink\/70{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/70{color:color-mix(in oklab,var(--ink) 70%,transparent)}}.text-parchment,.text-parchment\/40{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/40{color:color-mix(in oklab,var(--parchment) 40%,transparent)}}.text-parchment\/50{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/50{color:color-mix(in oklab,var(--parchment) 50%,transparent)}}.text-parchment\/55{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/55{color:color-mix(in oklab,var(--parchment) 55%,transparent)}}.text-parchment\/60{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/60{color:color-mix(in oklab,var(--parchment) 60%,transparent)}}.text-parchment\/65{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/65{color:color-mix(in oklab,var(--parchment) 65%,transparent)}}.text-parchment\/70{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/70{color:color-mix(in oklab,var(--parchment) 70%,transparent)}}.text-parchment\/75{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/75{color:color-mix(in oklab,var(--parchment) 75%,transparent)}}.text-parchment\/80{color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.text-parchment\/80{color:color-mix(in oklab,var(--parchment) 80%,transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-700{color:var(--color-slate-700)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.invert{--tw-invert:invert(100%)}.invert,.sepia{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,)}.sepia{--tw-sepia:sepia(100%)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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-opacity{transition-property:opacity;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-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:border-amber-600:hover{border-color:var(--color-amber-600)}.hover\:border-slate-600:hover{border-color:var(--color-slate-600)}.hover\:bg-amber-200:hover{background-color:var(--color-amber-200)}.hover\:bg-amber-500:hover{background-color:var(--color-amber-500)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-ember\/90:hover{background-color:var(--ember)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-ember\/90:hover{background-color:color-mix(in oklab,var(--ember) 90%,transparent)}}.hover\:bg-gold\/10:hover{background-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gold\/10:hover{background-color:color-mix(in oklab,var(--gold) 10%,transparent)}}.hover\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\:bg-ink\/5:hover{background-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-ink\/5:hover{background-color:color-mix(in oklab,var(--ink) 5%,transparent)}}.hover\:bg-parchment\/10:hover{background-color:var(--parchment)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-parchment\/10:hover{background-color:color-mix(in oklab,var(--parchment) 10%,transparent)}}.hover\:bg-purple-600:hover{background-color:var(--color-purple-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-950:hover{background-color:var(--color-red-950)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-slate-900:hover{background-color:var(--color-slate-900)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-slate-100:hover{color:var(--color-slate-100)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@font-face{font-family:Harry P;src:url(/hogwarts/fonts/harry-p.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--parchment:#f5edd6;--ink:#2c1810;--gold:#c9a227;--ember:#8b2500}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(at top,#1a1028 0,#0d0814 60%,#050308 100%);min-height:100vh}.font-display{font-family:var(--font-display)}.house-gryffindor{--house-primary:#740001;--house-secondary:#d3a625;--house-accent:#eeba30}.house-ravenclaw{--house-primary:#0e1a40;--house-secondary:#946b2d;--house-accent:#5d7ba8}.house-hufflepuff{--house-primary:#372e29;--house-secondary:#ffd800;--house-accent:#f0c75e}.house-slytherin{--house-primary:#1a472a;--house-secondary:#aaa;--house-accent:#5d5d5d}.house-unsorted{--house-primary:#2c1810;--house-secondary:#c4a882;--house-accent:#8b7355}.parchment-panel{background:linear-gradient(145deg,#f8f0dc,#e8dcc4 50%,#f0e6d0);border:1px solid #8b735566;box-shadow:0 4px 24px #00000026}.stars-bg{background-image:radial-gradient(1px 1px at 20px 30px,#fff6,#0000),radial-gradient(1px 1px at 80px 120px,#ffffff4d,#0000),radial-gradient(1.5px 1.5px at 150px 60px,#ffd76480,#0000),radial-gradient(1px 1px at 250px 180px,#ffffff59,#0000);background-size:300px 200px;animation:twinkle 8s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.7}to{opacity:1}}@keyframes reveal{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.reveal-animation{animation:reveal 1.2s ease-out forwards}@keyframes affinityFadeIn{0%{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.affinity-fade-in{animation:affinityFadeIn .75s ease-out both}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #c9a2274d}50%{box-shadow:0 0 40px #c9a22799}}.glow-pulse{animation:glow-pulse 2s ease-in-out infinite}.arcane-stone{--stone-size:7.5rem;width:var(--stone-size);height:var(--stone-size);place-items:center;margin-top:3.5rem;display:grid;position:relative}.arcane-stone__halo{background:radial-gradient(circle,#c9783047 0,#c9a22714 42%,#0000 70%);border-radius:50%;animation:arcaneHalo 4.8s ease-in-out infinite;position:absolute;inset:-28%}.arcane-stone__orbit{border-radius:50%;animation:arcaneOrbit 18s linear infinite;position:absolute;inset:-8%}.arcane-stone__orbit span{background:#f0d78cbf;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 10px #f0d78c8c}.arcane-stone__orbit span:first-child{top:4%;left:48%}.arcane-stone__orbit span:nth-child(2){opacity:.7;width:3px;height:3px;top:58%;right:2%}.arcane-stone__orbit span:nth-child(3){opacity:.55;width:4px;height:4px;bottom:8%;left:18%}.arcane-stone__ring{border:1.5px solid #c9a22773;position:absolute;inset:0;box-shadow:inset 0 0 18px #b4501440,0 0 24px #c9a2272e}.arcane-stone__core,.arcane-stone__ring{border-radius:50%;animation:arcaneBreath 3.6s ease-in-out infinite}.arcane-stone__core{background:radial-gradient(circle at 35% 30%,#ffd2968c,#0000 42%),radial-gradient(circle at 50% 55%,#8a2e14 0,#3a140c 72%,#1a0906 100%);width:58%;height:58%;position:relative;overflow:hidden;box-shadow:0 0 28px #b4461473,inset 0 -8px 16px #00000073}.arcane-stone__ember{background:radial-gradient(circle,#ffaa50d9,#b4320a26 65%,#0000);border-radius:50%;animation:arcaneEmber 2.4s ease-in-out infinite;position:absolute;inset:18%}.arcane-stone__vein{mix-blend-mode:screen;background:radial-gradient(at 60% 70%,#ffc87833,#0000 40%),linear-gradient(125deg,#0000 40%,#ffdca01f 50%,#0000 60%);animation:arcaneVein 6s ease-in-out infinite;position:absolute;inset:0}.arcane-stone--near{--stone-size:8.25rem}.arcane-stone--near .arcane-stone__halo{background:radial-gradient(circle,#c98c3066 0,#c9a22724 45%,#0000 72%);animation-duration:2.4s}.arcane-stone--near .arcane-stone__core,.arcane-stone--near .arcane-stone__ring{animation-duration:2s}.arcane-stone--sensing{--stone-size:9rem}.arcane-stone--sensing .arcane-stone__halo{animation-duration:1.4s}.arcane-stone--sensing .arcane-stone__orbit{animation-duration:7s}.arcane-stone--sensing .arcane-stone__ring{border-color:#f0c864b3;animation:arcaneSenseRing 1.6s ease-in-out infinite}.arcane-stone--sensing .arcane-stone__core,.arcane-stone--sensing .arcane-stone__ember{animation-duration:1.1s}.arcane-stone--revealed{--stone-size:6.5rem}.arcane-stone--revealed .arcane-stone__halo{opacity:.55;animation-duration:5.5s}.arcane-stone--revealed .arcane-stone__orbit{opacity:.45;animation-duration:28s}.arcane-stone--revealed .arcane-stone__core,.arcane-stone--revealed .arcane-stone__ring{animation-duration:5s}@keyframes arcaneBreath{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes arcaneHalo{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}@keyframes arcaneEmber{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes arcaneVein{0%,to{opacity:.35;transform:translateY(2px)}50%{opacity:.8;transform:translateY(-2px)}}@keyframes arcaneOrbit{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes arcaneSenseRing{0%,to{transform:scale(1);box-shadow:0 0 18px #c9a22740,inset 0 0 18px #b4501440}50%{transform:scale(1.08);box-shadow:0 0 36px #f0be5073,inset 0 0 22px #dc641e59}}@media (prefers-reduced-motion:reduce){.arcane-stone__core,.arcane-stone__ember,.arcane-stone__halo,.arcane-stone__orbit,.arcane-stone__ring,.arcane-stone__vein{animation:none!important}}.sorting-hat{--hat-w:11rem;width:var(--hat-w);height:calc(var(--hat-w) * 1.15);place-items:center;margin:2.75rem auto 0;display:grid;position:relative}.sorting-hat__glow{background:radial-gradient(circle,#c9a22738 0,#78461e14 45%,#0000 70%);border-radius:50%;animation:hatGlow 5s ease-in-out infinite;position:absolute;inset:-18%}.sorting-hat__silhouette{width:78%;height:88%;animation:hatBreath 4.2s ease-in-out infinite;position:relative}.sorting-hat__brim{background:radial-gradient(at 50% 35%,#6b4428 0,#3a2414 55%,#1c1008 100%);border-radius:50%;width:100%;height:22%;bottom:18%;box-shadow:0 8px 18px #00000073}.sorting-hat__brim,.sorting-hat__crown{position:absolute;left:50%;transform:translate(-50%)}.sorting-hat__crown{background:linear-gradient(160deg,#8a5a32,#4a2e18 45%,#2a180c);border-radius:48% 48% 42% 42%/18% 18% 70% 70%;width:58%;height:62%;bottom:28%;overflow:visible;box-shadow:inset -10px -8px 18px #00000059}.sorting-hat__tip{background:linear-gradient(150deg,#7a4e2a,#3a2210);border-radius:60% 40% 55% 45%;width:34%;height:38%;position:absolute;top:-18%;left:58%;transform:rotate(28deg);box-shadow:-2px 4px 8px #0000004d}.sorting-hat__crease{background:linear-gradient(90deg,#0000,#00000059,#0000);height:2px;position:absolute;inset:22% 18% auto}.sorting-hat__eyes{justify-content:space-between;width:36%;display:flex;position:absolute;bottom:42%;left:50%;transform:translate(-50%)}.sorting-hat__eyes span{background:#f0d28cd9;border-radius:50%;width:7px;height:7px;animation:hatBlink 5.5s ease-in-out infinite;box-shadow:0 0 10px #f0be50a6}.sorting-hat__eyes span:nth-child(2){animation-delay:.12s}.sorting-hat__mouth{opacity:.7;border:1.5px solid #f0d28c59;border-top:none;border-radius:0 0 12px 12px;width:18%;height:6px;position:absolute;bottom:34%;left:50%;transform:translate(-50%)}.sorting-hat__sparks{pointer-events:none;position:absolute;inset:0}.sorting-hat__sparks span{background:#f0d78cb3;border-radius:50%;width:4px;height:4px;animation:hatSpark 4.5s ease-in-out infinite;position:absolute;box-shadow:0 0 8px #f0c8648c}.sorting-hat__sparks span:first-child{top:12%;left:18%}.sorting-hat__sparks span:nth-child(2){animation-delay:1.1s;top:22%;right:14%}.sorting-hat__sparks span:nth-child(3){width:3px;height:3px;animation-delay:2s;bottom:28%;left:8%}.sorting-hat__sparks span:nth-child(4){animation-delay:2.8s;bottom:18%;right:10%}.sorting-hat--loaded{--hat-w:12rem}.sorting-hat--loaded .sorting-hat__glow{animation-duration:3s}.sorting-hat--thinking{--hat-w:12.5rem}.sorting-hat--thinking .sorting-hat__glow{background:radial-gradient(circle,#c9a22761 0,#a05a1e24 48%,#0000 72%);animation-duration:1.6s}.sorting-hat--thinking .sorting-hat__silhouette{animation-duration:1.8s}.sorting-hat--thinking .sorting-hat__eyes span{animation:hatThinkEyes 1.2s ease-in-out infinite}.sorting-hat--thinking .sorting-hat__mouth{opacity:1;border-color:#f0d28c8c;width:22%;height:8px}.sorting-hat--revealed{--hat-w:8.5rem;opacity:.72}.sorting-hat--revealed .sorting-hat__glow{opacity:.45;animation-duration:6s}@keyframes hatBreath{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.02)}}@keyframes hatGlow{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}@keyframes hatBlink{0%,92%,to{opacity:.9;transform:scaleY(1)}95%{opacity:.5;transform:scaleY(.15)}}@keyframes hatThinkEyes{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}@keyframes hatSpark{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.9;transform:translateY(-8px)}}.house-emblem{place-items:center;width:min(11rem,42vw);margin:1.5rem auto 0;animation:houseEmblemIn .9s ease-out both;display:grid;position:relative}.house-emblem__glow{background:radial-gradient(circle,var(--he-accent),transparent 70%);border-radius:50%;position:absolute;inset:-20%}@supports (color:color-mix(in lab,red,red)){.house-emblem__glow{background:radial-gradient(circle,color-mix(in srgb,var(--he-accent) 45%,transparent),transparent 70%)}}.house-emblem__glow{animation:houseEmblemGlow 3.2s ease-in-out infinite}.house-emblem__shield{object-fit:contain;filter:drop-shadow(0 10px 24px #00000073);width:100%;height:auto;position:relative}@keyframes houseEmblemIn{0%{opacity:0;transform:scale(.82)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes houseEmblemGlow{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}.ceremony-reveal-video{z-index:40;opacity:0;pointer-events:none;background:#000;justify-content:center;align-items:center;transition:opacity .9s;display:flex;position:fixed;inset:0}.ceremony-reveal-video--visible{opacity:1}.ceremony-reveal-video__stage{background:#000;width:min(100vw,177.778vh);height:min(100vh,56.25vw);position:relative;overflow:hidden}.ceremony-reveal-video__crop{width:100%;height:112.5%;position:absolute;top:0;left:0}.ceremony-reveal-video__el{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.wand-verdict{width:min(280px,70vw);height:min(280px,70vw);margin:2rem auto 0;position:relative}.wand-glass{position:absolute;inset:12%}.wand-glass__pane{background:linear-gradient(145deg,#dce6f02e,#b4c8dc0f);border:1px solid #dce6f059;border-radius:8px;animation:wandGlassFracture 2.6s ease-in forwards;position:absolute;inset:0;box-shadow:inset 0 0 40px #ffffff0f}.wand-glass__crack{transform-origin:0;opacity:0;background:#e6f0ff8c;border-radius:1px;height:2px;position:absolute}.wand-glass__crack--a{width:55%;animation:wandCrackIn .45s ease-out .55s forwards;top:38%;left:18%;transform:rotate(18deg)}.wand-glass__crack--b{width:42%;animation:wandCrackIn .4s ease-out .85s forwards;top:52%;left:30%;transform:rotate(-28deg)}.wand-glass__crack--c{width:36%;animation:wandCrackIn .35s ease-out 1.1s forwards;top:28%;left:48%;transform:rotate(62deg)}.wand-glass__shard i{clip-path:polygon(20% 0,100% 30%,70% 100%,0 60%);opacity:0;background:#d2e1f059;width:14px;height:18px;position:absolute}.wand-glass__shard i:first-child{animation:wandShardFall 1.4s ease-in 1.3s forwards;top:40%;left:35%}.wand-glass__shard i:nth-child(2){animation:wandShardFall 1.5s ease-in 1.4s forwards;top:48%;left:55%}.wand-glass__shard i:nth-child(3){animation:wandShardFall 1.35s ease-in 1.5s forwards;top:34%;left:62%}.wand-glass__shard i:nth-child(4){animation:wandShardFall 1.45s ease-in 1.55s forwards;top:55%;left:42%}@keyframes wandGlassFracture{0%,40%{opacity:1;filter:none}to{opacity:.35;filter:brightness(1.2)}}@keyframes wandCrackIn{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@keyframes wandShardFall{0%{opacity:.9;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(90px)rotate(40deg)}}.wand-wilt{position:absolute;inset:10% 20% 8%}.wand-wilt__stem{transform-origin:bottom;background:linear-gradient(#6b8f4e,#3d5a32);border-radius:2px;width:4px;height:55%;margin-left:-2px;animation:wandStemWilt 2.5s ease-in-out forwards;position:absolute;bottom:8%;left:50%}.wand-wilt__bloom{width:72px;height:72px;margin-left:-36px;animation:wandBloomWilt 2.5s ease-in-out forwards;position:absolute;top:18%;left:50%}.wand-wilt__bloom span{background:radial-gradient(circle at 35% 35%,#f0c4a0,#c4785a 70%);border-radius:50% 50% 45% 55%;position:absolute;inset:18%}.wand-wilt__bloom span:first-child{transform:rotate(0)translateY(-18px)}.wand-wilt__bloom span:nth-child(2){transform:rotate(90deg)translateY(-18px)}.wand-wilt__bloom span:nth-child(3){transform:rotate(180deg)translateY(-18px)}.wand-wilt__bloom span:nth-child(4){transform:rotate(270deg)translateY(-18px)}.wand-wilt__petal-fall i{opacity:0;background:#c4785a;border-radius:50% 50% 40% 60%;width:12px;height:16px;position:absolute;top:30%;left:48%}.wand-wilt__petal-fall i:first-child{animation:wandPetalDrop 1.6s ease-in 1.1s forwards}.wand-wilt__petal-fall i:nth-child(2){animation:wandPetalDrop 1.7s ease-in 1.25s forwards;left:40%}.wand-wilt__petal-fall i:nth-child(3){animation:wandPetalDrop 1.55s ease-in 1.35s forwards;left:56%}@keyframes wandStemWilt{0%{transform:rotate(0)}to{transform:rotate(28deg)}}@keyframes wandBloomWilt{0%{opacity:1;transform:scale(1)rotate(0)}to{opacity:.55;transform:scale(.72)rotate(24deg)translate(18px,28px)}}@keyframes wandPetalDrop{0%{opacity:.85;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100px)rotate(50deg)}}.wand-sun{position:absolute;inset:8%}.wand-sun__core{background:radial-gradient(circle at 40% 35%,#fff4c8,#e8b84a 55%,#c47a20 100%);border-radius:50%;width:88px;height:88px;margin:-44px 0 0 -44px;top:50%;left:50%;box-shadow:0 0 40px #e8b84a73}.wand-sun__core,.wand-sun__rays{animation:wandSunRise 2.8s ease-out forwards;position:absolute}.wand-sun__rays{inset:0}.wand-sun__rays span{transform-origin:bottom;opacity:.7;background:linear-gradient(#ffdc78d9,#0000);border-radius:2px;width:4px;height:42%;margin-top:-42%;margin-left:-2px;position:absolute;top:50%;left:50%}.wand-sun__rays span:first-child{transform:rotate(0)}.wand-sun__rays span:nth-child(2){transform:rotate(60deg)}.wand-sun__rays span:nth-child(3){transform:rotate(120deg)}.wand-sun__rays span:nth-child(4){transform:rotate(180deg)}.wand-sun__rays span:nth-child(5){transform:rotate(240deg)}.wand-sun__rays span:nth-child(6){transform:rotate(300deg)}.wand-sun__haze{background:radial-gradient(circle,#ffdc8c40,#0000 70%);border-radius:50%;animation:wandSunHaze 2.8s ease-out forwards;position:absolute;inset:18%}@keyframes wandSunRise{0%{opacity:.15;transform:scale(.55)translateY(28px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes wandSunHaze{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1.15)}}.wand-lamp{position:absolute;inset:12% 28% 8%}.wand-lamp__glow{opacity:0;background:radial-gradient(circle,#ffd27859,#0000 70%);border-radius:50%;width:120%;height:70%;margin-left:-60%;animation:wandLampOn 2.6s ease-out forwards;position:absolute;top:8%;left:50%}.wand-lamp__shade{background:linear-gradient(#8a6a3e,#5c4528);border-radius:6px 6px 40% 40%;width:70%;height:28%;margin-left:-35%;animation:wandLampShade 2.6s ease-out forwards;position:absolute;top:12%;left:50%;box-shadow:0 8px 24px #ffc86400}.wand-lamp__stem{background:linear-gradient(#c4a882,#7a6248);border-radius:2px;width:6px;height:36%;margin-left:-3px;position:absolute;top:38%;left:50%}.wand-lamp__base{background:#5c4528;border-radius:50%;width:42%;height:10%;margin-left:-21%;position:absolute;bottom:10%;left:50%}@keyframes wandLampOn{0%{opacity:0;transform:scale(.6)}40%{opacity:.15}to{opacity:1;transform:scale(1)}}@keyframes wandLampShade{0%{filter:brightness(.7);box-shadow:0 0 #ffc86400}to{filter:brightness(1.15);box-shadow:0 12px 36px #ffc86459}}@media (prefers-reduced-motion:reduce){.house-emblem,.house-emblem__glow,.sorting-hat__eyes span,.sorting-hat__glow,.sorting-hat__silhouette,.sorting-hat__sparks span,.wand-glass__crack,.wand-glass__pane,.wand-glass__shard i,.wand-lamp__glow,.wand-lamp__shade,.wand-sun__core,.wand-sun__haze,.wand-sun__rays,.wand-wilt__bloom,.wand-wilt__petal-fall i,.wand-wilt__stem{animation:none!important}.ceremony-reveal-video{transition:none}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-shell{min-height:100vh;color:var(--house-text);background:radial-gradient(ellipse at top,var(--house-primary) 0,var(--house-background) 58%);position:relative}@supports (color:color-mix(in lab,red,red)){.portal-shell{background:radial-gradient(ellipse at top,color-mix(in srgb,var(--house-primary) 70%,#1a100c) 0,var(--house-background) 58%)}}.portal-shell{transition:background .7s}.portal-shell[data-house=gryffindor],.portal-shell[data-house=hufflepuff],.portal-shell[data-house=ravenclaw],.portal-shell[data-house=slytherin]{background-color:var(--house-background);background-image:radial-gradient(ellipse at top,var(--house-primary) 0,var(--house-background) 52%,var(--house-background) 100%),var(--house-pattern)}@supports (color:color-mix(in lab,red,red)){.portal-shell[data-house=gryffindor],.portal-shell[data-house=hufflepuff],.portal-shell[data-house=ravenclaw],.portal-shell[data-house=slytherin]{background-image:radial-gradient(ellipse at top,color-mix(in srgb,var(--house-primary) 38%,transparent) 0,color-mix(in srgb,var(--house-background) 58%,transparent) 52%,color-mix(in srgb,var(--house-background) 74%,transparent) 100%),var(--house-pattern)}}.portal-shell[data-house=gryffindor],.portal-shell[data-house=hufflepuff],.portal-shell[data-house=ravenclaw],.portal-shell[data-house=slytherin]{background-position:top,top;background-repeat:no-repeat,repeat;background-size:auto,440px}.portal-stars{pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#ffecbeb3,#0000),radial-gradient(1px 1px at 70% 12%,#ffffff8c,#0000),radial-gradient(1.5px 1.5px at 84% 40%,#f0d78cb3,#0000),radial-gradient(1px 1px at 30% 70%,#fff6,#0000),radial-gradient(1px 1px at 55% 88%,#ffdca073,#0000);animation:twinkle 8s ease-in-out infinite alternate;position:absolute;inset:0}.portal-wrap{width:min(720px,100%);margin:0 auto;padding:28px 16px 64px;position:relative}.portal-header h1,.portal-id-name,.portal-record h2,.portal-result-value,.portal-reveal-title,.portal-welcome{font-family:var(--font-display)}.portal-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--house-accent);margin:0;font-size:.75rem}.portal-id .portal-kicker,.portal-letter .portal-kicker,.portal-record .portal-kicker{color:var(--house-primary);font-weight:700}.portal-header h1{margin:6px 0 0;font-size:clamp(2.4rem,8vw,4rem);font-weight:500;line-height:1}.portal-welcome{margin:14px 0 0;font-size:clamp(1.6rem,5vw,2.2rem)}.portal-lede,.portal-live{color:var(--house-text);margin:8px 0 0}@supports (color:color-mix(in lab,red,red)){.portal-lede,.portal-live{color:color-mix(in srgb,var(--house-text) 78%,transparent)}}.portal-live{letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.portal-reveal{text-align:center;border:1px solid var(--house-secondary);background:var(--house-surface);border-radius:18px;margin-top:18px;padding:22px 18px}@supports (color:color-mix(in lab,red,red)){.portal-reveal{background:color-mix(in srgb,var(--house-surface) 88%,black)}}.portal-reveal{box-shadow:0 0 32px var(--house-glow);animation:reveal .7s ease-out}.portal-reveal-title{color:var(--house-accent);margin:8px 0 0;font-size:clamp(2rem,7vw,3.2rem)}.portal-card,.portal-id,.portal-optional,.portal-record{border-radius:18px;margin-top:16px}.portal-id,.portal-record{color:var(--ink);border:1px solid var(--house-secondary);background:linear-gradient(160deg,#f8f1de,#e7d7b4);align-items:center;gap:16px;padding:16px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-id,.portal-record{border:1px solid color-mix(in srgb,var(--house-secondary) 80%,#8b7355)}}.portal-id,.portal-record{box-shadow:0 10px 28px #00000047}.portal-record{display:block}.portal-parchment,.portal-record.portal-parchment{color:#2c1810;background-color:#efe2c4;background-image:linear-gradient(180deg,#2e1c0e14,#2e1c0e2e),var(--portal-paper);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #a77a29;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #fff8e659}.portal-record.portal-parchment .portal-enrolled-line,.portal-record.portal-parchment .portal-enrolled-title,.portal-record.portal-parchment .portal-kicker,.portal-record.portal-parchment dd,.portal-record.portal-parchment dt,.portal-record.portal-parchment h2{color:#2c1810}.portal-record.portal-parchment dt{opacity:.72}.portal-record-complete{box-shadow:0 0 0 2px var(--house-secondary),0 12px 32px var(--house-glow)}.portal-record-complete.portal-parchment{box-shadow:0 0 0 2px var(--house-secondary),0 12px 32px var(--house-glow),inset 0 0 0 1px #fff8e659}.portal-crest{object-fit:contain;filter:drop-shadow(0 6px 10px #28140847);flex:none;width:84px;height:auto;max-height:108px}.portal-letter{text-align:center;color:#2c1810;border:1px solid var(--house-primary);background:linear-gradient(160deg,#f8f1de,#e7d7b4);border-radius:18px;margin-top:16px;padding:28px 22px 24px}@supports (color:color-mix(in lab,red,red)){.portal-letter{border:1px solid color-mix(in srgb,var(--house-primary) 35%,#8b7355)}}.portal-letter{box-shadow:0 10px 28px #00000047}.portal-letter h2{font-family:var(--font-display);color:var(--house-primary);margin:6px 0 0;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:500}.portal-letter p{max-width:38rem;font-family:var(--font-display);margin:12px auto 0;font-size:1.08rem;line-height:1.5}.portal-letter-seal{margin-top:8px}.portal-letter-crest{width:min(210px,58vw);height:auto;margin:0 auto 4px;display:block}.portal-letter p.portal-letter-copy{max-width:38rem;font-family:var(--font-display);color:#1a100c;margin:14px auto 0;font-size:clamp(1.7rem,4.8vw,2.05rem);font-weight:500;line-height:1.35}.portal-letter-signs{flex-wrap:wrap;justify-content:center;gap:8px 28px;margin-top:18px;display:flex}.portal-letter-signs figure{flex:160px;max-width:240px;margin:0}.portal-letter-signs img{object-fit:contain;object-position:center bottom;width:100%;height:78px;display:block}.portal-letter-signs figcaption{font-family:var(--font-display);color:var(--house-primary);margin-top:2px;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:500;line-height:1.15}button.portal-letter-link{text-align:left;cursor:pointer;color:#1a100c;border:1px solid var(--house-primary);background:linear-gradient(160deg,#f8f1de,#e7d7b4);flex-direction:row;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:92px;margin-top:16px;padding:14px 16px 14px 18px;display:flex}@supports (color:color-mix(in lab,red,red)){button.portal-letter-link{border:1px solid color-mix(in srgb,var(--house-primary) 35%,#8b7355)}}button.portal-letter-link{border-radius:18px;box-shadow:0 10px 28px #00000047}button.portal-letter-link.portal-parchment{color:#1a100c;background-color:#efe2c4;background-image:linear-gradient(180deg,#2e1c0e14,#2e1c0e2e),var(--portal-paper);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #a77a29;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #fff8e659}.portal-letter-link-copy{flex-direction:column;flex:auto;justify-content:center;gap:2px;min-width:0;display:flex}button.portal-letter-link .portal-letter-link-copy>span{font-family:var(--font-display);font-size:clamp(1.7rem,4.5vw,2.15rem);line-height:1.1}button.portal-letter-link .portal-letter-link-copy>small{font-family:var(--font-display);font-size:1.35rem;font-weight:500;line-height:1.2}.portal-letter-link-seal{object-fit:contain;filter:drop-shadow(0 4px 8px #28140847);opacity:.94;flex:none;width:clamp(64px,18vw,84px);height:auto;max-height:88px}.portal-letter-backdrop{z-index:80;background:#120a06b8;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.portal-letter-sheet{isolation:isolate;text-align:left;background-color:#efe2c4;background-image:var(--letter-paper);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:0;border-radius:0;width:min(680px,100%);margin:12px auto;padding:clamp(48px,8vw,72px) clamp(36px,7vw,64px) clamp(44px,7vw,64px);position:relative;overflow:hidden;box-shadow:0 18px 42px #00000080}.portal-letter-watermark{z-index:0;object-fit:contain;object-position:center;opacity:.14;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portal-letter-sheet>:not(.portal-letter-watermark){z-index:1;position:relative}.portal-letter-close{z-index:2;color:#1a100c;min-height:40px;font-family:var(--font-display);cursor:pointer;background:#f8f1deeb;border:1px solid #8b7355;border-radius:999px;padding:6px 12px;font-size:1.35rem;font-weight:500;position:absolute;top:28px;right:22px}.portal-letter p.portal-letter-school{text-align:center;max-width:none;font-family:var(--font-display);color:#6b1220;margin:4px 0 0;font-size:clamp(2rem,6.2vw,3rem);font-weight:500;line-height:1.15}.portal-letter p.portal-letter-kicker{text-align:center;max-width:none;font-family:var(--font-display);color:var(--house-primary);margin:8px 0 0;font-size:clamp(1.35rem,3.4vw,1.7rem);line-height:1.2}.portal-letter-record{gap:8px;width:fit-content;max-width:100%;margin:16px auto 6px;display:grid}.portal-letter-record div{grid-template-columns:minmax(12rem,16rem) 1fr;align-items:baseline;gap:8px 12px;display:grid}.portal-letter-record dd,.portal-letter-record dt{font-family:var(--font-display);color:#1a100c;margin:0;font-size:clamp(1.45rem,3.8vw,1.8rem);font-weight:500;line-height:1.2}.portal-letter-signoffs{flex-wrap:wrap;gap:18px 28px;margin-top:18px;display:flex}.portal-letter-signoff{flex:200px;max-width:280px;margin:0}.portal-letter-signoff img{object-fit:contain;object-position:left bottom;width:100%;height:78px;display:block}.portal-letter-signoff figcaption{font-family:var(--font-display);color:#6b1220;gap:2px;margin-top:4px;font-size:clamp(1.4rem,3.4vw,1.75rem);font-weight:500;line-height:1.15;display:grid}.portal-letter-seal .portal-crest{margin:8px auto 0}.portal-letter-sign{letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-body);color:var(--house-primary);margin-top:8px;font-size:.78rem;font-weight:700}.portal-letter.is-note{text-align:left}.portal-letter-body{white-space:pre-wrap;text-align:left}.portal-field{letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;margin-top:12px;font-size:.85rem;display:flex}.portal-field select{min-height:44px;font:inherit;letter-spacing:0;text-transform:none;color:var(--ink);background:#f6edd8;border-radius:10px;padding:8px 10px}.portal-owl .portal-letter-body,.portal-owl-preview{white-space:pre-wrap;font-family:var(--font-display);color:#1a100c;background:linear-gradient(160deg,#f8f1de,#e7d7b4);border-radius:12px;margin:14px 0;padding:18px 16px;font-size:clamp(1.75rem,5.4vw,2.15rem);font-weight:500;line-height:1.35}.portal-owl.portal-owl-paper{color:#2c1810;background-color:#efe2c4;background-image:linear-gradient(180deg,#2e1c0e0f,#2e1c0e24),var(--portal-paper);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #a77a29}.portal-owl.portal-owl-paper .portal-field,.portal-owl.portal-owl-paper .portal-kicker,.portal-owl.portal-owl-paper .portal-lede,.portal-owl.portal-owl-paper h2{color:#2c1810}.portal-owl .portal-lede{color:var(--house-text);font-size:1.2rem;line-height:1.45}.portal-owl h2{font-size:clamp(2.1rem,7vw,2.8rem)}.portal-owl .portal-field{letter-spacing:.06em;font-size:1.05rem}.portal-owl .portal-field input,.portal-owl .portal-field select{letter-spacing:0;text-transform:none;color:#1a100c;background:#f6edd8;border-radius:10px;min-height:56px;padding:10px 12px;font-family:Segoe UI,system-ui,sans-serif;font-size:1.35rem;font-weight:600}.portal-owl .portal-choice{min-height:56px;font-size:1.2rem}.portal-owl .portal-letter-sign{letter-spacing:.04em;text-transform:none;font-size:1.05rem}.portal-owl-name-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.portal-owl-name-row .portal-field{flex:180px}.portal-owl-save{background:var(--house-secondary);color:#1a100c;min-height:56px;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:12px 18px;font-size:1.15rem;font-weight:700}.portal-owl-save:disabled{opacity:.55;cursor:default}.portal-owl-post{border-radius:18px;width:100%;margin-top:16px;overflow:hidden}.portal-owl-post,.portal-owl-post.portal-parchment{background-color:#efe2c4;background-image:linear-gradient(180deg,#2e1c0e14,#2e1c0e2e),var(--portal-paper);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #a77a29;box-shadow:0 10px 28px #00000047,inset 0 0 0 1px #fff8e659}.portal-owl-post-link{color:#2c1810;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;grid-template-columns:minmax(96px,28%) 1fr;align-items:stretch;gap:0;margin:0;padding:0;text-decoration:none;display:grid}.portal-owl-post-link:focus-visible{outline-offset:-3px;outline:3px solid #c9a227}.portal-owl-post-art{object-fit:cover;object-position:center;border-right:1px solid #5a371c47;width:100%;height:100%;min-height:112px;display:block}.portal-owl-post-copy{flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:16px 18px 18px;display:flex}.portal-owl-post-kicker{letter-spacing:.16em;text-transform:uppercase;color:#6b4423;font-size:.72rem;font-weight:700}.portal-owl-post-title{font-family:var(--font-display);color:#1a100c;font-size:clamp(1.45rem,4.5vw,1.9rem);font-weight:700;line-height:1.15}.portal-owl-post-copy small{color:#4a3424;font-size:.95rem;line-height:1.35}.portal-owl-post-link.is-sent .portal-owl-post-kicker{color:#3d5a2b}@media (max-width:420px){.portal-owl-post-link{grid-template-columns:88px 1fr}.portal-owl-post-art{min-height:100px}.portal-owl-post-copy{padding:12px 14px 14px}}.portal-id-name{margin:2px 0;font-size:1.8rem;line-height:1.1}.portal-record h2{margin:2px 0;font-size:2.7rem;line-height:1.1}.portal-record .portal-kicker{letter-spacing:.18em;font-size:1.125rem}.portal-card p,.portal-id-meta,.portal-optional p,.portal-record p,.portal-result p,.portal-result-detail{margin:4px 0 0;font-size:.95rem}.portal-card,.portal-optional{background:var(--house-surface);padding:16px}@supports (color:color-mix(in lab,red,red)){.portal-card,.portal-optional{background:color-mix(in srgb,var(--house-surface) 92%,black)}}.portal-card,.portal-optional{border:1px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-card,.portal-optional{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.portal-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.portal-card h2,.portal-optional summary{font-family:var(--font-display);margin:0;font-size:2.025rem;font-weight:500;line-height:1.15}.portal-progress{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.portal-progress li{background:#0000002e;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;display:flex}.portal-progress li.is-done{background:var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-progress li.is-done{background:color-mix(in srgb,var(--house-secondary) 22%,transparent)}}.portal-check{text-align:center;width:1.5rem;font-size:1.2rem}.portal-results{gap:12px;margin-top:16px;display:grid}.portal-results h2{font-family:var(--font-display);margin:0 0 2px;font-size:2.025rem;font-weight:500;line-height:1.15}.portal-result{color:var(--ink);background:#f6edd8;border:1px solid #5a3e2040;border-radius:16px;align-items:center;gap:14px;padding:16px;display:flex}.portal-result h3,.portal-result-label{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;display:block}.portal-result-value{margin:6px 0 0;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.05}.portal-result.is-mystery .portal-result-value{letter-spacing:.12em}.portal-points{margin:14px 4px 0}.portal-explore{gap:10px;margin-top:12px;display:grid}.portal-next{margin-top:16px}.portal-next-action{gap:4px}.portal-next .portal-kicker,.portal-next-action .portal-kicker{margin:0}.portal-next-event{font-family:var(--font-display);margin:8px 0 0;font-size:clamp(1.35rem,3.4vw,1.7rem);line-height:1.25}.portal-ceremony-note{color:var(--house-text);margin:8px 0 0}@supports (color:color-mix(in lab,red,red)){.portal-ceremony-note{color:color-mix(in srgb,var(--house-text) 78%,transparent)}}.portal-ceremony-note{font-size:.95rem;line-height:1.35}.portal-explore-link,.portal-explore-soon,.portal-form button,.portal-optional summary{min-height:48px}.portal-explore-link,.portal-explore-soon{border-radius:12px;flex-direction:column;justify-content:center;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.portal-explore-link{color:var(--house-text);background:var(--house-primary)}@supports (color:color-mix(in lab,red,red)){.portal-explore-link{background:color-mix(in srgb,var(--house-primary) 55%,black)}}.portal-explore-link{border:1px solid var(--house-secondary)}.portal-explore-link.is-complete{border-color:var(--house-accent);background:radial-gradient(circle at 100% 0,var(--house-glow),transparent 55%),var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-explore-link.is-complete{background:radial-gradient(circle at 100% 0,var(--house-glow),transparent 55%),color-mix(in srgb,var(--house-secondary) 42%,var(--house-primary))}}.portal-explore-link.is-complete{box-shadow:0 0 18px var(--house-glow),inset 0 0 22px var(--house-accent)}@supports (color:color-mix(in lab,red,red)){.portal-explore-link.is-complete{box-shadow:0 0 18px var(--house-glow),inset 0 0 22px color-mix(in srgb,var(--house-accent) 28%,transparent)}}.portal-explore-link.is-complete small{color:var(--house-accent);letter-spacing:.04em}.portal-learn{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.portal-learn-card{border:1px solid var(--house-secondary);background:var(--house-primary);border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin:0;padding:8px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-learn-card{background:color-mix(in srgb,var(--house-primary) 55%,black)}}.portal-learn-card{color:var(--house-text);font:inherit;text-align:left;cursor:pointer}.portal-learn-mosaic{border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;width:100%;height:112px;display:grid;overflow:hidden}.portal-learn-mosaic img{object-fit:cover;object-position:center 28%;border-radius:6px;width:100%;height:54px}.portal-learn>.portal-learn-card img.portal-learn-cover{object-fit:cover;object-position:center 40%;height:168px}.portal-learn-card img,.portal-learn-hero{object-fit:cover;background:#120c14;border-radius:10px;width:100%;height:112px}.portal-learn-card img.is-crest,.portal-learn-hero.is-crest{object-fit:contain;background:radial-gradient(circle at 50% 40%,var(--house-accent),transparent 70%),#1a120c}@supports (color:color-mix(in lab,red,red)){.portal-learn-card img.is-crest,.portal-learn-hero.is-crest{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--house-accent) 28%,transparent),transparent 70%),#1a120c}}.portal-learn-card .portal-learn-mosaic img{object-position:center 28%;border-radius:6px;height:54px}.portal-learn-card span,.portal-learn-detail h2{font-family:var(--font-display);font-size:1.25rem;line-height:1.1}.portal-learn-card small,.portal-learn-note{color:var(--house-text)}@supports (color:color-mix(in lab,red,red)){.portal-learn-card small,.portal-learn-note{color:color-mix(in srgb,var(--house-text) 78%,var(--house-accent))}}.portal-learn-card small,.portal-learn-note{line-height:1.35}.portal-learn-card.is-yours,.portal-learn-grid .portal-learn-card.is-yours{border-color:var(--house-accent);box-shadow:0 0 16px var(--house-glow)}.portal-learn-grid{gap:12px;margin-top:14px;display:grid}.portal-learn-note,.portal-learn-story,.portal-learn-summary{margin:8px 0 0}.portal-learn-detail h2{margin:12px 0 0;font-size:clamp(1.8rem,5vw,2.6rem)}.portal-learn-detail h3{letter-spacing:.08em;text-transform:uppercase;color:var(--house-accent);margin:18px 0 6px;font-size:.95rem}.portal-learn-hero{height:auto;max-height:340px;margin-top:12px}.portal-learn-yours{background:var(--house-accent);color:#1a100c;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin:10px 0 0;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.portal-learn-list,.portal-learn-related{margin:0;padding-left:1.1rem}.portal-learn-related{flex-wrap:wrap;gap:8px;padding-left:0;list-style:none;display:flex}.portal-learn-related li{border:1px solid var(--house-secondary);border-radius:999px;padding:0}.portal-learn-related li>span,button.portal-learn-chip{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 10px;display:inline-block}.portal-learn-nav{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}button.portal-back-quiet{opacity:.85}@media (min-width:720px){.portal-learn-grid{grid-template-columns:1fr 1fr}}.portal-result.is-house-known,.portal-result.is-patronus-known{align-items:center;gap:14px;display:flex}.portal-result-copy{flex:1;min-width:0}.portal-house-art{object-fit:contain;filter:drop-shadow(0 6px 10px #28140847);flex:none;width:84px;height:auto;max-height:108px}.portal-patronus-art{aspect-ratio:1;object-fit:cover;background:#000;border-radius:12px;flex:none;width:108px;box-shadow:0 8px 16px #2c181059}.portal-result.is-career-known .portal-result-value,.portal-result.is-house-known .portal-result-value,.portal-result.is-patronus-known .portal-result-value,.portal-result.is-subject-known .portal-result-value{font-size:clamp(1.35rem,3.2vw,1.8rem)}.portal-result.is-subject-known{align-items:center;gap:14px;display:flex}.portal-subject-art{object-fit:contain;border-radius:8px;flex:none;width:auto;max-width:96px;height:108px;box-shadow:0 8px 16px #2c181059}.portal-result.is-career-known{align-items:center;gap:14px;display:flex}.portal-career-art{object-fit:contain;border-radius:8px;flex:none;width:auto;max-width:120px;height:108px;box-shadow:0 8px 16px #2c181059}a.portal-result,button.portal-result{font:inherit;text-align:left;cursor:pointer;color:#1a100c;width:100%;min-width:0;text-decoration:none}button.portal-result:focus-visible{outline-offset:3px;outline:3px solid #8a6a32}.portal-lore-mark{letter-spacing:0;font-family:Segoe UI,system-ui,sans-serif;font-size:.95rem;font-weight:600}.portal-result-detail,.portal-result-value{display:block}.lore-modal-backdrop{z-index:80;background:#120a06b8;justify-content:center;align-items:center;padding:16px;animation:lore-fade .16s;display:flex;position:fixed;inset:0}.lore-modal{width:min(420px,100%);max-height:min(92vh,720px);color:var(--ink,#2c1810);background:#f6edd8;border:1px solid #8a6a32b3;border-radius:18px;padding:18px 18px 16px;animation:lore-pop .16s;overflow:auto;box-shadow:0 18px 50px #00000073}.lore-modal-art{object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:210px;margin:0 auto 12px;display:block}.lore-modal-kicker,.lore-modal-subtitle{letter-spacing:.08em;text-transform:uppercase;color:#4a3424;margin:0;font-size:1rem}.lore-modal h2{font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.6rem,5vw,2.1rem);font-weight:500;line-height:1.15}.lore-modal-subtitle{letter-spacing:.04em;text-transform:none;margin-top:8px;font-size:1.05rem}.lore-modal-copy{margin:12px 0 0;font-size:1.05rem;line-height:1.5}.lore-modal-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.lore-modal-actions button{min-height:48px;font:inherit;cursor:pointer;border-radius:12px;font-size:1.05rem;font-weight:700}.lore-modal-close{color:#f6edd8;background:#2c1810;border:0}.lore-modal-choose{color:#2c1810;background:0 0;border:2px solid #8a6a32}.lore-modal-choose:disabled{cursor:default;opacity:.8}.portal-lore-more{min-height:48px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid #e8c547b3;border-radius:12px;margin-top:12px;padding:10px 16px;font-weight:700}@keyframes lore-fade{0%{opacity:0}to{opacity:1}}@keyframes lore-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lore-modal,.lore-modal-backdrop{animation:none}}button.portal-back,button.portal-choice,button.portal-explore-link,button.portal-rune{font:inherit;text-align:left;cursor:pointer;width:100%}.portal-skills{gap:10px;margin-top:12px;display:grid}.portal-skill{grid-template-columns:84px 1fr;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.portal-skill-icon{object-fit:cover;border-radius:12px;width:84px;height:84px;display:block}.portal-skill-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-explore-link small,.portal-explore-soon small{color:var(--house-text)}@supports (color:color-mix(in lab,red,red)){.portal-explore-link small,.portal-explore-soon small{color:color-mix(in srgb,var(--house-text) 75%,transparent)}}.portal-explore-soon{color:var(--house-text)}@supports (color:color-mix(in lab,red,red)){.portal-explore-soon{color:color-mix(in srgb,var(--house-text) 70%,transparent)}}.portal-explore-soon{border:1px dashed var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-explore-soon{border:1px dashed color-mix(in srgb,var(--house-secondary) 50%,transparent)}}.portal-feed{gap:8px;margin:12px 0 0;padding-left:1.1rem;display:grid}.portal-record dl{grid-template-columns:1fr 1fr;gap:12px 16px;margin:14px 0 0;display:grid}.portal-record dt{letter-spacing:.12em;text-transform:uppercase;color:#2c18109e;font-size:1.125rem}.portal-record dd{font-family:var(--font-display);margin:2px 0 0;font-size:1.875rem}.portal-enrolled-line{font-family:var(--font-display);margin-top:16px;font-size:2rem}.portal-enrolled-banner{background:linear-gradient(135deg,#c9a22747,#f6edd88c 45%,#c9a22738),#fff8e68c;border:2px solid #c9a227;border-radius:14px;align-items:center;gap:14px;margin:18px 0 0;padding:14px 16px;animation:enrolled-glow 2.8s ease-in-out infinite;display:flex;box-shadow:inset 0 0 0 1px #fff8e68c,0 8px 24px #5a370a38,0 0 28px #c9a22759}.portal-enrolled-banner-header{max-width:36rem;margin-top:14px}.portal-enrolled-seal{object-fit:contain;filter:drop-shadow(0 4px 10px #28140859);flex:none;width:clamp(52px,14vw,72px);height:auto}.portal-enrolled-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-enrolled-mark{letter-spacing:.18em;text-transform:uppercase;color:#6b4423;font-size:.78rem;font-weight:800}.portal-enrolled-banner-header>span,.portal-enrolled-title{font-family:var(--font-display);color:#1a100c;font-size:clamp(1.55rem,4.8vw,2.15rem);font-weight:700;line-height:1.15}.portal-enrolled-banner-header>span{font-size:clamp(1.35rem,4.2vw,1.85rem)}@keyframes enrolled-glow{0%,to{box-shadow:inset 0 0 0 1px #fff8e68c,0 8px 24px #5a370a38,0 0 22px #c9a22747}50%{box-shadow:inset 0 0 0 1px #fff8e6b3,0 10px 28px #5a370a47,0 0 36px #c9a2278c}}@media (prefers-reduced-motion:reduce){.portal-enrolled-banner{animation:none}}.portal-optional summary{cursor:pointer}.portal-preferred-details summary{letter-spacing:.04em;opacity:.88;font-size:.92rem}.portal-sorting-hat-card{gap:0;padding:0;display:grid;overflow:hidden}.portal-sorting-hat-art{background-position:50% 40%;background-size:cover;min-height:140px}.portal-sorting-hat-copy{padding:14px 16px 16px}.portal-sorting-hat-copy h2{font-family:var(--font-display);margin:4px 0 6px;font-size:clamp(1.35rem,4vw,1.75rem)}.portal-sorting-hat-cta{margin-top:10px;text-decoration:none;display:inline-flex}@media (min-width:640px){.portal-sorting-hat-card{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}.portal-sorting-hat-art{min-height:100%}}.portal-preferred h2{font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.8rem,5vw,2.4rem)}.portal-preferred-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.portal-preferred-pick{border:1px solid var(--house-secondary);border-radius:14px;justify-items:center;gap:8px;padding:14px 10px;display:grid}@supports (color:color-mix(in lab,red,red)){.portal-preferred-pick{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.portal-preferred-pick{background:var(--house-surface)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-pick{background:color-mix(in srgb,var(--house-surface) 88%,black)}}.portal-preferred-pick{color:var(--house-text);cursor:pointer;font:inherit;font-weight:700}.portal-preferred-pick img{object-fit:contain;filter:drop-shadow(0 4px 10px #00000059);width:72px;height:72px}.portal-preferred-pick:disabled{opacity:.7;cursor:default}.portal-preferred-pick.is-selected{border-color:var(--house-accent)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-pick.is-selected{border-color:color-mix(in srgb,var(--house-accent) 70%,white)}}.portal-preferred-pick.is-selected{box-shadow:inset 0 0 0 1px var(--house-accent)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-pick.is-selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--house-accent) 55%,transparent)}}.portal-preferred-any{grid-column:1/-1}.portal-preferred-any-mark{opacity:.85;font-size:1.6rem;line-height:1}.portal-preferred-actions{grid-template-columns:auto 1fr;gap:10px;margin-top:16px;display:grid}.portal-preferred-primary,.portal-preferred-secondary{font:inherit;cursor:pointer;border-radius:12px;padding:12px 14px;font-weight:700}.portal-preferred-primary{border:1px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-primary{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.portal-preferred-primary{background:var(--house-primary)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-primary{background:color-mix(in srgb,var(--house-primary) 72%,black)}}.portal-preferred-primary{color:var(--house-text)}.portal-preferred-secondary{border:1px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-secondary{border:1px solid color-mix(in srgb,var(--house-secondary) 40%,transparent)}}.portal-preferred-secondary{color:var(--house-text);background:0 0}.portal-preferred-primary:disabled,.portal-preferred-secondary:disabled{opacity:.7;cursor:default}.portal-preferred-current{margin:0 0 8px;font-weight:700}.portal-preferred-edit{margin-top:10px}.portal-preferred-avoid{border:0;margin:0;padding:0}.portal-preferred-avoid legend{margin-bottom:4px;font-weight:700}.portal-preferred-avoid-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.portal-preferred-chip{font:inherit;border:1px solid var(--house-secondary);border-radius:999px;padding:8px 12px;font-weight:700}@supports (color:color-mix(in lab,red,red)){.portal-preferred-chip{border:1px solid color-mix(in srgb,var(--house-secondary) 45%,transparent)}}.portal-preferred-chip{background:var(--house-surface)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-chip{background:color-mix(in srgb,var(--house-surface) 88%,black)}}.portal-preferred-chip{color:var(--house-text);cursor:pointer}.portal-preferred-chip.is-selected{border-color:var(--house-accent)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-chip.is-selected{border-color:color-mix(in srgb,var(--house-accent) 70%,white)}}.portal-preferred-chip.is-selected{background:var(--house-primary)}@supports (color:color-mix(in lab,red,red)){.portal-preferred-chip.is-selected{background:color-mix(in srgb,var(--house-primary) 55%,black)}}.portal-preferred-chip:disabled{opacity:.45;cursor:default}@media (max-width:420px){.portal-preferred-pick img{width:60px;height:60px}}.portal-form{gap:12px;margin-top:12px;display:grid}.portal-form label{margin-bottom:4px;font-size:.9rem;display:block}.portal-form button,.portal-form input,.portal-form select{border-radius:12px;width:100%;min-height:48px;font-size:1rem}.portal-form input,.portal-form select{color:var(--house-text);background:#00000040;border:1px solid #fff3;padding:10px 12px}.portal-form button{background:var(--house-secondary);color:#1a100c;border:0;font-weight:700}.portal-form button:disabled{opacity:.5}@media (max-width:420px){.portal-card-head{flex-direction:column;align-items:flex-start}}@media (min-width:720px){.portal-explore,.portal-results,.portal-skills{grid-template-columns:1fr 1fr}.portal-results h2{grid-column:1/-1}}.portal-form-error{color:#ffb4a8}.portal-choices,.portal-spell-picks{gap:10px;margin-top:14px;display:grid}.portal-spell-picks{flex-wrap:wrap;display:flex}.portal-spell-picks .portal-choice{width:auto;min-height:40px;padding:8px 12px}.portal-back,.portal-choice,.portal-rune{min-height:52px;color:var(--house-text);background:var(--house-primary);border-radius:12px;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.portal-back,.portal-choice,.portal-rune{background:color-mix(in srgb,var(--house-primary) 55%,black)}}.portal-back,.portal-choice,.portal-rune{border:1px solid var(--house-secondary)}.portal-choice.is-selected,.portal-rune.is-lit{background:var(--house-secondary);color:#1b140f}.portal-alias h2{font-size:clamp(1.9rem,5.4vw,2.5rem);line-height:1.15}.portal-alias-list{gap:10px;margin-top:16px;display:grid}button.portal-alias{font-family:var(--font-display);text-align:center;color:#1b140f;border:1px solid var(--house-secondary);cursor:pointer;background:linear-gradient(160deg,#f8f1de,#e7d7b4);border-radius:12px;width:100%;min-height:68px;padding:12px 14px;font-size:clamp(1.7rem,5.2vw,2.2rem);font-weight:500;line-height:1.15}button.portal-alias:disabled{opacity:.7}.portal-alias .portal-back{margin-top:14px}.portal-alias .portal-form-error{color:#6e1210}.portal-choice-quiet{background:0 0;margin-top:8px}.portal-patronus-video{background:#000;border-radius:12px;width:100%;max-height:min(70vh,520px);margin:12px 0;display:block}.portal-choice:disabled{opacity:.55}.portal-back{align-items:center;width:auto;margin-top:12px;text-decoration:none;display:inline-flex}.portal-motion-chart{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:14px;display:grid}.portal-motion{border:1px solid var(--house-secondary);background:var(--house-primary);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-height:0;padding:8px 6px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-motion{background:color-mix(in srgb,var(--house-primary) 35%,black)}}.portal-motion{color:var(--house-text);font:inherit;cursor:pointer}.portal-motion span{letter-spacing:.06em;text-transform:uppercase;text-align:center;font-size:.72rem}.portal-motion.is-selected{background:var(--house-secondary);color:#1b140f}.portal-motion:disabled{opacity:.45;cursor:default}.portal-spell-glyph{width:72px;height:72px;display:block}.portal-spell-glyph polyline{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.portal-spell-glyph circle{fill:currentColor}.portal-spell-pad{aspect-ratio:1;touch-action:none;width:min(100%,420px);height:auto;margin:12px auto 0;display:block}.portal-spell-board{fill:var(--house-background)}@supports (color:color-mix(in lab,red,red)){.portal-spell-board{fill:color-mix(in srgb,var(--house-background) 70%,black)}}.portal-spell-ideal{fill:none;stroke:var(--house-accent)}@supports (color:color-mix(in lab,red,red)){.portal-spell-ideal{stroke:color-mix(in srgb,var(--house-accent) 55%,white)}}.portal-spell-ideal{stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.45}.portal-spell-trace{fill:none;stroke:var(--house-accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px var(--house-glow))}.portal-spell-finger{fill:#fff8e8;stroke:var(--house-accent);stroke-width:.6px}.portal-spell-next{fill:var(--house-accent,#f2d48a)}.portal-spell-done{fill:var(--house-secondary)}.portal-spell-wait{fill:var(--house-text)}@supports (color:color-mix(in lab,red,red)){.portal-spell-wait{fill:color-mix(in srgb,var(--house-text) 35%,transparent)}}.portal-how{gap:4px;margin:10px 0 0;padding-left:1.2rem;display:grid}.portal-brew{justify-items:center;gap:16px;margin-top:14px;display:grid}.portal-brew.is-hiss .portal-cauldron-liquid{background:#8a4030!important}.portal-cauldron{background:0 0;border:0;width:min(240px,70%);height:180px;padding:0;position:relative}.portal-cauldron-bowl{border:4px solid var(--house-secondary);background:#120e0c;border-radius:16px 16px 48% 48%;height:70%;position:absolute;bottom:8px;left:8%;right:8%;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.portal-cauldron-bowl{border:4px solid color-mix(in srgb,var(--house-secondary) 75%,#6a5030)}}.portal-cauldron-bowl{box-shadow:inset 0 10px #e8c46e47,inset 0 -18px 24px #00000080}.portal-cauldron-liquid{transition:height .5s,background .5s;position:absolute;bottom:0;left:0;right:0}.portal-cauldron.is-mixing .portal-cauldron-liquid{animation:brew-swirl .9s linear}.portal-pour{transform-origin:top;border-radius:8px;width:8px;height:78px;margin-left:-4px;animation:brew-pour .7s ease-in;position:absolute;top:0;left:50%}.portal-vials{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.portal-vial{width:92px;min-height:108px;color:var(--house-text);background:var(--house-primary);border-radius:14px;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:8px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-vial{background:color-mix(in srgb,var(--house-primary) 40%,black)}}.portal-vial{border:1px solid var(--house-secondary);font:inherit;cursor:pointer}.portal-vial:disabled{opacity:.4}.portal-vial.is-pouring{transform:rotate(18deg)}.portal-vial-glass{border-radius:8px 8px 12px 12px;width:28px;height:48px;box-shadow:inset 0 0 0 2px #ffffff59,0 0 12px #fff3}.portal-rune-actions{flex-wrap:wrap;gap:8px;display:flex}.portal-rune-actions .portal-choice{width:auto;margin-top:0}.portal-rune-pips{gap:6px;margin:8px 0 0;display:flex}.portal-rune-pips span{border:1px solid var(--house-accent);opacity:.45;border-radius:50%;width:10px;height:10px}.portal-rune-pips span.is-done{opacity:1;background:var(--house-accent)}.portal-runes{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:14px 0;display:grid}.portal-rune{text-align:center;min-height:108px;color:var(--rune-color,var(--house-text));background:radial-gradient(circle at 50% 28%,var(--rune-color,white),#120e0c 72%);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-rune{background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--rune-color,white) 42%,#1b140f),#120e0c 72%)}}.portal-rune{border-color:var(--rune-color,var(--house-secondary))}.portal-rune-glyph{width:68px;height:68px;line-height:1}.magic-icon{pointer-events:none;background-repeat:no-repeat;border-radius:18%;width:64px;height:64px;display:block}.portal-rune-name{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.portal-rune.is-lit{background:var(--rune-color,var(--house-secondary));color:#1b140f;box-shadow:0 0 22px var(--rune-color,var(--house-glow))}button.portal-cauldron,button.portal-rune,button.portal-vial{font:inherit;cursor:pointer;text-align:center}@keyframes brew-pour{0%{opacity:.2;transform:scaleY(.15)}40%{opacity:1}to{opacity:.15;transform:scaleY(1)}}@keyframes brew-swirl{0%{filter:hue-rotate();transform:rotate(0)scale(1)}50%{transform:rotate(8deg)scale(1.04)}to{filter:hue-rotate(25deg);transform:rotate(0)scale(1)}}.portal-reveal-copy h2{margin-bottom:8px}.portal-next-mission{color:#f0d78c;margin:0 0 10px;font-size:1.05rem;font-weight:700}.portal-leave-note{opacity:.85;margin:6px 0 0;font-size:.85rem}.portal-learn-more{margin-top:8px}.sample-bar{z-index:40;padding:max(10px,env(safe-area-inset-top)) 16px 10px;color:#f6edd8;background:#1b140f;border-bottom:1px solid #c9a22773;position:sticky;top:0}.sample-bar-chrome{align-items:center;gap:10px;min-height:44px;display:flex}.sample-bar-title{letter-spacing:.04em;flex:auto;min-width:0;margin:0;font-size:.85rem;line-height:1.25}.sample-bar-toggle{flex:none;min-width:5.5rem;margin-left:auto}.sample-bar-panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(42vh,320px);margin-top:8px;padding-bottom:4px;overflow:hidden auto}.sample-bar-row{flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px;display:flex}.sample-bar-panel>.sample-bar-row:first-child{margin-top:0}.sample-bar label{letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:.75rem;display:grid}.sample-bar button,.sample-bar input,.sample-bar select{color:#f6edd8;text-transform:none;letter-spacing:0;background:#2a1c12;border:1px solid #f6edd840;border-radius:8px;min-height:40px;padding:6px 10px;font-size:.95rem}.sample-bar button{color:#1a100c;cursor:pointer;background:#c9a227;font-weight:700}.portal-affinity,.portal-wand{pointer-events:none;position:absolute;inset:0;overflow:hidden}.portal-affinity span,.portal-wand span{display:block;position:absolute}.portal-affinity.is-quiet{opacity:.38}.portal-shell[data-affinity=elemental]{--affinity-glow:#ff964673;--affinity-color:#ffa0468c}.portal-shell[data-affinity=charms]{--affinity-glow:#ffe6a080;--affinity-color:#ffdc8c80}.portal-shell[data-affinity=alchemy]{--affinity-glow:#8cdc7873;--affinity-color:#96dc6e73}.portal-shell[data-affinity=healing]{--affinity-glow:#beffdc80;--affinity-color:#c8ffdc80}.portal-shell[data-affinity=creatures]{--affinity-glow:#96d27873;--affinity-color:#a0d2646b}.portal-shell[data-affinity=divination]{--affinity-glow:#b4a0ff80;--affinity-color:#aa96ff7a}.portal-aura{background:radial-gradient(ellipse at center,var(--affinity-color,transparent),transparent 68%);filter:blur(2px);pointer-events:none;width:min(640px,92vw);height:280px;animation:aura-breathe 7s ease-in-out infinite;position:absolute;top:72px;left:50%;transform:translate(-50%)}@keyframes aura-breathe{0%,to{opacity:.55;transform:translate(-50%)scale(.96)}50%{opacity:1;transform:translate(-50%)scale(1.04)}}.portal-result.is-affinity-known{box-shadow:inset 0 0 24px var(--affinity-glow),0 0 18px var(--affinity-glow);align-items:center;gap:14px;display:flex}.portal-affinity-art{object-fit:cover;border-radius:8px;flex:none;width:108px;height:108px;box-shadow:0 8px 16px #2c181059}.portal-result.is-affinity-known .portal-result-value{font-size:clamp(1.2rem,2.8vw,1.65rem)}.portal-result.is-wand-known{box-shadow:inset 0 0 18px var(--wand-glow,transparent),0 0 16px var(--wand-glow,transparent);align-items:center;gap:14px;display:flex}.portal-wand-art{aspect-ratio:1;object-fit:cover;border-radius:8px;flex:none;width:108px;box-shadow:0 8px 16px #2c181059}.portal-result.is-wand-known .portal-result-value{font-size:clamp(1.35rem,3.2vw,1.8rem)}.wand-core-art{width:min(280px,46vw)}.affinity-card-art,.wand-core-art{border-radius:12px;height:auto;margin:0 auto 1.25rem;display:block;box-shadow:0 18px 40px #00000073}.affinity-card-art{width:min(300px,52vw)}.portal-affinity-elemental:before{content:"";background:linear-gradient(#0000,#ff782829);height:38%;position:absolute;bottom:0;left:0;right:0}.portal-affinity-elemental span{background:#ffb15a;border-radius:50%;width:7px;height:7px;animation:affinity-rise 7s linear infinite;box-shadow:0 0 12px #ff7828e6}.portal-affinity-elemental span:first-child{animation-duration:6s;left:12%}.portal-affinity-elemental span:nth-child(2){animation-duration:8s;animation-delay:-2s;left:28%}.portal-affinity-elemental span:nth-child(3){width:4px;height:4px;animation-duration:5.5s;left:46%}.portal-affinity-elemental span:nth-child(4){animation-duration:9s;animation-delay:-4s;left:63%}.portal-affinity-elemental span:nth-child(5){animation-duration:7.5s;animation-delay:-1s;left:78%}.portal-affinity-elemental span:nth-child(6){width:5px;height:5px;animation-duration:6.4s;left:90%}.portal-affinity-charms span{border:1px solid #ffecb4cc;border-radius:50%;width:10px;height:10px;animation:affinity-wink 3.4s ease-in-out infinite;box-shadow:0 0 10px #ffdc8ccc}.portal-affinity-charms span:first-child{top:12%;left:18%}.portal-affinity-charms span:nth-child(2){animation-delay:-1s;top:22%;left:72%}.portal-affinity-charms span:nth-child(3){animation-delay:-2s;top:48%;left:8%}.portal-affinity-charms span:nth-child(4){animation-delay:-.6s;top:40%;left:84%}.portal-affinity-charms span:nth-child(5){animation-delay:-1.8s;top:70%;left:30%}.portal-affinity-charms span:nth-child(6){animation-delay:-2.6s;top:78%;left:64%}.portal-affinity-alchemy:before{content:"";background:radial-gradient(at bottom,#78c85a33,#0000 70%);height:30%;position:absolute;inset:auto 0 0}.portal-affinity-alchemy span{background:radial-gradient(circle at 30% 30%,#ffffff59,#0000 55%);border:1px solid #beffa08c;border-radius:50%;width:16px;height:16px;animation:affinity-rise 11s ease-in infinite}.portal-affinity-alchemy span:first-child{width:22px;height:22px;left:15%}.portal-affinity-alchemy span:nth-child(2){animation-delay:-3s;left:32%}.portal-affinity-alchemy span:nth-child(3){width:10px;height:10px;animation-delay:-6s;left:48%}.portal-affinity-alchemy span:nth-child(4){animation-delay:-1s;left:61%}.portal-affinity-alchemy span:nth-child(5){width:26px;height:26px;animation-delay:-8s;left:74%}.portal-affinity-alchemy span:nth-child(6){animation-delay:-4s;left:88%}.portal-affinity-healing:before{content:"";background:linear-gradient(100deg,#0000,#d2ffe60f 36%,#ffffff57 50%,#baffd61f 64%,#0000) 0 0/220% 100%;animation:affinity-shimmer 8s ease-in-out infinite;position:absolute;inset:0}.portal-affinity-healing:after{content:"";border:2px solid #dcffe8b3;border-radius:50%;width:180px;height:180px;margin-left:-90px;animation:affinity-ward 7s ease-out infinite;position:absolute;top:18%;left:50%;box-shadow:0 0 48px #beffdc73,inset 0 0 36px #beffdc33}.portal-affinity-healing span{opacity:.7;background:linear-gradient(90deg,#0000,#e6fff0b3,#0000);width:120px;height:2px;animation:affinity-shimmer 6s ease-in-out infinite}.portal-affinity-healing span:first-child{top:16%;left:8%}.portal-affinity-healing span:nth-child(2){width:160px;animation-delay:-2s;top:28%;right:6%}.portal-affinity-healing span:nth-child(3){animation-delay:-3s;top:46%;left:20%}.portal-affinity-healing span:nth-child(4){width:90px;animation-delay:-1s;top:62%;right:12%}.portal-affinity-healing span:nth-child(5){animation-delay:-4s;top:74%;left:10%}.portal-affinity-healing span:nth-child(6){width:140px;animation-delay:-2.5s;top:86%;left:40%}.portal-affinity-creatures:before{content:"";background:radial-gradient(at 0 80%,#5a964633,#0000 42%),radial-gradient(at 100% 20%,#a0be501f,#0000 36%);position:absolute;inset:0}.portal-affinity-creatures span{background:#b0d66ebf;border-radius:40% 0;width:14px;height:8px;animation:affinity-drift 12s ease-in-out infinite}.portal-affinity-creatures span:nth-child(odd){background:#78b45ab3;border-radius:0 40%}.portal-affinity-creatures span:first-child{top:14%;left:6%}.portal-affinity-creatures span:nth-child(2){animation-delay:-3s;top:24%;left:70%}.portal-affinity-creatures span:nth-child(3){animation-delay:-6s;top:42%;left:20%}.portal-affinity-creatures span:nth-child(4){animation-delay:-1s;top:58%;left:80%}.portal-affinity-creatures span:nth-child(5){animation-delay:-8s;top:72%;left:12%}.portal-affinity-creatures span:nth-child(6){animation-delay:-4s;top:84%;left:48%}.portal-affinity-divination:before{content:"";background:radial-gradient(at 50% 0,#785ab438,#0000 55%);position:absolute;inset:0}.portal-affinity-divination span{background:#e4dcff;border-radius:50%;width:3px;height:3px;animation:affinity-orbit 16s linear infinite;box-shadow:0 0 8px #beaaffe6}.portal-affinity-divination span:first-child{top:18%;left:22%}.portal-affinity-divination span:nth-child(2){animation-duration:20s;top:12%;left:60%}.portal-affinity-divination span:nth-child(3){width:5px;height:5px;top:36%;left:78%}.portal-affinity-divination span:nth-child(4){animation-duration:22s;top:54%;left:14%}.portal-affinity-divination span:nth-child(5){top:68%;left:48%}.portal-affinity-divination span:nth-child(6){animation-duration:18s;top:80%;left:76%}.portal-wand span{background:var(--wand-color);box-shadow:0 0 16px var(--wand-glow);animation-duration:var(--wand-duration,10s)}.portal-wand-moons span{background:radial-gradient(circle at 32% 32%,#fff,var(--wand-color) 36%,transparent 68%);border-radius:50%;width:92px;height:92px;animation-name:wand-moon;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.portal-wand-moons span:first-child{top:6%;left:8%}.portal-wand-moons span:nth-child(2){width:64px;height:64px;animation-delay:-4s;top:18%;right:6%}.portal-wand-moons span:nth-child(3){width:48px;height:48px;animation-delay:-8s;top:42%;left:18%}.portal-wand-moons span:nth-child(4){width:110px;height:110px;animation-delay:-2s;top:58%;right:14%}.portal-wand-moons span:nth-child(5){width:56px;height:56px;animation-delay:-11s;bottom:12%;left:40%}.portal-wand-moons span:nth-child(6){width:28px;height:28px;animation-delay:-6s;top:30%;left:48%}.portal-wand-threads span{background:linear-gradient(var(--wand-color),transparent);border-radius:999px;width:1.5px;height:28vh;animation-name:wand-thread;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.portal-wand-threads span:first-child{top:0;left:14%}.portal-wand-threads span:nth-child(2){height:18vh;animation-delay:-2s;top:8%;left:32%}.portal-wand-threads span:nth-child(3){animation-delay:-5s;top:0;left:51%}.portal-wand-threads span:nth-child(4){height:22vh;animation-delay:-1s;top:12%;left:68%}.portal-wand-threads span:nth-child(5){animation-delay:-7s;top:4%;left:82%}.portal-wand-threads span:nth-child(6){height:14vh;animation-delay:-3s;top:20%;left:42%}.portal-wand-embers span{border-radius:50%;width:8px;height:8px;animation-name:affinity-rise;animation-timing-function:linear;animation-iteration-count:infinite}.portal-wand-embers span:first-child{width:12px;height:12px;left:10%}.portal-wand-embers span:nth-child(2){animation-delay:-2s;left:24%}.portal-wand-embers span:nth-child(3){width:5px;height:5px;animation-delay:-4s;left:41%}.portal-wand-embers span:nth-child(4){animation-delay:-1s;left:58%}.portal-wand-embers span:nth-child(5){width:14px;height:14px;animation-delay:-5s;left:73%}.portal-wand-embers span:nth-child(6){animation-delay:-3s;left:88%}.portal-wand-flashes span{opacity:0;border-radius:2px;width:2px;height:16vh;animation-name:wand-flash;animation-timing-function:step-end;animation-iteration-count:infinite}.portal-wand-flashes span:first-child{top:8%;left:20%;transform:rotate(18deg)}.portal-wand-flashes span:nth-child(2){height:8vh;animation-delay:-.4s;top:14%;left:22%;transform:rotate(-28deg)}.portal-wand-flashes span:nth-child(3){animation-delay:-1.2s;top:30%;right:18%;transform:rotate(12deg)}.portal-wand-flashes span:nth-child(4){height:10vh;animation-delay:-.8s;top:48%;left:60%;transform:rotate(-16deg)}.portal-wand-flashes span:nth-child(5){animation-delay:-2s;bottom:20%;left:30%;transform:rotate(24deg)}.portal-wand-flashes span:nth-child(6){height:12vh;animation-delay:-1.6s;top:22%;left:74%;transform:rotate(-8deg)}.portal-wand-ripples span{border:1px solid var(--wand-color);background:0 0;border-radius:50%;width:20px;height:20px;animation-name:affinity-ward;animation-timing-function:ease-out;animation-iteration-count:infinite}.portal-wand-ripples span:first-child{top:20%;left:18%}.portal-wand-ripples span:nth-child(2){animation-delay:-2s;top:24%;left:70%}.portal-wand-ripples span:nth-child(3){animation-delay:-4s;top:55%;left:40%}.portal-wand-ripples span:nth-child(4){animation-delay:-1s;top:72%;left:12%}.portal-wand-ripples span:nth-child(5){animation-delay:-5s;top:64%;right:10%}.portal-wand-ripples span:nth-child(6){animation-delay:-3s;top:36%;left:48%}.portal-wand-rain span{background:linear-gradient(var(--wand-color),transparent);border-radius:999px;width:1px;height:42px;animation-name:wand-rain;animation-timing-function:linear;animation-iteration-count:infinite}.portal-wand-rain span:first-child{left:12%}.portal-wand-rain span:nth-child(2){animation-delay:-.6s;left:28%}.portal-wand-rain span:nth-child(3){animation-delay:-1.2s;left:44%}.portal-wand-rain span:nth-child(4){animation-delay:-.3s;left:61%}.portal-wand-rain span:nth-child(5){animation-delay:-1.6s;left:76%}.portal-wand-rain span:nth-child(6){animation-delay:-.9s;left:90%}.portal-wand-scales span{background:linear-gradient(120deg,transparent,var(--wand-color),transparent);opacity:.55;border-radius:50% 50% 46% 46%;width:54px;height:34px;animation-name:wand-scale;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.portal-wand-scales span:first-child{top:16%;left:10%}.portal-wand-scales span:nth-child(2){animation-delay:-2s;top:22%;left:28%}.portal-wand-scales span:nth-child(3){animation-delay:-4s;top:18%;left:52%}.portal-wand-scales span:nth-child(4){animation-delay:-1s;top:48%;left:16%}.portal-wand-scales span:nth-child(5){animation-delay:-3s;top:54%;left:40%}.portal-wand-scales span:nth-child(6){animation-delay:-5s;top:46%;left:66%}.portal-wand-glints span{border-radius:1px;width:6px;height:6px;animation-name:affinity-wink;animation-timing-function:ease-in-out;animation-iteration-count:infinite;transform:rotate(45deg)}.portal-wand-glints span:first-child{top:14%;left:16%}.portal-wand-glints span:nth-child(2){animation-delay:-.4s;top:26%;left:62%}.portal-wand-glints span:nth-child(3){animation-delay:-1.1s;top:40%;left:34%}.portal-wand-glints span:nth-child(4){animation-delay:-.7s;top:58%;left:78%}.portal-wand-glints span:nth-child(5){animation-delay:-1.5s;top:72%;left:22%}.portal-wand-glints span:nth-child(6){animation-delay:-.2s;top:82%;left:54%}.portal-wand-wings span{border-radius:60% 40% 50% 50%;width:18px;height:10px;animation-name:affinity-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.portal-wand-wings span:first-child{top:16%;left:12%}.portal-wand-wings span:nth-child(2){width:12px;animation-delay:-1s;top:22%;left:70%}.portal-wand-wings span:nth-child(3){animation-delay:-2s;top:44%;left:24%}.portal-wand-wings span:nth-child(4){width:10px;animation-delay:-3s;top:50%;left:80%}.portal-wand-wings span:nth-child(5){animation-delay:-1.4s;top:70%;left:18%}.portal-wand-wings span:nth-child(6){animation-delay:-2.6s;top:76%;left:58%}.portal-wand-fade span{border-radius:50%;width:36px;height:36px;animation-name:wand-fade;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.portal-wand-fade span:first-child{top:12%;left:20%}.portal-wand-fade span:nth-child(2){animation-delay:-3s;top:28%;left:66%}.portal-wand-fade span:nth-child(3){animation-delay:-6s;top:48%;left:40%}.portal-wand-fade span:nth-child(4){width:18px;height:18px;animation-delay:-1s;top:62%;left:14%}.portal-wand-fade span:nth-child(5){animation-delay:-4s;top:74%;left:72%}.portal-wand-fade span:nth-child(6){width:14px;height:14px;animation-delay:-2s;top:36%;left:82%}.portal-wand-ash span{opacity:.7;border-radius:50%;width:5px;height:5px;animation-name:wand-rain;animation-timing-function:linear;animation-iteration-count:infinite}.portal-wand-ash span:first-child{left:18%}.portal-wand-ash span:nth-child(2){width:3px;height:3px;animation-delay:-2s;left:33%}.portal-wand-ash span:nth-child(3){animation-delay:-4s;left:47%}.portal-wand-ash span:nth-child(4){width:7px;height:7px;animation-delay:-1s;left:62%}.portal-wand-ash span:nth-child(5){animation-delay:-5s;left:76%}.portal-wand-ash span:nth-child(6){animation-delay:-3s;left:88%}@keyframes affinity-rise{0%{opacity:0;transform:translateY(110vh)}12%{opacity:.9}to{opacity:0;transform:translateY(-12vh)}}@keyframes affinity-wink{0%,to{opacity:.15;transform:scale(.4)}45%{opacity:1;transform:scale(1.3)}70%{opacity:.2;transform:scale(.6)}}@keyframes affinity-shimmer{0%{opacity:.35;background-position:120% 0}50%{opacity:.9}to{opacity:.35;background-position:-120% 0}}@keyframes affinity-ward{0%{opacity:.7;transform:scale(.45)}to{opacity:0;transform:scale(2.4)}}@keyframes affinity-drift{0%{transform:translate(0)rotate(0)}50%{transform:translate(36px,18px)rotate(18deg)}to{transform:translate(0)rotate(0)}}@keyframes affinity-orbit{0%{transform:rotate(0)translate(18px)}to{transform:rotate(1turn)translate(18px)}}@keyframes wand-moon{0%{opacity:.55;transform:translate(0)scale(.9)}50%{opacity:.95;transform:translate(36px,-22px)scale(1.08)}to{opacity:.55;transform:translate(0)scale(.9)}}@keyframes wand-thread{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:.9;transform:translateY(18px)}}@keyframes wand-flash{0%,78%,to{opacity:0}80%{opacity:1}86%{opacity:.15}88%{opacity:.85}}@keyframes wand-rain{0%{opacity:0;transform:translateY(-10vh)}15%{opacity:.8}to{opacity:0;transform:translateY(110vh)}}@keyframes wand-scale{0%,to{opacity:.25;transform:translate(0)}50%{opacity:.7;transform:translate(16px)}}@keyframes wand-fade{0%,to{opacity:0;filter:blur(2px)}40%{opacity:.75;filter:blur()}70%{opacity:0;filter:blur(6px)}}@media (prefers-reduced-motion:reduce){.glow-pulse,.portal-affinity,.portal-affinity span,.portal-affinity:after,.portal-affinity:before,.portal-aura,.portal-reveal,.portal-shell,.portal-stars,.portal-wand,.portal-wand span,.reveal-animation,.stars-bg{transition:none!important;animation:none!important}.portal-affinity span,.portal-wand span{opacity:.55}.portal-cabinet-inner,.portal-creature,.portal-ingredient,.portal-lab-bubble,.portal-lab-steam{transition:none!important;animation:none!important}}.portal-clinic,.portal-lab{gap:12px;display:grid}.portal-pips{justify-content:center;gap:6px;display:flex}.portal-pips span{border:1px solid var(--house-accent);border-radius:50%;width:12px;height:12px}.portal-pips span.is-done{background:var(--house-accent)}.portal-pens{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-pen{text-align:center;border:1px solid var(--house-secondary);background:#120e0c;border-radius:18px;min-height:150px;padding:8px 8px 10px;position:relative}@supports (color:color-mix(in lab,red,red)){.portal-pen{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.portal-pen strong{font-size:.95rem;display:block}.portal-pen .portal-creature-svg{width:min(140px,100%)}.portal-need-badge{background:#00000059;border-radius:50%;position:absolute;top:8px;right:8px}.portal-need-badge,.portal-need-badge svg{width:46px;height:46px}.portal-pen.is-happy{animation:creature-bounce .6s}.portal-pen.is-wrong{animation:creature-shake .45s}.portal-tray{grid-template-columns:repeat(3,1fr)}.portal-next-ingredient{justify-content:center;align-items:center;gap:8px;min-height:72px;display:flex}.portal-next-ingredient svg{width:64px;height:64px}.portal-finish-glyph{font-size:1.8rem;line-height:1}.portal-ingredient-grid.is-shuffling .portal-ingredient{animation:shelf-pop .35s}.portal-creature{background:radial-gradient(circle at 50% 70%,var(--house-secondary),transparent 60%),#120e0c;border-radius:24px;place-items:center;min-height:168px;display:grid}@supports (color:color-mix(in lab,red,red)){.portal-creature{background:radial-gradient(circle at 50% 70%,color-mix(in srgb,var(--house-secondary) 35%,transparent),transparent 60%),#120e0c}}.portal-creature-svg{width:min(220px,70%);height:auto}.portal-creature.is-happy{animation:creature-bounce .6s}.portal-creature.is-wrong{animation:creature-shake .45s}.portal-care-grid,.portal-finish-grid,.portal-ingredient-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.portal-care,.portal-ingredient{min-height:84px;color:var(--house-text);background:var(--house-primary);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;display:flex}@supports (color:color-mix(in lab,red,red)){.portal-care,.portal-ingredient{background:color-mix(in srgb,var(--house-primary) 55%,#120e0c)}}.portal-care,.portal-ingredient{border:1px solid var(--house-secondary);font:inherit;cursor:pointer}.portal-care-mark,.portal-ingredient-mark{width:48px;height:48px}.portal-ingredient.is-flying{animation:ingredient-drop .42s}.portal-recipe{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-recipe li{background:#00000040;border:1px solid #0000;border-radius:12px;align-items:center;gap:6px;min-height:44px;padding:4px 8px;display:flex}.portal-recipe li.is-now{border-color:var(--house-accent)}.portal-recipe li.is-done{opacity:.45}.portal-recipe svg{width:36px;height:36px}.portal-lab-cauldron{place-items:end center;height:190px;display:grid;position:relative}.portal-lab-bowl{border:5px solid var(--house-secondary);background:#120e0c;border-radius:18px 18px 46% 46%;width:min(230px,68%);height:140px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.portal-lab-bowl{border:5px solid color-mix(in srgb,var(--house-secondary) 70%,#6a5030)}}.portal-lab-bowl{box-shadow:inset 0 12px #e8c46e47,inset 0 -20px 24px #00000073}.portal-lab-liquid{transition:height .45s,background .45s;position:absolute;bottom:0;left:0;right:0}.portal-lab-bubble{background:#ffffff73;border-radius:50%;width:12px;height:12px;animation:brew-bubble 1.4s infinite;position:absolute;bottom:8px;left:20%}.portal-lab-bubble-b{width:8px;height:8px;animation-delay:.3s;left:55%}.portal-lab-bubble-c{animation-delay:.6s;left:38%}.portal-lab-steam{background:#ffffff2e;border-radius:20px;width:18px;height:36px;animation:brew-steam 1.8s infinite;position:absolute;top:8px}.portal-lab-steam-late{margin-left:36px;animation-delay:.5s}.portal-lab.is-unexpected .portal-lab-bowl{animation:creature-shake .45s}.portal-lab.is-unexpected .portal-lab-liquid{filter:hue-rotate(80deg)saturate(1.4)}.portal-lab.is-chaotic .portal-lab-liquid,.portal-lab.is-success .portal-lab-liquid{box-shadow:inset 0 0 24px #ffffff73}.portal-game-line{text-align:center;min-height:1.4em;margin:0}.portal-text-button{min-height:44px;color:var(--house-text);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:center;text-decoration:underline}.portal-cabinet-board{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.portal-cabinet-card{perspective:700px;cursor:pointer;background:0 0;border:0;min-height:104px;padding:0}.portal-cabinet-inner{width:100%;height:104px;transform-style:preserve-3d;transition:transform .28s;display:block;position:relative}.portal-cabinet-card.is-up .portal-cabinet-inner{transform:rotateY(180deg)}.portal-cabinet-back,.portal-cabinet-front{backface-visibility:hidden;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0}.portal-cabinet-back{background:radial-gradient(circle at 50% 42%,#e8c46e73,#0000 36%),repeating-linear-gradient(90deg,#1b2c4a 0 10px,#14243d 10px 14px);border:2px solid #e8c46e;transform:rotateY(0);box-shadow:inset 0 0 0 7px #3a2a14,inset 0 0 0 9px #c9a227}.portal-cabinet-back:after{content:"Ã¢ÂÂ¦";color:#e8c46e;font-size:1.6rem}.portal-cabinet-front{color:#1b140f;border:2px solid #e8c46e;transform:rotateY(180deg);box-shadow:inset 0 0 16px #ffffff73}.portal-cabinet-front svg,.portal-cabinet-icon{width:72px;height:72px}.portal-cabinet-front small{letter-spacing:.02em;font-size:.72rem}.portal-achievements{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-achievements li{border:1px solid var(--house-accent);background:var(--house-secondary);border-radius:999px;place-items:center;min-height:44px;padding:8px 12px;display:grid}@supports (color:color-mix(in lab,red,red)){.portal-achievements li{background:color-mix(in srgb,var(--house-secondary) 25%,transparent)}}@keyframes creature-bounce{0%{transform:translateY(0)}40%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes creature-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes ingredient-drop{0%{transform:translateY(0)scale(1)}to{opacity:.4;transform:translateY(-36px)scale(.8)}}@keyframes brew-bubble{0%{opacity:.2;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}@keyframes shelf-pop{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes brew-steam{0%{opacity:0;transform:translateY(12px)}40%{opacity:.45}to{opacity:0;transform:translateY(-16px)}}@media (prefers-reduced-motion:reduce){.portal-ingredient-grid.is-shuffling .portal-ingredient,.portal-invaders.is-shimmer,.portal-lib-piece.is-hint,.portal-pen,.portal-side-guide,.portal-side-sky.is-wobble,.portal-ward-spell.is-pulse{animation:none!important}}.portal-invaders,.portal-lib,.portal-side-sky,.portal-star-field{touch-action:none;background:#120e0c;border-radius:18px;min-height:420px;position:relative;overflow:hidden}.portal-constellation-card,.portal-find,.portal-vision-choices{justify-content:center;align-items:center;gap:8px;display:flex}.portal-find svg{flex:none;width:56px;height:56px}.portal-invader svg,.portal-lib-piece svg,.portal-rider svg,.portal-side-prop svg,.portal-wizard svg{width:100%;height:100%;display:block}.portal-lib{background:linear-gradient(#2a1c12,#120c08)}.portal-book,.portal-lib-piece,.portal-lib-plank{position:absolute}.portal-lib-plank{background:#5c3b22;border-radius:3px;height:8px;left:4%;right:4%}.portal-book{border-radius:2px 2px 0 0;width:7%}.portal-lib-piece{background:0 0;border:0;width:42px;height:42px;margin:-8px 0 0 -21px;padding:0}.portal-lib-piece.is-hint{animation:shelf-pop 1s infinite}.portal-lib-piece.is-ripple{border-radius:8px;outline:2px solid #e07a5f}.portal-side-sky{background:linear-gradient(#8ec5ff,#d7ecff 46%,#7dcea0 72%,#3d8f62);min-height:460px}.portal-bolt,.portal-drag-star,.portal-invader,.portal-rider,.portal-side-ground,.portal-side-guide,.portal-side-hills,.portal-side-prop,.portal-socket,.portal-wall,.portal-wizard{position:absolute}.portal-side-hills{clip-path:polygon(0 70%,8% 48%,16% 62%,28% 28%,40% 55%,52% 22%,64% 50%,76% 30%,88% 58%,100% 36%,100% 100%,0 100%);background:linear-gradient(#1d4d32,#1d4d32);height:22%;bottom:14%;left:0;right:0}.portal-side-ground{background:repeating-linear-gradient(90deg,#3d6b32 0 18px,#4e7d3c 18px 28px);height:16%;bottom:0;left:0;right:0}.portal-side-prop{z-index:1;transform:translate(-50%,-50%)}.portal-side-prop.is-tree{z-index:2;width:110px;height:190px;transform:translate(-50%)}.portal-side-prop.is-banner{width:78px;height:40px}.portal-side-prop.is-owl{width:54px;height:36px}.portal-side-prop.is-crate{width:42px;height:42px}.portal-side-prop.is-star{width:28px;height:28px}.portal-rider{z-index:3;width:110px;height:64px;margin-top:-32px;left:12%}.portal-side-sky.is-wobble{animation:creature-shake .35s}.portal-side-guide{color:#16305f;gap:28px;font-size:1.8rem;animation:shelf-pop 1.2s infinite;display:grid;top:30%;left:4%}.portal-ward{gap:8px;display:grid}.portal-ward-field{touch-action:none;background:#071226;border-radius:18px;height:min(62vh,520px);min-height:380px;position:relative;overflow:hidden}.portal-ward-world{position:absolute;inset:0}.portal-ward-sky{background-position:18% 42%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-2%}.portal-ward-bolt,.portal-ward-flash,.portal-ward-keep,.portal-ward-shot,.portal-ward-wand{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.portal-ward-keep{z-index:2;width:18%}.portal-ward-bolt,.portal-ward-flash,.portal-ward-keep img,.portal-ward-shot,.portal-ward-wand{width:100%;height:auto;display:block}.portal-ward-keep.is-hurt{filter:saturate(.7)brightness(.85)}.portal-ward-shot{z-index:4;width:16%}.portal-ward-shot.is-fire{filter:drop-shadow(-10px 8px #ff6e148c)}.portal-ward-shot.is-ice{filter:drop-shadow(-8px 6px #bef0ffb3)}.portal-ward-shot.is-dark{filter:drop-shadow(-12px 10px 2px #8c32c8a6)}.portal-ward-shot.is-force{filter:drop-shadow(-16px 2px #5aaaffa6)}.portal-ward-shot.is-wobble{animation:ward-wobble .28s}@keyframes ward-wobble{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 8px),-50%)}75%{transform:translate(calc(8px - 50%),-50%)}}.portal-ward-bolt{z-index:5;width:12%}.portal-ward-flash{z-index:6;width:20%}.portal-ward-wand{z-index:7;width:8%;top:93%;left:50%}.portal-ward-wand.is-flash{filter:drop-shadow(0 0 10px #ffe28a)}.portal-ward-hud{z-index:8;color:#fff;text-shadow:0 2px 8px #000000a6;position:absolute;top:8px;left:10px;right:10px}.portal-ward-meter{background:#060c1c8c;border-radius:999px;height:18px;position:relative;overflow:hidden}.portal-ward-meter b{background:linear-gradient(90deg,#7eb6ff,#f2d48a);position:absolute;inset:0 auto 0 0}.portal-ward-hud small,.portal-ward-meter span{z-index:1;text-align:center;font-weight:700;display:block;position:relative}.portal-ward-meter span{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;line-height:18px}.portal-ward-call{text-align:center;background:#060a18c7;border-radius:999px;width:fit-content;margin:12px auto 0;padding:6px 14px;font-size:clamp(1.05rem,3.4vw,1.7rem);display:block}.portal-ward-start{z-index:9;color:#fff;background:linear-gradient(#0000,#040814db 48%);flex-direction:column;justify-content:flex-end;padding:18px;display:flex;position:absolute;inset:0}.portal-ward-start h2,.portal-ward-start p{color:#fff}.portal-ward-bar,.portal-ward-spells{gap:6px;display:grid}.portal-ward-spells{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-ward-reparo,.portal-ward-spell{color:#fff;background:#081024b8;border:2px solid #ffffff2e;border-radius:14px;align-content:center;justify-items:center;min-height:72px;padding:4px;display:grid}.portal-ward-spell img{object-fit:contain;width:42px;height:42px}.portal-ward-reparo b,.portal-ward-spell b{letter-spacing:.04em;font-size:.72rem}.portal-ward-spell small{opacity:.8;font-size:.68rem}.portal-ward-reparo.is-on,.portal-ward-spell.is-on{border-color:#f0d78c;box-shadow:0 0 0 2px #f0d78c73}.portal-ward-spell.is-pulse{animation:ward-pulse .9s infinite}@keyframes ward-pulse{50%{box-shadow:0 0 0 3px #f0d78c,0 0 16px #f0d78ccc}}.portal-ward-reparo{grid-auto-flow:column;justify-self:center;align-items:center;gap:6px;width:min(180px,46%);min-height:48px}.portal-ward-reparo img{object-fit:contain;width:36px;height:36px}.portal-ward-box{z-index:10;border:1px solid #ff5ad1;border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute}@media (max-width:420px){.portal-ward-spell b{font-size:.62rem}.portal-ward-spell img{width:36px;height:36px}}.portal-stairs{gap:8px;display:grid}.portal-stairs-field{background:#140e12 50% 30%/cover no-repeat;border-radius:18px;height:min(68vh,560px);min-height:420px;position:relative;overflow:hidden}.portal-stairs-shade{background:linear-gradient(#0608122e,#06081273);position:absolute;inset:0}.portal-stairs-block,.portal-stairs-link,.portal-stairs-player,.portal-stairs-portrait,.portal-stairs-token{pointer-events:none;position:absolute}.portal-stairs-link{z-index:1;transform-origin:0;background:repeating-linear-gradient(90deg,#5c4030 0 12px,#c4a574 12px 16px);border-radius:5px;height:22px;margin-top:-11px;box-shadow:0 5px #24180f}.portal-stairs-link.is-hall{background:linear-gradient(#e6d3ae,#8d7352);height:14px;margin-top:-7px;box-shadow:0 4px #3a2a1c}.portal-stairs-link.is-route{z-index:2;box-shadow:0 0 0 3px #f0d78c,0 5px #24180f}.portal-stairs-link.is-secret{filter:drop-shadow(0 0 8px #9fd4ff)}.portal-stairs-link.is-moving,.portal-stairs-link.is-warn{filter:drop-shadow(0 0 12px #f0d78c)}.portal-stairs-link.is-blocked{opacity:.45}.portal-stairs-block,.portal-stairs-player,.portal-stairs-portrait img,.portal-stairs-token{object-fit:contain;width:54px;height:54px}.portal-stairs-block,.portal-stairs-token{z-index:3;transform:translate(-50%,-50%)}.portal-stairs-node{z-index:4;background:0 0;border:0;width:48px;height:48px;padding:0;position:absolute;transform:translate(-50%,-50%)}.portal-stairs-node img{object-fit:contain;filter:drop-shadow(0 4px 4px #00000080);width:48px;height:48px}.portal-stairs-node.is-open img{filter:drop-shadow(0 0 8px #f0d78cd9)}.portal-stairs-node.is-hint img{animation:ward-pulse 1s infinite}.portal-stairs-node.is-goal,.portal-stairs-node.is-goal img{width:72px;height:84px}.portal-stairs-dest{color:#1a1208;white-space:nowrap;background:#f0d78c;border-radius:999px;padding:3px 8px;font-size:.78rem;line-height:1.2;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.portal-stairs-where{width:100%;margin:0;font-style:normal;font-weight:700;display:block}.portal-stairs-node small{color:#fff;font-size:10px;position:absolute;top:100%;left:50%}.portal-stairs-portrait{z-index:5;pointer-events:auto;background:0 0;border:0;width:42px;height:42px;margin:0;padding:0;transform:translate(-50%,-50%)}.portal-stairs-portrait.is-glow img{filter:drop-shadow(0 0 8px #9fd4ff)}.portal-stairs-player{z-index:6;width:48px;transform:translate(-50%,-78%)}.portal-stairs-hud{z-index:8;color:#fff;text-shadow:0 2px 8px #000;flex-wrap:wrap;position:absolute;top:8px;left:10px;right:10px}.portal-stairs-bell,.portal-stairs-hud{align-items:center;gap:8px;display:flex}.portal-stairs-bell{background:#080a14b8;border-radius:999px;padding:4px 10px}.portal-stairs-bell b{font-size:1.15rem}.portal-stairs-bell.is-hurry{box-shadow:0 0 0 2px #f0d78c}.portal-stairs-call{background:#060a18c7;border-radius:999px;width:100%;margin:0;padding:4px 10px;font-style:normal;font-weight:700;display:block}.portal-stairs-start{z-index:9;color:#fff;background:linear-gradient(#0000,#040814e0 46%);flex-direction:column;justify-content:flex-end;padding:18px;display:flex;position:absolute;inset:0}.portal-stairs-start h2,.portal-stairs-start p{color:#fff}.portal-stairs-map{z-index:11;color:#fff;background:#080a12e0 url() 50%/cover;border-radius:16px;position:absolute;inset:8% 8% 12%}.portal-stairs-map i{background:#d7c49a;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.portal-stairs-map i.is-you{background:#7eb6ff}.portal-stairs-map i.is-goal{background:#f0d78c}.portal-stairs-bar button,.portal-stairs-map button{color:#1a120c;background:#f0d78c;border:0;border-radius:999px;padding:8px 12px;font-weight:700}.portal-stairs-map button{position:absolute;bottom:12px;right:12px}.portal-stairs-bar{align-items:center;gap:10px;display:flex}.portal-stairs-bar img{object-fit:contain;width:42px;height:52px}.portal-stairs-bar small{display:block}@media (max-width:420px){.portal-stairs-node,.portal-stairs-node img{width:54px;height:54px}.portal-stairs-field{min-height:460px}}@media (prefers-reduced-motion:reduce){.portal-stairs-link.is-moving,.portal-stairs-node.is-hint img{animation:none!important}}.portal-star-field{background:radial-gradient(circle at 50% 30%,#1c3358,#070d1c 72%);min-height:340px}.portal-star-field svg{width:100%;height:100%;position:absolute;inset:0}.portal-star-guide{fill:none;stroke:#d5e4f773;stroke-width:1.2px;stroke-dasharray:2 1.5}.portal-star-line{fill:none;stroke:#f0d78c;stroke-width:1.5px}.portal-drag-star,.portal-socket,.portal-tray-star{border-radius:50%;width:28px;height:28px}.portal-socket{border:2px dashed #f0d78ccc;margin:-14px 0 0 -14px}.portal-drag-star,.portal-socket.is-filled,.portal-tray-star.is-bright{background:#f0d78c;border:0;box-shadow:0 0 10px #f0d78c}.portal-tray-star{background:#6d6458;border:0}.portal-star-tray{justify-content:center;gap:10px;min-height:48px;display:flex}.portal-constellation-card{text-align:center}.portal-film{flex-wrap:wrap;gap:4px;width:100%;max-width:100%}.portal-film,.portal-film-ask,.portal-film-cell{justify-content:center;align-items:center;display:flex}.portal-film-ask,.portal-film-cell{background:#ffffff0a;border:2px solid #0000;border-radius:12px;flex:40px;min-width:36px;max-width:56px;height:64px;padding:0 4px;position:relative}@media (max-width:420px){.portal-film-ask,.portal-film-cell{flex:32px;min-width:30px;max-width:48px;height:56px}.portal-vision-tile{width:32px;height:32px;padding:2px}}.portal-film-cell:before{content:"";background:#f0d78c59;border-radius:2px;height:2px;position:absolute;bottom:12px;left:10px;right:10px}.portal-film-ask.is-on,.portal-film-cell.is-on{background:#f0d78c1f;border-color:#f0d78c}.portal-film-cell.is-wait{opacity:.35}.portal-film-ask{font-size:1.8rem}.portal-vision-mark{align-items:center;gap:2px;display:inline-flex}.portal-vision-tile{border-radius:12px;width:40px;height:40px;padding:3px;display:block}.portal-vision-tile .magic-icon{width:100%;height:100%}.portal-vision-choices{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.portal-vision-choices.is-four{grid-template-columns:repeat(2,1fr)}.portal-forest{touch-action:none;height:min(72vh,640px);min-height:460px;position:relative;overflow:hidden}.portal-forest-view{touch-action:none;background:#102018;width:100%;height:100%;display:block;position:absolute;inset:0}.portal-forest-hud{z-index:2;color:#fff;text-shadow:0 2px 8px #000;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:8px;left:10px;right:72px}.portal-forest-hud b,.portal-forest-hud em{width:100%;display:block}.portal-forest-hud b{font-size:1.05rem}.portal-forest-lumos{width:16px;height:16px;opacity:calc(.45 + var(--glow,.8) * .55);background:radial-gradient(circle,#fff6c2,#e0b15a 62%,#0000);border-radius:50%}.portal-forest-act{z-index:3;color:#1a120c;letter-spacing:.04em;background:#f0d78c;border:0;border-radius:999px;min-width:190px;min-height:54px;padding:0 18px;font-weight:800;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.portal-forest-start{z-index:4;color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px;display:flex;position:absolute;inset:0}.portal-forest-start h2,.portal-forest-start p{color:#fff}@media (max-width:420px){.portal-forest{min-height:520px}.portal-forest-act{min-width:160px;min-height:58px}}.portal-vault{touch-action:none;background:#101820;height:min(78vh,720px);min-height:520px;position:relative;overflow:hidden}.portal-vault-view{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.portal-vault-hud{z-index:2;color:#fff;text-shadow:0 2px 8px #000;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:8px;left:10px;right:10px}.portal-vault-hud b,.portal-vault-hud em{text-align:center;width:100%}.portal-vault-progress{background:#00000073;border-radius:999px;flex:1;min-width:90px;height:10px;overflow:hidden}.portal-vault-progress i{background:linear-gradient(90deg,#e0b15a,#fff1b0);height:100%;display:block}.portal-vault-start{z-index:4;color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px;display:flex;position:absolute;inset:0}.portal-vault-start h2,.portal-vault-start p{color:#fff}.portal-chase{touch-action:none;-webkit-user-select:none;user-select:none;background:#8ec8f5;border-radius:18px;height:min(72vh,640px);min-height:460px;position:relative;overflow:hidden}.portal-chase-world{position:absolute;inset:0}.portal-chase-sky{pointer-events:none;background-position-y:28%;background-repeat:no-repeat;background-size:220%;position:absolute;inset:0 0 16%}.portal-chase-ground{pointer-events:none;background:linear-gradient(#0000,#122a1c33 30%,#225c30eb),repeating-linear-gradient(90deg,#ffffff14 0 18px,#0000 18px 90px);width:100%;height:22%;position:absolute;bottom:0;left:0}.portal-chase-faster{z-index:55;color:#1b1408;letter-spacing:.08em;touch-action:none;background:#f0c14b;border:0;border-radius:999px;min-width:112px;min-height:64px;font-weight:800;position:absolute;bottom:14px;right:12px}.portal-chase-faster.is-on{background:#fff6c8;transform:scale(.97)}.portal-chase-player,.portal-chase-snitch,.portal-chase-sprite{pointer-events:none;position:absolute}.portal-chase-sprite{height:auto}.portal-chase-snitch{z-index:30}.portal-chase-player img,.portal-chase-snitch img{width:100%;height:auto;display:block}.portal-chase-snitch.is-flap img{animation:snitch-flap .28s ease-in-out infinite}.portal-chase-player{z-index:40;width:24%}.portal-chase-shadow{filter:blur(3px);background:#0c122059;border-radius:50%;height:12px;position:absolute;bottom:6%;left:18%;right:18%}.portal-chase-aura{clip-path:inset(calc((1 - var(--fill,0)) * 100%) 0 0 0);border:3px solid #ffd65af2;border-radius:50%;position:absolute;inset:-18%;box-shadow:0 0 18px #ffc83ccc}.portal-chase-spark{background:#ffe28a;border-radius:50%;width:6px;height:6px;margin:-3px;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #ffd35a}.portal-chase-streaks{z-index:35;background:repeating-linear-gradient(100deg,#0000 0 18px,#ffffff29 18px 20px);-webkit-mask-image:linear-gradient(90deg,#0000,#000 30%,#0000 80%);mask-image:linear-gradient(90deg,#0000,#000 30%,#0000 80%)}.portal-chase-fog,.portal-chase-streaks{pointer-events:none;position:absolute;inset:0}.portal-chase-fog{z-index:45;background:#ffffff8c}.portal-chase-gold{z-index:46;pointer-events:none;background:radial-gradient(circle,#ffdc788c,#0000 62%);position:absolute;inset:0}.portal-chase-hud{z-index:50;color:#fff;text-shadow:0 2px 8px #0000008c;position:absolute;top:10px;left:12px;right:12px}.portal-chase-meter{background:#08102073;border-radius:999px;height:22px;position:relative;overflow:hidden}.portal-chase-meter b{background:linear-gradient(90deg,#f0c14b,#fff1a8);position:absolute;top:0;bottom:0;left:0}.portal-chase-hud small,.portal-chase-meter span{z-index:1;text-align:center;letter-spacing:.06em;font-weight:700;display:block;position:relative}.portal-chase-meter span{color:#1b1408;line-height:22px}.portal-chase-hud small{margin-top:4px}.portal-chase-call{text-align:center;letter-spacing:.04em;margin-top:18px;font-size:clamp(1.6rem,5vw,2.6rem);display:block}.portal-chase-start{z-index:60;color:#fff;background:linear-gradient(#0000,#060c1cd1 42%);flex-direction:column;justify-content:flex-end;padding:22px;display:flex;position:absolute;inset:0}.portal-chase-start h2,.portal-chase-start p{color:#fff}.portal-chase-drag{letter-spacing:.14em;font-weight:700}.portal-chase-box{z-index:70;border:1px solid #ff5ad1;border-radius:50%;width:28px;height:28px;margin:-14px;position:absolute}.portal-chase-debug{z-index:80;color:#fff;font-size:11px;position:absolute;bottom:8px;right:8px}.portal-chase-debug summary{cursor:pointer;opacity:.7}.portal-chase-debug[open]{background:#081020b8;border-radius:8px;flex-wrap:wrap;gap:4px;padding:6px;display:flex;left:8px}.portal-chase-debug button{padding:2px 6px;font-size:11px}@keyframes snitch-flap{50%{transform:scaleY(.9)}}@media (prefers-reduced-motion:reduce){.portal-chase-snitch.is-flap img,.portal-chase-streaks{animation:none}}.portal-rot-choices,.portal-rot-target{justify-content:center;display:flex}.portal-rot-choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.portal-rot-choice{min-height:120px}.portal-rot-grid{aspect-ratio:1;gap:4px;width:100%;max-width:148px;display:grid}.portal-rot-target .portal-rot-grid{max-width:180px}.portal-rot-grid i{background:#ffffff0f;border-radius:8px;display:grid;overflow:hidden}.portal-rot-grid i.is-on{background:0 0}.portal-rot-grid i .magic-icon{border-radius:8px;width:100%;height:100%}.portal-observatory.is-wrong .portal-rot-choices{animation:creature-shake .35s}.portal-rush-wanted{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.portal-rush-wanted .magic-icon{width:72px;height:72px}.portal-rush{touch-action:manipulation;background:linear-gradient(#1d4d32,#143526 40%,#2a1c12);border-radius:18px;min-height:420px;position:relative;overflow:hidden}.portal-beast{background:0 0;border:0;justify-items:center;width:92px;height:84px;margin:-42px 0 0 -46px;padding:0;display:grid;position:absolute}.portal-beast .magic-icon{width:76px;height:76px}.portal-beast.is-flash{border-radius:12px;outline:2px solid #e07a5f}.portal-rush.is-miss{animation:creature-shake .3s}.portal-vision-choice{flex-direction:row;min-height:92px;padding-inline:16px}.portal-crystal.is-cloudy .portal-film{animation:creature-shake .4s}.sorting-hat-page{background:#1a100c;min-height:100vh}.sorting-hat-studio{--sh-walnut:#1a100c;--sh-wood:#2c1810;--sh-gold:#c4a35a;--sh-parchment:#f3e6c8;--sh-ink:#2a1c12;min-height:100vh}.sorting-hat-studio,.sorting-hat-studio h1,.sorting-hat-studio h2{color:var(--sh-parchment);font-family:Georgia,Times New Roman,serif}.sorting-hat-studio h1,.sorting-hat-studio h2{letter-spacing:.02em;margin:.2em 0;font-weight:700}.sh-kicker{text-transform:uppercase;letter-spacing:.28em;color:var(--sh-gold);margin:0 0 .4rem;font-size:.72rem}.sh-lede{color:var(--sh-parchment)}@supports (color:color-mix(in lab,red,red)){.sh-lede{color:color-mix(in srgb,var(--sh-parchment) 82%,transparent)}}.sh-lede{max-width:36rem;margin:.4rem 0 1rem;line-height:1.45}.sh-hint,.sh-privacy{color:var(--sh-parchment);font-size:.9rem}@supports (color:color-mix(in lab,red,red)){.sh-hint,.sh-privacy{color:color-mix(in srgb,var(--sh-parchment) 68%,transparent)}}.sh-hint,.sh-privacy{line-height:1.4}.sh-privacy{border-left:2px solid var(--sh-gold)}@supports (color:color-mix(in lab,red,red)){.sh-privacy{border-left:2px solid color-mix(in srgb,var(--sh-gold) 55%,transparent)}}.sh-privacy{margin:1rem 0;padding-left:.75rem}.sh-hero{align-items:end;min-height:100vh;display:grid;position:relative}.sh-hero-art{background-position:50%;background-size:cover;position:absolute;inset:0}.sh-hero-veil{background:linear-gradient(#0000 20%,#0e0804e0 72%,#120a06);position:absolute;inset:0}.sh-hero-copy{z-index:1;max-width:40rem;padding:2rem 1.25rem 3rem;position:relative}.sh-panel{max-width:52rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.sh-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:48px;padding:.85rem 1.2rem;font-weight:700}.sh-btn:disabled{opacity:.55;cursor:default}.sh-btn-primary{color:#1a100c;background:linear-gradient(#c4a35a,#8f6d2e);border-color:#e2c884}.sh-btn-ghost{color:var(--sh-parchment);border-color:var(--sh-gold);background:0 0}@supports (color:color-mix(in lab,red,red)){.sh-btn-ghost{border-color:color-mix(in srgb,var(--sh-gold) 45%,transparent)}}.sh-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.sh-actions-stack{flex-direction:column}.sh-actions-stack .sh-btn{width:100%}.sh-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.sh-drop{border:1px dashed var(--sh-gold);width:100%;min-height:160px}@supports (color:color-mix(in lab,red,red)){.sh-drop{border:1px dashed color-mix(in srgb,var(--sh-gold) 55%,transparent)}}.sh-drop{background:var(--sh-wood);border-radius:14px}@supports (color:color-mix(in lab,red,red)){.sh-drop{background:color-mix(in srgb,var(--sh-wood) 80%,black)}}.sh-drop{color:var(--sh-parchment);font:inherit;cursor:pointer;font-weight:700}.sh-upload-preview{border:1px solid var(--sh-gold);border-radius:14px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sh-upload-preview{border:1px solid color-mix(in srgb,var(--sh-gold) 35%,transparent)}}.sh-upload-preview img{object-fit:contain;background:#0d0804;width:100%;max-height:50vh;display:block}.sh-camera-stage{border:1px solid var(--sh-gold);border-radius:14px;width:100%;max-height:min(70vh,640px);margin:.75rem 0 .25rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sh-camera-stage{border:1px solid color-mix(in srgb,var(--sh-gold) 40%,transparent)}}.sh-camera-stage{background:#0d0804}.sh-camera-video{object-fit:cover;transform:scaleX(-1)}.sh-camera-guide,.sh-camera-video{width:100%;height:100%;position:absolute;inset:0}.sh-camera-caption,.sh-camera-guide{pointer-events:none}.sh-camera-caption{text-align:center;color:var(--sh-parchment);background:linear-gradient(#0000,#0a0603d1);margin:0;padding:.55rem .75rem;font-size:.88rem;position:absolute;bottom:0;left:0;right:0}.sh-loading{text-align:center;padding-top:4rem}.sh-spinner{border:3px solid var(--sh-gold);border-radius:50%;width:42px;height:42px;margin:1.5rem auto 0}@supports (color:color-mix(in lab,red,red)){.sh-spinner{border:3px solid color-mix(in srgb,var(--sh-gold) 30%,transparent)}}.sh-spinner{border-top-color:var(--sh-gold);animation:sh-spin .9s linear infinite}@media (prefers-reduced-motion:reduce){.sh-spinner{border-top-color:var(--sh-gold);animation:none}.sh-reveal-glow{animation:none!important}}@keyframes sh-spin{to{transform:rotate(1turn)}}.sh-editor{gap:1rem;max-width:72rem;margin:0 auto;padding:1rem 1rem 2.5rem;display:grid}@media (min-width:900px){.sh-editor{grid-template-columns:1.2fr .9fr;align-items:start;padding-top:1.5rem}}.sh-editor-preview{border:1px solid var(--sh-gold);border-radius:12px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sh-editor-preview{border:1px solid color-mix(in srgb,var(--sh-gold) 35%,transparent)}}.sh-editor-preview{background:#0d0804}.sh-canvas{width:100%;height:auto;display:block}.sh-sliders{border:1px solid var(--sh-gold)}@supports (color:color-mix(in lab,red,red)){.sh-sliders{border:1px solid color-mix(in srgb,var(--sh-gold) 28%,transparent)}}.sh-sliders{border-radius:12px;margin:0 0 .85rem;padding:.75rem 1rem 1rem}.sh-sliders legend{color:var(--sh-gold);letter-spacing:.08em;text-transform:uppercase;padding:0 .35rem;font-size:.85rem}.sh-sliders label{gap:.25rem;margin:.55rem 0;font-size:.92rem;display:grid}.sh-sliders input[type=range]{width:100%;accent-color:var(--sh-gold)}.sh-warn{color:#f0d9a0;background:#5a3a12b3;border-radius:10px;margin:.5rem 0 1rem;padding:.7rem .85rem}.sh-error{color:#f3c2a4;max-width:52rem;margin:1rem auto 0;padding:.75rem 1.25rem}.sh-house-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.sh-house-card{border:1px solid var(--sh-gold);border-radius:12px;justify-items:center;gap:.45rem;padding:.65rem;display:grid}@supports (color:color-mix(in lab,red,red)){.sh-house-card{border:1px solid color-mix(in srgb,var(--sh-gold) 35%,transparent)}}.sh-house-card{background:var(--sh-wood)}@supports (color:color-mix(in lab,red,red)){.sh-house-card{background:color-mix(in srgb,var(--sh-wood) 85%,black)}}.sh-house-card{color:var(--sh-parchment);font:inherit;cursor:pointer;font-weight:700}.sh-house-card.is-selected{border-color:var(--sh-gold);box-shadow:0 0 0 1px var(--sh-gold)}@supports (color:color-mix(in lab,red,red)){.sh-house-card.is-selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--sh-gold) 55%,transparent)}}.sh-house-thumb{aspect-ratio:3/2;background-position:50%;background-size:cover;border-radius:8px;width:100%;display:block}.sh-reveal{text-align:center;place-content:center;gap:.75rem;min-height:70vh;padding:2rem;display:grid;position:relative}.sh-reveal-glow{pointer-events:none;background:radial-gradient(circle,#c4a35a59,#0000 70%);border-radius:50%;animation:sh-glow 2.2s ease-out;position:absolute;inset:20% 15%}.sh-reveal-glow[data-house=gryffindor]{background:radial-gradient(circle,#b4282866,#0000 70%)}.sh-reveal-glow[data-house=hufflepuff]{background:radial-gradient(circle,#d2aa2866,#0000 70%)}.sh-reveal-glow[data-house=ravenclaw]{background:radial-gradient(circle,#2850a073,#0000 70%)}.sh-reveal-glow[data-house=slytherin]{background:radial-gradient(circle,#1e784673,#0000 70%)}@keyframes sh-glow{0%{opacity:0;transform:scale(.7)}40%{opacity:1}to{opacity:.55;transform:scale(1.05)}}.sh-reveal-name{font-size:clamp(2.4rem,8vw,4rem);position:relative}.sh-preview-frame{border:1px solid var(--sh-gold);border-radius:12px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sh-preview-frame{border:1px solid color-mix(in srgb,var(--sh-gold) 35%,transparent)}}.sh-preview-frame{background:#0d0804;margin:1rem 0}.sh-preview-frame img{width:100%;height:auto;display:block}.sh-scene-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.sh-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sh-scene-card{text-align:left;border:1px solid var(--sh-gold);border-radius:12px;gap:.4rem;padding:.65rem;display:grid}@supports (color:color-mix(in lab,red,red)){.sh-scene-card{border:1px solid color-mix(in srgb,var(--sh-gold) 35%,transparent)}}.sh-scene-card{background:var(--sh-wood)}@supports (color:color-mix(in lab,red,red)){.sh-scene-card{background:color-mix(in srgb,var(--sh-wood) 85%,black)}}.sh-scene-card{color:var(--sh-parchment);font:inherit;cursor:pointer}.sh-scene-card.is-selected{border-color:var(--sh-gold);box-shadow:0 0 0 1px var(--sh-gold)}@supports (color:color-mix(in lab,red,red)){.sh-scene-card.is-selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--sh-gold) 55%,transparent)}}.sh-scene-thumb{aspect-ratio:3/2;background-position:50%;background-size:cover;border-radius:8px;width:100%;display:block}.sh-scene-title{font-weight:700}.sh-scene-desc{opacity:.82;font-size:.88rem;line-height:1.35}.sh-scene-badge{color:#f0d9a0;font-size:.75rem}.sh-tone-toggle{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.sh-tone-toggle .is-active{border-color:var(--sh-gold);background:var(--sh-gold)}@supports (color:color-mix(in lab,red,red)){.sh-tone-toggle .is-active{background:color-mix(in srgb,var(--sh-gold) 18%,transparent)}}.arcade-shell .arcade-game,.arcade-shell .arcade-home{gap:16px;display:grid}.arcade-game-head p,.arcade-home-head p{margin:.35rem 0 0}.arcade-pending,.arcade-player{color:var(--house-text)}@supports (color:color-mix(in lab,red,red)){.arcade-pending,.arcade-player{color:color-mix(in srgb,var(--house-text) 78%,transparent)}}.arcade-cards{gap:12px;display:grid}.arcade-card{color:var(--house-text);background:var(--house-surface);border-radius:16px;gap:6px;padding:16px;text-decoration:none;display:grid}@supports (color:color-mix(in lab,red,red)){.arcade-card{background:color-mix(in srgb,var(--house-surface) 86%,black)}}.arcade-card{border:1px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.arcade-card{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.arcade-card{box-shadow:0 0 0 1px var(--house-glow)}@supports (color:color-mix(in lab,red,red)){.arcade-card{box-shadow:0 0 0 1px color-mix(in srgb,var(--house-glow) 35%,transparent)}}button.arcade-card{width:100%;font:inherit;text-align:left;cursor:pointer}.arcade-card.is-ready{background:linear-gradient(180deg,var(--house-secondary),transparent 42%),var(--house-surface)}@supports (color:color-mix(in lab,red,red)){.arcade-card.is-ready{background:linear-gradient(180deg,color-mix(in srgb,var(--house-secondary) 16%,transparent),transparent 42%),color-mix(in srgb,var(--house-surface) 88%,black)}}.arcade-card.is-soon{opacity:.72;border-style:dashed}.arcade-card em,.arcade-card-kicker{color:var(--house-accent);font-size:.86rem;font-style:normal}.arcade-card strong{font-family:var(--font-display);font-size:1.45rem}.arcade-difficulty,.arcade-status,.arcade-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.arcade-status{margin:10px 0 4px;font-size:1rem}.arcade-status span{background:var(--house-primary);border-radius:999px;padding:6px 10px}@supports (color:color-mix(in lab,red,red)){.arcade-status span{background:color-mix(in srgb,var(--house-primary) 40%,black)}}.arcade-help{background:var(--house-surface);border-radius:12px;margin-top:8px;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.arcade-help{background:color-mix(in srgb,var(--house-surface) 80%,black)}}.arcade-tiles{touch-action:none;background:linear-gradient(180deg,#fff4d614,transparent 36%),var(--house-primary);border-radius:18px;gap:8px;width:min(100%,420px);margin:8px auto 0;padding:12px;display:grid}@supports (color:color-mix(in lab,red,red)){.arcade-tiles{background:linear-gradient(180deg,#fff4d614,transparent 36%),color-mix(in srgb,var(--house-primary) 35%,#2a1c12)}}.arcade-tiles{border:2px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.arcade-tiles{border:2px solid color-mix(in srgb,var(--house-secondary) 70%,#7a5a2a)}}.arcade-tiles{box-shadow:0 0 24px var(--house-glow)}@supports (color:color-mix(in lab,red,red)){.arcade-tiles{box-shadow:0 0 24px color-mix(in srgb,var(--house-glow) 55%,transparent)}}.arcade-tile,.arcade-tile.is-blank{aspect-ratio:1;border-radius:12px;min-height:72px}.arcade-tile{font:inherit;color:#3b2a18;cursor:pointer;background:linear-gradient(160deg,#f7edd4,#e4d2aa 58%,#c9b07c);border:0;place-items:center;margin:0;padding:0;display:grid;box-shadow:inset 0 2px #ffffff8c,inset 0 -3px #5a3e182e,0 3px #462e1047}.arcade-tile span{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,8vw,2.2rem);font-weight:700;line-height:1}.arcade-tiles.is-4 .arcade-tile span{font-size:clamp(1.25rem,6vw,1.7rem)}.arcade-tile:disabled{cursor:default}.arcade-tile.is-legal{box-shadow:inset 0 2px 0 #ffffff8c,0 0 0 2px var(--house-secondary),0 3px 0 #462e1047}@supports (color:color-mix(in lab,red,red)){.arcade-tile.is-legal{box-shadow:inset 0 2px 0 #ffffff8c,0 0 0 2px color-mix(in srgb,var(--house-secondary) 80%,white),0 3px 0 #462e1047}}.arcade-tile.is-blank{background:#3a2a1c;box-shadow:inset 0 4px 10px #00000059}.arcade-tiles.is-solved{box-shadow:0 0 28px var(--house-glow)}@supports (color:color-mix(in lab,red,red)){.arcade-tiles.is-solved{box-shadow:0 0 28px color-mix(in srgb,var(--house-glow) 80%,white)}}.arcade-modal{z-index:20;background:#08050375;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.arcade-modal-card{background:var(--house-surface);border-radius:18px 18px 12px 12px;width:min(100%,420px);padding:18px 16px 16px}@supports (color:color-mix(in lab,red,red)){.arcade-modal-card{background:color-mix(in srgb,var(--house-surface) 92%,black)}}.arcade-modal-card{border:1px solid var(--house-secondary);color:var(--house-text)}.arcade-best{color:var(--house-accent);font-weight:700}.arcade-portal-link{margin-top:12px}@media (prefers-reduced-motion:reduce){.arcade-tile,.arcade-tiles.is-solved{box-shadow:inset 0 2px #ffffff8c}}@media (max-width:420px){.arcade-tile,.arcade-tile.is-blank{min-height:64px}}.arcade-portal-games{margin-top:12px}.arcade-rune-board{touch-action:none;background:var(--house-primary);border-radius:16px;gap:4px;width:min(100%,420px);margin:8px auto 0;padding:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.arcade-rune-board{background:color-mix(in srgb,var(--house-primary) 40%,#1a120c)}}.arcade-rune-board{border:2px solid var(--house-secondary)}@supports (color:color-mix(in lab,red,red)){.arcade-rune-board{border:2px solid color-mix(in srgb,var(--house-secondary) 70%,#7a5a2a)}}.arcade-rune-cell{aspect-ratio:1;color:#1b140f;background:#00000047;border-radius:8px;place-items:center;min-height:36px;font-size:.95rem;display:grid}.arcade-rune-cell.is-blue{background:#3d8bff}.arcade-rune-cell.is-gold{background:#e3b423}.arcade-rune-cell.is-green{background:#3fbf6a}.arcade-rune-cell.is-purple{background:#8b5cff}.arcade-rune-cell.is-red{background:#e24b4b}.arcade-rune-cell.is-legal{outline:2px solid #8dffb0}.arcade-rune-cell.is-blocked{outline:2px solid #ff8b8b}.arcade-rune-cell.is-hint{outline:2px dashed var(--house-accent);opacity:.85}.arcade-rune-tray{touch-action:none;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.arcade-rune-piece{border:1px solid var(--house-secondary);border-radius:14px;min-height:92px}@supports (color:color-mix(in lab,red,red)){.arcade-rune-piece{border:1px solid color-mix(in srgb,var(--house-secondary) 55%,transparent)}}.arcade-rune-piece{background:var(--house-surface)}@supports (color:color-mix(in lab,red,red)){.arcade-rune-piece{background:color-mix(in srgb,var(--house-surface) 88%,black)}}.arcade-rune-piece{color:inherit;touch-action:none}.arcade-rune-piece.is-used{opacity:.25}.arcade-rune-preview{pointer-events:none;justify-content:center;gap:3px;display:grid}.arcade-rune-preview i{border-radius:4px;place-items:center;width:18px;height:18px;font-size:.7rem;font-style:normal;display:grid}.arcade-rune-preview i.is-blue{color:#1b140f;background:#3d8bff}.arcade-rune-preview i.is-gold{color:#1b140f;background:#e3b423}.arcade-rune-preview i.is-green{color:#1b140f;background:#3fbf6a}.arcade-rune-preview i.is-purple{color:#1b140f;background:#8b5cff}.arcade-rune-preview i.is-red{color:#1b140f;background:#e24b4b}.arcade-rune-ghost{pointer-events:none;z-index:30;filter:drop-shadow(0 8px 12px #00000059);position:fixed;transform:translate(-50%,-100%)}.arcade-orb-wrap{gap:8px;display:grid}.arcade-orb-canvas{touch-action:none;border:2px solid var(--house-secondary);border-radius:16px;width:100%;height:min(72vw,430px)}@supports (color:color-mix(in lab,red,red)){.arcade-orb-canvas{border:2px solid color-mix(in srgb,var(--house-secondary) 70%,#7a5a2a)}}.arcade-orb-canvas{background:var(--house-primary)}@supports (color:color-mix(in lab,red,red)){.arcade-orb-canvas{background:color-mix(in srgb,var(--house-primary) 45%,#07060c)}}.arcade-orb-next{align-items:center;gap:8px;margin:0;display:flex}.arcade-orb-chip{border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.arcade-orb-chip.is-blue{background:#3d8bff}.arcade-orb-chip.is-green{background:#3fbf6a}.arcade-orb-chip.is-gold{background:#e3b423}.arcade-orb-chip.is-purple{background:#8b5cff}.arcade-orb-chip.is-red{background:#e24b4b}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}