:root{color-scheme:light;--ivory:#f7f2e7;--paper:#fffdf7;--ink:#163d32;--muted:#607369;--emerald:#15543f;--gold:#b58a43;--line:#ded5bf}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Tahoma,Arial,sans-serif;line-height:2}
main{width:min(100% - 40px,1080px);margin:32px auto 24px}
#landing{position:relative;isolation:isolate;border:0;padding:0;margin:0 auto 54px;width:min(100%,850px,calc(100svh - 115px));aspect-ratio:1;text-align:center}
#landing::after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#10291be8);border-radius:0 0 22px 22px;pointer-events:none}
.hero-art{display:block;width:100%;height:100%;object-fit:contain;margin:auto;border-radius:22px;box-shadow:0 18px 55px #173c3018}
#landing-title{position:absolute;z-index:1;bottom:3%;left:5%;right:5%;margin:0;color:#fffdf2;font-size:clamp(18px,3vw,31px);line-height:1.8;letter-spacing:-.035em;font-weight:700;text-shadow:0 2px 9px #06180c}
#landing>.developer-route{position:absolute;top:100%;left:0;right:0;margin:6px auto;width:max-content}
.developer-route{display:inline-block;color:var(--muted);font-size:13px;text-underline-offset:5px;padding:8px 10px;border-radius:7px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.host-only{display:none}
body.invitation-mode main{max-width:550px;margin:36px auto;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 45px #173c3010}
body.invitation-mode #landing{display:none}
#invite-flow,#public-flow{padding:0;border:0;margin:0}
.eyebrow{color:#8c6d35;font-size:13px}
#invite-title,#public-title{font-size:25px;line-height:1.9;margin:12px 0}
#invite-guide,#public-guide{color:#455c50}
.steps{padding-right:24px;color:#455c50}
.steps li{padding:7px 0}
.primary,.secondary{display:block;text-decoration:none;text-align:center;border-radius:11px;padding:13px 12px;margin:14px 0;font-weight:700;line-height:1.8}
.primary{background:var(--emerald);color:#fffdf3;border:1px solid var(--emerald)}
.secondary{background:#f3ecdb;color:var(--ink);border:1px solid #cdb98f}
.hint,#download-state{font-size:13px;color:var(--muted)}
.primary[aria-disabled=true]{opacity:.55;pointer-events:none}
code{display:block;direction:ltr;text-align:left;overflow-wrap:anywhere}
button{font:inherit}
@media(max-width:600px){main{width:calc(100% - 24px);margin:16px auto}.hero-art{border-radius:16px}#landing::after{border-radius:0 0 16px 16px}#landing-title{font-size:clamp(18px,5vw,24px)}body.invitation-mode main{width:calc(100% - 24px);margin:16px auto;padding:22px}#invite-title,#public-title{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
