@font-face{font-family:ClubDisplay;src:url('display.ttf') format('truetype');font-display:swap}
@font-face{font-family:ClubBody;src:url('body.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;font-family:ClubBody,system-ui,sans-serif;color:#ede4c8;background:#18141f}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;width:100%;height:100vh;height:100dvh;overflow:hidden}
header{height:calc(34px + env(safe-area-inset-top));display:flex;align-items:center;gap:18px;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));border-bottom:1px solid #675434;background:#18141f;user-select:none}
.wordmark{font-family:ClubDisplay,Georgia,serif;font-weight:400;letter-spacing:.035em}.wordmark span{color:#cf5c46}
header .wordmark{font-size:23px}.edition{font-size:9px;letter-spacing:.13em;color:#b99b5b}
header button{margin-left:auto;font-size:11px;padding:3px 10px;min-height:25px}
#table{width:100%;height:calc(100% - 34px - env(safe-area-inset-top));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}canvas{display:block;width:100%;height:100%;background:#18141f;outline:none;touch-action:none}
.curtain{position:fixed;inset:calc(34px + env(safe-area-inset-top)) 0 0;z-index:10;display:grid;place-items:center;padding:20px;background:linear-gradient(#18141fcc,#18141ff5),url('table.png') center/cover;overflow:auto}
#window-status{position:fixed;top:40px;right:max(12px,env(safe-area-inset-right));z-index:11;max-width:min(360px,90vw);padding:10px 14px;background:#241f2c;border:1px solid #b99b5b;box-shadow:0 5px 25px #0008;font-size:12px;pointer-events:none}
.invitation{max-width:470px;width:100%;padding:40px 35px;text-align:center;border:1px solid #b99b5b;outline:1px solid #695538;outline-offset:5px;background:#241f2c;box-shadow:0 18px 75px #0008}
h1{font-size:76px;margin:10px 0 20px}h2{font-family:ClubDisplay,Georgia,serif;font-size:28px;font-weight:400;margin:0 0 18px}
p{line-height:1.6;margin:16px 0}.eyebrow{font-size:10px;letter-spacing:.15em;color:#c8ac6b}.footnote{font-size:11px;color:#b8afb8;margin-top:25px}
progress{width:100%;height:5px;accent-color:#76b9ad;margin-top:22px}#load-status{font-size:12px;color:#b9d6cf}
button{font:inherit;color:#ede4c8;background:#3a3240;border:1px solid #806c6a;border-radius:4px;padding:12px 20px;cursor:pointer;min-height:44px}
button:hover{filter:brightness(1.15)}button:focus-visible,textarea:focus-visible{outline:2px solid #9bd4c6;outline-offset:3px}.primary{background:#2b6965;border-color:#69a69a}
#enter{width:100%;margin-top:12px}dialog{max-width:560px;width:calc(100% - 40px);padding:28px;background:#241f2c;color:#ede4c8;border:1px solid #b99b5b;border-radius:4px;box-shadow:0 15px 80px #000a}dialog::backdrop{background:#100d17cf}
textarea{width:100%;height:160px;resize:vertical;background:#18141f;color:#ede4c8;border:1px solid #806c6a;padding:12px;font:13px ClubBody,system-ui,sans-serif}.buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:500px){.edition{display:none}.invitation{padding:25px 20px}h1{font-size:60px}.curtain{padding:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.wordmark i{color:#c6a86a;font-weight:400}h1.wordmark{font-size:44px;line-height:1.12}
