:root { color-scheme:dark; --wine:#2b101b; --champagne:#e2c4a4; --cream:#f2dfc3; --muted:#c2a79b; }
* { box-sizing:border-box; }
body { margin:0; background:var(--wine); color:var(--champagne); font-family:Arial,Helvetica,sans-serif; min-height:100dvh; overflow:hidden; }
[hidden] { display:none!important; }
.entry-backdrop { position:fixed; inset:0; pointer-events:none; overflow:hidden; opacity:.3; filter:blur(3px); }
.backdrop-wordmark { margin:40px 5%; padding-bottom:30px; border-bottom:1px solid #79514d; font:22px Georgia,serif; text-transform:uppercase; letter-spacing:2px; }
.backdrop-copy { text-align:center; margin-top:40px; font:72px/1.1 Georgia,serif; color:var(--cream); }
.entry-backdrop > img { display:block; width:min(520px,70vw); height:auto; margin:35px auto; }
#entry-dialog { position:fixed; inset:0; width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; overscroll-behavior:contain; padding:30px 36px 25px; border:1px solid #b58a70; border-radius:3px; background:#321621f5; color:var(--champagne); box-shadow:0 30px 130px #10040bbb,inset 0 0 0 5px #e2c4a408; scrollbar-width:thin; }
#entry-dialog::backdrop { background:#16081088; backdrop-filter:blur(5px); }
.entry-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.entry-eyebrow { font:9px/1.7 'Courier New',monospace; letter-spacing:1.5px; text-transform:uppercase; }
h1 { font:400 48px/1.1 Georgia,serif; letter-spacing:-1.2px; margin:18px 0; color:var(--cream); }
h1 em { font-weight:400; }
#entry-intro { font-size:13px; line-height:1.8; color:var(--muted); margin:0 0 24px; }
.entry-statement { display:flex; gap:16px; align-items:start; border:1px solid #8b655b; padding:17px 18px; margin:12px 0; background:#e2c4a407; cursor:pointer; }
.entry-statement:has(input:checked) { border-color:var(--champagne); background:#e2c4a414; }
.entry-statement input { width:21px; height:21px; min-width:21px; margin:2px 0 0; accent-color:var(--champagne); cursor:pointer; }
.entry-statement strong { display:block; font:400 18px/1.4 Georgia,serif; color:var(--cream); }
.entry-statement span span { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.75; }
.entry-progress { font:9px/1.6 'Courier New',monospace; text-transform:uppercase; letter-spacing:1px; margin:20px 0 0; }
#entry-status { font-size:12px; line-height:1.7; color:var(--cream); margin:9px 0; min-height:0; }
#entry-accept { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:53px; padding:15px 20px; margin-top:18px; border:1px solid var(--champagne); background:var(--champagne); color:var(--wine); font:11px/1.6 'Courier New',monospace; text-transform:uppercase; letter-spacing:1px; cursor:pointer; }
#entry-accept span { font:22px Georgia,serif; }
#entry-accept:disabled { opacity:.4; cursor:not-allowed; }
#entry-accept:not(:disabled):hover { background:var(--cream); }
.entry-record { margin:13px 0 18px; font-size:10px; color:var(--muted); line-height:1.7; }
.entry-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #79514d; padding-top:17px; margin-bottom:17px; }
a { color:inherit; font-size:11px; text-underline-offset:4px; }
:focus-visible { outline:2px solid var(--cream); outline-offset:5px; }
.preview-label { background:#e2c4a415; border:1px solid #79514d; padding:8px 10px; color:var(--muted); font:8px/1.6 'Courier New',monospace; text-transform:uppercase; letter-spacing:.6px; margin:15px 0 0; }
.no-script { position:fixed; top:0; z-index:100; padding:14px; background:var(--champagne); color:var(--wine); font-size:13px; }
.terms-document { max-width:760px; margin:0 auto; padding:50px 25px; }
body.document-page { overflow:auto; }
.terms-document p { line-height:1.8; color:var(--muted); }
.terms-document h2 { font:25px/1.4 Georgia,serif; color:var(--cream); margin-top:32px; }
@media(max-width:560px){ #entry-dialog { padding:22px 20px; width:calc(100vw - 24px); max-height:calc(100dvh - 24px); } h1 { font-size:38px; } .entry-eyebrow { font-size:8px; } .entry-top img { width:40px; height:40px; } .entry-statement { gap:12px; padding:14px; } .entry-statement strong { font-size:17px; } .entry-statement span span { font-size:11px; } .entry-bottom { gap:12px; } .backdrop-copy { font-size:45px; } }
