.access-loading #main-content { display:none; }
.site-loading { display:none; align-items:center; justify-content:center; gap:15px; min-height:65vh; color:#8291a8; font-size:13px; }
.access-loading .site-loading { display:flex; }
.public-shell .main-nav [data-view],.public-shell #add-player-side,.public-shell #export-side,.public-shell .sidebar-divider,.public-shell .sidebar-label:not(:first-of-type),.public-shell .sidebar-bottom,.public-shell #player-search,.public-shell #top-profile,.public-shell .topbar-divider { display:none; }
.public-shell .main-nav { margin-bottom:24px; }
.public-shell .sidebar-label { margin-bottom:15px; }
.admin-shell .sidebar-label:first-of-type { color:#93b4ee; }
#site-access-context { display:flex; align-items:center; gap:20px; margin-right:10px; }
.public-view-label { display:flex; align-items:center; gap:7px; font-size:10px; color:#8294b0; }
.public-view-label svg { width:14px; height:14px; color:#6b96dc; }
.admin-only-badge { display:inline-flex; align-items:center; gap:6px; color:#3976d8; background:#edf4ff; border:1px solid #dfebff; padding:7px 9px; border-radius:5px; font-size:9px; white-space:nowrap; }
.admin-only-badge svg { width:12px; height:12px; }
#site-access-context>.text-link { font-size:10px; }
.site-admin-link { margin-left:20px; font-size:10px; color:#91a4c1; text-decoration:none; }
.public-empty { max-width:740px; margin:50px auto; padding:70px 35px; text-align:center; }
.public-empty h1 { font-size:33px; letter-spacing:-1px; margin:18px 0; }
.public-empty p { font-size:13px; line-height:1.9; color:#8292ab; max-width:430px; margin:0 auto 25px; }
.admin-login-wrap { display:grid; place-items:center; min-height:70vh; }
.admin-login { padding:44px; max-width:460px; width:100%; text-align:center; }
.admin-login h1 { font-size:29px; letter-spacing:-.8px; margin:15px 0; }
.admin-login>p { color:#8393ab; font-size:12px; line-height:1.9; margin:0 0 28px; }
.admin-login form { text-align:left; margin:24px 0; }
.admin-login form>.button { width:100%; justify-content:center; margin-top:8px; }
.admin-login>.text-link { justify-content:center; font-size:11px; margin-top:22px; }
.admin-login .admin-access-note { font-size:10px; margin:20px 0; }
.admin-overview-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:24px; }
.clan-publish-panel,.public-access-explainer { padding:30px; }
.clan-publish-panel h2 { font-size:18px; letter-spacing:-.5px; }
.unpublish-link { color:#8d9bb0; font-size:10px; margin-bottom:22px; }
.clan-publish-panel>p,.public-access-explainer>p { font-size:12px; color:#8696af; line-height:1.9; margin:19px 0 26px; }
.clan-publish-panel .form-field input { text-transform:uppercase; font-size:14px; padding:14px; }
.clan-publish-panel .form-field input::placeholder { text-transform:none; }
.publish-form-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:22px; }
.publish-form-actions>span { display:flex; gap:7px; align-items:center; font-size:9px; color:#91a3bf; }
.publish-form-actions svg { width:14px; height:14px; }
.public-access-explainer>.clan-start-icon { margin:0 0 25px; width:55px; height:55px; border-radius:15px; }
.public-access-explainer h2 { font-size:18px; letter-spacing:-.4px; line-height:1.5; }
.public-access-explainer ul { list-style:none; padding:0; margin:0; }
.public-access-explainer li { display:flex; align-items:center; gap:9px; color:#728bad; font-size:10px; line-height:1.8; margin-bottom:13px; }
.public-access-explainer li svg { width:14px; height:14px; color:#397bdd; flex-shrink:0; }
.published-clan-card { display:flex; align-items:center; gap:25px; padding:28px 32px; margin-bottom:25px; border-top:3px solid #4385f0; }
.published-clan-card>div { flex:1; min-width:0; }
.published-clan-card h2 { font-size:26px; margin:10px 0; overflow-wrap:anywhere; }
.published-clan-card p { font-size:11px; color:#8a9ab3; margin:0; line-height:1.8; }
.public-status { display:flex; align-items:center; gap:6px; font-size:9px; color:#7898c7; white-space:nowrap; }
.public-status svg { width:14px; height:14px; }
.admin-clan-shortcut { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 32px; margin-top:24px; }
.admin-clan-shortcut h2 { margin:0 0 10px; font-size:16px; }
.admin-clan-shortcut p { margin:0; font-size:11px; color:#8a9ab3; line-height:1.8; }
.clan-readonly-tag { display:flex; align-items:center; gap:8px; color:#7c91af; font-size:12px; }
.clan-readonly-tag svg { width:16px; height:16px; color:#77a0de; }
.public-feature { min-height:350px; border-radius:12px; position:relative; overflow:hidden; background:#111c2d; margin-bottom:26px; }
.public-feature>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 40%; }
.public-feature:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0e1a30f5,#142a489c 48%,#172d4f05); }
.public-feature>div { position:relative; z-index:1; padding:45px 40px; max-width:620px; }
.public-feature .eyebrow { color:#92baff; font-size:9px; }
.public-feature h1 { color:#fff; font-size:42px; line-height:1.1; letter-spacing:-1.6px; margin:18px 0; overflow-wrap:anywhere; }
.public-feature h1 em { color:#8cbbff; font-style:normal; }
.public-feature>div>p:not(.eyebrow) { color:#bbc9de; font-size:12px; line-height:1.9; margin:0 0 23px; }
.public-art-credit { position:absolute; right:15px; bottom:12px; z-index:1; color:#d4def3; font-size:7px; letter-spacing:1px; }
.public-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:30px; }
.public-destination { display:flex; flex-direction:column; align-items:flex-start; padding:25px; text-decoration:none; color:inherit; position:relative; overflow:hidden; background:linear-gradient(155deg,#edf4ff 0,#fff 60%); transition:border-color .2s,transform .2s,box-shadow .2s; }
.public-destination:hover { border-color:#a9c5fa; transform:translateY(-3px); box-shadow:0 9px 25px #1e4c9110; }
.public-destination:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.public-destination .destination-art { display:grid; place-items:center; position:relative; width:104px; height:100px; margin:0 0 18px; }
.destination-art:before { content:''; position:absolute; width:100px; height:70px; bottom:0; border-radius:50%; background:radial-gradient(ellipse,#b9d6ff90,transparent 70%); }
.destination-art img { position:relative; width:92px; height:92px; object-fit:contain; filter:drop-shadow(0 6px 5px #17386121); transition:transform .2s; }
.public-destination:hover .destination-art img { transform:translateY(-4px) rotate(-3deg); }
.public-destination h2 { font-size:20px; letter-spacing:-.5px; margin:0 0 9px; line-height:1.3; color:#18263e; }
.public-destination p { font-size:11px; line-height:1.8; color:#687c99; margin:0 0 20px; max-width:230px; }
.public-destination .destination-link { display:flex; align-items:center; gap:9px; margin-top:auto; color:#2d68d3; font-size:10px; font-weight:650; }
.destination-link svg { width:14px; height:14px; transition:transform .2s; }
.public-destination:hover .destination-link svg { transform:translateX(3px); }
.public-top-heading { margin:30px 0 20px; }
.public-top-heading h2 { font-size:17px; letter-spacing:-.4px; }
@media(max-width:1000px){.admin-overview-grid{grid-template-columns:1fr}.public-feature h1{font-size:36px}.public-destination{padding:21px}.public-destination h2{font-size:18px}.published-clan-card{gap:20px;padding:25px}}
@media(max-width:760px){.public-feature{min-height:330px}.public-feature>div{padding:35px 25px}.public-feature h1{font-size:33px;letter-spacing:-1px}.public-feature>img{object-position:60% center}.public-feature:after{background:linear-gradient(90deg,#0e1a30f0,#142a48c0 70%,#172d4f45)}.published-clan-card{flex-wrap:wrap;gap:17px;padding:22px}.published-clan-card .large{width:65px;height:65px}.published-clan-card h2{font-size:22px}.published-clan-card .public-status{flex-basis:100%;padding-top:10px;border-top:1px solid #edf2fa}.public-destinations{grid-template-columns:1fr;gap:13px}.public-destination{padding:22px}.public-destination h2{font-size:15px}.public-destination p{font-size:11px;max-width:none}.public-destination>span{float:left;margin:0 18px 35px 0}.public-destination>svg{top:24px}.public-destination h2{padding-right:20px}.admin-login{padding:32px 25px}.admin-login h1{font-size:25px}.public-empty{padding:45px 24px;margin:20px auto}.public-empty h1{font-size:27px}.clan-publish-panel,.public-access-explainer{padding:24px}.publish-form-actions{align-items:flex-start;flex-direction:column}.publish-form-actions>.button{width:100%;justify-content:center}.admin-clan-shortcut{align-items:flex-start;flex-direction:column;padding:24px}.public-view-label{font-size:9px}#site-access-context{margin-right:0;gap:9px}.admin-only-badge{font-size:8px}.public-top-heading h2{font-size:14px}.public-top-heading .text-link{font-size:10px}}

.auto-sync-status { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:13px 16px; border:1px solid #dce9fc; border-radius:7px; background:#f0f6ff; margin:0 0 23px; color:#8299bb; font-size:10px; line-height:1.8; }
.auto-sync-status>span:first-child { display:flex; gap:7px; align-items:center; }
.auto-sync-status svg { width:14px; height:14px; color:#638ede; }
.auto-sync-status strong { color:#4878c6; font-weight:650; }
.auto-sync-status.waiting { background:#f6f7fa; border-color:#e6eaf1; }
@media(max-width:760px){.auto-sync-status{font-size:9px;gap:4px;padding:12px 14px}.auto-sync-status>span{max-width:100%}}
@media(max-width:760px){
  .public-destination { display:block; padding:24px 24px 24px 118px; min-height:164px; }
  .public-destination .destination-art { position:absolute; left:14px; top:24px; float:none; margin:0; width:88px; height:96px; }
  .destination-art img { width:80px; height:86px; }
  .destination-art:before { width:85px; }
  .public-destination h2 { font-size:19px; padding:0; }
  .public-destination p { font-size:11px; margin-bottom:14px; }
  .public-destination .destination-link { margin:0; }
}
@media(prefers-reduced-motion:reduce){
  .public-destination,.destination-art img,.destination-link svg { transition:none; }
  .public-destination:hover,.public-destination:hover .destination-art img,.public-destination:hover .destination-link svg { transform:none; }
}

.giveaway-section { margin:36px 0; }
.giveaway-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.giveaway-section-heading .eyebrow { color:#5a88cf; margin:0 0 10px; }
.giveaway-section-heading :is(h1,h2) { font-size:25px; letter-spacing:-.8px; margin:0 0 9px; color:#1b293f; }
.giveaway-section-heading p:not(.eyebrow) { color:#7e8da5; font-size:11px; line-height:1.8; margin:0; }
.giveaway-season { font-size:8px; letter-spacing:1px; color:#6786b5; border:1px solid #dae6f8; background:#edf4ff; border-radius:5px; padding:9px 12px; white-space:nowrap; }
.giveaway-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:20px; align-items:start; }
.giveaway-rounds { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.giveaway-round { overflow:hidden; }
.giveaway-prize { min-height:124px; padding:25px 20px; position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.giveaway-prize>div { position:relative; z-index:1; }
.giveaway-prize .eyebrow { display:block; font-size:7px; letter-spacing:1px; margin-bottom:9px; }
.giveaway-prize h3 { font-size:18px; line-height:1.35; letter-spacing:-.4px; margin:0; }
.scenery-prize { background:#1d1d4d; color:#fff; }
.scenery-prize img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.scenery-prize:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#101d41ed,#12254f4a); }
.scenery-prize .eyebrow { color:#bfceff; }
.pass-prize { background:linear-gradient(130deg,#eaf2ff,#f7faff); color:#233e67; }
.pass-prize>img { position:absolute; top:4px; right:-8px; width:105px; height:105px; object-fit:contain; opacity:.85; }
.pass-prize .eyebrow { color:#5c83c2; }
.giveaway-winners { list-style:none; padding:5px 18px; margin:0; }
.giveaway-winners li { display:flex; align-items:center; gap:10px; min-height:74px; border-bottom:1px solid #edf1f8; }
.giveaway-winners li:last-child { border:0; }
.giveaway-winner-number { font-size:10px; font-weight:650; color:#b1bed1; font-variant-numeric:tabular-nums; }
.giveaway-winners li>div { min-width:0; flex:1; }
.giveaway-winners strong { display:block; color:#293c59; font-size:12px; overflow-wrap:anywhere; }
.giveaway-winners small { display:block; color:#8c9ab0; font-size:8px; margin-top:6px; line-height:1.6; }
.prize-status { display:inline-flex; align-items:center; gap:4px; font-size:8px; font-weight:650; white-space:nowrap; border:1px solid transparent; padding:5px 6px; border-radius:5px; }
.prize-status svg { width:10px; height:10px; }
.prize-status.claimed { background:#edf4ff; color:#3570ce; border-color:#dde9fc; }
.prize-status.waiting { background:#fff7e8; color:#9c6b19; border-color:#f7e8ca; }
.prize-status.pending { background:#f5f7fa; color:#8a97ab; border-color:#e9edf4; }
.giveaway-calendar { overflow:hidden; }
.giveaway-calendar-heading { padding:24px 22px 20px; border-bottom:1px solid #e8eef8; background:linear-gradient(140deg,#f2f7ff,#fff); }
.giveaway-calendar-heading .eyebrow { display:block; font-size:7px; color:#6086bf; margin-bottom:10px; }
.giveaway-calendar h3 { font-size:15px; letter-spacing:-.3px; margin:0; color:#263a5b; }
.giveaway-calendar ol { list-style:none; padding:0 20px; margin:0; }
.giveaway-calendar li { display:flex; align-items:flex-start; gap:13px; padding:21px 0; border-bottom:1px solid #edf1f8; }
.giveaway-calendar li:last-child { border-bottom:0; }
.giveaway-date { flex-shrink:0; width:54px; text-align:center; padding:8px 3px; border:1px solid #dce8fb; border-radius:7px; background:#eff5ff; color:#427cd8; }
.giveaway-date>span { display:block; font-size:7px; letter-spacing:1px; font-weight:700; }
.giveaway-date strong { display:block; margin-top:5px; font-size:13px; letter-spacing:-.6px; white-space:nowrap; }
.giveaway-event { flex:1; min-width:0; }
.giveaway-event h4 { color:#2d4263; font-size:11px; margin:0 0 8px; line-height:1.5; }
.giveaway-event p { font-size:9px; color:#8292ab; line-height:1.8; margin:0 0 9px; }
.giveaway-event>small { color:#5f83bb; font-size:8px; }
.giveaway-calendar li>img { width:30px; height:30px; object-fit:contain; flex-shrink:0; }
@media(max-width:1150px){.giveaway-layout{grid-template-columns:1fr}.giveaway-calendar ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.giveaway-calendar li{border:0}.giveaway-calendar li>img{display:none}}
@media(max-width:760px){.giveaway-section-heading{align-items:flex-start;flex-direction:column;gap:15px}.giveaway-section-heading :is(h1,h2){font-size:23px}.giveaway-rounds{grid-template-columns:1fr}.giveaway-calendar ol{display:block}.giveaway-calendar li{border-bottom:1px solid #edf1f8}.giveaway-calendar li>img{display:block}.giveaway-prize{min-height:130px}.giveaway-prize h3{font-size:21px}.giveaway-winners strong{font-size:13px}.giveaway-winners small{font-size:10px}.prize-status{font-size:9px;padding:6px 8px}.giveaway-calendar h3{font-size:16px}.giveaway-event h4{font-size:12px}.giveaway-event p{font-size:10px}.giveaway-event>small{font-size:9px}}
