:root{
  --bg:#0b1122;--panel:#222c40;--panel2:#151e31;--panel3:#101728;
  --text:#fff2d8;--muted:#bac5d9;--gold:#ffd866;--gold2:#dc9b1b;
  --purple:#cc70ff;--purple2:#7b3dbd;--green:#73d89b;--red:#ff747d;
  --blue:#69b9ff;--orange:#ff9f45;--border:#34415d;--shadow:0 20px 50px rgba(0,0,0,.44)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 12% 3%,rgba(204,112,255,.18),transparent 23%),radial-gradient(circle at 88% 2%,rgba(255,216,102,.14),transparent 23%),linear-gradient(180deg,#27385f 0,#121b35 33%,var(--bg) 100%);min-height:100vh}
button{font:inherit;cursor:pointer}.wrap{width:min(1220px,calc(100% - 24px));margin:auto}
.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #ffffff14}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.crest{width:72px;height:72px;display:block;object-fit:contain;filter:drop-shadow(0 5px 8px #6f35a866)}
.brand-title{font-size:24px;font-weight:900}.brand-title span{color:var(--gold)}.small{font-size:12px;color:var(--muted)}
.page-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.page-nav .btn{text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;border:3px solid #71430a;border-radius:12px;padding:11px 16px;font-weight:900;color:#2d1a00;background:linear-gradient(#ffeb8e,#edac25);box-shadow:inset 0 -4px 0 #75430e55,0 8px 18px #0005;text-decoration:none}
.btn:hover{transform:translateY(-1px)}.btn.purple{color:#fff;border-color:#4d2869;background:linear-gradient(#d480ff,#7c3dc2)}.btn.dark{color:#fff;border-color:#33405a;background:#182136}.btn.compact{padding:8px 12px;font-size:12px}
.progression-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;padding:48px 0 30px}
.ribbon{display:inline-block;padding:7px 13px;border:2px solid #a7744b;border-radius:8px;background:linear-gradient(#815334,#50301d);font-size:12px;font-weight:900;letter-spacing:.12em}
h1{margin:14px 0 10px;color:var(--gold);font-size:clamp(48px,7vw,76px);line-height:1;text-shadow:0 5px 0 #0007}.lead{max-width:730px;margin:0;color:var(--muted);font-size:18px;line-height:1.6}
.status-card,.panel{background:linear-gradient(#303a50,#20283a);border:4px solid #121827;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.status-card{padding:20px}.status-card h3{margin:0 0 8px}.status-card p{margin:0;color:var(--muted);line-height:1.5}
.account-progress-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px}.account-progress-head span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.account-progress-head strong{color:var(--gold);font-size:34px;line-height:1}.account-progress-track{height:18px;overflow:hidden;border:3px solid #101624;border-radius:999px;background:#111827;box-shadow:inset 0 3px 7px #0008}.account-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b3dbd,#cc70ff 68%,#ffd866);box-shadow:0 0 14px #cc70ff88}.status-card .account-progress-track+p{margin-top:10px;font-size:12px}
.th-progress-block{margin-top:16px;padding-top:14px;border-top:1px solid #ffffff1c}.th-progress-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.th-progress-title span{color:#fff;font-size:13px;font-weight:900}.th-progress-title strong{color:var(--gold);font-size:15px}.th-progress-track{height:12px;overflow:hidden;border:2px solid #101624;border-radius:999px;background:#111827}.th-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c77a22,#ffd866)}.th-progress-block>small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.th-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.th-category-row{padding:8px;border:1px solid #3a4761;border-radius:9px;background:#151d30}.th-category-row>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.th-category-row span{overflow:hidden;color:#dce4f2;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.th-category-row strong{color:var(--gold);font-size:10px;white-space:nowrap}.th-category-row>div:last-child{height:7px;overflow:hidden;border-radius:999px;background:#0d1422}.th-category-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7540a9,#cc70ff)}.th-category-row.no-new-levels{opacity:.65}.th-category-row.no-new-levels i{background:#526078}.th-progress-refresh{display:grid;gap:4px;margin-top:15px;padding:11px;border:1px solid #725a31;border-radius:10px;background:#2b2418}.th-progress-refresh strong{color:var(--gold);font-size:12px}.th-progress-refresh span{color:var(--muted);font-size:10px;line-height:1.4}
.category-th-progress{padding:14px 18px;border-bottom:2px solid #34415d;background:linear-gradient(90deg,#1b2437,#202a3d)}.category-th-progress>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px}.category-th-progress span{color:#fff;font-size:13px;font-weight:900}.category-th-progress strong{color:var(--gold);font-size:20px}.category-th-track{height:14px;overflow:hidden;border:2px solid #101624;border-radius:999px;background:#0d1422;box-shadow:inset 0 2px 5px #0008}.category-th-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b3dbd,#cc70ff 72%,#ffd866)}.category-th-progress p{margin:6px 0 0;color:var(--muted);font-size:10px}.category-th-progress.no-new-levels{opacity:.75}.category-th-progress.no-new-levels .category-th-track i{background:#526078}.category-th-progress.refresh{display:block;background:#2b2418}.category-th-progress.refresh>div:first-child{margin:0}.category-th-progress.refresh strong{font-size:12px}
.category-overall-level{margin-top:13px;padding-top:11px;border-top:1px solid #ffffff1c}.category-overall-level>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.category-overall-level span{color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.category-overall-level strong{color:#fff;font-size:15px}.category-overall-track{height:9px;overflow:hidden;border-radius:999px;background:#0d1422}.category-overall-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3879b8,#69b9ff)}.category-th-progress.refresh .category-overall-level{margin-top:11px}.category-th-progress.refresh .category-overall-level>div:first-child{margin-bottom:7px}.category-th-progress.refresh .category-overall-level strong{font-size:15px}
.panel{margin:18px 0 26px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(#805232,#50301d);border-bottom:4px solid #2b190f}.panel-head h2{margin:0;font-size:21px}.badge{padding:6px 10px;border-radius:999px;background:linear-gradient(#ffe986,#dfa11e);color:#342000;font-size:12px;font-weight:900}.body{padding:20px}
.progression-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.village-switch{display:flex;gap:7px}.village-switch button{padding:9px 13px;border:2px solid #35415c;border-radius:999px;background:#151d30;color:#dce2ee;font-weight:900}.village-switch button.active{background:linear-gradient(#d17bff,#7b3bc1);border-color:#51266f}
.progression-empty{padding:38px 20px;border:2px dashed #48566f;border-radius:14px;background:#151d30;text-align:center}.progression-empty h3{margin:0 0 7px;color:var(--gold)}.progression-empty p{margin:0 0 15px;color:var(--muted)}
.progress-domain-tabs{display:flex;gap:9px;overflow-x:auto;margin:0 0 14px;padding:9px;border:3px solid #101624;border-radius:15px;background:#151d30;box-shadow:0 10px 25px #0003}.progress-domain-tabs button{flex:1 0 auto;min-width:112px;padding:11px 14px;border:2px solid #35415c;border-radius:10px;background:#202a3d;color:#dce2ee;font-weight:900;white-space:nowrap}.progress-domain-tabs button:hover{border-color:#76559a;transform:translateY(-1px)}.progress-domain-tabs button.active{border-color:#51266f;background:linear-gradient(#d17bff,#7b3bc1);color:#fff;box-shadow:inset 0 -3px 0 #4f246d99,0 6px 14px #0005}
.progress-overview-shell{overflow:hidden;border:3px solid #101624;border-radius:16px;background:linear-gradient(#253047,#182136);box-shadow:0 14px 32px #0004}
.progress-overview-heading{display:flex;justify-content:space-between;gap:22px;align-items:end;padding:17px 18px;border-bottom:2px solid #34415d;background:#151d30}
.progress-overview-heading h3{margin:4px 0 6px;color:var(--gold);font-size:21px}.progress-overview-heading p{max-width:640px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.source-kicker{color:#d7a6ff;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.progress-overview-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.progress-overview-summary span{min-width:94px;padding:9px 11px;border:2px solid #29344b;border-radius:10px;background:#101827;color:var(--muted);font-size:10px;text-align:center;text-transform:uppercase}.progress-overview-summary strong{display:block;margin-bottom:2px;color:#fff;font-size:18px}
.progress-filter-tabs{display:flex;gap:7px;overflow-x:auto;padding:12px 14px;border-bottom:2px solid #34415d;background:#202a3d}.progress-filter-tabs button{padding:8px 13px;border:2px solid #35415c;border-radius:999px;background:#151d30;color:#dce2ee;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}.progress-filter-tabs button:hover{border-color:#6d4a89}.progress-filter-tabs button.active{background:linear-gradient(#d17bff,#7b3bc1);border-color:#51266f;color:#fff;box-shadow:0 5px 12px #0004}
.structure-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;background:#20293b}.structure-progress-card{display:grid;grid-template-columns:82px minmax(0,1fr);min-width:0;overflow:hidden;border:3px solid #101624;border-radius:14px;background:#151d30;box-shadow:0 7px 15px #0003;transition:transform .15s ease,border-color .15s ease}.structure-progress-card:hover{transform:translateY(-2px);border-color:#56426f}
.progress-show-more{display:flex;margin:0 auto 14px}
.structure-progress-icon{position:relative;display:grid;place-items:center;min-height:102px;border-right:2px solid #101624;background:radial-gradient(circle at 50% 45%,#34415b,#111827 72%);overflow:hidden}.structure-progress-icon>span{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#202a3e;color:#aab6c9;font-size:12px;font-weight:900}.structure-progress-icon img{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);object-fit:contain;opacity:0;filter:drop-shadow(0 5px 5px #0009);transition:opacity .15s ease}.structure-progress-icon.loaded img{opacity:1}
.structure-progress-body{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.structure-progress-title{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:39px;padding:8px 11px;border-bottom:1px solid #34415d;background:#101827}.structure-progress-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.structure-progress-title>span{color:var(--muted);font-size:11px}
.structure-progress-status{position:relative;display:flex;align-items:center;min-height:39px;overflow:hidden;background:#182136}.structure-progress-status i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#533278,#8347b3)}.structure-progress-status span{position:relative;z-index:1;padding:8px 11px;color:#ece2f7;font-size:13px;font-weight:900;text-shadow:0 1px 2px #000}.structure-progress-status.maxed{background:#15251d}.structure-progress-status.maxed i{width:100%!important;background:linear-gradient(90deg,#1b6438,#2b8b50)}.structure-progress-status.maxed span{color:#c7f3d6}.structure-progress-status.maxed b{color:#73d89b;font-size:10px}
.structure-progress-meta{display:flex;justify-content:space-between;gap:8px;padding:7px 11px;border-top:1px solid #34415d;color:#9facbf;font-size:10px}.structure-progress-meta strong{color:var(--gold)}
.structure-progress-seasonal{margin-top:5px;padding:0 11px 8px;color:#d7a6ff;font-size:10px;font-weight:800;line-height:1.35}
.combat-progress-shell{margin-top:0}.combat-detail-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:14px 18px 4px;background:#20293b}.combat-detail-head h4{margin:3px 0 0;color:#fff;font-size:18px}.combat-detail-head>span{color:var(--muted);font-size:12px}
.combat-resource-tabs{display:flex;gap:7px;padding:12px 18px 4px;background:#20293b}.combat-resource-tabs button{padding:7px 13px;border:2px solid #35415c;border-radius:999px;background:#151d30;color:#dce2ee;font-weight:900}.combat-resource-tabs button:hover{border-color:#76559a}.combat-resource-tabs button.active{border-color:#51266f;background:linear-gradient(#d17bff,#7b3bc1);color:#fff;box-shadow:0 5px 12px #0004}
.footer{text-align:center;color:#8994aa;padding:20px 0 42px;line-height:1.5}
@media(max-width:1050px){.structure-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.progression-hero{grid-template-columns:1fr}.optional-nav{display:none}.progress-overview-heading{display:block}.progress-overview-summary{justify-content:flex-start;margin-top:12px}}
@media(max-width:650px){.topbar{align-items:flex-start;padding:12px 0}.brand .small{display:none}.page-nav{gap:5px}.page-nav .btn{padding:8px 10px;font-size:12px}.progression-toolbar{align-items:flex-start;flex-direction:column}.progression-hero{padding-top:28px}.th-category-grid{grid-template-columns:1fr}.body{padding:12px}.progress-domain-tabs button{min-width:98px;padding:9px 11px}.structure-progress-grid{grid-template-columns:1fr;padding:9px}.structure-progress-card{grid-template-columns:74px minmax(0,1fr)}.combat-detail-head{align-items:flex-start;flex-direction:column}}
.structure-progress-card.not-owned{opacity:.72;border-style:dashed;order:50}
.structure-progress-card.not-owned .structure-progress-icon{filter:grayscale(.45)}
.structure-progress-status.missing{background:#22283a;color:#b9c2d7}
.structure-progress-status.missing span{color:#b9c2d7;font-weight:800;letter-spacing:.04em}
