:root{color-scheme:dark;--bg:#070706;--surface:#11110e;--gold:#d8b75d;--gold-light:#f1dda0;--text:#f7f4eb;--muted:#a5a093;--line:rgba(216,183,93,.23);--success:#70d9a2;--danger:#ff9486;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at 50% -10%,rgba(216,183,93,.16),transparent 35rem),linear-gradient(180deg,#0c0b08,var(--bg) 40rem)}
button,input,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.portal-shell{width:min(100% - 2rem,62rem);margin:auto;padding:clamp(1.2rem,4vw,2.5rem) 0 2rem}
.brand{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-bottom:clamp(2rem,7vw,3.5rem)}
.brand-mark{display:grid;place-items:center;width:3.6rem;height:3.6rem;border:1px solid var(--gold);border-radius:.8rem;color:var(--gold-light);font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.12em}
.brand>div:last-child{display:grid;gap:.25rem}.brand strong{color:var(--gold-light);font-family:Georgia,serif;font-size:.9rem;letter-spacing:.16em}.brand span{color:var(--muted);font-size:.48rem;letter-spacing:.18em}
.panel,.event-card{border:1px solid var(--line);border-radius:1.15rem;background:linear-gradient(145deg,rgba(24,23,18,.98),rgba(10,10,8,.98));box-shadow:0 1.2rem 3.5rem rgba(0,0,0,.28)}
.access-panel{max-width:43rem;margin:auto;padding:clamp(1.5rem,6vw,3rem)}.eyebrow{margin:0;color:var(--gold);font-size:.6rem;font-weight:800;letter-spacing:.2em}.access-panel h1,.event-card h1{margin:.65rem 0;color:var(--gold-light);font-family:Georgia,serif;font-size:clamp(2.1rem,8vw,3.8rem);font-weight:400;line-height:1}.access-panel>p:last-of-type{max-width:32rem;margin:0;color:var(--muted);font-size:.88rem;line-height:1.7}
#code-form{display:grid;gap:.7rem;margin-top:2rem}label{display:grid;gap:.45rem;color:var(--gold-light);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}input,textarea{width:100%;border:1px solid var(--line);border-radius:.55rem;padding:.8rem .9rem;color:var(--text);background:#080807;outline:0;text-transform:none}input{min-height:3.15rem}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,183,93,.11)}
button[type=submit]{min-height:3.15rem;border:1px solid var(--gold);border-radius:.55rem;padding:.7rem 1.1rem;color:#090806;background:linear-gradient(135deg,var(--gold-light),#b88b31);font-size:.72rem;font-weight:850}button:disabled{cursor:wait;opacity:.55}.form-message{min-height:1rem;color:var(--success);font-size:.68rem;line-height:1.5}.form-message.is-error{color:var(--danger)}
.loading-panel{min-height:16rem;display:grid;place-content:center;justify-items:center;gap:1rem;color:var(--muted)}.loader{width:2.3rem;height:2.3rem;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.event-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.3rem,5vw,2.3rem)}.event-card h1{font-size:clamp(1.8rem,6vw,3rem)}.event-card p:last-child{margin:.6rem 0 0;color:var(--muted);font-size:.75rem}.list-count{min-width:9rem;display:grid;justify-items:center;border-left:1px solid var(--line);padding-left:2rem}.list-count small{color:var(--gold);font-size:.6rem;letter-spacing:.08em;text-align:center}.list-count strong{color:var(--gold-light);font-family:Georgia,serif;font-size:2.4rem;font-weight:400}.list-count span{color:var(--muted);font-size:.58rem;text-transform:uppercase}
.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.guest-form{display:grid;align-content:start;gap:1rem;padding:1.35rem}.guest-form h2,.result-panel h2{margin:.4rem 0 0;color:var(--gold-light);font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.form-help{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}
.result-panel{margin-top:1rem;padding:1.35rem}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.secondary-button,.copy-link,.share-link{border:1px solid var(--line);border-radius:.5rem;padding:.6rem .8rem;color:var(--gold-light);background:transparent;font-size:.65rem}.created-list{display:grid;gap:.65rem;margin-top:1.2rem}.created-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;border:1px solid var(--line);border-radius:.65rem;padding:.8rem;background:rgba(216,183,93,.025)}.created-row>div{min-width:0;display:grid;gap:.25rem}.created-row strong{overflow:hidden;color:var(--text);font-size:.78rem;text-overflow:ellipsis}.created-row small{overflow:hidden;color:var(--muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.change-code{display:block;margin:1.2rem auto 0;border:0;padding:.7rem;color:var(--muted);background:transparent;font-size:.65rem;text-decoration:underline}
footer{display:grid;justify-items:center;gap:.45rem;margin-top:2.5rem;text-align:center}footer strong{color:var(--gold);font-family:Georgia,serif;font-size:.65rem;letter-spacing:.22em}footer small{max-width:31rem;color:#777267;font-size:.57rem;line-height:1.5}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
@media(max-width:42rem){.portal-shell{width:min(100% - 1rem,62rem)}.brand{justify-content:flex-start}.code-entry,.forms-grid{grid-template-columns:1fr}.code-entry button{width:100%}.event-card{align-items:flex-start;flex-direction:column}.list-count{width:100%;grid-template-columns:1fr auto auto;justify-items:start;align-items:baseline;border-top:1px solid var(--line);border-left:0;padding-top:1rem;padding-left:0}.list-count strong{font-size:1.8rem}.created-row{grid-template-columns:1fr 1fr}.created-row>div{grid-column:1/-1}.copy-link,.share-link{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important}}
