:root{--park-cell-px:320;--ink:#232b28;--paper:#eceae2;--line:#232b2833}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#d4d2ca;margin:0;font-family:Arial,Helvetica,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:2px solid #386849}#park-stage{z-index:0;background:linear-gradient(135deg,#ece9de,#b7bcb6);position:fixed;inset:0}#park-stage canvas{touch-action:pan-y;width:100%;height:100%;display:block}.park-painting #park-stage canvas{touch-action:none;cursor:crosshair}header{z-index:20;border-bottom:1px solid var(--line);background:#eceae2e8;justify-content:space-between;align-items:center;height:86px;padding:0 4.3vw;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{letter-spacing:-1.8px;font-size:25px;font-weight:800}.wordmark span{font-weight:400}.wordmark sup{vertical-align:top;letter-spacing:0;font-size:10px}header nav{align-items:center;gap:30px;font-size:12px;display:flex}.download{background:var(--ink);color:#f2f0e7;padding:14px 19px;font-size:11px}main{z-index:2;pointer-events:none;position:relative}main a,main button,main summary,main details{pointer-events:auto}.intro{min-height:95svh;padding:150px 4.3vw 80px;position:relative}.eyebrow{letter-spacing:.16em;font-size:9px;line-height:1.6}.intro h1{letter-spacing:-.075em;max-width:720px;margin:28px 0 32px;font-size:clamp(62px,7.5vw,120px);font-weight:500;line-height:.92}.intro h1 span{color:#506851}.intro-copy{background:#eceae2de;border-left:2px solid #5d6c60;max-width:360px;margin:0 0 22px;padding:15px 18px;font-size:16px;line-height:1.7}.intro-link{border-bottom:1px solid var(--ink);align-items:center;min-height:44px;font-size:11px;display:inline-flex}.sync{background:#eceae2de;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;max-width:440px;margin-top:30px;padding:0 12px;font-size:9px;line-height:1.5;display:flex}.dot{background:#678c5e;border-radius:50%;flex-shrink:0;width:5px;height:5px}.sync button{white-space:nowrap;min-height:44px;font-size:9px;text-decoration:underline}.ranking-intro{max-width:560px;padding:50px 4.3vw 30px}.ranking-intro h2{letter-spacing:-.055em;margin:14px 0;font-size:42px;font-weight:500}.ranking-intro p:not(.eyebrow){background:#eceae2e6;width:-moz-fit-content;width:fit-content;padding:12px 16px;font-size:12px;line-height:1.8}#park-list{position:relative}#ranking-rows{margin:0;padding:0;list-style:none}.rank-row{height:calc(var(--park-cell-px)*1px);align-items:center;padding:0 4.3vw;display:flex;position:relative}.rank-card{background:#eceae2ef;border-top:1px solid #232b2855;grid-template-columns:52px minmax(90px,1fr) auto;align-items:center;gap:18px;width:min(600px,48vw);padding:21px 24px;display:grid;box-shadow:8px 12px #262d2420}.rank-number{letter-spacing:-1px;color:#6b756b;font-variant-numeric:tabular-nums;font-size:27px;font-weight:400}.rank-name{letter-spacing:-.025em;text-align:left;word-break:break-word;min-height:44px;padding:6px 0;font-size:18px}.rank-name small{letter-spacing:.05em;color:#687267;margin-top:7px;font-size:8px;font-weight:400;display:block}.rank-metrics{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;gap:8px;display:flex}.rank-metrics strong{font-size:18px;font-weight:500}.rank-metrics span{color:#5c675f;font-size:9px}.rank-card:has(button:hover){background:#f5f4ec}.rank-row:nth-child(3n+2){padding-left:10vw}.rank-row:nth-child(3n){padding-left:6.5vw}#ranking-empty{background:#eceae2e8;max-width:500px;margin:40px 4.3vw;padding:16px;font-size:13px;line-height:1.6}.park-end{pointer-events:auto;background:#eceae2eb;border-top:1px solid #232b2844;width:min(520px,91.4vw);margin:0 4.3vw 160px;padding:26px 28px}.park-end h2{letter-spacing:-.06em;margin:18px 0;font-size:50px;font-weight:500;line-height:.98}.park-end>p:not(.eyebrow){font-size:13px;line-height:1.7}.park-end>a{min-height:44px;margin-top:20px;padding:14px 0;font-size:10px;display:inline-block}#park-more{background:var(--ink);color:var(--paper);min-height:44px;margin:10px 0 20px;padding:14px 19px;font-size:11px}.how{border-top:1px solid var(--line)}.how summary{cursor:pointer;min-height:44px;padding:18px 0;font-size:11px}.how p{font-size:11px;line-height:1.8}.park-failed #park-continuation{display:none}.park-failed .rank-row{height:auto;min-height:130px}.park-failed .intro{min-height:auto}.park-failed .rank-card{width:min(650px,91vw)}#park-controls{z-index:15;left:4.3vw;bottom:max(25px,env(safe-area-inset-bottom));color:#eeeae0;position:fixed}.size-slider{background:#232b28ef;align-items:center;gap:13px;width:235px;min-height:40px;padding:0 12px;font-size:9px;display:flex}.size-slider input{accent-color:#d0dbb9;flex:1;width:140px;min-width:0;height:24px}.size-slider output{text-align:right;font-variant-numeric:tabular-nums;width:22px}.control-line{background:#232b28;align-items:center;display:flex;box-shadow:0 6px 20px #0002}.control-line button{color:inherit;border-right:1px solid #ffffff20;min-width:44px;min-height:44px;padding:8px 13px;font-size:11px}.control-line button[aria-pressed=true]{background:#ffffff13}.control-line button:last-child{border:0}.color-control{border-right:1px solid #ffffff20;justify-content:center;align-items:center;width:46px;min-height:44px;display:flex}.color-control input{cursor:pointer;background:0 0;border:0;width:29px;height:29px;padding:0}#park-shared-status{color:#27322c;background:#eceae2e8;width:-moz-fit-content;width:fit-content;max-width:330px;padding:4px 7px;font-size:8px;line-height:1.6;display:block}#park-help{z-index:10;pointer-events:none;background:#eceae2e8;margin:0;padding:8px 11px;font-size:9px;position:fixed;bottom:30px;right:4.3vw}#park-start{z-index:15;background:var(--ink);color:var(--paper);min-height:44px;padding:12px 18px;font-size:11px;position:fixed;bottom:28px;left:4.3vw}.park-failed #park-controls,.park-failed #park-help{display:none}dialog{color:#25352e;background:#e3e4da;border:0;width:420px;max-width:94vw;max-height:92svh;padding:30px;overflow:auto;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#19221cbb}#artist-close{width:44px;min-height:44px;font-size:28px;position:absolute;top:8px;right:12px}.artist-heading{justify-content:space-between;align-items:center;padding-right:40px;display:flex}.artist-heading>span:last-child{font-size:24px}dialog h2{letter-spacing:-.05em;overflow-wrap:anywhere;margin:20px 0 0;font-size:32px;font-weight:500}#character-stage{height:320px;position:relative}#character-stage canvas{touch-action:none;width:100%;height:100%;display:block}#character-fallback{max-width:220px;padding-top:60px;font-size:12px;line-height:1.6}.character-controls{justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.character-controls button{min-height:44px;font-size:9px;text-decoration:underline}#character-note{color:#5f6c61;margin:10px 0 23px;font-size:10px;line-height:1.6}dl{margin:0}dl>div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:13px 0;font-size:11px;display:flex}dt{color:#526357}dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.noscript{z-index:50;background:var(--paper);padding:20px;font-size:14px;position:relative}.noscript a{text-decoration:underline}@media (max-width:850px){.rank-card{width:65vw}.intro h1{font-size:85px}header{height:76px}.intro{padding-top:130px}#park-help{display:none}}@media (max-width:640px){:root{--park-cell-px:290}header{height:70px;padding:0 20px}header nav{gap:15px;font-size:10px}.wordmark{font-size:23px}.download{padding:13px 14px;font-size:10px}.intro{min-height:94svh;padding:118px 20px 60px}.intro h1{max-width:370px;font-size:62px}.intro-copy{max-width:275px;padding:13px 15px;font-size:13px}.intro-link{font-size:10px}.sync{gap:6px;max-width:330px;padding:0 8px;font-size:8px}.ranking-intro{padding:35px 20px 20px}.ranking-intro h2{font-size:34px}.ranking-intro p:not(.eyebrow){font-size:10px}.rank-row,.rank-row:nth-child(n){padding:0 20px}.rank-card{background:#eceae2e8;grid-template-columns:32px minmax(90px,1fr) auto;gap:12px;width:100%;padding:16px 18px;box-shadow:5px 8px #262d2420}.rank-number{font-size:22px}.rank-name{font-size:15px}.rank-metrics strong{font-size:16px}.rank-metrics span{font-size:8px}.park-end{width:calc(100% - 40px);margin-left:20px;padding:23px}.park-end h2{font-size:43px}#park-controls{left:20px;bottom:max(18px,env(safe-area-inset-bottom))}.control-line button{padding:8px 12px}.size-slider{width:230px;min-height:36px}.park-failed .rank-card{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (max-height:500px) and (orientation:landscape){header{height:58px}.intro{padding-top:95px}.intro h1{font-size:58px}.intro-copy{font-size:12px}.size-slider{min-height:32px}#park-controls{bottom:10px}#park-shared-status{font-size:7px}.control-line button{min-height:40px}}#park-tilt{z-index:16;touch-action:none;background:#232b28eb;border:1px solid #e7e6de;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:fixed;bottom:135px;right:20px}#park-tilt span{text-align:center;letter-spacing:1px;color:#232b28;background:#eceae2e8;padding:3px;font-size:8px;position:absolute;top:-20px;left:0;right:0}#park-tilt i{pointer-events:none;background:#e7e6de;border:1px solid #232b28;border-radius:50%;width:27px;height:27px}body:not(.park-painting) #park-tilt{display:none!important}.intro:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#eceae2f5 0%,#eceae2eb 55%,#eceae200 100%);width:64%;position:absolute;top:0;bottom:0;left:0}.intro h1{max-width:680px}.park-ready #park-stage{background:#d4d2ca}@media (max-width:640px){.intro:before{background:linear-gradient(90deg,#eceae2e8,#eceae2a8 55%,#eceae200);width:100%}.intro h1{font-size:60px}}.rank-metrics strong small{letter-spacing:.02em;color:#627065;margin-left:3px;font-size:8px;font-weight:400}#park-about{text-align:left;min-height:24px;padding:0;display:block}#park-about small{border-bottom:1px solid #68726544}#park-info-copy p{color:#526357;font-size:12px;line-height:1.85}.info-close{width:44px;min-height:44px;font-size:28px;position:absolute;top:8px;right:10px}.rank-card,.intro-copy,.sync,.ranking-intro p{pointer-events:auto}
