/* Lineage2 Webportal unified portal design v4.18
 * Consolidates the former portal-ui.css and portal-v4.css layers.
 */

:root{--portal-bg:#11151a;--portal-panel:#191f26;--portal-panel-2:#202832;--portal-line:rgba(255,255,255,.12);--portal-text:#f3f5f7;--portal-muted:#aab3be;--portal-accent:#c89b4b;--portal-info:#36b9d4;--portal-good:#50c878;--portal-bad:#e05d5d}
.dropdown-menu-dark{background:#151a20;border:1px solid var(--portal-line);box-shadow:0 18px 35px rgba(0,0,0,.35)}.dropdown-menu-dark .dropdown-item{color:#e8edf2}.dropdown-menu-dark .dropdown-item:hover{background:#26313b;color:#fff}
.portal-page-hero,.ucp-module-hero{position:relative;padding:34px;margin:-1px -1px 26px;background:radial-gradient(circle at 85% 20%,rgba(54,185,212,.18),transparent 32%),linear-gradient(135deg,#161d24,#252018);border-bottom:1px solid var(--portal-line);overflow:hidden}.portal-page-hero:after,.ucp-module-hero:after{content:"";position:absolute;inset:auto -80px -100px auto;width:300px;height:300px;border:1px solid rgba(200,155,75,.2);border-radius:50%}.portal-page-hero>span,.ucp-module-hero>a{display:inline-flex;align-items:center;gap:8px;color:#d8b773;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}.portal-page-hero h1,.ucp-module-hero h1{margin:9px 0 4px;color:#fff;font-size:clamp(1.8rem,4vw,3rem)}.portal-page-hero p,.ucp-module-hero p{margin:0;color:var(--portal-muted);max-width:760px}
.portal-card-grid,.news-grid,.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;padding:0 18px 28px}.portal-content-card,.news-card,.shop-card{position:relative;background:linear-gradient(150deg,rgba(35,43,52,.95),rgba(18,22,27,.98));border:1px solid var(--portal-line);border-radius:12px;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,.22);transition:transform .2s,border-color .2s}.portal-content-card:hover,.news-card:hover,.shop-card:hover{transform:translateY(-3px);border-color:rgba(200,155,75,.45)}.portal-card-icon{height:86px;display:grid;place-items:center;background:linear-gradient(130deg,rgba(54,185,212,.18),rgba(200,155,75,.15));font-size:2rem;color:#e3bf78}.portal-card-body,.news-card-body{padding:20px}.portal-card-body h3,.news-card h2,.shop-card h3{color:#fff}.portal-card-body p,.news-card p,.shop-card p{color:var(--portal-muted)}.portal-button-row{display:flex;gap:8px;margin-top:18px}.portal-meta-row{display:flex;flex-wrap:wrap;gap:12px;color:#b9c2cb;font-size:.82rem}.checksum-box{margin-top:12px;background:#0c1014;border:1px solid var(--portal-line);padding:9px;border-radius:6px}.checksum-box code{display:block;overflow-wrap:anywhere;color:#d6dce2;margin-top:8px}
.portal-empty,.shop-disabled{margin:30px 18px;padding:55px 25px;text-align:center;border:1px dashed rgba(255,255,255,.2);border-radius:12px;background:rgba(0,0,0,.18);color:var(--portal-muted)}.portal-empty>i,.shop-disabled>i{font-size:3rem;color:#d1aa60;margin-bottom:16px}.portal-empty h3,.shop-disabled h2{color:#fff}
.rate-section{padding:0 18px 26px}.rate-section h2{color:#e0c27f;border-bottom:1px solid var(--portal-line);padding-bottom:8px}.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.rate-card{display:flex;align-items:center;gap:14px;background:var(--portal-panel);border:1px solid var(--portal-line);padding:16px;border-radius:9px}.rate-card>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(200,155,75,.13);color:#e1ba6c}.rate-card span,.rate-card small{display:block;color:var(--portal-muted)}.rate-card strong{display:block;color:#fff;font-size:1.3rem}.rate-card small{font-size:.75rem}
.event-timeline{padding:0 18px 28px}.event-card{display:grid;grid-template-columns:auto 90px 1fr;gap:0;background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:10px;overflow:hidden;margin-bottom:15px}.event-image{width:180px;min-height:150px;background-size:cover;background-position:center}.event-date{display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(0,0,0,.22);border-right:1px solid var(--portal-line)}.event-date strong{font-size:1.35rem;color:#e3c177}.event-date span{color:#fff}.event-content{padding:18px}.event-content h3{color:#fff}.event-content p{color:var(--portal-muted)}.event-labels{display:flex;gap:8px;margin-bottom:6px}.event-labels span,.event-labels b{font-size:.68rem;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#303b46;color:#dce3e9}.event-live{border-color:rgba(80,200,120,.5)}.event-live .event-labels b{background:#2b7042}.event-past{opacity:.65}
.portal-maintenance-banner{display:flex;gap:16px;align-items:flex-start;margin:0 18px 22px;padding:16px;border:1px solid rgba(200,155,75,.35);background:rgba(200,155,75,.08);border-radius:9px;color:#d9e0e6}.portal-maintenance-banner>i{font-size:1.6rem;color:#e1b864}.portal-maintenance-banner p{margin:2px 0;color:var(--portal-muted)}
.news-image,.home-news-image{display:block;background-size:cover;background-position:center}.news-image{height:180px}.news-meta{display:flex;align-items:center;gap:10px;font-size:.75rem;text-transform:uppercase;color:#9da8b3}.news-meta span{color:#e0b967}.news-meta time{margin-left:auto}.news-card h2{font-size:1.35rem;margin:11px 0}.news-card h2 a,.home-news-item h3 a{color:#fff}.news-read-more{color:#63c9dc;font-weight:700}.portal-filter-row,.ranking-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 20px}.article-page{padding:24px 28px}.article-cover{height:min(40vw,420px);background-size:cover;background-position:center;border-radius:12px;margin-bottom:24px}.article-page h1{color:#fff;font-size:clamp(2rem,5vw,3.5rem)}.article-lead{font-size:1.2rem;color:#d3dae1;border-left:3px solid #d0a651;padding-left:15px}.article-content{color:#d5dce3;font-size:1.03rem;line-height:1.75}
.portal-search{display:flex;gap:8px;padding:0 18px 20px}.online-summary{display:flex;align-items:baseline;gap:8px;padding:0 18px 10px;color:var(--portal-muted)}.online-summary strong{font-size:2rem;color:#fff}.portal-table{margin-bottom:0}.portal-table td,.portal-table th{vertical-align:middle;border-color:rgba(255,255,255,.1)}.portal-table td small{display:block;color:#818d98}.portal-table a{color:#f2f5f7}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#53ce7a;box-shadow:0 0 10px #53ce7a;margin-right:7px}
.character-profile-hero{display:flex;align-items:center;gap:20px;padding:30px;background:linear-gradient(135deg,#202934,#181c20);border-bottom:1px solid var(--portal-line)}.character-avatar{position:relative;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#10151a;border:1px solid #6b7782;font-size:2rem;color:#d8b66e}.character-avatar span{position:absolute;right:4px;bottom:5px;width:15px;height:15px;border:3px solid #151a20;border-radius:50%}.character-avatar .is-online{background:#52cc78}.character-avatar .is-offline{background:#6a727b}.character-profile-hero h1{color:#fff;margin:0}.character-profile-hero small{color:#d8b66e}.character-profile-hero p{color:#aab4bd;margin:0}.character-level{margin-left:auto;text-align:center}.character-level span{display:block;color:#929ca6}.character-level strong{font-size:3rem;color:#fff}.profile-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:20px}.profile-stat-grid>div{padding:18px;background:var(--portal-panel);border:1px solid var(--portal-line);border-radius:9px}.profile-stat-grid i{color:#d8ad5b}.profile-stat-grid span{display:block;color:#9da7b1;font-size:.78rem;text-transform:uppercase}.profile-stat-grid strong{display:block;color:#fff;margin-top:6px}.privacy-note{margin:0 20px 25px;color:#9ba6b0}
.shop-card{padding:18px}.shop-card img,.shop-placeholder{width:100%;height:170px;object-fit:contain;background:rgba(0,0,0,.25);border-radius:8px;margin-bottom:15px}.shop-placeholder{display:grid;place-items:center;font-size:3rem;color:#737d87}.shop-category{font-size:.72rem;text-transform:uppercase;color:#d4aa59}.shop-reward{color:#aeb8c1;font-size:.85rem}.shop-price{color:#e4bd6e;font-weight:700;font-size:1.2rem;margin:12px 0}.risk-power{border-color:rgba(224,93,93,.45)}.risk-utility{border-color:rgba(54,185,212,.4)}
.ranking-tabs a{padding:8px 13px;color:#dce2e7;background:#202832;border:1px solid var(--portal-line);border-radius:5px}.ranking-tabs a.active{background:#b68a42;color:#111}.rank-number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#313b46}.rank-1{background:#d5ac4f;color:#111}.rank-2{background:#aeb8c1;color:#111}.rank-3{background:#a86f43;color:#111}
.home-quick-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:20px 0}.home-quick-nav a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 7px;background:#1c232a;border:1px solid var(--portal-line);color:#fff;border-radius:8px}.home-quick-nav a:hover{border-color:#c49a4d;text-decoration:none}.home-quick-nav i{color:#dfb45f;font-size:1.4rem}.home-news-list{margin-bottom:18px}.home-news-item{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:13px;background:#1b2229;border:1px solid var(--portal-line);border-radius:8px;margin-bottom:11px}.home-news-image{min-height:115px;border-radius:6px}.home-news-item h3{margin:6px 0}.home-news-item p{color:#9faab4;margin:0}.home-event-strip{display:grid;gap:8px;margin-bottom:25px}.home-event-strip a{display:flex;align-items:center;gap:15px;padding:13px;background:#1c232a;border:1px solid var(--portal-line);color:#fff}.home-event-strip time{color:#dcb362;font-weight:700}.home-event-strip div{flex:1}.home-event-strip small{display:block;color:#939eaa}
.side-server-status{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:8px;border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line);font-size:.8rem}.side-server-status span i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.side-server-status .is-online i{background:#50c878}.side-server-status .is-offline i{background:#e05d5d}
.ucp-action-panel,.referral-attach-form{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;margin:15px 20px;background:#1c232a;border:1px solid var(--portal-line);border-radius:9px}.ucp-action-panel h3{color:#fff}.ucp-action-panel p{color:#9da8b2;margin:0}.ucp-section-title{color:#fff;padding:16px 20px 5px}.referral-code-card{display:flex;align-items:center;gap:15px;margin:18px;padding:20px;background:linear-gradient(130deg,#2b2520,#1a2228);border:1px solid rgba(200,155,75,.4);border-radius:10px}.referral-code-card span{color:#b6c0c9}.referral-code-card strong{font-size:1.6rem;letter-spacing:.12em;color:#f0c774;flex:1}.referral-attach-form>div{flex:1}.referral-attach-form label{color:#ddd}
@media(max-width:991px){.home-quick-nav{grid-template-columns:repeat(3,1fr)}.event-card{grid-template-columns:75px 1fr}.event-image{grid-column:1/-1;width:100%;height:180px}.event-date{grid-column:1}.event-content{grid-column:2}.character-profile-hero{flex-wrap:wrap}.character-level{margin-left:0}.ucp-action-panel,.referral-attach-form{align-items:stretch;flex-direction:column}.referral-code-card{flex-wrap:wrap}}
@media(max-width:600px){.portal-page-hero,.ucp-module-hero{padding:24px 18px}.portal-card-grid,.news-grid,.shop-grid{grid-template-columns:1fr;padding-left:10px;padding-right:10px}.event-card{display:block}.event-date{padding:12px;flex-direction:row;gap:10px}.home-quick-nav{grid-template-columns:repeat(2,1fr)}.home-news-item{grid-template-columns:1fr}.home-news-image{height:160px}.profile-stat-grid{grid-template-columns:repeat(2,1fr);padding:10px}.referral-code-card strong{font-size:1.2rem}.portal-button-row{flex-direction:column}}
/* Portal v3 */
.l2-language-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.language-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(0,0,0,.2);color:#e8edf2;font-size:.72rem;line-height:1}.language-pill:hover,.language-pill.is-active{color:#111;background:#d4ad60;border-color:#d4ad60;text-decoration:none}.language-pill span{font-size:1rem}.language-pill b{font-size:.62rem}.nav-language-wrap{padding:8px 0}.landing-topbar .l2-language-switcher{justify-content:flex-end}

.portal-tabs{display:flex;gap:8px;padding:0 18px 18px}.portal-tabs a{padding:8px 14px;border:1px solid var(--portal-line);border-radius:7px;background:#1d242b;color:#e9edf0}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0 18px 24px}.hero-card{display:flex;align-items:center;gap:12px;padding:15px;background:linear-gradient(140deg,#2a251d,#171c21);border:1px solid rgba(218,176,91,.35);border-radius:9px;color:#fff}.hero-card i{color:#f0c456;font-size:1.4rem}.hero-card span{display:block;color:#aab4bd;font-size:.78rem}
.clan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;padding:0 18px 28px}.clan-card{display:flex;gap:15px;padding:18px;background:#1a2128;border:1px solid var(--portal-line);border-radius:10px;color:#fff}.clan-card:hover{border-color:#c59a4c;text-decoration:none;transform:translateY(-2px)}.clan-crest-fallback{width:60px;height:70px;display:grid;place-items:center;background:linear-gradient(150deg,#7b5a27,#2b241b);clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%);font-size:1.7rem}.clan-card-main{flex:1}.clan-card h3{margin:0;color:#fff}.clan-card p{display:flex;justify-content:space-between;color:#8f9aa4}.clan-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.clan-card-stats span{padding:7px;background:#11171c;text-align:center;color:#87929d;font-size:.68rem}.clan-card-stats b{display:block;color:#fff;font-size:1rem}.clan-profile-hero{display:flex;align-items:center;gap:20px;padding:30px;background:linear-gradient(135deg,#282217,#151c23)}.clan-profile-crest{width:90px;height:110px;display:grid;place-items:center;background:linear-gradient(150deg,#a77d36,#312719);clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%);color:#fff;font-size:2.4rem}.clan-profile-hero h1{color:#fff}.clan-profile-hero span{color:#deb86a;text-transform:uppercase;letter-spacing:.12em}.profile-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;padding:20px}.profile-metric-grid>div{background:#1c232a;border:1px solid var(--portal-line);padding:15px;border-radius:8px}.profile-metric-grid span{display:block;color:#8e99a4;font-size:.72rem;text-transform:uppercase}.profile-metric-grid strong{color:#fff;font-size:1.15rem}

.achievement-section{padding-bottom:20px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:13px;padding:0 18px}.achievement-badge{display:flex;gap:13px;padding:16px;border:1px solid var(--portal-line);border-radius:11px;background:linear-gradient(145deg,#202832,#14191e)}.achievement-badge.is-locked{filter:grayscale(.75);opacity:.55}.achievement-medallion{flex:0 0 64px;height:64px;display:grid;place-items:center;border-radius:50%;border:4px double #e0b55d;background:radial-gradient(circle,#44351f,#161b20);color:#f4cf7f;font-size:1.55rem;box-shadow:0 0 0 3px rgba(200,155,75,.12)}.badge-red .achievement-medallion{border-color:#c75d5d;color:#ef8a8a}.badge-blue .achievement-medallion{border-color:#4c87bb;color:#8fc7f0}.badge-green .achievement-medallion{border-color:#4fa66c;color:#86d6a0}.badge-purple .achievement-medallion{border-color:#8c62b3;color:#c8a1eb}.badge-diamond .achievement-medallion{border-color:#86d5e3;color:#c4f2f6}.badge-bronze .achievement-medallion{border-color:#9d6a3b;color:#d6a372}.achievement-badge h3{color:#fff;font-size:1rem;margin:0}.achievement-badge p{color:#959faa;font-size:.8rem;margin:4px 0}.achievement-progress{height:5px;background:#0d1115;border-radius:999px;overflow:hidden}.achievement-progress span{display:block;height:100%;background:linear-gradient(90deg,#9b7134,#e6c16f)}.achievement-badge small{color:#bbc3cb}
.status-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#333f49;color:#dce2e7;font-size:.7rem}.status-badge.ok{background:#245f38;color:#9be3b3}.status-badge.bad{background:#6f2929;color:#f5a3a3}
.ucp-character-summary-grid{display:grid;gap:8px;padding:0 18px}.ucp-character-summary-grid>a{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:12px;background:#1b2229;border:1px solid var(--portal-line);border-radius:8px;color:#fff}.offline-dot{width:8px;height:8px;border-radius:50%;background:#707983}.ucp-character-summary-grid small{display:block;color:#8f9aa5}.campaign-redeem-card{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:20px;margin:0 18px 24px;background:linear-gradient(135deg,#272217,#182027);border:1px solid rgba(200,155,75,.4);border-radius:12px}.campaign-redeem-card>div>i{font-size:2rem;color:#e1b968}.campaign-redeem-card h2{color:#fff}.campaign-redeem-card p{color:#a4aeb7}.campaign-redeem-card form{display:grid;gap:9px}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px;padding:0 18px 25px}.campaign-grid article{padding:18px;background:#1b2229;border:1px solid var(--portal-line);border-radius:10px}.campaign-grid article>span{color:#dab15e;text-transform:uppercase;font-size:.7rem}.campaign-grid h3{color:#fff}.campaign-grid p{color:#9ca7b0}.campaign-grid article>div small,.campaign-grid article>div strong{display:block}.campaign-grid strong{color:#fff}.campaign-grid time{display:block;margin-top:10px;color:#8d98a3}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;padding:0 18px 28px}.package-card{padding:18px;background:#1b2229;border:1px solid var(--portal-line);border-radius:12px}.package-card>img,.package-visual{width:100%;height:170px;object-fit:contain;background:#11161a;border-radius:8px}.package-visual{display:grid;place-items:center;color:#d7ae5c;font-size:3rem}.package-card>span{display:inline-block;margin-top:12px;color:#deb561;font-size:.72rem;text-transform:uppercase}.package-card h3{color:#fff}.package-card p{color:#9ca7b0}.package-card ul{list-style:none;padding:0}.package-card li{display:flex;align-items:center;gap:8px;padding:7px;border-bottom:1px solid var(--portal-line)}.package-card li i{color:#d5a955}.package-card li strong{flex:1;color:#fff}.package-card li span{color:#aab4bd}

.home-v3-columns-single{grid-template-columns:minmax(0,1fr)!important}

/* Community and responsive extensions */
:root {
    --v4-bg: #07090d;
    --v4-bg-soft: #0e1219;
    --v4-panel: rgba(15, 19, 27, .88);
    --v4-panel-strong: rgba(10, 13, 19, .96);
    --v4-line: rgba(255, 255, 255, .10);
    --v4-line-gold: rgba(216, 173, 85, .34);
    --v4-text: #f4f1e8;
    --v4-muted: #a8adb8;
    --v4-gold: #d8ad55;
    --v4-gold-light: #f4d790;
    --v4-danger: #e56868;
    --v4-ok: #5fd3a0;
    --v4-radius: 18px;
    --v4-shadow: 0 24px 70px rgba(0, 0, 0, .42);
    --server-accent: #d8ad55;
    --server-accent-rgb: 216, 173, 85;
    --server-secondary: #70442b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.site-page,
body.ucp-page,
body.server-landing-page {
    min-height: 100vh;
    color: var(--v4-text);
    background-color: #080a0f;
    background-image:
        linear-gradient(180deg, rgba(5, 7, 11, .58) 0%, rgba(6, 8, 12, .78) 58%, rgba(4, 6, 9, .94) 100%),
        radial-gradient(circle at 15% 5%, rgba(var(--server-accent-rgb), .18), transparent 30rem),
        url('assets/img/background_alt.jpg');
    background-size: cover, auto, cover;
    background-position: center, center, center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
body.site-page::before,
body.ucp-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .25;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.server-theme-samurai,
.ucp-server-samurai { --server-accent: #d8ad55; --server-accent-rgb: 216,173,85; --server-secondary: #7b3f26; }
.server-theme-sakura,
.ucp-server-sakura { --server-accent: #f0a7c4; --server-accent-rgb: 240,167,196; --server-secondary: #7153a8; }
.server-theme-server3,
.ucp-server-server3 { --server-accent: #68c9ff; --server-accent-rgb: 104,201,255; --server-secondary: #2c5d7e; }
.server-theme-server4,
.ucp-server-server4 { --server-accent: #8bdcae; --server-accent-rgb: 139,220,174; --server-secondary: #286a52; }

/* Site header */
.v4-site-header {
    position: relative;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1480px;
    margin: 0 auto;
    padding: 26px 34px 18px;
}
.v4-brand { display: flex; align-items: center; gap: 18px; color: var(--v4-text); text-decoration: none !important; }
.v4-brand img { width: min(290px, 45vw); max-height: 88px; object-fit: contain; filter: drop-shadow(0 12px 28px rgba(0,0,0,.6)); }
.v4-brand-copy { display: flex; flex-direction: column; padding-left: 18px; border-left: 1px solid var(--v4-line); }
.v4-brand-copy small { color: var(--server-accent); text-transform: uppercase; letter-spacing: .2em; font-size: .67rem; font-weight: 800; }
.v4-brand-copy strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.16rem; letter-spacing: .04em; }
.v4-header-status { display: flex; align-items: center; gap: 16px; padding: 11px 15px; border: 1px solid var(--v4-line); border-radius: 999px; background: rgba(7,9,13,.72); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.v4-header-status .status-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--v4-ok); box-shadow: 0 0 16px var(--v4-ok); }
.v4-header-status div { display: flex; flex-direction: column; line-height: 1.1; }
.v4-header-status small { color: var(--v4-muted); font-size: .67rem; text-transform: uppercase; letter-spacing: .11em; }
.v4-header-status strong { font-size: .9rem; }

.v4-navbar,
.navbar.bg-dark,
.ucp-navbar {
    position: sticky;
    top: 0;
    z-index: 40;
    padding: 0 !important;
    background: rgba(7, 9, 13, .88) !important;
    border-top: 1px solid rgba(var(--server-accent-rgb), .20);
    border-bottom: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px) saturate(135%);
    box-shadow: 0 12px 35px rgba(0,0,0,.23);
}
.navbar .container-fluid { max-width: 1480px; padding: 8px 28px; }
.menu-ppal-item { position: relative; color: #d7d9df !important; font-size: .82rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; border-radius: 9px; padding: 11px 12px !important; transition: .2s ease; }
.menu-ppal-item:hover,
.menu-ppal-item:focus { color: #fff !important; background: rgba(var(--server-accent-rgb), .11); }
.menu-ppal-item::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1px; transform: scaleX(0); background: var(--server-accent); transition: transform .2s ease; }
.menu-ppal-item:hover::after { transform: scaleX(1); }
.dropdown-menu-dark,
.navbar .dropdown-menu { padding: 8px; border: 1px solid var(--v4-line); border-radius: 14px; background: rgba(10,13,19,.98); box-shadow: var(--v4-shadow); }
.navbar .dropdown-item { color: #d5d8df; border-radius: 8px; padding: 10px 12px; font-size: .86rem; }
.navbar .dropdown-item:hover { color: white; background: rgba(var(--server-accent-rgb), .13); }
.navbar .dropdown-item i { width: 22px; color: var(--server-accent); }
.ucp-active-server { color: var(--server-accent) !important; border: 1px solid rgba(var(--server-accent-rgb),.25); border-radius: 999px; font-size: .76rem; }
.nav-language-wrap .language-switcher { margin: 0; }
.l2-language-dropdown { min-width: 190px; }
.l2-language-toggle {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 13px;
    color: #f4f1e8 !important;
    border: 1px solid rgba(var(--server-accent-rgb), .30) !important;
    border-radius: 11px;
    background: rgba(6, 8, 12, .78) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.04) !important;
}
.l2-language-toggle:hover,
.l2-language-toggle:focus,
.l2-language-dropdown.show .l2-language-toggle {
    color: #fff !important;
    border-color: rgba(var(--server-accent-rgb), .65) !important;
    background: rgba(var(--server-accent-rgb), .12) !important;
}
.l2-language-toggle::after { margin-left: auto; }
.l2-language-current-flag { font-size: 1.15rem; line-height: 1; }
.l2-language-current-name { flex: 1; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; font-weight: 800; }
.l2-language-menu {
    width: 260px;
    max-height: min(460px, 72vh);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(var(--server-accent-rgb), .28) !important;
    border-radius: 14px;
    background: rgba(8, 11, 17, .98) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.58) !important;
}
.l2-language-option {
    display: grid !important;
    grid-template-columns: 30px minmax(0,1fr) 18px;
    align-items: center;
    gap: 10px;
    margin: 2px 0;
    padding: 9px 10px !important;
    color: #d9dde5 !important;
    border-radius: 9px;
}
.l2-language-option:hover,
.l2-language-option:focus,
.l2-language-option.is-active {
    color: #fff !important;
    background: rgba(var(--server-accent-rgb), .13) !important;
}
.l2-language-option.is-active { box-shadow: inset 2px 0 var(--server-accent); }
.l2-language-option-flag { font-size: 1.18rem; }
.l2-language-option-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.l2-language-option-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; }
.l2-language-option-copy small { color: #8f96a3; font-size: .68rem; }
.l2-language-option i { color: var(--server-accent); font-size: .72rem; }
.landing-topbar .l2-language-dropdown,
.v4-landing-top .l2-language-dropdown { min-width: 210px; }

/* Layout */
.site-content-shell,
.ucp-page > .container-fluid.pb-5,
.container-fluid.bg-dark { background: transparent !important; }
.site-content-shell > .row,
.ucp-page > .container-fluid.pb-5 > .row { max-width: 1480px; margin: 26px auto 0; }
#main.panel-border,
.panel-border {
    border: 1px solid var(--v4-line) !important;
    border-radius: var(--v4-radius);
    background: linear-gradient(145deg, rgba(18,22,31,.93), rgba(9,12,18,.92)) !important;
    box-shadow: var(--v4-shadow);
    overflow: hidden;
}
#main.panel-border { padding: 20px; }
.bg-color-panel-right,
.bg-color-title { background: transparent !important; }
#discord .panel-border,
#selectserver .panel-border,
.ucp-account-card { background: rgba(12,15,22,.86) !important; }

/* Hero */
.active-server-hero,
.portal-page-hero,
.ucp-module-hero,
.character-profile-hero {
    border: 1px solid rgba(var(--server-accent-rgb),.28);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.active-server-hero { min-height: 360px; display: flex; flex-direction: column; justify-content: flex-end; background-position: center; }
.active-server-hero-overlay { background: linear-gradient(90deg, rgba(4,6,10,.98) 0%, rgba(6,8,12,.74) 50%, rgba(6,8,12,.3) 100%), linear-gradient(0deg, rgba(4,6,10,.96), transparent 60%); }
.active-server-hero-content { padding: 48px 48px 22px; }
.active-server-hero-content h2 { font-family: Georgia, serif; font-size: clamp(2.3rem,5vw,4.9rem); line-height: .98; text-shadow: 0 10px 30px #000; }
.active-server-eyebrow,
.portal-page-hero > span { color: var(--server-accent); letter-spacing: .18em; text-transform: uppercase; font-size: .72rem; font-weight: 900; }
.active-server-actions { padding: 0 48px 42px; }
.active-server-metrics div { min-width: 110px; padding: 16px; border: 1px solid var(--v4-line); border-radius: 13px; background: rgba(6,8,12,.55); }
.active-server-metrics strong { color: var(--server-accent); font-size: 1.5rem; }
.portal-page-hero { position: relative; padding: 38px 40px; margin-bottom: 24px; background: radial-gradient(circle at 90% 10%, rgba(var(--server-accent-rgb),.18), transparent 38%), linear-gradient(135deg, rgba(23,28,38,.96), rgba(8,11,17,.94)); }
.portal-page-hero::after { content: ""; position: absolute; right: 24px; bottom: -60px; width: 230px; height: 230px; border: 1px solid rgba(var(--server-accent-rgb),.11); transform: rotate(45deg); }
.portal-page-hero h1 { position: relative; z-index: 1; margin: 8px 0 6px; font-family: Georgia, serif; font-size: clamp(2rem,4vw,3.5rem); }
.portal-page-hero p { position: relative; z-index: 1; max-width: 760px; color: var(--v4-muted); font-size: 1rem; }

/* Common components */
.btn { border-radius: 10px; font-weight: 800; letter-spacing: .03em; box-shadow: none !important; }
.btn-info { border-color: var(--server-accent) !important; background: var(--server-accent) !important; color: #111 !important; }
.btn-info:hover { filter: brightness(1.12); transform: translateY(-1px); }
.btn-outline-light { border-color: rgba(255,255,255,.28); color: #fff; }
.btn-outline-light:hover { border-color: var(--server-accent); background: rgba(var(--server-accent-rgb),.12); }
a { color: var(--server-accent); }
a:hover { color: var(--v4-gold-light); }
.form-control,
.custom-select { color: #f3f3f3; border: 1px solid var(--v4-line); border-radius: 10px; background: rgba(4,6,10,.64); }
.form-control:focus { color: #fff; border-color: var(--server-accent); background: rgba(4,6,10,.86); box-shadow: 0 0 0 3px rgba(var(--server-accent-rgb),.12); }
.table-dark { background: transparent; }
.table-dark td,
.table-dark th { border-color: rgba(255,255,255,.07); }
.table-dark thead th { color: var(--server-accent); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; border-top: 0; }
.news-section-heading { border-bottom: 1px solid var(--v4-line); }
.news-section-heading span { color: #fff; font-family: Georgia, serif; font-size: 1.45rem; }
.news-section-heading small { color: var(--server-accent); }
.portal-empty { border: 1px dashed rgba(var(--server-accent-rgb),.28); border-radius: 14px; background: rgba(var(--server-accent-rgb),.035); }
.portal-empty i { color: var(--server-accent); }

.home-quick-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin: 20px 0 30px; }
.home-quick-nav a { min-height: 92px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; color:#eef0f4; border:1px solid var(--v4-line); border-radius:14px; background:rgba(8,11,16,.72); transition:.2s ease; }
.home-quick-nav a i { color: var(--server-accent); font-size: 1.3rem; }
.home-quick-nav a:hover { text-decoration:none; border-color:rgba(var(--server-accent-rgb),.45); transform:translateY(-3px); background:rgba(var(--server-accent-rgb),.08); }

.home-news-item,
.event-card,
.clan-card,
.achievement-badge,

.v4-module-card,
.portal-detail-card,
    border: 1px solid var(--v4-line) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, rgba(18,22,31,.92), rgba(8,11,16,.88)) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.22);
}
.home-news-item:hover,
.clan-card:hover,
.v4-module-card:hover,
.portal-detail-card:hover,

/* Landing */
body.server-landing-page { overflow-x: hidden; }
.v4-landing {
    position: relative;
    min-height: 100vh;
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(3, 5, 8, .28) 0%, rgba(4, 6, 10, .72) 62%, rgba(3, 5, 8, .94) 100%),
        url('assets/img/background_alt.jpg') center top / cover fixed no-repeat;
}
.v4-landing::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; background:radial-gradient(circle at 50% -10%,rgba(216,173,85,.23),transparent 38rem),linear-gradient(90deg,rgba(0,0,0,.30),transparent 50%,rgba(0,0,0,.30)); }
.v4-landing-top,.v4-landing-content { position:relative; z-index:1; }
.v4-landing-top { max-width:1540px; margin:0 auto; padding:24px 34px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,255,255,.08); }
.v4-landing-brand { display:flex; align-items:center; gap:18px; }
.v4-landing-brand img { width:min(285px,48vw); filter:drop-shadow(0 10px 24px #000); }
.v4-landing-brand span { padding-left:18px; border-left:1px solid rgba(255,255,255,.16); color:#d4d5da; font-size:.75rem; letter-spacing:.18em; text-transform:uppercase; }
.v4-landing-content { max-width:1540px; margin:0 auto; padding:70px 34px 50px; }
.v4-landing-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:50px; align-items:end; margin-bottom:38px; }
.v4-landing-intro small { display:block; color:var(--v4-gold); font-weight:900; letter-spacing:.23em; text-transform:uppercase; margin-bottom:12px; }
.v4-landing-intro h1 { max-width:920px; margin:0; font-family:Georgia,serif; font-size:clamp(2.8rem,7vw,7rem); line-height:.88; letter-spacing:-.035em; text-shadow:0 18px 50px #000; }
.v4-landing-intro h1 em { color:var(--v4-gold-light); font-style:normal; }
.v4-landing-intro p { color:#b8bbc3; font-size:1.05rem; line-height:1.7; }
.v4-server-grid { display:grid; gap:18px; }
.v4-server-grid.server-count-1 { grid-template-columns:1fr; }
.v4-server-grid.server-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v4-server-grid.server-count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v4-server-grid.server-count-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v4-server-card { --card-accent:#d8ad55; --card-secondary:#7a3a25; position:relative; min-height:480px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:20px; color:#fff; background:#111; box-shadow:0 24px 80px rgba(0,0,0,.42); transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
.v4-server-card:hover { color:#fff; text-decoration:none; transform:translateY(-8px); border-color:var(--card-accent); box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 55px color-mix(in srgb,var(--card-accent) 17%,transparent); }
.v4-server-card-art { position:absolute; inset:0; background-image:var(--server-art); background-position:var(--art-position,center); background-size:cover; transition:transform .7s ease,filter .4s ease; filter:saturate(.76) contrast(1.04); }
.v4-server-card:hover .v4-server-card-art { transform:scale(1.05); filter:saturate(1) contrast(1.06); }
.v4-server-card-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,4,7,.12),rgba(3,4,7,.34) 38%,rgba(3,4,7,.98) 88%),linear-gradient(90deg,rgba(3,4,7,.58),transparent 65%); }
.v4-server-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg,transparent,var(--card-accent),transparent); opacity:.8; }
.v4-server-card-content { position:relative; z-index:2; min-height:480px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; }
.v4-server-card-top { display:flex; justify-content:space-between; align-items:center; }
.v4-server-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--card-accent) 55%,transparent); border-radius:15px; color:var(--card-accent); background:rgba(4,6,9,.68); font-size:1.25rem; backdrop-filter:blur(12px); }
.v4-server-state { display:flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(4,6,9,.68); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(12px); }
.v4-server-state i { width:8px; height:8px; border-radius:50%; background:#5fd3a0; box-shadow:0 0 14px #5fd3a0; }
.v4-server-state.offline i { background:#dd6b6b; box-shadow:0 0 14px #dd6b6b; }
.v4-server-card-copy small { color:var(--card-accent); font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.v4-server-card-copy h2 { margin:8px 0 5px; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.45rem); line-height:.95; text-shadow:0 10px 25px #000; }
.v4-server-card-copy p { max-width:640px; color:#c9cbd1; }
.v4-server-card-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:20px 0; }
.v4-server-card-stats div { padding:12px; border:1px solid rgba(255,255,255,.09); border-radius:11px; background:rgba(4,6,9,.62); backdrop-filter:blur(10px); }
.v4-server-card-stats strong { display:block; color:var(--card-accent); font-size:1.15rem; }
.v4-server-card-stats span { color:#9fa4af; font-size:.69rem; text-transform:uppercase; letter-spacing:.08em; }
.v4-server-enter { display:flex; justify-content:space-between; align-items:center; color:#fff; font-weight:900; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; }
.v4-server-enter i { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#101217; background:var(--card-accent); transition:transform .2s ease; }
.v4-server-card:hover .v4-server-enter i { transform:translateX(4px); }
.v4-landing-foot { display:flex; justify-content:space-between; gap:20px; margin-top:24px; color:#8f949f; font-size:.78rem; }

/* V4 modules */
.v4-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.v4-module-card { padding:22px; transition:.2s ease; }
.v4-module-card > i { color:var(--server-accent); font-size:1.5rem; }
.v4-module-card h3 { margin:14px 0 8px; font-family:Georgia,serif; }
.v4-module-card p { color:var(--v4-muted); }
.v4-module-card footer { display:flex; justify-content:space-between; align-items:center; color:#cfd2d9; font-size:.82rem; }
.v4-status-pill { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border-radius:999px; color:#d8dce4; background:rgba(255,255,255,.06); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.v4-status-pill.active { color:#8ee3ba; background:rgba(95,211,160,.11); }
.v4-status-pill.completed { color:#d9ba75; background:rgba(216,173,85,.11); }
.v4-ranking { display:flex; flex-direction:column; gap:8px; }
.v4-ranking-row { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--v4-line); border-radius:12px; background:rgba(5,7,11,.52); }
.v4-ranking-row .rank { color:var(--server-accent); font-family:Georgia,serif; font-size:1.15rem; }
.v4-ranking-row strong { color:#fff; }
.v4-ranking-row small { display:block; color:var(--v4-muted); }
.v4-ranking-row .score { font-weight:900; color:var(--server-accent); }
.v4-ranking-row:nth-child(1) { border-color:rgba(244,215,144,.42); background:linear-gradient(90deg,rgba(216,173,85,.12),rgba(5,7,11,.55)); }
.v4-ranking-row:nth-child(2) { border-color:rgba(196,205,220,.28); }
.v4-ranking-row:nth-child(3) { border-color:rgba(181,109,62,.28); }
.portal-detail-card { overflow:hidden; margin-bottom:18px; }
.portal-detail-body { padding:20px; }

/* Sidebars and UCP */
.server-context-box h4,
.ucp-account-card h4 { font-family:Georgia,serif; color:#fff; }
.ucp-account-card { border-radius:16px; padding:18px; }
.ucp-account-data div { border-color:var(--v4-line); }
.profile-metric-grid div { border:1px solid var(--v4-line); border-radius:13px; background:rgba(5,7,11,.52); }
.profile-metric-grid strong { color:var(--server-accent); }
.achievement-badge .achievement-medallion { box-shadow:0 0 0 1px rgba(255,255,255,.10),0 12px 30px rgba(0,0,0,.28); }
.achievement-badge.is-unlocked { border-color:rgba(var(--server-accent-rgb),.35) !important; }

/* Responsive */
@media (max-width: 1200px) {
    .home-quick-nav { grid-template-columns:repeat(3,1fr); }
    .v4-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v4-server-grid.server-count-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991px) {
    .v4-site-header { padding:18px 20px 14px; }
    .v4-brand-copy,.v4-header-status { display:none; }
    .navbar .container-fluid { padding:8px 18px; }
    .navbar-collapse { padding:10px 0 16px; }
    .active-server-hero-content { padding:34px 28px 18px; }
    .active-server-actions { padding:0 28px 30px; }
    .v4-landing-intro { grid-template-columns:1fr; gap:18px; }
    .v4-server-grid.server-count-2,.v4-server-grid.server-count-3,.v4-server-grid.server-count-4 { grid-template-columns:1fr; }
    .v4-server-card,.v4-server-card-content { min-height:420px; }
    .v4-landing-content { padding-top:45px; }
}
@media (max-width: 767px) {
    .v4-landing-top { padding:18px; }
    .v4-landing-top .l2-language-dropdown { min-width: 0; width: 170px; }
    .v4-landing-brand span { display:none; }
    .v4-landing-content { padding:42px 16px 32px; }
    .v4-landing-intro h1 { font-size:clamp(2.65rem,15vw,4.4rem); }
    .v4-server-card-content { padding:20px; }
    .v4-server-card-stats { grid-template-columns:repeat(2,1fr); }
    .v4-server-card-stats div { padding:9px; }
    #main.panel-border { padding:12px; border-radius:14px; }
    .portal-page-hero { padding:28px 22px; }
    .active-server-hero { min-height:420px; }
    .active-server-hero-content { padding:30px 20px 18px; }
    .active-server-actions { padding:0 20px 24px; display:grid; grid-template-columns:1fr; gap:8px; }
    .active-server-metrics { gap:8px; }
    .active-server-metrics div { min-width:auto; }
    .home-quick-nav { grid-template-columns:repeat(2,1fr); }
    .v4-module-grid { grid-template-columns:1fr; }
    .v4-ranking-row { grid-template-columns:40px minmax(0,1fr); }
    .v4-ranking-row .score { grid-column:2; }
    .v4-landing-foot { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}


/* V4 action integration */
.event-card-actions,
.v4-profile-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:16px; }
.event-card-actions .btn,
.v4-profile-actions .btn { border-radius:999px; font-size:.76rem; font-weight:800; letter-spacing:.04em; }
.v4-profile-actions { justify-content:flex-end; padding-top:14px; border-top:1px solid var(--v4-line); }
.v4-admin-nav { scrollbar-width:thin; }
.v4-admin-nav a { transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.v4-admin-nav a:hover { transform:translateY(-2px); border-color:rgba(var(--server-accent-rgb),.42); text-decoration:none; }
body.site-page .alert,
body.ucp-page .alert { border-radius:13px; border:1px solid rgba(255,255,255,.12); }

/* V4.2 visual consistency fixes */
body.site-page,
body.ucp-page {
    background-image:
        linear-gradient(180deg, rgba(5,7,11,.70) 0%, rgba(6,8,12,.80) 48%, rgba(4,6,9,.90) 100%),
        radial-gradient(circle at 16% 8%, rgba(var(--server-accent-rgb), .16), transparent 32rem),
        url('assets/img/background_alt.jpg');
    background-size: cover, auto, cover;
    background-position: center top, center, center top;
}
.v4-site-header {
    max-width: none;
    padding-left: max(34px, calc((100vw - 1480px)/2 + 34px));
    padding-right: max(34px, calc((100vw - 1480px)/2 + 34px));
    background: linear-gradient(180deg, rgba(5,7,11,.72), rgba(5,7,11,.42));
    border-bottom: 1px solid rgba(255,255,255,.035);
    backdrop-filter: blur(5px);
}
.v4-header-status.is-unavailable .status-dot { background:#737b88; box-shadow:0 0 14px rgba(115,123,136,.65); }
.site-content-shell > .row,
.ucp-page > .container-fluid.pb-5 > .row,
.legacy-content-shell > .row { align-items:flex-start; }
.site-sidebar { align-self:flex-start; }
.legacy-page-main { min-height:0 !important; }
.legacy-duplicate-title { display:none !important; }
.rules-page .legacy-page-main .legacy-page-hero + .row { display:none !important; }
.rules-page .legacy-page-main > center,
.rules-page .legacy-page-main center { display:block; text-align:left; }
.rules-page .legacy-page-main ul {
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}
.rules-page .legacy-page-main ul li {
    position:relative;
    margin:0 !important;
    padding:17px 18px 17px 48px;
    color:#d9dde4;
    line-height:1.65;
    border:1px solid var(--v4-line);
    border-radius:13px;
    background:rgba(5,8,13,.52);
}
.rules-page .legacy-page-main ul li::before {
    content:"";
    position:absolute;
    left:19px;
    top:23px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--server-accent);
    box-shadow:0 0 14px rgba(var(--server-accent-rgb),.58);
}
.rules-page .legacy-page-main ul br { display:none; }
.legacy-page .bg-hero {
    margin:20px 0 13px;
    padding:14px 18px;
    color:var(--server-accent);
    font-family:Georgia,serif;
    font-size:1.12rem;
    border:1px solid rgba(var(--server-accent-rgb),.22);
    border-radius:12px;
    background:linear-gradient(90deg,rgba(var(--server-accent-rgb),.10),rgba(6,9,14,.35)) !important;
}
.legacy-page .text-color-primary { color:#d2d7df !important; }
.legacy-page .table { color:#e7e9ed !important; background:rgba(5,8,13,.38); }
.legacy-page .table th { color:var(--server-accent); border-color:rgba(255,255,255,.12); }
.legacy-page .table td { border-color:rgba(255,255,255,.08); }
.legacy-page .card.bg-color-title {
    height:100%;
    border:1px solid var(--v4-line);
    border-radius:14px;
    background:rgba(8,11,17,.76) !important;
    overflow:hidden;
}
.legacy-page .card-header { color:var(--server-accent); border-bottom:1px solid var(--v4-line); background:rgba(var(--server-accent-rgb),.08); font-weight:800; }
#selectserver,
#discord { margin-bottom:16px; }
#selectserver .panel-border,
#discord .panel-border { margin:0; padding:17px !important; }
#discord h3 { margin:0; font-family:Georgia,serif; font-size:1.28rem; }
#discord iframe { display:block; height:390px; margin-top:12px; border-radius:11px; background:#1b1d22; }
#discord img { max-width:100%; height:auto; }
.side-server-status .is-unknown i { background:#7d8793; box-shadow:0 0 10px rgba(125,135,147,.55); }
.side-server-status .is-database i { background:#5fd3a0; }
.nav-language-wrap { flex:0 0 158px; margin-left:10px; }
.nav-language-wrap .l2-language-dropdown { min-width:158px; }
.l2-language-current-flag,
.l2-language-option-flag { display:inline-flex; align-items:center; justify-content:center; }
.l2-language-current-flag img { width:25px; height:16px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,.16); }
.l2-language-option-flag img { width:25px; height:16px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,.14); }
@media (max-width: 1199px) {
    .nav-language-wrap { flex-basis:100%; margin:8px 0 0; }
    .nav-language-wrap .l2-language-dropdown { width:210px; margin-left:auto; }
}
@media (max-width: 767px) {
    .v4-site-header { padding-left:20px; padding-right:20px; }
    #discord iframe { height:340px; }
    .legacy-page-main { padding:12px !important; }
}

/* v4.6: a lapfejlécekben nem jelenítünk meg külön leíró bekezdést. */
.portal-page-hero > p,
.portal-page-hero > div > p,
.ucp-module-hero > p,
.legacy-page-hero > p,
.clan-profile-hero p {
    display: none !important;
}

/* Unified layout helpers */
.v4-module-grid-single{grid-template-columns:minmax(0,1fr)!important}
.portal-full-calendar{margin:18px 0 10px;padding:18px;border:1px solid rgba(216,173,85,.24);border-radius:14px;background:rgba(9,12,17,.82);overflow:hidden}
.portal-full-calendar .fc{--fc-border-color:rgba(255,255,255,.10);--fc-page-bg-color:transparent;--fc-neutral-bg-color:rgba(255,255,255,.04);--fc-list-event-hover-bg-color:rgba(216,173,85,.09);--fc-today-bg-color:rgba(216,173,85,.10);--fc-event-bg-color:#8d4e74;--fc-event-border-color:#c16f9a;--fc-event-text-color:#fff;color:#e8e4df}
.portal-full-calendar .fc .fc-toolbar-title{font-family:Georgia,serif;color:#f1d28f;font-size:1.45rem}
.portal-full-calendar .fc .fc-button-primary{background:#171d26;border-color:rgba(216,173,85,.36);color:#ead59f;text-transform:capitalize}
.portal-full-calendar .fc .fc-button-primary:hover,.portal-full-calendar .fc .fc-button-primary:not(:disabled).fc-button-active{background:#b6853e;border-color:#d8ad55;color:#111}
.portal-full-calendar .fc .fc-col-header-cell-cushion,.portal-full-calendar .fc .fc-daygrid-day-number,.portal-full-calendar .fc .fc-list-day-text,.portal-full-calendar .fc .fc-list-day-side-text{color:#e4d8bf}
.portal-full-calendar .fc .fc-daygrid-event{border-radius:5px;padding:2px 4px}
.clan-score-formula{margin:16px 0;padding:12px 15px;border-left:3px solid #d8ad55;background:rgba(216,173,85,.08);color:#d6d2ca}
@media(max-width:700px){.portal-full-calendar{padding:8px}.portal-full-calendar .fc .fc-toolbar{align-items:flex-start;gap:8px;flex-direction:column}.portal-full-calendar .fc .fc-toolbar-chunk{display:flex;flex-wrap:wrap}.portal-full-calendar .fc .fc-toolbar-title{font-size:1.15rem}}


/* Homepage Top Clans card layout */
.home-v3-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}
.home-v3-columns > section {
    min-width: 0;
    padding: 0 16px 16px;
    overflow: hidden;
    border: 1px solid var(--v4-line);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(15, 19, 27, .92), rgba(8, 11, 17, .96));
    box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
}
.mini-clan-list {
    display: grid;
    gap: 9px;
    counter-reset: home-clan-rank;
}
.mini-clan-list > a {
    counter-increment: home-clan-rank;
    display: grid;
    grid-template-columns: 34px 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 11px 13px;
    color: var(--v4-text);
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 11px;
    background: rgba(5, 8, 13, .62);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.mini-clan-list > a::before {
    content: counter(home-clan-rank);
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: #101217;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 800;
    border-radius: 50%;
    background: var(--server-accent);
    box-shadow: 0 0 18px rgba(var(--server-accent-rgb), .22);
}
.mini-clan-list > a > i {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: var(--server-accent);
    border: 1px solid rgba(var(--server-accent-rgb), .28);
    border-radius: 9px;
    background: rgba(var(--server-accent-rgb), .08);
}
.mini-clan-list > a > strong {
    min-width: 0;
    overflow: hidden;
    color: #fff;
    font-size: .96rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mini-clan-list > a > span {
    color: var(--server-accent);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}
.mini-clan-list > a:hover {
    color: #fff;
    text-decoration: none;
    transform: translateX(3px);
    border-color: rgba(var(--server-accent-rgb), .42);
    background: rgba(var(--server-accent-rgb), .08);
}
.mini-clan-list > a:nth-child(1) {
    border-color: rgba(244, 215, 144, .34);
    background: linear-gradient(90deg, rgba(216, 173, 85, .12), rgba(5, 8, 13, .66));
}
.mini-clan-list > a:nth-child(2)::before { background: #c7cdd6; }
.mini-clan-list > a:nth-child(3)::before { background: #b9784f; }
.mini-clan-list > div {
    padding: 16px;
    color: var(--v4-muted);
    text-align: center;
    border: 1px dashed var(--v4-line);
    border-radius: 10px;
    background: rgba(5, 8, 13, .38);
}
@media (max-width: 991px) {
    .home-v3-columns { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .home-v3-columns > section { padding-left: 10px; padding-right: 10px; }
    .mini-clan-list > a {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 8px;
    }
    .mini-clan-list > a > i { display: none; }
    .mini-clan-list > a > span {
        grid-column: 2;
        white-space: normal;
    }
}

/* V4.20: the landing-page language menu must stay above the server cards. */
.server-landing-page .v4-landing-top {
    z-index: 50;
}
.server-landing-page .v4-landing-content {
    z-index: 1;
}
.server-landing-page .l2-language-dropdown {
    position: relative;
    z-index: 60;
}
.server-landing-page .l2-language-menu {
    z-index: 1060;
    pointer-events: auto;
}
.server-landing-page .l2-language-option {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}
