.landing-nav { display:flex; align-items:center; gap:22px; }
#account-open { border:1px solid var(--line); border-radius:7px; background:#0b0905; color:#efd296; font:inherit; font-size:12px; padding:10px 13px; cursor:pointer; }
.account-dialog { width:min(470px, calc(100% - 28px)); max-height:calc(100dvh - 32px); margin:auto; padding:26px; color:var(--text); background:linear-gradient(145deg,#121009,#030303 65%); border:1px solid #6b542b; border-radius:15px; box-shadow:0 24px 100px #000; overflow-y:auto; overscroll-behavior:contain; }
.account-dialog::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(5px); }
body:has(.account-dialog[open]) { overflow:hidden; }
.account-heading { position:relative; padding-right:30px; }
.account-heading h2 { font-family:Georgia,"Times New Roman",serif; font-size:29px; font-weight:400; color:#eed6a1; margin:10px 0 20px; }
.account-close { position:absolute; top:-8px; right:-9px; width:44px; height:44px; border:0; background:transparent; color:#bcab89; font-size:28px; cursor:pointer; }
.account-intro { color:#bdb19a; font-size:13px; line-height:1.55; margin:0 0 19px; }
.account-form { display:grid; gap:11px; }
.account-form label { color:#c3b79e; font-size:12px; }
.account-form .button { margin-top:4px; }
.account-dialog :is(input,select) { width:100%; min-width:0; }
.account-form #account-code { font-size:24px; letter-spacing:.3em; height:52px; }
.account-message { margin-bottom:17px; padding:12px; border:1px solid #6b572f; border-radius:7px; background:#1a1409; color:#e5ca92; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.account-message[data-error="true"] { color:#ffc0a7; border-color:#6b3f29; }
.account-divider { margin:18px 0; display:flex; align-items:center; gap:12px; color:#7d7567; font-size:11px; }
.account-divider::before,.account-divider::after { content:""; flex:1; border-top:1px solid var(--line); }
.account-secondary { display:flex; align-items:center; justify-content:center; min-height:44px; width:100%; border:1px solid var(--line); border-radius:7px; background:#0c0b08; color:#d7c6a3; font:inherit; font-size:12px; cursor:pointer; text-decoration:none; padding:10px; }
.account-text-button { background:transparent; color:#b8a37c; border:0; font:inherit; font-size:12px; min-height:44px; padding:8px 10px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.account-fine { color:#8c8270; font-size:11px; line-height:1.55; margin:12px 0 0; }
.subscription-card { padding:16px 0; border-top:1px solid var(--line); }
.subscription-card:first-child { padding-top:0; border-top:0; }
.subscription-card h3 { color:#efcf91; font-size:17px; font-weight:500; margin:0 0 13px; }
.subscription-facts { display:grid; grid-template-columns:1fr auto; gap:9px 16px; color:#9a907e; font-size:12px; margin:0 0 18px; }
.subscription-facts dd { margin:0; color:#ddd1b9; text-align:right; }
.subscription-link-label { display:block; font-size:11px; color:#b8a783; margin-bottom:7px; }
.subscription-link { display:flex; gap:8px; }
.subscription-link input { font-size:11px; min-width:0; }
.subscription-link button { flex-shrink:0; width:auto; padding-inline:12px; }
.subscription-card .button--full { margin-top:18px; }
.subscription-setup { margin-top:15px; border:1px solid var(--line); border-radius:7px; padding:12px; color:#b9ad96; font-size:12px; line-height:1.6; }
.subscription-setup summary { cursor:pointer; color:#ddc69b; }
.subscription-setup ol { padding-left:20px; margin:12px 0 4px; }
.subscription-downloads { display:flex; flex-wrap:wrap; gap:8px 15px; margin:10px 0; }
.subscription-downloads a { color:#e3bd73; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:500px) { .landing-nav { gap:12px; } #account-open { padding-inline:10px; font-size:11px; } .account-dialog { padding:22px 19px; } .landing-header { gap:10px; } .landing-brand span { margin-left:3px; } }
.account-turnstile { min-height: 70px; margin: 14px 0; max-width: 100%; }
.account-fine a { color: #e7c57b; }
