/* Campaign entry page */
body:has(.campaign-hub){background:radial-gradient(circle at 85% 0%,#263e34 0,transparent 42%),linear-gradient(145deg,#101c18,#182a23 65%,#121d19);color:#f1f1e8}
.campaign-hub{max-width:1180px;padding:26px 28px 58px}
.campaign-hub header{margin-bottom:44px;gap:16px;flex-wrap:wrap}
.hub-brand{display:block;width:235px;flex:none}.hub-brand img{width:100%;height:auto;display:block}.hub-header-gap{flex:1}
.campaign-hub header button,.campaign-hub header a.small{white-space:nowrap}
.hub-hero{position:relative;overflow:hidden;padding:45px 52px 48px;margin-bottom:28px;border:1px solid #6c7959;background:linear-gradient(90deg,rgba(16,31,24,.96) 5%,rgba(18,36,29,.76) 60%,rgba(20,35,27,.2)),url('/assets/home/europe.png') center 45%/cover;box-shadow:0 18px 42px rgba(0,0,0,.26)}
.hub-hero:after{content:'';position:absolute;inset:10px;border:1px solid rgba(223,204,144,.18);pointer-events:none}
.hub-kicker{margin:0 0 12px;color:#dec58d;letter-spacing:.19em;font-size:10px;font-weight:800}
.hub-hero h1{font:400 clamp(32px,4vw,54px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0 0 15px;max-width:660px}
.hub-hero>p:last-child{font-size:15px;line-height:1.6;color:#d3d9ce;max-width:540px}
.hub-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:22px;align-items:start}
.campaign-hub .card{background:#1d3029;border:1px solid #465c4c;border-radius:3px;box-shadow:0 12px 30px rgba(0,0,0,.19);padding:26px}
.hub-main-card{min-height:390px}.hub-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.hub-subhead{font:400 21px Georgia,serif;margin:28px 0 8px;padding-top:20px;border-top:1px solid #42574a}
.campaign-hub h2{font:400 27px/1.15 Georgia,serif;margin:0}.hub-count,.hub-owned{font-size:11px;font-weight:700;color:#e9d5a0;border:1px solid #9a8555;padding:5px 9px;border-radius:30px;white-space:nowrap}
.campaign-hub .list li{padding:15px 10px;border-bottom:1px solid #405347;gap:12px}.campaign-hub .list li.clickable:hover{background:#294235}.campaign-hub .campaign-list strong{font:400 18px Georgia,serif;color:#f5f1e5}.campaign-hub .campaign-list .hint{line-height:2}
.campaign-hub button:not(.close){border-radius:3px}.campaign-hub button[type=submit],.campaign-hub .campaign-list li>button:last-child{background:#c8ae76;color:#1a241d;font-weight:700}.campaign-hub button[type=submit]:hover,.campaign-hub .campaign-list li>button:last-child:hover{background:#ead195}
.campaign-hub input,.campaign-hub select{background:#14251d;border-color:#59705d;padding:11px 12px;margin-top:7px;color:#f6f4ea}.campaign-hub input:focus,.campaign-hub select:focus{outline:2px solid #d9bd80;outline-offset:1px}.campaign-hub label{font-size:12px;color:#d5dfd0}
.hub-action-card h2{margin-bottom:18px}.hub-action-card button[type=submit]{width:100%;padding:11px}.hub-action-card .hint{line-height:1.5;margin-top:13px}
.hub-packs{margin-top:22px}.hub-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.hub-pack{display:flex;align-items:center;gap:13px;padding:16px;background:#15271e;border:1px solid #53634a}.hub-pack strong,.hub-pack span{display:block}.hub-pack>div{flex:1}.hub-pack>div span{color:#a8b7a6;font-size:11px;margin-top:5px}.hub-pack .pack-symbol{font-size:27px;color:#d8bc7b}.hub-packs>.hint{margin-top:16px}
#accountModal .card{max-width:480px;background:#1d3029;border:1px solid #718266}#accountModal .card h2{font:28px Georgia,serif}.profile-preview{display:flex;align-items:center;gap:16px;margin:18px 0}.profile-avatar{width:70px;height:70px;border-radius:50%;overflow:hidden;flex:none;background:#526a53;color:#fff;display:grid;place-items:center;font:30px Georgia,serif}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-upload{display:block;cursor:pointer;color:#e8cc8e!important;margin:7px 0}.profile-upload input{display:none}.profile-preview strong{font-size:13px}#accountModal hr{border:0;border-top:1px solid #465c4c;margin:22px 0}#accountModal h3{font:21px Georgia,serif}
.name-site-vip,.name-site-admin{font-weight:800;background-size:200% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:name-flare 3s linear infinite}.name-site-vip{background-image:linear-gradient(100deg,#b88436,#ffeab1,#d7a64a,#fff5c8,#b88436)}.name-site-admin{background-image:linear-gradient(100deg,#ad1d18,#ffb06c,#ff2920,#ffe0a0,#ad1d18)}@keyframes name-flare{to{background-position:200% center}}
@media(max-width:760px){.campaign-hub{padding:18px 16px 42px}.campaign-hub header{margin-bottom:22px}.hub-brand{width:180px}.hub-header-gap{flex-basis:100%;height:0}.hub-hero{padding:34px 25px}.hub-grid{grid-template-columns:1fr}.campaign-hub .card{padding:20px}.campaign-hub .list li{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.name-site-vip,.name-site-admin{animation:none;background-position:45% center}}
.login-page{background:radial-gradient(circle at 72% 20%,#294239,transparent 45%),#111e18}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:min(8vw,100px);max-width:1120px;margin:auto;padding:40px 28px}.login-story{max-width:570px}.login-story-brand{display:block;width:min(350px,80%);margin-bottom:65px}.login-story-brand img{width:100%;height:auto}.login-story h1{font:400 clamp(37px,4vw,58px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0 0 25px}.login-story>p:not(.hub-kicker){color:#ccd9cc;font-size:16px;line-height:1.7;max-width:480px}.login-story>a:last-child{display:inline-block;color:#e3c98b;margin-top:30px}.login-card{width:100%!important;max-width:none!important;background:#1d3029;border:1px solid #6c7959;border-radius:3px;padding:34px!important}.login-card .login-brand{display:none}.login-card h2{font:400 32px Georgia,serif;margin:0 0 8px}.login-card .tabs{margin-top:28px;margin-bottom:22px}.login-card .tabs button{padding:12px;background:#17291f;color:#d0dbcd}.login-card .tabs button.active{background:#cbb17d;color:#152016}.login-card label{color:#d5dfd0}.login-card input{padding:11px 12px;background:#13231c;border:1px solid #5d765e}.login-card button[type=submit]{width:100%;padding:12px;background:#cbb17d;color:#152016;font-weight:700}.login-card input:focus{outline:2px solid #d7bd82}.login-card .hint{line-height:1.5}
@media(max-width:800px){.login-layout{display:flex;flex-direction:column;gap:26px;padding:26px 16px}.login-story-brand{width:220px;margin-bottom:30px}.login-story h1{font-size:38px}.login-story>p:not(.hub-kicker){font-size:14px}.login-story>a:last-child{margin-top:12px}.login-card{padding:25px!important}}
