:root{color-scheme:dark;--night:#111a1b;--deep:#182224;--panel:#202b2b;--line:#46514b;--gold:#dfb56b;--gold-light:#f3d99e;--cream:#f5eddd;--muted:#aaa99b;--ink:#eae2d3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.portal{margin:0;background:var(--night);color:var(--ink);font:14px/1.55 Manrope,Arial,sans-serif;min-width:320px}
.portal a{color:inherit;text-decoration:none}
.portal button,.portal input,.portal textarea{font:inherit}
.portal button{cursor:pointer}
.portal [hidden]{display:none!important}
.topbar{height:80px;max-width:1500px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #ffffff19}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font:600 25px/.85 'Cormorant Garamond',Georgia,serif;letter-spacing:.015em}
.brand strong{display:block;color:var(--gold-light);font-weight:700;font-size:35px}
.brand-mark{font:37px/1 Georgia,serif;color:var(--gold);filter:drop-shadow(0 0 12px #dfb56b77)}
.topbar nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.topbar nav a{color:#c7c7b8;transition:color .2s}
.topbar nav a:hover,.topbar nav a.active{color:var(--gold-light)}
.top-enter{white-space:nowrap;border:1px solid #a58859;color:var(--gold-light)!important;padding:11px 17px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}
.top-enter:hover{background:#a588592a}
.top-enter span{margin-left:12px}
.hero{max-width:1500px;min-height:482px;margin:0 auto;position:relative;overflow:hidden;border-bottom:1px solid #ffffff25;background:#233031}
.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#111a1bf7 0%,#111a1be9 32%,#111a1b9a 59%,#111a1b32 100%),linear-gradient(0deg,#111a1bcb,transparent 42%),url('/art/city/panorama.png') center 42%/cover no-repeat;filter:saturate(.8)}
.hero-content{position:relative;z-index:1;padding:85px 40px 62px;max-width:770px}
.eyebrow{margin:0 0 19px;color:var(--gold);font-weight:800;font-size:11px;letter-spacing:.23em;text-transform:uppercase}
.spark{font-size:17px;margin-right:8px}
.hero h1,.register-intro h1{font:600 clamp(49px,5vw,82px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;margin:0;color:#fff7e8}
.hero h1 em,.register-intro h1 em{font-style:normal;color:var(--gold-light)}
.hero-copy{font-size:15px;line-height:1.85;color:#d2d0c3;max-width:580px;margin:27px 0 31px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.button{border:1px solid transparent;min-height:45px;padding:11px 23px;display:inline-flex;justify-content:center;align-items:center;gap:24px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,transform .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button:disabled{opacity:.55;cursor:wait;transform:none}
.button-gold{background:linear-gradient(135deg,#f1d391,#c79b55);color:#241e17!important;border-color:#e5c581;box-shadow:0 8px 22px #0005}
.button-gold:hover{background:linear-gradient(135deg,#ffe1a0,#d5a962)}
.button-ghost{border-color:#c2b79a8c;color:#f6ead6!important;background:#10181766}
.button-ghost:hover{background:#313c37}
.button-full{width:100%}
.hero-stamp{position:absolute;right:7%;bottom:48px;z-index:1;width:142px;height:142px;border:1px solid #e6c78897;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg);background:#111a1b91;box-shadow:0 0 0 8px #e6c78821;text-align:center;color:var(--gold-light)}
.hero-stamp span{font-size:10px;font-weight:800;letter-spacing:.3em}.hero-stamp b{font:700 36px/1.1 'Cormorant Garamond',Georgia,serif}.hero-stamp small{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.content-grid{max-width:1500px;margin:auto;padding:35px 40px 84px;display:grid;grid-template-columns:275px minmax(0,1fr) 270px;gap:24px;background:radial-gradient(ellipse at 50% 10%,#3040394d,transparent 64%)}
.panel{background:linear-gradient(145deg,#26312f,#1b2424);border:1px solid var(--line);box-shadow:0 16px 38px #0003}
.panel-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:18px 21px}
.ornament{color:var(--gold);font-size:15px}.panel-heading h2{font:700 24px/1 'Cormorant Garamond',Georgia,serif;margin:0}
.login-panel form,.signed-in{padding:22px}
.login-panel label,.form-fields label,.profile-fields label{display:block;font-size:11px;color:var(--gold-light);font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px}
.login-panel input,.form-fields input,.profile-fields input,.profile-fields textarea{display:block;width:100%;background:#10191a;border:1px solid #60675b;color:var(--cream);padding:11px 12px;outline:none;margin-bottom:17px;border-radius:0;min-height:44px}
.login-panel input:focus,.form-fields input:focus,.profile-fields input:focus,.profile-fields textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #dfb56b24}
.login-panel input::placeholder,.form-fields input::placeholder,.profile-fields input::placeholder,.profile-fields textarea::placeholder{color:#858b83}
.login-foot{border-top:1px solid var(--line);margin:0;padding:15px 22px;font-size:11px;color:var(--muted)}
.login-foot a,.register-foot a,.text-link,.feature-body a{color:var(--gold-light)!important;font-weight:800}
.form-error{padding:9px 11px;background:#622a2a90;border:1px solid #b36d69;color:#fff2eb;font-size:12px;line-height:1.5}
.signed-in p{margin:0 0 18px;color:#d1d0c3}.signed-in strong{color:var(--gold-light)}
.side-note{display:flex;gap:12px;align-items:center;color:#c0beaf;border:1px solid #ffffff1c;padding:16px;margin-top:17px;background:#ffffff08;font-size:12px}.side-note p{margin:0}.side-note strong{color:var(--cream)}.side-note-icon{font-size:24px;color:var(--gold)}
.section-title{border-bottom:1px solid var(--line);margin:4px 0 21px;padding-bottom:15px}.section-title span{color:var(--gold);font-size:10px;letter-spacing:.21em;font-weight:800;text-transform:uppercase}.section-title h2{font:600 33px/1.1 'Cormorant Garamond',Georgia,serif;margin:4px 0 0}
.feature{border:1px solid var(--line);background:#222d2b}.feature-main{display:grid;grid-template-columns:42% 1fr;min-height:285px}.feature-image{background:linear-gradient(90deg,#10191711,#10191744),url('/art/city/arena.png') center/cover no-repeat;min-height:240px}.feature-body{padding:28px 28px 22px}.feature-kicker{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 11px}.feature h3{font:700 27px/1.08 'Cormorant Garamond',Georgia,serif;color:var(--cream);margin:0 0 12px}.feature-body p:not(.feature-kicker),.feature-small p:not(.feature-kicker){color:#bbbdb1;font-size:12px;line-height:1.7;margin:0 0 20px}.feature-body a{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.feature-small{padding:21px 23px;min-height:175px}.feature-symbol{color:var(--gold);font:32px/1 Georgia,serif;float:right}.feature-small h3{font-size:24px;margin-bottom:7px}.feature-small p:not(.feature-kicker){margin-bottom:0}
.journey{list-style:none;padding:12px 20px 17px;margin:0}.journey li{display:flex;gap:11px;border-bottom:1px solid #ffffff1b;padding:14px 0}.journey li:last-child{border:0}.journey li>span{font:700 25px/1 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.journey b,.journey small{display:block}.journey b{font-size:12px;color:var(--cream)}.journey small{color:var(--muted);font-size:11px;margin-top:3px;line-height:1.5}.world-panel .text-link{display:block;padding:15px 20px;border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.quote-card{padding:23px;margin-top:17px;background:#71562b2b;border:1px solid #ac8b5280}.quote-card span{font:50px/1 Georgia,serif;color:var(--gold)}.quote-card p{font:italic 21px/1.2 'Cormorant Garamond',Georgia,serif;margin:0;color:#eee0c2}
.portal footer{max-width:1500px;margin:auto;border-top:1px solid var(--line);padding:24px 40px 38px;display:flex;justify-content:space-between;gap:18px;color:#a9a99b;font-size:11px}.portal footer span:first-child,.portal footer a{color:var(--gold-light)}
.register-main{max-width:1400px;margin:auto;padding:43px 40px 90px;min-height:calc(100vh - 180px)}
.register-intro{text-align:center;max-width:690px;margin:0 auto 37px;position:relative}.register-intro .eyebrow{margin-bottom:10px}.register-intro h1{font-size:clamp(46px,5vw,70px)}.register-intro>p:last-child{font-size:13px;line-height:1.75;color:#bdbeb2;max-width:580px;margin:17px auto 0}.back-link{position:absolute;left:-260px;top:5px;color:#c9c4b0!important;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.register-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(325px,1fr);gap:22px;align-items:start}.race-panel,.details-panel{padding:26px}.step-heading{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:22px}.step-heading>span{font:700 41px/1 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.step-heading p{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:.17em;margin:0 0 2px}.step-heading h2{font:700 30px/1 'Cormorant Garamond',Georgia,serif;margin:0;color:var(--cream)}
.race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.race-card{display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:175px;position:relative;overflow:hidden;border:1px solid #667168;background:#131c1c;color:var(--cream);padding:5px 5px 13px;transition:border-color .2s,transform .2s,box-shadow .2s}.race-card:hover{transform:translateY(-2px);border-color:#d1ae72}.race-card[aria-checked="true"]{border:2px solid var(--gold);box-shadow:inset 0 0 0 2px #101919,0 0 0 2px #dfb56b44}.race-card img{position:absolute;top:0;width:100%;height:125px;object-fit:cover;object-position:top center;opacity:.79;mask-image:linear-gradient(#000 65%,transparent)}.race-card strong,.race-card small{z-index:1;text-shadow:0 2px 7px #000}.race-card strong{font:700 21px/1 'Cormorant Garamond',Georgia,serif}.race-card small{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.08em}.field-hint{font-size:11px;color:var(--muted);margin:19px 0 0;line-height:1.6}
.form-fields label span{color:#e4a092}.profile-details{border-top:1px solid var(--line);padding-top:16px;margin-top:19px}.profile-details summary{cursor:pointer;color:var(--gold-light);font-weight:800;font-size:12px}.profile-details summary span{color:var(--muted);font-weight:500;margin-left:8px}.profile-fields{padding-top:18px}.profile-fields input,.profile-fields textarea{margin-bottom:13px}.profile-fields textarea{resize:vertical}.register-submit{margin-top:22px}.register-foot{font-size:11px;text-align:center;color:var(--muted);margin:16px 0 0}
@media(max-width:1100px){.content-grid{grid-template-columns:255px minmax(0,1fr)}.right-column{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.right-column .quote-card{margin:0}.hero-stamp{right:4%}.back-link{position:static;display:block;margin-bottom:24px}}
@media(max-width:760px){.topbar{height:auto;min-height:70px;padding:12px 18px;flex-wrap:wrap;gap:12px}.brand{font-size:20px}.brand strong{font-size:28px}.brand-mark{font-size:31px}.topbar nav{order:3;width:100%;justify-content:space-between;gap:10px;border-top:1px solid #ffffff1c;padding-top:12px;font-size:10px}.top-enter{padding:9px;font-size:10px}.hero{min-height:440px}.hero-content{padding:62px 20px}.hero-art{background:linear-gradient(90deg,#111a1bf2,#111a1ba5),url('/art/city/panorama.png') center/cover}.hero h1{font-size:57px}.hero-copy{font-size:13px}.hero-stamp{display:none}.content-grid{padding:25px 18px 55px;grid-template-columns:1fr}.side-column{order:1}.main-column{order:2}.right-column{order:3;grid-column:auto;display:block}.right-column .quote-card{margin-top:17px}.feature-main{grid-template-columns:1fr}.feature-image{min-height:210px}.feature-pair{grid-template-columns:1fr}.portal footer{padding:25px 18px;flex-wrap:wrap}.register-main{padding:30px 18px 58px}.register-layout{grid-template-columns:1fr}.race-panel,.details-panel{padding:18px}.register-intro{margin-bottom:30px}.race-card{min-height:160px}.race-card img{height:114px}}
@media(max-width:420px){.top-enter{display:none}.hero h1{font-size:49px}.hero-actions .button{width:100%}.race-grid{gap:7px}.race-card{min-height:135px}.race-card img{height:95px}.race-card strong{font-size:17px}.race-card small{font-size:9px}}
