body:has(#home:not([hidden]))>header{display:none}
#home .stage{width:100%;aspect-ratio:3/2;position:relative;line-height:1}
.stage .master{width:100%;height:100%;display:block}
.stage .hit,.stage .overlay-input{position:absolute;display:block;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.stage .hit{color:transparent;padding:0;cursor:pointer}
.stage .hit:hover,.stage .hit:focus-visible{outline:3px solid #ffe294;outline-offset:-4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.stage .overlay-input{font:clamp(12px,1vw,22px) Arial;color:#472919;padding:0 .35vw}
.stage .overlay-input::placeholder{color:transparent}
.stage .overlay-input:focus,.stage .overlay-input:not(:placeholder-shown){background:#fff3db}
.compact-home{display:none}
.live-caption{position:absolute;inset:22% 2% 5%;background:#ffebc6;color:#4f301d;padding:3% 4%;text-align:left;white-space:pre-line;overflow:hidden;font:clamp(12px,1.35vw,24px)/1.5 Farm,serif}
.stage [data-action=server] .live-caption{inset:8% 3%;padding:1% 4%}.portal-member{z-index:6}
#auth{min-height:76svh;display:grid;align-items:center;justify-items:center;background:#bbdff0 url(/portal/panorama.png) center top/auto clamp(180px,20vw,320px) repeat-x;padding:clamp(160px,18vw,270px) 16px 48px}
.auth-card,#portal-dialog{width:min(100%,440px);background:#fff0c9;color:#52321d;border:4px solid #71401e;box-shadow:inset 0 0 0 3px #e2aa60,0 5px #482c1c;padding:28px}
.auth-card h1{font:40px Farm;margin:20px 0 8px}.auth-card>p{margin-bottom:20px}.auth-card input{border:2px solid #ab7844;background:#fffcf4;min-height:44px}.auth-card button{min-height:46px}
#auth-error{color:#922f22}#auth-error:empty{display:none}
#portal-dialog{max-height:75svh;overflow:auto}#portal-dialog::backdrop{background:#301c14aa}#portal-dialog form{float:right}#portal-dialog button{font-size:22px;cursor:pointer}#portal-dialog h2{font:32px Farm;margin:0 0 16px}#portal-content{white-space:pre-line;overflow-wrap:anywhere}
.portal-member{position:absolute;left:4.6%;top:28%;width:20%;height:35%;display:grid;align-content:center;gap:12px;text-align:center;background:#ffe8ad;border:5px ridge #a66832;font:clamp(16px,2vw,32px) Farm}
@media(max-width:720px){#home .stage{display:none}.compact-home{display:block;text-align:center;background:#ffe9ba;padding-bottom:32px}.compact-home img{width:100%}.compact-home p{margin-top:20px}body:has(#home:not([hidden]))>header{display:block}}
