:root{--header-height: 72px;--bg-deep: #06060a;--bg-main: #0c0c12;--bg-card: rgba(18, 16, 24, .85);--bg-card-hover: rgba(28, 22, 32, .95);--gold: #c9a227;--gold-light: #e8c547;--gold-dim: #8a6d1a;--crimson: #8b1a1a;--crimson-bright: #c41e3a;--text: #e8e4dc;--text-muted: #9a958a;--border-gold: rgba(201, 162, 39, .35);--border-gold-strong: rgba(201, 162, 39, .6);--shadow-gold: 0 0 40px rgba(201, 162, 39, .12);--success: #2ecc71;--error: #e74c3c;font-family:Inter,system-ui,sans-serif;line-height:1.6;font-weight:400;color:var(--text);background-color:var(--bg-deep);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{min-height:100%;min-height:100dvh;background:var(--bg-deep);overflow-x:hidden}#root{min-height:100%;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:Cinzel,serif;font-weight:700;letter-spacing:.04em}a{color:var(--gold-light);text-decoration:none;transition:color .2s}a:hover{color:var(--gold)}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}::selection{background:#c9a22759;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:4px}.portal-index{--panel-w: clamp(280px, 16vw + 180px, 580px);--btn-ratio: 1377 / 504;--frame-ratio: 1438 / 978;--menu-ratio: 1490 / 179;--footer-height: clamp(44px, 2.2vw, 52px);--portal-text-xs: clamp(9px, .28vw + 7px, 11px);--portal-text-sm: clamp(10px, .32vw + 8px, 13px);--portal-text-md: clamp(11px, .38vw + 9px, 15px);--portal-text-lg: clamp(12px, .45vw + 10px, 17px);--portal-space-sm: clamp(4px, .5vw, 8px);--portal-space-md: clamp(8px, 1.2vw, 16px);--portal-space-lg: clamp(12px, 2vw, 24px);position:relative;min-height:100vh;min-height:100dvh;padding-bottom:var(--footer-height);overflow-x:hidden;overflow-y:auto;color:#f2dc9a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.portal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--portal-bg) center center / cover no-repeat fixed}.portal-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#00000029;background-image:radial-gradient(ellipse 52% 30% at 50% 16%,rgba(255,180,50,.15),transparent 62%),radial-gradient(ellipse 92% 82% at 50% 46%,transparent 40%,rgba(0,0,0,.38) 100%),radial-gradient(ellipse 88% 48% at 50% 100%,rgba(50,8,4,.5),transparent 58%)}.portal-btn{display:grid;place-items:center;aspect-ratio:var(--btn-ratio);color:#fff5c8;font-weight:700;letter-spacing:.06em;text-shadow:0 2px 3px rgba(0,0,0,.85);background:var(--portal-btn-bg) center center / contain no-repeat;transition:filter .2s,transform .15s}.portal-btn:hover{filter:brightness(1.12) drop-shadow(0 0 8px rgba(255,180,40,.45));transform:scale(1.03)}.portal-btn.is-active{filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,200,60,.55))}.portal-nav{position:relative;z-index:3;display:flex;justify-content:center;padding-top:8px}.portal-nav-bar{position:relative;display:flex;align-items:center;justify-content:center;width:min(clamp(300px,58vw,1500px),98vw);aspect-ratio:var(--menu-ratio);background:var(--portal-nav-bg) center center / contain no-repeat}.portal-nav-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(4px,.8vw,12px);padding:0 clamp(8px,1.8vw,28px);transform:translateY(clamp(-11px,-.6vw,-17px))}.portal-nav-btn{width:clamp(76px,5.4vw,148px);font-size:clamp(8px,.48vw + 5px,12px)}.portal-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding-top:clamp(12px,2vh,28px);text-align:center}.portal-logo{width:clamp(160px,12vw + 80px,400px);height:auto;filter:drop-shadow(0 0 20px rgba(255,180,40,.5))}.portal-player-count{margin:clamp(4px,1.2vh,18px) 0 0;color:#f5d060;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.2vw + .6rem,2.2rem);font-weight:700;letter-spacing:.04em;text-shadow:0 2px 4px rgba(0,0,0,.9),0 0 16px rgba(255,150,30,.5)}.portal-panels{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(12px,2.5vw,44px);margin-top:clamp(8px,1.8vh,32px);padding:0 clamp(8px,1.5vw,20px);padding-bottom:clamp(8px,1.5vh,24px)}.portal-panel{position:relative;width:var(--panel-w);aspect-ratio:var(--frame-ratio);background:var(--portal-panel-bg) center center / 100% 100% no-repeat}.portal-panel h2{position:absolute;top:14.2%;left:10%;right:10%;height:5.8%;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#f0d070;font-family:Georgia,Times New Roman,serif;font-size:var(--portal-text-sm);font-weight:700;letter-spacing:.04em;line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none}.portal-panel-content{position:absolute;top:21.5%;left:10.5%;right:10.5%;bottom:12.8%;overflow:hidden}.portal-page-home{--panel-w: clamp(300px, 17vw + 200px, 650px)}.portal-page-home .portal-panel h2{top:12.8%;font-size:var(--portal-text-md)}.portal-page-home .portal-news-list{gap:var(--portal-space-md);padding:clamp(12px,1.5vw,22px) clamp(6px,.8vw,12px) 0}.portal-page-home .portal-news-item{gap:var(--portal-space-md)}.portal-page-home .portal-news-item img{width:clamp(28px,2.2vw,40px);height:clamp(28px,2.2vw,40px)}.portal-page-home .portal-news-item time{font-size:var(--portal-text-xs)}.portal-page-home .portal-news-item p{font-size:var(--portal-text-sm)}.portal-page-home .portal-mode-btn{width:min(100%,clamp(260px,92%,400px));font-size:clamp(9px,.55vw + 7px,14px);letter-spacing:.02em;padding:0 clamp(8px,1.5vw,16px)}.portal-news-list{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;height:100%;padding:20px 6px 0 10px}.portal-news-item{display:flex;align-items:center;gap:10px}.portal-news-item img{flex-shrink:0;width:36px;height:36px;object-fit:contain}.portal-news-item>div{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-news-item time{display:block;color:#dcbe82bf;font-size:10px;line-height:1.1}.portal-news-item p{margin:0;color:#f0dcb4eb;font-size:11px;font-weight:600;line-height:1.2}.portal-download-panel .portal-panel-content{display:flex;align-items:center;justify-content:center}.portal-download-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.portal-mode-list{display:flex;align-items:center;justify-content:center;width:100%;padding:0 clamp(4px,1vw,12px);box-sizing:border-box}.portal-mode-btn{width:min(100%,clamp(240px,85%,380px));font-size:clamp(9px,.5vw + 7px,13px);letter-spacing:.02em;white-space:nowrap;padding:0 clamp(8px,1.2vw,14px);box-sizing:border-box;line-height:1.1}.portal-footer{position:fixed;bottom:clamp(8px,1.5vh,20px);left:0;right:0;z-index:4;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.5vw,6px);color:#dcc8a0cc;font-size:var(--portal-text-xs);text-shadow:0 1px 2px rgba(0,0,0,.9);pointer-events:auto}.portal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,2vw,24px)}.portal-footer a,.portal-footer p{color:inherit;margin:0}.portal-page-rankings{--panel-w: min(clamp(320px, 42vw + 40px, 1320px), 96vw)}.portal-page-rankings .portal-panel h2{top:13.5%;font-size:var(--portal-text-md)}.portal-page-auth .portal-panels,.portal-page-profile .portal-panels{justify-content:center}.portal-page-login{--panel-w: min(clamp(280px, 28vw + 60px, 900px), 94vw)}.portal-page-login .portal-panel-login h2{top:13.2%;font-size:var(--portal-text-lg)}.portal-page-login .portal-panel-login .portal-panel-content{display:flex;align-items:center;justify-content:center}.portal-page-login .portal-form-login{width:100%;max-width:100%;gap:var(--portal-space-md);padding:0;overflow:hidden;justify-content:center;box-sizing:border-box}.portal-page-login .portal-field{gap:var(--portal-space-sm)}.portal-page-login .portal-field label{font-size:var(--portal-text-sm);letter-spacing:.05em}.portal-page-login .portal-field input{width:100%;box-sizing:border-box;padding:clamp(7px,.8vw,10px) clamp(8px,1vw,12px);font-size:var(--portal-text-md)}.portal-page-login .portal-form-alert{padding:var(--portal-space-md);font-size:var(--portal-text-sm);line-height:1.4}.portal-page-login .portal-form-submit{max-width:clamp(200px,40%,300px);font-size:var(--portal-text-sm);margin-top:var(--portal-space-sm)}.portal-page-intro{--panel-w: min(clamp(320px, 30vw + 80px, 920px), 94vw)}.portal-page-intro .portal-panel-intro h2{top:13.2%;font-size:var(--portal-text-lg)}.portal-page-intro .portal-panel-intro .portal-panel-content{display:flex;align-items:center;justify-content:center}.portal-intro-content{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--portal-space-md);text-align:center}.portal-intro-soon{margin:0;color:#f0dcb4d9;font-family:Georgia,Times New Roman,serif;font-size:var(--portal-text-lg);font-weight:600;letter-spacing:.03em;line-height:1.5}.portal-page-download{--panel-w: min(clamp(320px, 30vw + 80px, 920px), 94vw)}.portal-page-download .portal-panel-download h2{top:13.2%;font-size:var(--portal-text-lg)}.portal-page-download .portal-panel-download .portal-panel-content{display:flex;align-items:center;justify-content:center}.portal-page-download .portal-download-info{gap:var(--portal-space-lg);padding:var(--portal-space-md)}.portal-page-download .portal-download-info p{font-size:var(--portal-text-md);line-height:1.55;max-width:36em}.portal-page-download .portal-download-steps{gap:var(--portal-space-sm);font-size:var(--portal-text-sm)}.portal-download-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(8px,1.4vw,14px);margin-top:4px;width:100%;padding:0 clamp(4px,1vw,12px);box-sizing:border-box}.portal-download-action-btn{flex:1 1 0;min-width:0;max-width:clamp(150px,38%,210px);width:auto;font-size:clamp(8px,.36vw + 6px,11px);letter-spacing:.02em;white-space:nowrap;padding:0 clamp(6px,1vw,10px);box-sizing:border-box;line-height:1.1;text-decoration:none}.portal-download-actions:has(>:only-child) .portal-download-action-btn{flex:0 1 auto;width:min(100%,clamp(240px,62%,320px));max-width:min(100%,clamp(240px,62%,320px));font-size:clamp(9px,.48vw + 7px,13px);padding:0 clamp(8px,1.4vw,14px)}.portal-page-register{--panel-w: min(clamp(320px, 38vw + 80px, 1220px), 92vw)}.portal-page-register .portal-panel-register h2{top:12.8%;font-size:var(--portal-text-md)}.portal-page-register .portal-panel-register .portal-panel-content{top:23%;bottom:8%;overflow:hidden;display:flex;flex-direction:column}.portal-register-layout{display:flex;flex-direction:column;height:100%;min-height:0}.portal-register-alert{flex-shrink:0;margin-bottom:var(--portal-space-sm);padding:var(--portal-space-md);font-size:var(--portal-text-sm);line-height:1.35}.portal-register-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:4px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.45) transparent}.portal-register-scroll::-webkit-scrollbar{width:5px}.portal-register-scroll::-webkit-scrollbar-thumb{border-radius:3px;background:#c9a22773}.portal-page-register .portal-form-register{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));column-gap:var(--portal-space-md);row-gap:var(--portal-space-sm);height:auto;min-height:min-content;padding:0;overflow:visible;align-content:start;width:100%;max-width:100%;box-sizing:border-box}.portal-page-register .portal-field-wide,.portal-page-register .portal-form-submit-full{grid-column:1 / -1}.portal-page-register .portal-field{gap:4px;min-width:0}.portal-page-register .portal-field label{font-size:var(--portal-text-sm);letter-spacing:.05em}.portal-page-register .portal-field input{width:100%;box-sizing:border-box;padding:clamp(6px,.7vw,8px) clamp(8px,.9vw,10px);font-size:var(--portal-text-sm)}.portal-page-register .portal-field-hint{font-size:var(--portal-text-xs);line-height:1.25;color:#d7be91eb}.portal-page-register .portal-form-submit-full{width:clamp(180px,52%,260px);max-width:260px;justify-self:center;margin-top:var(--portal-space-sm);margin-bottom:2px;font-size:var(--portal-text-sm)}.portal-page-profile{--panel-w: min(clamp(280px, 20vw + 100px, 580px), calc(50vw - 24px) )}.portal-page-profile .portal-panels{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:center}.portal-page-profile .portal-panel-profile h2,.portal-page-profile .portal-panel-characters h2{top:13.2%;font-size:var(--portal-text-lg)}.portal-page-profile .portal-panel-profile .portal-panel-content,.portal-page-profile .portal-panel-characters .portal-panel-content{display:flex;align-items:center;justify-content:center;overflow:hidden}.portal-profile-info{width:100%;height:auto;min-height:0;padding:0;overflow:visible;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--portal-space-md);row-gap:var(--portal-space-md);align-content:center;box-sizing:border-box}.portal-profile-row{display:flex;flex-direction:column;gap:var(--portal-space-sm);min-width:0}.portal-profile-label{color:#dcbe82bf;font-size:var(--portal-text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.portal-profile-value{color:#f5e6b8;font-size:var(--portal-text-sm);font-weight:600;line-height:1.3;word-break:break-word}.portal-profile-value.portal-profile-empire{display:flex;align-items:center;min-height:clamp(24px,2.8vw,32px)}.portal-profile-logout{grid-column:1 / -1;width:clamp(180px,48%,260px);max-width:260px;justify-self:center;margin-top:var(--portal-space-sm);font-size:var(--portal-text-sm);border:none;cursor:pointer}.portal-page-profile .portal-panel-characters .portal-panel-content{align-items:stretch;justify-content:stretch;top:18.5%;bottom:11%}.portal-profile-char-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,clamp(56px,7vh,76px)));align-content:center;transform:translateY(clamp(-6px,-1vh,-14px));gap:clamp(6px,.9vw,10px);width:100%;height:100%;min-height:0;padding:clamp(2px,.4vw,6px);overflow:hidden;box-sizing:border-box}.portal-char-card{display:flex;flex-direction:column;justify-content:center;gap:clamp(1px,.25vw,3px);min-width:0;min-height:0;max-height:100%;padding:clamp(5px,.65vw,8px);border:1px solid rgba(201,162,39,.28);border-radius:4px;background:#0804029e;box-shadow:inset 0 0 12px #00000059;overflow:hidden}.portal-char-card-level{color:#f0d070;font-size:var(--portal-text-xs);font-weight:700;letter-spacing:.04em;line-height:1.2}.portal-char-card-name{margin:0;color:#f5e6b8;font-size:clamp(11px,.9vw + 7px,14px);font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-char-card-meta{margin:0;color:#dcbe82e0;font-size:var(--portal-text-xs);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-char-card-stats{margin:0;color:#c8aa78d1;font-size:clamp(9px,.35vw + 7px,11px);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-panel-wide{--panel-w: inherit}.portal-panel-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:12px}.portal-panel-tab{width:clamp(120px,20vw,160px);font-size:11px}.portal-panel-tab.is-active{filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,200,60,.55))}.portal-page-rankings .portal-panel-content{display:flex;flex-direction:column;top:20.5%;bottom:12%;overflow:hidden}.portal-page-rankings .portal-panel-tabs{flex-shrink:0;gap:12px;margin-bottom:10px}.portal-page-rankings .portal-panel-tab{width:clamp(110px,12vw,190px);font-size:var(--portal-text-sm)}.portal-page-rankings .portal-message{font-size:var(--portal-text-sm);padding:clamp(16px,2vw,28px) var(--portal-space-md)}.portal-rankings-wrap{flex:1;min-height:0;overflow:auto;padding:6px 6px 0;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.45) transparent}.portal-rankings-wrap::-webkit-scrollbar{width:5px}.portal-rankings-wrap::-webkit-scrollbar-thumb{border-radius:3px;background:#c9a22773}.portal-rankings-table{width:100%;border-collapse:collapse;font-size:var(--portal-text-sm);line-height:1.3}.portal-rankings-table th,.portal-rankings-table td{padding:clamp(4px,.5vw,7px) clamp(6px,.7vw,10px);text-align:left;border-bottom:1px solid rgba(201,162,39,.15);color:#f0dcb4eb}.portal-rankings-table th{color:#f0d070;font-size:var(--portal-text-xs);padding:clamp(5px,.6vw,8px) clamp(6px,.7vw,10px);text-transform:uppercase;letter-spacing:.06em}.portal-rankings-table tr.top-1 .rank-cell{color:gold}.portal-rankings-table tr.top-2 .rank-cell{color:silver}.portal-rankings-table tr.top-3 .rank-cell{color:#cd7f32}.portal-rankings-table .name-cell{color:#f5e6b8;font-weight:600}.portal-rankings-table .align-good{color:#6fcf97}.portal-rankings-table .align-bad{color:#e57373}.portal-rankings-table .win-cell{color:#6fcf97}.portal-rankings-table .empire-flag{width:clamp(40px,3.5vw,62px);height:clamp(20px,1.75vw,31px)}.portal-message{text-align:center;padding:24px 12px;color:#dcbe82cc;font-size:12px}.portal-message.error{color:#e57373}.portal-form{display:flex;flex-direction:column;gap:10px;height:100%;padding:8px 6px 0;overflow-y:auto}.portal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-field{display:flex;flex-direction:column;gap:4px}.portal-field label{color:#dcbe82d9;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.portal-field input{padding:8px 10px;border:1px solid rgba(201,162,39,.35);border-radius:3px;background:#080402bf;color:#f5e6b8;font-size:12px}.portal-field input:focus{outline:none;border-color:#f0be50b3;box-shadow:0 0 8px #ffb42833}.portal-field-hint{color:#c8aa78a6;font-size:9px}.portal-form-alert{padding:8px 10px;border-radius:3px;font-size:11px;text-align:center}.portal-form-alert.success{color:#a8e6b0;background:#28503259;border:1px solid rgba(100,180,120,.3)}.portal-form-alert.error{color:#f0a0a0;background:#501e1e59;border:1px solid rgba(180,80,80,.3)}.portal-form-submit{width:100%;max-width:280px;margin:6px auto 0;font-size:13px;border:none;cursor:pointer}.portal-download-info{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;padding:12px;text-align:center}.portal-download-info p{margin:0;color:#f0dcb4e6;font-size:11px;line-height:1.5}.portal-download-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;color:#dcbe82d9;font-size:10px}@media (max-width: 1024px){.portal-panels{flex-direction:column;align-items:center}.portal-page-profile{--panel-w: min(clamp(300px, 32vw + 60px, 860px), 94vw)}.portal-page-register .portal-form-register,.portal-profile-info,.portal-form-row{grid-template-columns:1fr}}@media (max-width: 600px){.portal-nav-btn{width:clamp(72px,28vw,120px);font-size:clamp(8px,2.8vw,10px)}.portal-nav-links{gap:4px;transform:translateY(-8px)}.portal-page-rankings .portal-panel-tab{width:clamp(100px,36vw,150px)}.portal-rankings-table{min-width:min(560px,180vw)}.portal-download-actions{flex-wrap:wrap}.portal-download-action-btn{flex:1 1 clamp(130px,42vw,180px);max-width:none}.portal-download-actions:has(>:only-child) .portal-download-action-btn{flex:0 1 auto;width:min(100%,clamp(220px,78%,300px));max-width:none}}@media (max-height: 820px){.portal-hero{padding-top:clamp(2px,.8vh,12px)}.portal-logo{width:clamp(140px,10vw + 60px,320px)}.portal-player-count{margin-top:clamp(2px,.6vh,8px);font-size:clamp(.9rem,1vw + .5rem,1.6rem)}.portal-panels{margin-top:clamp(4px,1vh,16px);gap:clamp(8px,1.5vw,20px)}}@media (min-width: 2200px){.portal-nav-bar{width:min(1500px,92vw)}}.empire-flag{display:block;width:52px;height:26px;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px #c9a22738}
