@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy-900:#152044;--navy-800:#1a284d;--navy-700:#26386a;--cream-100:#fff3dc;--cream-200:#fdddb0;--cream-300:#fbd99d;--brown-900:#3e1a04;--brown-700:#6b3a1c;--orange-500:#e08a2e;--gold-400:#fdbc46;--page-bg:var(--navy-800);--page-text:var(--cream-100);--surface:var(--cream-200);--surface-raised:var(--cream-100);--surface-ring:var(--cream-300);--ink:var(--brown-900);--ink-soft:var(--brown-700);--accent:var(--orange-500);--focus:var(--navy-800);--focus-on-dark:var(--gold-400);--font-display:"Fraunces Variable", Georgia, serif;--font-body:"Nunito Variable", system-ui, sans-serif;--radius-card:1.75rem;--radius-control:.875rem;--border-width:3px;font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;line-height:1.55}*,:before,:after{box-sizing:border-box}body{background:var(--page-bg);min-height:100svh;color:var(--page-text);margin:0}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;font-weight:800;line-height:1.2}.app{max-width:42rem;padding-block:clamp(1.25rem,4vw,3rem) 3rem;padding-inline:max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));margin:0 auto}.app-header{flex-direction:column;align-items:center;margin-bottom:clamp(1.25rem,3vw,2rem);display:flex}.app-logo{filter:drop-shadow(0 .375rem .75rem #00000059);width:clamp(6.5rem,26vw,9rem);height:auto}.app-title{text-align:center;color:var(--cream-200);margin:.25rem 0 0;font-size:clamp(2rem,7vw,3rem)}.card{border:var(--border-width) solid var(--ink);border-radius:var(--radius-card);box-shadow:0 0 0 6px var(--surface-ring);background:var(--surface);color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:clamp(1.25rem,5vw,2.5rem)}.decorations{z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='240'%3e%3c!--%20Subtle%20paper%20grain%20over%20the%20navy%20background.%20--%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20values='0%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%200.07%200'/%3e%3c/filter%3e%3crect%20width='100%25'%20height='100%25'%20filter='url(%23grain)'/%3e%3c/svg%3e") repeat, url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20640'%20preserveAspectRatio='none'%3e%3c!--%20Soft%20horizontal%20bands,%20inspired%20by%20docs/arte/background_1.jpeg.%20Tiles%20vertically.%20--%3e%3cpath%20fill='%232b3d73'%20fill-opacity='0.55'%20d='M0%2070%20C240%2020%20480%20130%20720%2085%20C960%2040%201200%20120%201440%2075%20L1440%20165%20C1200%20205%20960%20130%20720%20175%20C480%20220%20240%20115%200%20160%20Z'/%3e%3cpath%20fill='%23121c3d'%20fill-opacity='0.45'%20d='M0%20300%20C260%20250%20500%20350%20760%20310%20C1000%20270%201220%20340%201440%20300%20L1440%20360%20C1220%20400%201000%20330%20760%20370%20C500%20410%20260%20320%200%20360%20Z'/%3e%3cpath%20fill='%232b3d73'%20fill-opacity='0.4'%20d='M0%20480%20C220%20440%20470%20540%20720%20500%20C980%20460%201200%20530%201440%20490%20L1440%20570%20C1200%20610%20980%20540%20720%20580%20C470%20620%20220%20520%200%20560%20Z'/%3e%3c/svg%3e") top / 100% 40rem repeat-y, var(--page-bg);position:fixed;inset:0;overflow:hidden}.decoration{height:auto;transform:rotate(var(--rotate));display:block;position:absolute}.decoration svg{width:100%;height:auto;display:block}.app{z-index:1;position:relative}.site-footer{border-top:1px solid color-mix(in srgb, var(--cream-200) 30%, transparent);text-align:center;color:var(--cream-200);flex-direction:column;gap:.375rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.8125rem;line-height:1.5;display:flex}.site-footer p{margin:0}.site-footer-brand{font-size:.9375rem}@media (width<=40rem){.decoration{scale:.7}.decoration:nth-child(3n){display:none}}@media (prefers-reduced-motion:no-preference){img.decoration{animation:float 6s ease-in-out var(--delay) infinite}.sparkle,.dot{animation:twinkle 3.5s ease-in-out var(--delay) infinite}}@keyframes float{50%{transform:rotate(var(--rotate)) translateY(-.375rem)}}@keyframes twinkle{50%{opacity:.45;transform:rotate(var(--rotate)) scale(.85)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{flex-direction:column;gap:1rem;display:flex}.screen h2{margin:0;font-size:1.5rem}.screen p{margin:0}.screen h2[tabindex="-1"]:focus{outline:none}.button-primary,.button-secondary{border:var(--border-width) solid var(--ink);min-height:2.75rem;font:inherit;cursor:pointer;border-radius:999px;padding:.625rem 1.375rem;font-weight:800}.button-primary{background:var(--ink);color:var(--cream-100)}.button-primary:hover:not(:disabled){background:var(--ink-soft);border-color:var(--ink-soft)}.button-secondary{color:var(--ink);background:0 0}.button-secondary:hover{background:var(--surface-raised)}.button-primary:disabled{opacity:.4;cursor:not-allowed}:is(.button-primary,.button-secondary,.choice):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.choices{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.choice{border:2px solid color-mix(in srgb, var(--ink) 60%, var(--surface-raised));border-radius:var(--radius-control);background:var(--surface-raised);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.choice strong{font-family:var(--font-display);font-size:1.125rem}.choice:hover{border-color:var(--ink)}.options{border:0;flex-direction:column;gap:.75rem;margin:0;padding:0;display:flex}.options legend{margin-bottom:.75rem;padding:0}.option{flex-direction:row;align-items:flex-start;gap:.75rem}.option input{width:1.25rem;height:1.25rem;accent-color:var(--ink);flex:none;margin:.15rem 0 0}.option:has(input:checked){border-color:var(--ink);background:color-mix(in srgb, var(--accent) 22%, var(--surface-raised))}.option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.actions{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.actions .button-primary{margin-left:auto}.progress{margin-bottom:1.25rem}.progress-label{color:var(--ink-soft);margin:0 0 .375rem;font-size:.9375rem;font-weight:700}.progress progress{appearance:none;border:2px solid var(--ink);background:var(--surface-raised);border-radius:999px;width:100%;height:.75rem;display:block;overflow:hidden}.progress progress::-webkit-progress-bar{background:var(--surface-raised)}.progress progress::-webkit-progress-value{background:var(--accent)}.progress progress::-moz-progress-bar{background:var(--accent)}.hint{color:var(--ink-soft);margin:0;font-size:.875rem}@media (hover:none){.hint{display:none}}.result-house{border:2px solid var(--ink);border-left:.75rem solid var(--house-color);border-radius:var(--radius-control);background:var(--surface-raised);padding:1rem 1.25rem}.result-intro{color:var(--ink-soft);font-size:.9375rem}.result-name{font-family:var(--font-display);font-variation-settings:"SOFT" 100, "WONK" 1;font-size:2.25rem;font-weight:900;line-height:1.15}.result-traits{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.result-traits li{border:2px solid var(--ink);background:color-mix(in srgb, var(--house-color) 30%, var(--surface-raised));border-radius:999px;padding:.125rem .75rem;font-size:.875rem;font-weight:700}.result-description{flex-direction:column;gap:.75rem;display:flex}.breakdown h3{margin:0 0 .75rem;font-size:1.25rem}.breakdown-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.breakdown-list li{grid-template-columns:1fr auto;gap:.25rem .75rem;font-weight:700;display:grid}.breakdown-value{font-variant-numeric:tabular-nums}.breakdown-bar{border:2px solid var(--ink);background:var(--surface-raised);border-radius:999px;grid-column:1/-1;height:.75rem;overflow:hidden}.breakdown-bar span{background:var(--house-color);height:100%;display:block}.share{flex-direction:column;gap:.5rem;display:flex}.share-status{min-height:1.5em;font-size:.9375rem}.share-fallback{border:2px solid var(--ink);border-radius:var(--radius-control);background:var(--surface-raised);width:100%;color:var(--ink);font:inherit;resize:none;padding:.625rem .75rem}@media (width<=30rem){.actions{flex-direction:column-reverse}.actions>button{width:100%}.actions .button-primary{margin-left:0}.screen h2{font-size:1.3125rem}.result-name{font-size:1.875rem}}@media (prefers-reduced-motion:no-preference){.card>.screen{animation:.24s ease-out screen-in}.button-primary,.button-secondary,.choice{transition:background-color .15s,border-color .15s,transform .15s}.choice:hover{transform:translateY(-1px)}.breakdown-bar span{transform-origin:0;animation:.6s ease-out .15s both bar-grow}.result-name{animation:.42s cubic-bezier(.34,1.56,.64,1) 80ms both name-pop}}@keyframes screen-in{0%{opacity:0;transform:translateY(.5rem)}}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes name-pop{0%{opacity:0;transform:scale(.85)}}.start{text-align:center;align-items:center}.start .button-primary{align-self:stretch}.start-crest{width:clamp(8rem,40vw,11rem);height:auto}.result-house{align-items:center;gap:1rem;display:flex}.result-emblem{flex:none;width:clamp(5rem,22vw,7.5rem);height:auto}.breakdown-name{align-items:center;gap:.5rem;display:inline-flex}.breakdown-name img{width:1.75rem;height:auto}@media (width<=30rem){.result-house{text-align:center;flex-direction:column}.result-traits{justify-content:center}}.sorting-hat{align-self:center;width:clamp(6rem,28vw,8rem);height:auto}.result-heading{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}@media (prefers-reduced-motion:no-preference){.sorting-hat{transform-origin:50% 90%;animation:.9s ease-in-out .2s hat-wiggle}}@keyframes hat-wiggle{25%{transform:rotate(-6deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}
