/* Nox: ink-wash on parchment, over a looping background video. */
:root{--paper:#f3ecdc;--panel:#f6f0e2e0;--ink:#1d1812;--ink-soft:#3f372c;--muted:#6a5f4e;--line:#cdbd98;--gold:#9c7426;--seal:#9b2c22;--seal-dark:#7d211a;--ok:#2f6b3a;color-scheme:light}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.6}
h1,h2,h3,.brand{font-family:Cinzel,Georgia,serif;color:var(--ink);letter-spacing:.02em}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.1}h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:.4rem}h3{font-size:1.1rem;margin:0}
p{color:var(--ink-soft)}a{color:var(--seal)}a:hover{color:var(--seal-dark)}
.icon{width:1.25em;height:1.25em;flex:none}

/* Background video fills the window behind every page; a paper wash keeps text readable. */
.bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity 1.5s linear}.bg-video.on{opacity:1}
.bg-wash{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#f3ecdc33 0%,#f3ecdc00 40%,#f3ecdc99 100%)}
body:not(.home) .bg-wash{background:radial-gradient(ellipse at 50% 0%,#f3ecdc99,#f3ecdcd9 70%)}

/* Header */
.site-nav{position:sticky;top:0;z-index:10;background:#f3ecdcd9;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-nav .container{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.55rem;font-size:1.45rem;font-weight:700;letter-spacing:.2em;color:var(--ink);text-decoration:none}.brand img{width:auto;height:100px;margin:0;filter:drop-shadow(0 3px 6px #3a2c1455);transition:transform .2s,filter .2s}.brand:hover img{transform:scale(1.05);filter:drop-shadow(0 3px 10px #c9982f88)}
.nav-links{display:flex;gap:1.3rem;margin:0 auto 0 1rem;padding:0;list-style:none}
.nav-links a,.account-nav a,.account-nav button{color:var(--ink-soft);text-decoration:none;font-weight:500;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.nav-links a:hover,.account-nav a:hover,.account-nav button:hover{color:var(--seal)}
.account-nav{display:flex;align-items:center;gap:1rem}.account-nav form{margin:0}.account-nav .btn-seal{color:#fbf5e8;background:var(--seal);padding:.4rem .9rem}.account-nav .btn-seal:hover{background:var(--seal-dark);color:#fff}
.nav-toggle{display:none;margin-inline-start:auto;background:none;border:1px solid var(--line);padding:.35rem .6rem;color:var(--ink);cursor:pointer}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:2px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-seal,.btn-gold{background:var(--seal);color:#fbf5e8;border-color:var(--seal)}.btn-seal:hover,.btn-gold:hover{background:var(--seal-dark);border-color:var(--seal-dark);color:#fff}
.btn-ink,.btn-outline-light{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ink:hover,.btn-outline-light:hover{background:var(--ink);color:var(--paper)}
.btn-sm{padding:.4rem .9rem;font-size:.9rem}
:focus-visible{outline:2px solid var(--seal);outline-offset:2px}

/* Layout */
main{flex:1;padding-bottom:4rem}
.panel{background:#fbf7eef5;border:1px solid #d6c59d;border-top:2px solid var(--gold);border-radius:4px;box-shadow:0 1px 0 #fff inset,0 14px 34px #3a2c141f}
.eyebrow{font-size:.74rem;letter-spacing:.24em;color:var(--gold);font-weight:700;margin-bottom:.5rem;text-transform:uppercase}
.section{margin-top:4.5rem}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.section-head p{margin:0}
.link-arrow{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;text-decoration:none;white-space:nowrap}

/* Home hero: the video shows through; copy sits in the open sky on the right. */
.hero{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:3rem 0}
.hero-copy{max-width:720px;margin:0 auto;text-align:center;padding:2.5rem 3rem;background:radial-gradient(closest-side,#f3ecdcd9 60%,#f3ecdc00)}
.hero-copy h1{margin:0}.wordmark{width:min(340px,78vw);height:auto;filter:drop-shadow(0 8px 16px #3a2c1455)}
.slogan{display:block;width:min(100%,640px);height:auto;margin:.6rem auto 1.8rem;filter:drop-shadow(0 1px 1px #fff8)}
.hero-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.server-line{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;padding:.35rem .9rem;background:#f6f0e2b3;border:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}
.dot{width:.55rem;height:.55rem;border-radius:50%;background:#9a8f7c}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #2f6b3a33}

/* Feature groups */
.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.group-card{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.group-card:hover{transform:translateY(-2px);border-color:var(--gold);color:var(--ink)}
.group-card .icon{width:2rem;height:2rem;color:var(--seal)}
.group-card p{margin:0;font-size:.95rem}.group-card small{margin-top:auto;color:var(--gold);font-weight:600}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.feature-card{padding:1.3rem 1.4rem}.feature-card h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.02rem;display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.feature-card p{margin:.45rem 0 0;font-size:.95rem}.stat{display:inline-block;margin-top:.7rem;padding:.2rem .6rem;border:1px solid var(--line);color:var(--gold);font-size:.82rem;font-weight:600}
.badge-dev{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--seal);border:1px solid #9b2c2266;padding:.05rem .4rem;font-weight:700}
.group-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.group-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;color:var(--ink);text-decoration:none;font-weight:500}.group-nav a:hover{border-color:var(--seal);color:var(--seal)}
.feature-group{scroll-margin-top:90px;margin-top:3rem}.feature-group h2{display:flex;align-items:center;gap:.6rem}.feature-group h2 .icon{color:var(--seal);width:1.6rem;height:1.6rem}

/* News + servers */
.news-grid{display:grid;grid-template-columns:3fr 2fr;gap:1rem}
.panel-tabs{display:flex;align-items:flex-end;gap:1.4rem;padding:.9rem 1.2rem 0;border-bottom:1px solid var(--line)}
.panel-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:0 .1rem .55rem;color:var(--ink-soft);font-weight:700;cursor:pointer}
.panel-tabs button[aria-selected=true]{color:var(--seal);border-bottom-color:var(--seal)}
.panel-tabs .more{margin-inline-start:auto;padding-bottom:.55rem;text-decoration:none;font-weight:600}
.news-list{list-style:none;margin:0;padding:.4rem 1.2rem .8rem}.news-list li{border-bottom:1px dashed var(--line)}.news-list li:last-child{border-bottom:0}
.news-list a{display:block;padding:.55rem 0;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-list a:hover{color:var(--seal)}
.news-list span{color:var(--gold);margin-inline-end:.4rem;font-variant-numeric:tabular-nums}.news-list .empty{padding:.7rem 0;color:var(--muted)}
.servers{padding:1.2rem}.server-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px dashed var(--line)}.server-row:last-of-type{border-bottom:0}
.status{font-size:.78rem;font-weight:600;padding:.15rem .6rem;border:1px solid currentColor}.status.online{color:var(--ok)}.status.offline{color:var(--muted)}
.players{margin:.8rem 0 0;color:var(--muted)}.players strong{color:var(--ink);font-size:1.2rem}

/* Call to action */
.cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:2rem 2.2rem}.cta h2{margin:0}.cta p{margin:.3rem 0 0}.cta .hero-actions{justify-content:flex-start}

/* Inner pages */
.page-heading{padding:3rem 0 1.5rem;max-width:760px}.page-heading h1{margin-bottom:.6rem}
.data-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;margin-bottom:.6rem;background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.data-card strong{display:block}.data-card small{display:block;color:var(--muted)}

.table,.table-dark{--bs-table-bg:var(--panel);--bs-table-color:var(--ink);--bs-table-striped-bg:#ece2cc;--bs-table-striped-color:var(--ink);--bs-table-border-color:var(--line);color:var(--ink)}
.table td,.table th{padding:.75rem}
.download-card .btn{white-space:nowrap}
.article-body{max-width:820px;margin-top:3rem;padding:2.5rem}.article-text{white-space:pre-wrap;line-height:1.8;color:var(--ink-soft)}
.form-panel{max-width:480px;margin:3.5rem auto;padding:2.4rem;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px #3a2c1414;backdrop-filter:blur(6px)}
.form-panel h1{font-size:1.9rem}.form-panel label{display:block;margin:1rem 0 .3rem;font-weight:500}.form-panel .btn{margin:1.4rem 0 1rem;width:100%}
.form-control{background:#fffaf0;border:1px solid var(--line);color:var(--ink);border-radius:2px}.form-control:focus{background:#fff;color:var(--ink);border-color:var(--seal);box-shadow:0 0 0 .2rem #9b2c2226}
.text-danger{color:var(--seal)!important}
.cf-turnstile{display:flex;justify-content:center;margin-top:1.2rem;min-height:65px}.code-input{font-size:1.6rem;letter-spacing:.5em;text-align:center;font-family:Consolas,monospace}

/* Footer */
.site-footer{position:relative;margin-top:auto;padding:3.5rem 0 1.8rem;color:#cfc4ad;background:radial-gradient(ellipse 60% 55% at 50% 0,#3a2c1a 0,transparent 70%),linear-gradient(#1c1710,#0f0c08)}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-38px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath fill='%231c1710' opacity='.45' d='M0 40V18c80 6 130-10 210-6s120 14 200 8 140-16 210-12 120 12 190 10 150-14 220-10 120 8 170 2v30z'/%3E%3Cpath fill='%231c1710' d='M0 40V26c60-8 110 6 170-4s90-18 150-12 100 16 170 10 110-20 180-16 90 14 160 12 120-16 190-14 110 10 180 4v34z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;pointer-events:none}
.footer-crest{display:flex;flex-direction:column;align-items:center;text-align:center}
.site-footer .brand img{height:120px;margin:0;filter:drop-shadow(0 6px 18px #000a)}
.footer-tagline{margin:.6rem 0 1.4rem;color:#b3a78e;font-size:.95rem;max-width:460px}
.social{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}
.social a,.social span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#1a150f;border:1px solid #c9982f66;box-shadow:inset 0 0 0 3px #1a150f,inset 0 0 0 4px #c9982f22;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.social i{width:19px;height:19px;background:#d9b870;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;transition:background .2s}
.social a:hover{transform:translateY(-3px);background:var(--brand);border-color:var(--brand);box-shadow:0 8px 20px #0008}.social a:hover i{background:#fff}
.social span{opacity:.5;cursor:default}
.social-facebook{--brand:#0866ff}.social-discord{--brand:#5865f2}.social-youtube{--brand:#ff0000}.social-tiktok{--brand:#111}.social-instagram{--brand:#e4405f}.social-x{--brand:#111}
.footer-ornament{display:flex;align-items:center;gap:1rem;margin:2.6rem auto 2.2rem;max-width:720px}
.footer-ornament::before,.footer-ornament::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#c9982f99)}.footer-ornament::after{transform:scaleX(-1)}
.footer-ornament span{width:10px;height:10px;transform:rotate(45deg);border:1px solid #e0b85a;background:#c9982f55;box-shadow:0 0 12px #e0b85a66}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:720px;margin:0 auto;text-align:center}
.site-footer h3{font-family:Cinzel,Georgia,serif;font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:#e0b85a;margin:0 0 1rem}
.footer-links ul,.footer-legal{list-style:none;margin:0;padding:0}.footer-links li{margin:.55rem 0}
.site-footer a{color:#d9ceb6;text-decoration:none;transition:color .15s}.site-footer a:hover{color:#f5d77e}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:.8rem 2rem;flex-wrap:wrap;margin-top:2.8rem;padding-top:1.3rem;border-top:1px solid #3a3024;font-size:.85rem}
.footer-bottom p{margin:0}.footer-copy{color:#b3a78e}
.footer-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}.footer-legal a{color:#b3a78e}
.footer-note{margin:1rem 0 0;font-size:.74rem;line-height:1.6;color:#6f6553;text-align:center}
@media(max-width:700px){.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{justify-content:center;text-align:center}}

@media(max-width:1180px){
  .nav-toggle{display:block}
  .site-nav .container{flex-wrap:wrap}
  .nav-links,.account-nav{display:none;width:100%}
  .site-nav.open .nav-links,.site-nav.open .account-nav{display:flex;flex-direction:column;gap:.8rem;margin:0 0 1rem}
}
@media(max-width:900px){
  .hero{justify-content:center;align-items:flex-end;min-height:calc(100svh - 64px)}
  .news-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.group-card{transition:none}}
/* Client showcase and in-game galleries */
.showcase{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;padding:2.6rem 2.8rem}
.highlights{list-style:none;margin:1.2rem 0 1.5rem;padding:0;display:grid;gap:.75rem}.highlights li{display:flex;gap:.8rem;align-items:center;color:var(--ink-soft)}.highlights .icon{width:1.6rem;height:1.6rem;color:var(--seal);padding:.3rem;border:1px solid var(--line);border-radius:50%;box-sizing:content-box}
.showcase .cards{display:flex;gap:1rem;justify-content:center;align-items:flex-start}.showcase .cards>img{max-width:calc(50% - .5rem);height:auto;filter:drop-shadow(0 10px 18px #0005)}.showcase .cards>img:last-child{margin-top:2.5rem}
.gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-top:1.2rem}.gallery>img{height:auto;width:auto;max-width:100%;filter:drop-shadow(0 8px 14px #0005)}
@media(max-width:900px){.showcase{grid-template-columns:1fr}.gallery>img{height:auto;width:calc(50% - .5rem)}}
.gallery img.shot{height:340px;border:1px solid var(--line);outline:1px solid #9c742655;outline-offset:4px;filter:none;box-shadow:0 12px 28px #3a2c1433}
@media(max-width:900px){.gallery img.shot{height:auto;width:100%}}
/* Sign-in, registration and account */
.auth{display:flex;justify-content:center;padding:3rem 0}
.auth-card{width:100%;max-width:470px;padding:2.2rem 2.4rem}
.auth-logo{display:block;width:150px;height:auto;margin:-.5rem auto .6rem;filter:drop-shadow(0 6px 12px #3a2c1440)}
.auth-card h1{font-size:1.75rem;text-align:center;margin-bottom:.3rem}
.auth-sub{text-align:center;color:var(--muted);margin-bottom:1.6rem}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem;min-width:0}
.field label{font-weight:600;font-size:.92rem}
.field small,.hint{color:var(--muted);font-size:.82rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.field-error,.form-error{color:var(--seal);font-size:.85rem}.form-error ul{margin:0 0 1rem;padding-inline-start:1.1rem}
.form-control,select.form-control{padding:.6rem .75rem}
.btn-block{width:100%;margin-top:1.2rem;padding:.8rem}
.auth-foot{text-align:center;margin:1.4rem 0 0;color:var(--muted)}
.back-link{display:inline-block;margin-bottom:1rem;text-decoration:none;font-weight:600}
.notice{padding:1rem;border:1px dashed var(--line);text-align:center;color:var(--ink-soft)}
.account-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin:2.5rem 0 1rem;padding:1.8rem 2.2rem;background:linear-gradient(120deg,#1d1812 0%,#2e231a 60%,#3b2a1c 100%);border:1px solid #b8913f;border-radius:4px;box-shadow:0 18px 40px #1d181240}.account-head h1{color:#f6ecd6;font-family:Inter,"Segoe UI",sans-serif;font-weight:700;letter-spacing:0;font-size:clamp(1.8rem,3vw,2.4rem)}.account-head .eyebrow{color:#d8b56a}.account-head .btn-ink{color:#f6ecd6;border-color:#f6ecd6aa}.account-head .btn-ink:hover{background:#f6ecd6;color:#1d1812}.account-head .stat{color:#e7cf95;border-color:#b8913f88}.account-head .status.online{color:#8fd49c}
.account-head h1{margin:0 0 .4rem}.account-head form{margin:0}
.account-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:0}.account-badges .stat{margin:0}
.account-grid{display:grid;grid-template-columns:3fr 2fr;gap:1rem;margin-bottom:1rem}
.account-card{padding:1.6rem 1.8rem}.account-card h2{font-size:1.3rem;margin-bottom:1rem}.account-card h3{margin:1.2rem 0 .6rem}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.55rem 1.5rem;margin:0}.facts dt{color:var(--muted);font-weight:500}.facts dd{margin:0;font-weight:600}
.characters .table{margin:0}.characters th,.characters td{white-space:nowrap;padding:.75rem 1.1rem;vertical-align:middle}.characters th:first-child,.characters td:first-child{width:100%;padding-inline-start:0}.characters th:last-child,.characters td:last-child{padding-inline-end:0}.characters th{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.num{text-align:end;font-variant-numeric:tabular-nums}
@media(max-width:900px){.account-grid,.field-row{grid-template-columns:1fr}.auth-card{padding:1.6rem 1.3rem}}
/* Portraits: the client's 64px face; an equipped frame is twice the face size with the face centred (as in game). */
.portrait{--p:64px;position:relative;display:inline-block;flex:none;width:var(--p);height:var(--p)}
.portrait-face{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;border:2px solid var(--gold);background:#2a2118}
.framed-portrait{width:calc(var(--p)*2);height:calc(var(--p)*2);margin:calc(var(--p)*-.5)}
.framed-portrait .portrait-face{inset:25%;width:50%;height:50%;border:0;border-radius:0;background:none}
.portrait-frame{position:absolute;inset:0;width:100%;height:100%}
.hero-cell{display:inline-flex;align-items:center;gap:.8rem}.hero-cell .portrait{--p:40px}
.account-hero{display:flex;align-items:center;gap:1.4rem}.account-hero>.portrait{--p:88px}

/* Rankings */
.world-first{display:flex;align-items:center;gap:2rem;padding:2rem 2.4rem;background:linear-gradient(120deg,#1d1812 0%,#2e231a 55%,#4a3420 100%);border:1px solid #b8913f;color:#f6ecd6}
.world-first>.portrait{--p:96px}.world-first h2{color:#fff3d6;font-size:clamp(1.8rem,3vw,2.5rem);margin:0}.world-first .eyebrow{color:#d8b56a}
.world-first-meta{color:#cbbd9d;margin:.2rem 0 0}.world-first-text{flex:1;min-width:0}
.world-first-score{text-align:right}.world-first-score span{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#d8b56a}
.world-first-score strong{font:700 clamp(1.8rem,3vw,2.6rem)/1.1 Cinzel,Georgia,serif;color:#f0c878}
.world-first-empty h2{margin:.2rem 0}.world-first-empty p:last-child{color:#cbbd9d;margin:0}
.rank-mine{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;margin:1rem 0 0;padding:.9rem 1.2rem;color:var(--ink-soft)}.rank-mine strong{color:var(--ink);margin-inline-start:.35rem}
.section-head-tight{margin:3rem 0 1rem}
.champions{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}
.champion{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;min-height:104px}.champion>div{min-width:0}.champion .portrait{--p:52px}
.champion strong{display:block;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.champion-class{margin:0 0 .15rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.champion-score{color:var(--seal);font-weight:700;font-variant-numeric:tabular-nums}
.champion.vacant{background:#fbf7ee99;border-style:dashed;border-top-width:1px;box-shadow:none}.vacant-portrait{border-radius:50%;border:2px dashed var(--line)}.champion-vacant{color:var(--muted)}
.rank-table th:first-child,.rank-table td:first-child{width:auto}.rank-table th:nth-child(2),.rank-table td:nth-child(2){width:100%}
.medal{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;font:700 .9rem/1 Cinzel,Georgia,serif;color:var(--ink-soft);border:1px solid var(--line)}
.medal-1{background:linear-gradient(#f5d77e,#c9982f);color:#3b2a0a;border-color:#b8913f}.medal-2{background:linear-gradient(#eceae4,#b9b4a8);color:#333;border-color:#a7a194}.medal-3{background:linear-gradient(#e7b98f,#b07443);color:#3a220c;border-color:#9e6a3d}
@media(max-width:900px){.world-first{flex-direction:column;text-align:center}.world-first-score{text-align:center}}
/* Shop */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.product{display:flex;flex-direction:column;padding:1.5rem}.product h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.15rem;margin:0 0 .4rem}
.product-icon{width:3rem;height:3rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;margin-bottom:1rem;color:var(--seal)}.product-icon .icon{width:1.5rem;height:1.5rem}
.product-text{font-size:.92rem;flex:1}.price{font-size:1.35rem;font-weight:700;color:var(--ink);margin:.6rem 0 0}.price small{font-size:.8rem;font-weight:500;color:var(--muted)}
.product .btn-block{margin-top:1rem}.btn:disabled{opacity:.55;cursor:not-allowed}
.shop-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem}.shop-empty>.icon{width:2.6rem;height:2.6rem;color:var(--seal);margin-bottom:.8rem}
.shop-info{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.shop-info .panel{padding:1.5rem 1.7rem}.shop-info h2{font-size:1.2rem}.shop-info p{margin:0}
@media(max-width:900px){.shop-info{grid-template-columns:1fr}}
/* Payment method marks (brand colours) */
.pay-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.pay-mark{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:4px;font:700 .95rem/1.2 "Segoe UI",Inter,sans-serif;background:#fff;border:1px solid #e1d6bd;white-space:nowrap}
.pay-paypal b{color:#003087;font-style:italic}.pay-paypal i{color:#009cde;font-weight:700}
.pay-instapay{color:#fff;background:linear-gradient(90deg,#4a1d96,#7c3aed);border-color:#4a1d96}.pay-instapay b{font-weight:800}
.pay-vodafone{color:#e60000}.pay-vodafone b{color:#e60000;font-weight:800}.vf-dot{width:.95rem;height:.95rem;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff 18%,#e60000 20%)}
.product-cps{font-size:1.6rem;font-weight:800;color:var(--seal);margin:.2rem 0 .4rem}.product-cps small{font-size:.85rem;color:var(--muted);font-weight:600}
/* Checkout and orders */
.checkout{max-width:540px}.checkout fieldset{border:0;padding:0;margin:0 0 1rem}.checkout legend{font-weight:600;font-size:.92rem;margin-bottom:.4rem}
.method-option{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:4px;margin-bottom:.5rem;cursor:pointer;background:#fffaf0}
.method-option:has(input:checked){border-color:var(--seal);box-shadow:0 0 0 2px #9b2c2233}.method-price{margin-inline-start:auto;font-weight:700}
.order-status{display:flex;flex-direction:column;gap:.15rem;padding:.8rem 1rem;border-radius:4px;border-inline-start:4px solid;margin:1rem 0;font-size:.92rem}
.order-status.pending{border-color:#c28a1a;background:#fbf1d8}.order-status.done{border-color:var(--ok);background:#e5f2e6}.order-status.bad{border-color:var(--seal);background:#f7e3df}
.characters .order-status{margin:0;padding:.35rem .6rem;white-space:normal;min-width:180px}
.pay-steps h2{font-size:1.1rem;margin:1.4rem 0 .5rem}.pay-steps h2 span{color:var(--seal)}
.pay-to{font:700 1.4rem/1.3 Consolas,monospace;padding:.6rem .9rem;background:#fffaf0;border:1px dashed var(--gold);border-radius:4px;user-select:all;word-break:break-all}
.cancel-form{margin-top:1rem}.section-tight{margin-top:1rem}
.admin-orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1rem}
.admin-order{padding:1.4rem 1.6rem}.admin-order-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-order h3{font-family:Inter,sans-serif;font-weight:700;font-size:1.05rem;margin:0}
.proof img{display:block;max-width:100%;max-height:320px;border:1px solid var(--line);border-radius:4px;margin:.6rem 0}
.admin-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.admin-actions form{margin:0}.reject-form{display:flex;gap:.4rem;flex:1}
.product-card{display:block;max-width:100%;height:auto;margin:0 auto 1rem;filter:drop-shadow(0 8px 14px #0005)}.checkout-card{display:block;max-width:100%;height:auto;margin:0 auto 1.2rem;filter:drop-shadow(0 8px 14px #0005)}
.effects{margin:.2rem 0 .4rem;padding-inline-start:1.1rem;font-size:.88rem;color:var(--ink-soft)}.effects li{margin:.2rem 0}
/* Sale banner */
.sale-banner{display:flex;align-items:center;gap:1.6rem;margin-top:2rem;padding:1.3rem 1.8rem;border-radius:4px;color:#fff6e6;
  background:linear-gradient(110deg,#7d211a 0%,#9b2c22 45%,#c0662a 100%);border:1px solid #e0b85a;box-shadow:0 16px 36px #7d211a40}
.sale-badge{flex:none;display:grid;place-items:center;width:4.6rem;height:4.6rem;border-radius:50%;background:#fff3d6;color:#7d211a;font:700 1.35rem/1 Cinzel,Georgia,serif;box-shadow:0 0 0 4px #e0b85a55}
.sale-text{flex:1;min-width:0}.sale-text h2{color:#fff;margin:0}.sale-text p{margin:.2rem 0 0;color:#ffe6c7}.sale-banner .eyebrow{color:#ffd88a}
.sale-timer{text-align:right}.sale-timer span{display:block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#ffd88a}
.sale-timer strong{font:700 1.8rem/1.1 Consolas,monospace;font-variant-numeric:tabular-nums}
.product{position:relative}.product-sale{position:absolute;top:.8rem;inset-inline-end:.8rem;padding:.15rem .5rem;border-radius:3px;background:var(--seal);color:#fff;font-weight:700;font-size:.8rem}
.price s{color:var(--muted);font-weight:500;font-size:.95rem;margin-right:.3rem}.sale-note{color:var(--seal);font-weight:600;text-align:center}
/* Payment banners */
.pay-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pay-banner{position:relative;padding:1.6rem 1.6rem 1.4rem;border-radius:6px;color:#fff;overflow:hidden;box-shadow:0 14px 30px #3a2c1426}
.pay-banner h3{color:#fff;font-family:Inter,sans-serif;font-weight:700;font-size:1.15rem;margin:1rem 0 .4rem}.pay-banner p{color:#ffffffd9;margin:0;font-size:.93rem}
.pay-banner-logo .pay-mark{font-size:1.2rem;padding:.45rem .9rem;box-shadow:0 4px 10px #0003}
.pay-banner-paypal{background:linear-gradient(135deg,#003087,#0070e0 60%,#009cde)}
.pay-banner-instapay{background:linear-gradient(135deg,#2e1065,#5b21b6 55%,#8b5cf6)}
.pay-banner-vodafone{background:linear-gradient(135deg,#8f0000,#e60000 60%,#ff4d4d)}
.pay-banner.unavailable{filter:grayscale(.55);opacity:.8}.pay-soon{position:absolute;top:1rem;right:1rem;padding:.15rem .55rem;border-radius:3px;background:#0006;font-size:.75rem;font-weight:700}
.pay-logo{background:#fff;padding:.3rem .6rem}.pay-logo img{display:block;height:1.4rem;width:auto}.pay-banner .pay-logo img{height:2rem}
.claim-note{margin-top:1rem;padding:1.3rem 1.6rem}.claim-note h3{font-family:Inter,sans-serif;font-weight:700;font-size:1.05rem;margin:0 0 .3rem}.claim-note p{margin:0}
@media(max-width:900px){.pay-banners{grid-template-columns:1fr}.sale-banner{flex-direction:column;text-align:center}.sale-timer{text-align:center}}
.pay-logo{display:inline-flex;align-items:center;gap:.35rem}.pay-logo-vodafone b{color:#e60000;font-weight:800}
/* Events */
.events-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;max-width:none}
.server-clock{padding:1rem 1.4rem;text-align:right}.server-clock span{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.server-clock strong{display:block;font:700 2rem/1.1 Cinzel,Georgia,serif}.server-clock small{color:var(--muted)}
.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.event-card{position:relative;padding:1.4rem 1.5rem}.event-card h3{font-family:Inter,sans-serif;font-weight:700;font-size:1.1rem;margin:0 0 .4rem}.event-card p{margin:.3rem 0 0;font-size:.93rem}
.event-card.live{border-top-color:var(--ok);box-shadow:0 0 0 1px #2f6b3a33,0 14px 34px #2f6b3a1f}
.live-dot{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;color:var(--ok);text-transform:uppercase;letter-spacing:.08em}
.live-dot::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--ok);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #2f6b3a66}50%{box-shadow:0 0 0 6px #2f6b3a00}}
@media(prefers-reduced-motion:reduce){.live-dot::before{animation:none}}
.event-where{display:flex;align-items:center;gap:.35rem;color:var(--muted)}.event-where .icon{width:1rem;height:1rem}
.event-count{font-size:.9rem}.event-count strong{font-family:Consolas,monospace;color:var(--seal);font-size:1.05rem}
.upcoming{padding:.4rem 1.4rem}.upcoming-row{display:grid;grid-template-columns:9rem 1fr auto 7rem;gap:1rem;align-items:center;padding:.7rem 0;border-bottom:1px dashed var(--line)}.upcoming-row:last-child{border-bottom:0}
.upcoming-when{color:var(--gold);font-weight:600}.upcoming-where{color:var(--muted);font-size:.9rem}.upcoming-count{text-align:right;font-family:Consolas,monospace;font-weight:700}
.upcoming-row.soon .upcoming-count{color:var(--seal)}
.schedule-table th,.schedule-table td{padding:.9rem 1.1rem!important;white-space:nowrap!important;vertical-align:top!important}.schedule-table td:first-child{white-space:normal!important;min-width:260px;width:100%}.schedule-table td:nth-child(2),.schedule-table td:nth-child(4){white-space:normal!important;min-width:7rem;max-width:11rem}.event-desc{display:block;color:var(--muted);font-size:.85rem;margin-top:.2rem}
.state{display:inline-block;padding:.15rem .55rem;border-radius:3px;font-size:.8rem;font-weight:600;white-space:nowrap;border:1px solid var(--line);color:var(--ink-soft)}
.state-running{color:#fff;background:var(--ok);border-color:var(--ok)}.state-soon{color:var(--seal);border-color:#9b2c2266}
@media(max-width:900px){.upcoming-row{grid-template-columns:1fr auto}.upcoming-where{display:none}.server-clock{text-align:left}}
.product-item-icon{width:5rem;height:5rem;display:grid;place-items:center;margin-bottom:.9rem;border-radius:8px;border:1px solid #b8913f;
  background:radial-gradient(circle at 50% 40%,#3a2a1a,#1d1812);box-shadow:inset 0 0 0 1px #0008,0 6px 14px #3a2c1433}
.product-item-icon img{width:64px;height:64px;image-rendering:auto;filter:drop-shadow(0 2px 3px #000a)}
/* Legal pages and agreements */
.legal{max-width:860px;margin:2.5rem auto 0;padding:2.6rem 3rem}.legal h1{margin-bottom:.3rem}.legal h2{font-size:1.25rem;margin:2rem 0 .5rem}
.legal p,.legal li{line-height:1.75}.legal ul{padding-inline-start:1.2rem}.legal-meta{color:var(--muted);font-size:.9rem}
.legal-lead{font-size:1.05rem;padding:1rem 1.2rem;border-inline-start:3px solid var(--gold);background:#fffaf0}
.legal-nav{display:flex;gap:1.2rem;flex-wrap:wrap;padding:.8rem 0 1rem;border-bottom:1px solid var(--line)}.legal-nav a{font-weight:600;text-decoration:none}
.agree{display:grid;gap:.6rem;margin:1rem 0 .4rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:4px;background:#fffaf0;font-size:.9rem}
.agree label{display:flex;gap:.6rem;align-items:flex-start;line-height:1.45}.agree input{margin-top:.2rem;flex:none;width:1.05rem;height:1.05rem;accent-color:var(--seal)}
@media(max-width:900px){.legal{padding:1.6rem 1.3rem}}
/* Shop: tiers, ribbons, contents */
.product{overflow:visible;transition:transform .18s ease,box-shadow .18s ease}.product:hover{transform:translateY(-4px);box-shadow:0 22px 44px #3a2c1433}
.product-tier{--tier:#a86b3c;--glow:#a86b3c55;border-top:3px solid var(--tier)}
.tier-bronze{--tier:#a86b3c;--glow:#c0804a44}.tier-silver{--tier:#8e959c;--glow:#b8c0c866}.tier-gold{--tier:#c9982f;--glow:#e0b85a66}
.tier-legend{--tier:#b8302a;--glow:#e0584a66;border:2px solid transparent;background:linear-gradient(#fbf7ee,#fbf7ee) padding-box,conic-gradient(from var(--spin,0deg),#e0b85a,#b8302a,#f5d77e,#7d211a,#e0b85a) border-box;animation:spin 6s linear infinite}
@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes spin{to{--spin:360deg}}
.product-tier .product-item-icon{position:relative;overflow:hidden;border-color:var(--tier);box-shadow:0 0 0 1px #0008,0 0 22px var(--glow),inset 0 0 18px var(--glow)}
.shine{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,#ffffff66 50%,transparent 60%);transform:translateX(-100%);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.tier-legend .product-item-icon{width:5.6rem;height:5.6rem}.tier-legend .product-cps{color:#b8302a;text-shadow:0 0 18px #e0b85a88}
.ribbon{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:2;white-space:nowrap;padding:.25rem .7rem;border-radius:999px;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3b2a0a;background:linear-gradient(#f5d77e,#c9982f);box-shadow:0 2px 6px #0003}
.ribbon-legend{color:#fff;background:linear-gradient(#b8302a,#7d211a)}
.bonus{display:inline-block;margin-inline-start:.5rem;padding:.1rem .45rem;border-radius:3px;background:#2f6b3a;color:#fff;font-size:.72rem;font-weight:700;vertical-align:middle}
.inside{margin:.4rem 0 .2rem;padding:.8rem .9rem;border:1px dashed var(--line);border-radius:4px;background:#fffaf0;flex:1}
.inside-title{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.inside ul{margin:0;padding-inline-start:1.1rem;font-size:.88rem;color:var(--ink-soft)}.inside li{margin:.2rem 0}.inside strong{color:var(--ink)}
.inside-legend{background:linear-gradient(#fffaf0,#fbf1d8)}.product-legendary{border-top:3px solid #c9982f;box-shadow:0 0 0 1px #c9982f33,0 14px 34px #c9982f22}
.product .product-text{flex:0 0 auto}
@media(prefers-reduced-motion:reduce){.shine,.tier-legend{animation:none}.product{transition:none}}
/* Download */
.download-facts{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1rem;color:var(--ink-soft)}.download-facts strong{color:var(--gold);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin-inline-end:.35rem}
.mirror-banners{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.mirror-banner{display:flex;align-items:center;gap:1.4rem;padding:1.6rem 1.8rem;border-radius:6px;box-shadow:0 16px 36px #3a2c1426;flex-wrap:wrap}
.mirror-banner h2{font-family:Inter,sans-serif;font-weight:700;font-size:1.2rem;margin:0}.mirror-banner p{margin:.2rem 0 0;font-size:.92rem}.mirror-banner>div{flex:1;min-width:180px}
.mirror-logo{height:56px;width:auto;border-radius:4px}
.mirror-mediafire{background:linear-gradient(135deg,#111 0%,#1b1b1b 55%,#0e3a8c 100%);color:#fff}.mirror-mediafire h2{color:#fff}.mirror-mediafire p{color:#cfd8ea}
.mirror-mega{background:#fff;border:1px solid #eee;border-top:4px solid #d9272e}.mirror-mega p{color:#555}
.btn-mirror{padding:.8rem 1.5rem;font-weight:700;color:#fff;background:#1d6cf2;border:0}.btn-mirror:hover{background:#1557c7;color:#fff}
.mirror-mega .btn-mirror{background:#d9272e}.mirror-mega .btn-mirror:hover{background:#b31f25}
.mirror-github{background:linear-gradient(135deg,#0d1117 0%,#161b22 60%,#2d333b 100%);color:#fff}.mirror-github h2{color:#fff}.mirror-github p{color:#c9d1d9}
.btn-mirror.disabled{background:#888;cursor:not-allowed;opacity:.8}
.download-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.steps{margin:0;padding-inline-start:1.3rem;line-height:1.7}.steps li{margin:.5rem 0}.steps.plain{list-style:disc}
.hash{display:block;padding:.6rem .8rem;background:#1d1812;color:#f0c878;border-radius:4px;font-size:.8rem;word-break:break-all}
@media(max-width:900px){.mirror-banners,.download-grid{grid-template-columns:1fr}}
/* Language switch and Arabic (RTL) */
.account-nav .lang-switch{padding:.3rem .7rem;margin-inline-end:.4rem;border:1px solid #b8913f;border-radius:4px;background:#fffaf0;color:var(--ink);font-size:.85rem;font-family:"Noto Kufi Arabic",Inter,sans-serif}.account-nav .lang-switch:hover{background:#b8913f;color:#fff}
.slogan-ar{margin:.4rem 0 0;font-family:"Noto Kufi Arabic",sans-serif;font-size:1.35rem;font-weight:600;color:var(--gold)}
[dir=rtl] body,[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .feature-card h3,[dir=rtl] .site-footer h3{font-family:"Noto Kufi Arabic",Inter,sans-serif}
[dir=rtl] *{letter-spacing:0!important}[dir=rtl] .eyebrow,[dir=rtl] .inside-title,[dir=rtl] .ribbon{text-transform:none}
/* Headings that sit straight on the video get a parchment halo so dark art behind them can't swallow them. */
:is(.section-head,.page-heading)>:not(.panel) :is(h1,h2,p,.eyebrow),:is(.section-head,.page-heading)>:is(h1,h2,p,.eyebrow){text-shadow:0 0 6px #f3ecdc,0 0 14px #f3ecdc,0 0 28px #f3ecdcd0,0 0 44px #f3ecdc99}
:is(.section-head,.page-heading) .eyebrow{display:inline-block;padding:.22rem .8rem;border:1px solid #c9982f88;border-radius:999px;background:#f6f0e2f0;color:#7d5a17;font-size:.78rem;text-shadow:none;box-shadow:0 2px 8px #3a2c1422}
/* News */
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 1.4rem}
.news-tabs{display:flex;gap:.4rem;flex-wrap:wrap}
.news-tabs a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:#fbf7eeee;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.9rem;transition:all .15s}
.news-tabs a span{min-width:1.4rem;padding:0 .35rem;border-radius:999px;background:#e9dfc9;color:var(--ink-soft);font-size:.75rem;text-align:center}
.news-tabs a:hover{border-color:var(--gold);color:var(--ink)}.news-tabs a.active{background:var(--ink);border-color:var(--ink);color:#f3ecdc}.news-tabs a.active span{background:#c9982f;color:#1d1812}
.news-search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fffaf0;box-shadow:0 2px 10px #3a2c1412}
.news-search input{border:0;background:none;padding:.5rem 1rem;min-width:220px;color:var(--ink);outline:none}
.news-search button{border:0;background:var(--seal);color:#fff;padding:.5rem 1.1rem;font-weight:600;cursor:pointer}.news-search button:hover{background:var(--seal-dark)}
.news-result{color:var(--ink-soft);margin:0 0 1rem}
.news-empty{text-align:center;padding:3rem 1.5rem}.news-empty img{width:150px;height:auto;opacity:.85}.news-empty h2{margin:.8rem 0 .3rem}.news-empty p{color:var(--muted);margin:0}
.news-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 50% 45%,#3a2c1a,#15110c);display:grid;place-items:center}
.news-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.news-cover img.news-cover-logo{width:45%;height:auto;object-fit:contain;filter:drop-shadow(0 6px 14px #000a)}
.news-featured,.news-card{display:flex;color:inherit;text-decoration:none;overflow:hidden;padding:0;transition:transform .2s,box-shadow .2s}
.news-featured:hover,.news-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #3a2c1430;color:inherit}
.news-featured:hover .news-cover img:not(.news-cover-logo),.news-card:hover .news-cover img:not(.news-cover-logo){transform:scale(1.05)}
.news-featured{display:grid;grid-template-columns:1.35fr 1fr;margin-bottom:1.4rem;border-top:3px solid var(--gold)}.news-featured .news-cover{aspect-ratio:auto;min-height:320px}
.news-featured-text{padding:2rem 2.2rem;display:flex;flex-direction:column;justify-content:center}.news-featured-text h2{font-size:clamp(1.5rem,2.4vw,2.1rem);margin:.4rem 0 .8rem;line-height:1.25}.news-featured-text p{color:var(--ink-soft)}
.news-more{margin-top:.6rem;color:var(--seal);font-weight:700}
.news-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.2rem}
.news-card{flex-direction:column}.news-card-text{padding:1.1rem 1.3rem 1.2rem;display:flex;flex-direction:column;flex:1}
.news-card h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.08rem;line-height:1.35;margin:.35rem 0 .45rem}.news-card-text>p{color:var(--ink-soft);font-size:.92rem;margin:0}
.news-card .news-foot{margin-top:auto;padding-top:.8rem;color:var(--muted);font-size:.8rem}
.news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:0;color:var(--muted);font-size:.82rem}
.news-tag{padding:.12rem .6rem;border-radius:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--seal)}
.tag-patch-notes{background:#2f5d8a}.tag-interviews{background:#6b3f8a}.tag-guides{background:#2f6b3a}
.news-new{padding:.12rem .5rem;border-radius:3px;background:#c9982f;color:#1d1812;font-size:.72rem;font-weight:800}
.pager{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-top:2rem}
.pager a,.pager span{min-width:2.4rem;padding:.4rem .8rem;border:1px solid var(--line);border-radius:4px;background:#fbf7ee;text-align:center;text-decoration:none;color:var(--ink)}
.pager a:hover{border-color:var(--gold)}.pager .current{background:var(--ink);color:#f3ecdc;border-color:var(--ink)}
/* Article */
.news-article{max-width:860px;margin:2.5rem auto 0}
.news-crumbs{font-size:.88rem;color:var(--muted);margin-bottom:1rem}.news-crumbs a{color:var(--ink-soft);text-decoration:none}.news-crumbs a:hover{color:var(--seal)}
.news-article-head h1{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.2;margin:.7rem 0 .6rem;text-shadow:0 0 6px #f3ecdc,0 0 14px #f3ecdc,0 0 28px #f3ecdcd0}
.news-byline{color:var(--ink-soft);font-size:.9rem;margin:0 0 1.4rem;text-shadow:0 0 6px #f3ecdc,0 0 14px #f3ecdc}
.news-article-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;border:1px solid var(--line);box-shadow:0 18px 40px #3a2c1430;margin-bottom:1.4rem}
.news-article-body{padding:2.4rem 2.6rem}
.news-prose{font-size:1.05rem;line-height:1.85;color:var(--ink-soft)}.news-prose>:first-child{margin-top:0}
.news-prose h2{font-size:1.5rem;margin:2rem 0 .7rem;color:var(--ink)}.news-prose h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.15rem;margin:1.6rem 0 .5rem;color:var(--ink)}
.news-prose p{margin:0 0 1.1rem}.news-prose ul{margin:0 0 1.1rem;padding-inline-start:1.3rem}.news-prose li{margin:.3rem 0}.news-prose strong{color:var(--ink)}
.news-prose a{color:var(--seal);text-decoration:underline;text-underline-offset:3px}
.news-prose blockquote{margin:1.4rem 0;padding:.9rem 1.2rem;border-inline-start:3px solid var(--gold);background:#fffaf0;font-style:italic}
.news-prose figure{margin:1.6rem 0}.news-prose figure img{width:100%;border-radius:4px;border:1px solid var(--line)}.news-prose figcaption{text-align:center;color:var(--muted);font-size:.85rem;margin-top:.4rem}
.news-share{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.news-share>span{font-weight:700;color:var(--ink-soft);margin-inline-end:.3rem}
.news-share a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--brand)}.news-share a i{width:17px;height:17px;background:#fff;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}.news-share a:hover{filter:brightness(1.15)}
.news-copy{padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:#fffaf0;color:var(--ink);font-weight:600;cursor:pointer}.news-copy:hover{border-color:var(--gold)}
.news-neighbours{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}
.news-neighbours a{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;text-decoration:none;color:var(--ink)}.news-neighbours a.older{text-align:end}.news-neighbours small{color:var(--muted)}.news-neighbours a:hover strong{color:var(--seal)}
@media(max-width:860px){.news-featured{grid-template-columns:1fr}.news-featured .news-cover{min-height:0;aspect-ratio:16/9}.news-article-body{padding:1.5rem}.news-search input{min-width:0;flex:1}.news-search{flex:1}}
/* User menu (header) */
.user-menu{position:relative}
.user-menu summary{display:flex;align-items:center;gap:.55rem;padding:.25rem .7rem .25rem .3rem;border:1px solid var(--line);border-radius:999px;background:#fffaf0;cursor:pointer;list-style:none;user-select:none;transition:border-color .15s,box-shadow .15s}
.user-menu summary::-webkit-details-marker{display:none}
.user-menu summary:hover,.user-menu[open] summary{border-color:var(--gold);box-shadow:0 4px 14px #3a2c1422}
.user-menu summary .portrait{--p:34px}
.user-avatar-empty{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#2a2319;color:#d9b870;border:1px solid #c9982f88}.user-avatar-empty .icon{width:18px;height:18px}
.user-menu-name{font-weight:700;color:var(--ink);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-menu-caret{color:var(--muted);font-size:.8rem;transition:transform .15s}.user-menu[open] .user-menu-caret{transform:rotate(180deg)}
.user-menu-panel{position:absolute;top:calc(100% + .5rem);inset-inline-end:0;z-index:30;min-width:250px;padding:.5rem;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;background:#fbf7ee;box-shadow:0 18px 40px #3a2c1440;display:flex;flex-direction:column}
.user-menu-head{display:flex;flex-direction:column;gap:.1rem;padding:.6rem .7rem .7rem;margin-bottom:.3rem;border-bottom:1px solid var(--line)}
.user-menu-head strong{font-size:1.02rem;color:var(--ink)}.user-menu-head small{color:var(--muted)}.user-menu-tip{color:var(--seal)!important;margin-top:.2rem}
.account-nav .user-menu-panel a,.account-nav .user-menu-panel button{display:block;width:100%;padding:.5rem .7rem;border-radius:4px;color:var(--ink);text-align:start;font-weight:500}
.account-nav .user-menu-panel a:hover,.account-nav .user-menu-panel button:hover{background:#efe6d2;color:var(--seal)}
.user-menu-panel form{margin:.3rem 0 0;padding-top:.3rem;border-top:1px solid var(--line)}
.user-menu-label{padding:.6rem .7rem .2rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
/* Account page */
.account-sub{margin:.1rem 0 .5rem;color:#d8c9a8;font-size:.9rem}
.account-avatar-empty{width:96px;height:96px}.account-avatar-empty .icon{width:44px;height:44px}
.account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:0 0 1rem}
.account-stats .panel{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem;border-top:3px solid var(--gold)}
.account-stats small{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.account-stats strong{font-size:1.5rem;color:var(--ink);font-variant-numeric:tabular-nums}
#characters,#orders{scroll-margin-top:100px}
/* Store offer popup: the site's own parchment panel, calm and light */
.store-promo{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;overflow:auto;background:#fbf7ee;color:var(--ink);box-shadow:0 30px 70px #1d18125c}
.store-promo[open]{animation:promo-in .45s cubic-bezier(.22,1,.36,1)}
.store-promo::backdrop{background:#1d181266;backdrop-filter:blur(2px);animation:promo-fade .45s ease}
@keyframes promo-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes promo-fade{from{opacity:0}to{opacity:1}}
.promo-head{position:relative;display:flex;align-items:center;gap:1.2rem;padding:1.5rem 3.6rem 1rem 1.6rem;background:radial-gradient(ellipse 60% 100% at 100% 0,#f3e2b866,transparent 70%)}
[dir=rtl] .promo-head{padding:1.5rem 1.6rem 1rem 3.6rem}
.promo-head h2{margin:.1rem 0 .25rem;font-size:clamp(1.4rem,2.6vw,1.8rem)}.promo-head p{margin:0;color:var(--ink-soft);font-size:.95rem}
.promo-kicker{font-size:.72rem!important;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold)!important}
.promo-badge{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font:800 1.15rem Inter,sans-serif;color:#fff;background:var(--seal);box-shadow:0 0 0 3px #fbf7ee,0 0 0 4px #c9982f}
.promo-close{position:absolute;top:.7rem;inset-inline-end:.7rem;width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.promo-close:hover{background:#0000000d;color:var(--ink)}
.promo-countdown{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:0 1.6rem;padding:.7rem;border-block:1px solid var(--line);direction:ltr}
.promo-countdown-label{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-right:.5rem}
.promo-countdown div{min-width:52px;padding:.25rem .4rem;border:1px solid var(--line);border-radius:4px;background:#fffaf0;text-align:center}
.promo-countdown strong{display:block;font:700 1.2rem Consolas,monospace;color:var(--seal);line-height:1.15}.promo-countdown small{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.promo-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;padding:1.4rem 1.6rem 1.1rem}
.promo-offer{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:1.2rem .9rem .9rem;border:1px solid var(--line);border-radius:6px;background:#fffaf0;color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.promo-offer:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 26px #3a2c1426;color:inherit}
.promo-offer-tag{position:absolute;top:-.65rem;left:50%;transform:translateX(-50%);padding:.1rem .6rem;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#3b2a0a;background:linear-gradient(#f5d77e,#c9982f)}
.promo-offer-legend .promo-offer-tag{color:#fff;background:var(--seal)}
.promo-offer-name{font-size:.98rem;margin-top:.2rem}.promo-offer-what{color:var(--muted);font-size:.82rem}
.promo-offer-price{display:flex;align-items:baseline;gap:.45rem;margin-top:.2rem}.promo-offer-price s{color:var(--muted);font-size:.82rem}.promo-offer-price b{font-size:1.15rem;color:var(--seal)}
.promo-offer-buy{margin-top:.45rem;padding:.3rem 1rem;border:1px solid var(--seal);border-radius:4px;color:var(--seal);font-weight:700;font-size:.84rem;transition:background .2s,color .2s}.promo-offer:hover .promo-offer-buy{background:var(--seal);color:#fff}
.promo-foot{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;padding:0 1.6rem 1.4rem}
/* Tucked-away offer: a slim tab on the side */
.promo-tab{position:fixed;top:58%;right:0;z-index:40;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .3rem;border:1px solid #c9982f;border-right:0;border-radius:6px 0 0 6px;background:#fbf7ee;color:var(--seal);font:800 .72rem Inter,sans-serif;cursor:pointer;box-shadow:-3px 4px 14px #3a2c1430;animation:tab-in .5s cubic-bezier(.22,1,.36,1) both;transition:padding .2s ease,background .2s ease}
.promo-tab span:last-child{writing-mode:vertical-rl;letter-spacing:.04em}
[dir=rtl] .promo-tab{right:auto;left:0;border-right:1px solid #c9982f;border-left:0;border-radius:0 6px 6px 0;animation-name:tab-in-rtl}
.promo-tab:hover{padding-right:.5rem;background:#fff}[dir=rtl] .promo-tab:hover{padding-right:.3rem;padding-left:.5rem}
.promo-tab-icon{color:var(--gold);font-size:.9rem}
.promo-tab[hidden]{display:none}
@keyframes tab-in{from{transform:translateX(100%)}to{transform:none}}@keyframes tab-in-rtl{from{transform:translateX(-100%)}to{transform:none}}
@media(max-width:640px){.promo-head{flex-direction:column;text-align:center;padding:1.3rem 1.2rem .8rem}.promo-countdown-label{display:none}.promo-countdown{margin:0 1rem}}
@media(prefers-reduced-motion:reduce){.store-promo[open],.store-promo::backdrop,.promo-tab{animation:none}}
/* Sound button */
.account-nav .sound-toggle{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #b8913f88;border-radius:50%;background:#fffaf0;color:var(--ink-soft)}
.sound-toggle svg{width:18px;height:18px}.sound-toggle .sound-off{display:none}.sound-toggle.off .sound-on{display:none}.sound-toggle.off .sound-off{display:block}
.account-nav .sound-toggle:hover{border-color:var(--gold);color:var(--seal)}
.sound-bars{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);display:flex;gap:1px;align-items:flex-end;height:6px}
.sound-bars i{width:2px;background:var(--gold);animation:bars 1s ease-in-out infinite}.sound-bars i:nth-child(2){animation-delay:.2s}.sound-bars i:nth-child(3){animation-delay:.4s}
.sound-toggle.off .sound-bars{display:none}
@keyframes bars{0%,100%{height:2px}50%{height:6px}}
@media(prefers-reduced-motion:reduce){.sound-bars i{animation:none;height:4px}}
/* Orders on the account page */
.orders-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.orders-head h2{margin:0}
.orders-empty{color:var(--ink-soft)}
.order-list{display:flex;flex-direction:column;gap:.7rem}
.order-row{display:grid;grid-template-columns:64px minmax(0,1.3fr) auto minmax(260px,1fr);gap:1.1rem;align-items:center;padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:#fffaf0;transition:border-color .2s,box-shadow .2s}
.order-row:hover{border-color:#c9982f88;box-shadow:0 8px 20px #3a2c1418}
.order-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:8px;background:#2a1d14;border:1px solid #c9982f;box-shadow:0 0 14px #e0b85a33;overflow:hidden}
.order-icon img{width:52px;height:52px;object-fit:contain}.order-icon span{color:#e0b85a;font-size:1.4rem}
.order-title{font-weight:700;font-size:1.02rem;color:var(--ink);text-decoration:none}.order-title:hover{color:var(--seal)}
.order-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.25rem 0 0;color:var(--muted);font-size:.84rem}
.order-pay{display:flex;flex-direction:column;align-items:center;gap:.35rem}.order-pay strong{font-variant-numeric:tabular-nums}
.order-state .order-status{margin:0}
.order-status strong{display:flex;align-items:center;gap:.4rem}
.order-status-icon{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.75rem;background:#0000000f}
.order-status.done .order-status-icon{background:var(--ok);color:#fff}.order-status.bad .order-status-icon{background:var(--seal);color:#fff}
.order-next{display:inline-block;align-self:flex-start;margin-top:.35rem;padding:.25rem .6rem;border:1px solid #c9982f;border-radius:4px;background:linear-gradient(#fff6d8,#f8e6ae);color:#6d4d0e;font-weight:700;font-size:.86rem;box-shadow:0 0 10px #e0b85a44}
@media(max-width:900px){.order-row{grid-template-columns:56px 1fr;}.order-pay{flex-direction:row;grid-column:2}.order-state{grid-column:1/-1}}
/* Wider news, tables and pictures in articles */
.news-article{max-width:1100px}
.news-prose .inline-img{display:inline-block;height:1.9em;width:auto;vertical-align:middle;margin:0 .2em;border-radius:3px}
.news-table{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line);border-radius:6px}
.news-table table{width:100%;border-collapse:collapse;font-size:.95rem}
.news-table th{background:#1d1812;color:#f3ecdc;text-align:start;padding:.7rem 1rem;font-weight:700}
.news-table td{padding:.65rem 1rem;border-top:1px solid var(--line);vertical-align:middle}.news-table tr:nth-child(even) td{background:#fffaf0}
.news-table .inline-img{height:40px}
/* News editor toolbar */
.md-toolbar{position:sticky;top:90px;z-index:5;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-top:1.4rem;padding:.5rem;border:1px solid var(--line);border-radius:6px;background:#fbf7eef2;box-shadow:0 6px 18px #3a2c1418}
.md-toolbar button{padding:.35rem .7rem;border:1px solid var(--line);border-radius:4px;background:#fffaf0;color:var(--ink);cursor:pointer;font-size:.88rem}.md-toolbar button:hover{border-color:var(--gold);background:#fff}
.md-status{margin-inline-start:.5rem;color:var(--muted);font-size:.85rem}
/* News admin: list */
.admin-news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.admin-news-filters{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.admin-news-filters select{width:auto;min-width:170px;border-radius:999px}
.admin-news-list{display:flex;flex-direction:column;gap:.8rem}
.admin-news-row{display:grid;grid-template-columns:150px 1fr auto;gap:1.2rem;align-items:center;padding:.8rem;transition:box-shadow .15s}
.admin-news-row:hover{box-shadow:0 12px 28px #3a2c1424}.admin-news-row.is-deleted{opacity:.6}
.admin-news-thumb{aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:radial-gradient(circle,#3a2c1a,#15110c);display:grid;place-items:center}
.admin-news-thumb img{width:100%;height:100%;object-fit:cover}.admin-news-thumb img.news-cover-logo{width:60%;height:auto;object-fit:contain}
.admin-news-main h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:1.05rem;margin:.35rem 0 .25rem}
.admin-news-facts{display:flex;gap:.9rem;margin:0;font-size:.82rem;color:var(--ok)}.admin-news-facts .missing{color:var(--muted)}.admin-news-facts span:last-child{color:var(--muted)}
.admin-state{padding:.1rem .5rem;border-radius:3px;font-size:.72rem;font-weight:700}
.admin-state-live{background:#e3efe2;color:#2f6b3a}.admin-state-scheduled{background:#fbefd4;color:#8a6420}.admin-state-deleted{background:#f3dddb;color:#9b2c22}
.admin-news-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.admin-news-actions form{margin:0}
.btn-sm{padding:.3rem .8rem;font-size:.85rem}
.link-danger{color:#9b2c22;background:none;border:1px solid #9b2c2244}.link-danger:hover{background:#9b2c22;color:#fff}
@media(max-width:720px){.admin-news-row{grid-template-columns:1fr}.admin-news-thumb{max-width:260px}}
/* News admin: editor */
.news-editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.news-editor-main{display:flex;flex-direction:column;gap:1.2rem}
.news-editor-meta{padding:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}.news-editor-cover-field{grid-column:1/-1}
.news-cover-drop{position:relative;display:block;aspect-ratio:16/6;border:2px dashed var(--line);border-radius:6px;overflow:hidden;cursor:pointer;background:radial-gradient(circle,#3a2c1a,#15110c)}
.news-cover-drop img{width:100%;height:100%;object-fit:cover}.news-cover-drop img.empty{object-fit:contain;padding:1.2rem;opacity:.35}
.news-cover-drop span{position:absolute;inset:auto 0 0;padding:.4rem;background:#15110cb3;color:#f3ecdc;text-align:center;font-size:.85rem;opacity:0;transition:opacity .15s}
.news-cover-drop:hover span,.news-cover-drop.dropping span{opacity:1}.news-cover-drop.dropping{border-color:var(--gold)}
.news-cover-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.news-editor-body{padding:1.2rem 1.4rem}
.news-lang-tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:.8rem}
.news-lang-tabs button{padding:.5rem 1rem;border:0;border-bottom:3px solid transparent;background:none;font-weight:700;color:var(--muted);cursor:pointer}
.news-lang-tabs button.active{color:var(--ink);border-bottom-color:var(--gold)}.news-lang-tabs small{font-weight:400}
.news-editor .md-toolbar{position:sticky;top:90px;margin:0 0 .8rem}
.news-editor-lang{margin:0;padding:0;border:0;background:none}
.news-title-input{font-size:1.15rem;font-weight:700}
.news-editor textarea{min-height:420px;resize:vertical}.news-editor textarea.dropping{outline:2px dashed var(--gold);background:#fffaf0}
.news-editor-count{margin:.4rem 0 0;color:var(--muted);font-size:.82rem}
.news-editor-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:.8rem;max-height:calc(100vh - 110px)}
.news-preview-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--ink-soft)}.news-preview-head small{color:var(--gold)}
.news-preview{padding:1.6rem 1.8rem;overflow:auto}.news-preview h1{font-size:1.8rem;line-height:1.2;margin:.6rem 0 1rem}
.news-preview .news-article-cover{margin-bottom:1rem}.news-preview .news-prose{font-size:1rem}
.news-draft-banner{display:flex;gap:.8rem;align-items:center;justify-content:center;flex-wrap:wrap}.news-draft-banner[hidden]{display:none}
@media(max-width:1000px){.news-editor-grid{grid-template-columns:1fr}.news-editor-side{position:static;max-height:none}.news-editor-meta{grid-template-columns:1fr}}
.news-help{margin-top:1rem}.news-help summary{cursor:pointer;font-weight:600;color:var(--ink-soft)}.news-help pre{margin:.6rem 0 0;padding:1rem;background:#1d1812;color:#e7dcc4;border-radius:4px;font-size:.85rem;direction:ltr;text-align:left;white-space:pre-wrap}
.news-editor-actions{display:flex;gap:.8rem}
/* Offer icons: the in-game item in a gold frame with a slow halo, a soft pulse and a passing shine */
.promo-offer-art{height:112px;display:grid;place-items:center}
.promo-icon{position:relative;width:92px;height:92px;display:grid;place-items:center;border-radius:14px;isolation:isolate;
  background:radial-gradient(circle at 50% 40%,#4a3218,#1a120b 70%);border:1px solid #e0b85a;
  box-shadow:0 0 0 3px #1a120b,0 0 0 4px #c9982f88,0 0 18px #e0b85a66;animation:icon-pulse 3s ease-in-out infinite}
.promo-icon::before{content:"";position:absolute;inset:-10px;z-index:-1;border-radius:50%;
  background:conic-gradient(from 0deg,transparent,#f5d77e66,transparent 30%,transparent 50%,#e0b85a55,transparent 80%);filter:blur(6px);animation:icon-halo 6s linear infinite}
.promo-icon img{position:relative;width:72px;height:72px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 0 6px #f5d77e99) drop-shadow(0 3px 4px #000c);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.promo-icon-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.promo-icon-shine::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 42%,#fff6d066 50%,transparent 58%);transform:translateX(-100%);animation:shine 3.6s ease-in-out infinite}
.promo-offer:hover .promo-icon img{transform:scale(1.1) translateY(-2px)}
.promo-offer:hover .promo-icon{box-shadow:0 0 0 3px #1a120b,0 0 0 4px #e0b85a,0 0 30px #f5d77eaa}
.promo-offer-legend .promo-icon{border-color:#f0a860;background:radial-gradient(circle at 50% 40%,#5a2418,#1a0d0a 70%);box-shadow:0 0 0 3px #1a0d0a,0 0 0 4px #e0784a99,0 0 22px #f0a86077}
.promo-offer-legend .promo-icon::before{background:conic-gradient(from 0deg,transparent,#ffb86a77,transparent 30%,transparent 50%,#f5d77e66,transparent 80%)}
@keyframes icon-pulse{50%{box-shadow:0 0 0 3px #1a120b,0 0 0 4px #e0b85a,0 0 28px #f5d77e99}}
@keyframes icon-halo{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.promo-icon,.promo-icon::before,.promo-icon-shine::after{animation:none}}
/* Items as they look in the game bag: the real 64px icon in a dark inventory slot.
   Effects only for Super (soft gold light) and Legendary (slow gold halo + shine). */
.item-slot{position:relative;display:inline-grid;place-items:center;flex:none;width:76px;height:76px;border-radius:6px;isolation:isolate;
  background:linear-gradient(#ffffff08 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,#ffffff08 1px,transparent 1px) 0 0/12px 12px,radial-gradient(circle at 50% 45%,#2c241a,#120e09 75%);
  border:1px solid #5a4a30;box-shadow:inset 0 0 0 1px #000,inset 0 0 12px #000a}
.item-slot img{width:64px;height:64px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 3px #000c)}
.item-slot-empty{color:#c9982f;font-size:1.4rem}
.item-slot.rarity-super{border-color:#c9982f;box-shadow:inset 0 0 0 1px #000,inset 0 0 14px #e0b85a33,0 0 10px #e0b85a55}
/* Legendary: the game's own GoldenLight ("electrogold") animation from the Legendary package (effect.ani [GoldenLight],
   8 frames of 64x64, drawn under the icon as ClientTips::DrawTipIcon does), played as a sprite sheet. */
.item-slot.rarity-legendary{border-color:#e0a84a;box-shadow:inset 0 0 0 1px #000,0 0 12px #f0a86066}
.item-slot.rarity-legendary::before{content:"";position:absolute;inset:3px;z-index:0;border-radius:4px;background:url("../img/items/golden-light.webp") 0 0/800% 100% no-repeat;animation:golden-light .8s steps(8,jump-none) infinite}
.item-slot.rarity-legendary img{position:relative;z-index:1}
@keyframes golden-light{to{background-position-x:100%}}
@media(prefers-reduced-motion:reduce){.item-slot.rarity-legendary::before{animation:none}}
.product .item-slot{margin-bottom:.9rem;width:92px;height:92px}.product .item-slot img{width:72px;height:72px}
.promo-offer .item-slot{width:88px;height:88px;margin:.2rem 0}.promo-offer .item-slot img{width:70px;height:70px}
/* Coins */
.coin{display:inline-block;width:1.15em;height:1.15em;margin-inline-end:.3em;vertical-align:-.2em;border-radius:50%;background:#2a1a10 url("../img/nox-icon.png") center/cover no-repeat;box-shadow:0 0 0 1px #c9982f,0 1px 2px #0004}
.coin-stack{position:relative;flex:none;width:46px;height:46px}
.coin-stack::before,.coin-stack::after{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:#2a1a10 url("../img/nox-icon.png") center/cover no-repeat;box-shadow:0 0 0 1.5px #c9982f,0 3px 8px #0005}
.coin-stack::before{left:0;top:10px}.coin-stack::after{left:12px;top:0}
.coin-amount{color:#8a6420}
.pay-coins{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border:1px solid #c9982f;border-radius:4px;background:#fff6d8;color:#6d4d0e;font-weight:700;font-size:.8rem}
/* Store: wallet bar, sections, top-ups */
.wallet-bar{display:flex;align-items:center;gap:1rem 1.2rem;flex-wrap:wrap;padding:1.1rem 1.4rem;margin:1rem 0 .6rem;border-top:3px solid var(--gold)}
.wallet-bar-text{display:flex;flex-direction:column}.wallet-bar-text small{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.wallet-bar-text strong{font-size:1.5rem;color:var(--ink)}.wallet-bar-text em{font-style:normal;font-size:.9rem;color:var(--muted)}
.wallet-bar-how{flex:1;min-width:220px;margin:0;color:var(--ink-soft);font-size:.9rem}
.shop-jump{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 0}
.shop-jump a{padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fbf7eeee;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.9rem}.shop-jump a:hover{border-color:var(--gold);color:var(--ink)}
.shop-section{scroll-margin-top:100px}
.topup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
/* Top-up packs: each tier has its own colour (--tier), the biggest pack is featured. */
.topup-card{--tier:#a0703c;--tier-soft:#a0703c22;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:1.6rem 1.1rem 1.2rem;background:radial-gradient(120% 60% at 50% 0,var(--tier-soft),transparent 70%),linear-gradient(#fffdf7,#f6ecd6);border:1px solid color-mix(in srgb,var(--tier) 45%,#d6c59d);border-top:4px solid var(--tier);border-radius:10px;transition:transform .2s,box-shadow .2s}
.topup-card:nth-child(2){--tier:#5f7f9c;--tier-soft:#5f7f9c26}.topup-card:nth-child(3){--tier:#7a47b0;--tier-soft:#7a47b026}
.topup-card:nth-child(4){--tier:#c9982f;--tier-soft:#e2b64a40;box-shadow:0 0 0 1px #c9982f55,0 18px 40px #c9982f38}
.topup-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--tier),0 20px 40px color-mix(in srgb,var(--tier) 30%,transparent)}
.topup-art{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tier) 40%,transparent),transparent 68%);transition:transform .25s}.topup-card:hover .topup-art{transform:scale(1.07) rotate(-3deg)}
.topup-card h3{font-family:Inter,"Segoe UI",sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tier);margin:.2rem 0 0}
.topup-coins{display:flex;align-items:center;gap:.35rem;font-size:2.1rem;font-weight:800;line-height:1.1;color:var(--ink);margin:0}.topup-coins .coin{width:.8em;height:.8em}
.topup-split{line-height:1.4;min-height:1.4em;margin:0 0 .7rem;font-size:.82rem;color:var(--muted);font-weight:600}
.topup-price{width:100%;margin:auto 0 .7rem;padding-top:.7rem;border-top:1px dashed color-mix(in srgb,var(--tier) 40%,#d6c59d);color:var(--muted);font-size:.85rem;font-weight:600}.topup-price span{display:block;font-size:1.55rem;font-weight:800;color:var(--ink)}.topup-price small{font-size:.85rem}
.topup-card .inside{width:100%;text-align:start;margin:0 0 .9rem;border:0;border-radius:8px;background:color-mix(in srgb,var(--tier) 7%,#fffaf0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tier) 22%,transparent)}.topup-card .inside-title{color:var(--tier)}.topup-card .inside li::marker{color:var(--tier)}
.topup-bonus{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);padding:.2rem .75rem;border-radius:999px;background:linear-gradient(#3c8a4a,#2a5f33);color:#fff;font-size:.74rem;font-weight:800;white-space:nowrap;box-shadow:0 4px 10px #2a5f3355;z-index:1}
.pay-banners-slim{margin-top:1.2rem}
.coin-price span{color:#8a6420}.coin-price small{font-size:.8rem;color:var(--muted);font-weight:600}
.rarity-card-legendary{border-top:3px solid #c9982f;box-shadow:0 0 0 1px #c9982f33,0 14px 34px #c9982f22}
/* Buy page */
.checkout-head{display:flex;align-items:center;gap:1rem;margin:.6rem 0 1rem}.checkout-head h1{margin:.1rem 0 .2rem;font-size:1.6rem}
.coin-bill{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;margin:0 0 1.2rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:6px;background:#fffaf0}
.coin-bill dt{color:var(--ink-soft);font-weight:500}.coin-bill dd{margin:0;text-align:end;font-weight:700;font-variant-numeric:tabular-nums}.coin-bill s{color:var(--muted);font-weight:400;margin-inline-end:.4rem}
.coin-bill .bill-total{padding-top:.5rem;border-top:1px dashed var(--line);font-size:1.05rem}.coin-bill dd.short{color:var(--seal)}
.bill-sale{margin-inline-start:.4rem;padding:.05rem .4rem;border-radius:3px;background:var(--seal);color:#fff;font-size:.7rem}
.coin-short{text-align:center;padding:1rem;border:1px dashed #c9982f;border-radius:6px;background:#fff6d8}.coin-short p{margin:0 0 .7rem;font-weight:700;color:#6d4d0e}
/* Wallet on the account page and in the menu */
.wallet-balance{display:flex;align-items:center;gap:.9rem}.wallet-balance small{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.wallet-balance strong{font-size:1.8rem;color:var(--ink)}
.wallet-history-title{font-family:Inter,"Segoe UI",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:1.2rem 0 .5rem}
.wallet-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.wallet-history li{display:grid;grid-template-columns:28px 1fr auto auto;gap:.8rem;align-items:center;padding:.55rem .8rem;border:1px solid var(--line);border-radius:5px;background:#fffaf0}
.wallet-history strong{display:block;font-size:.92rem}.wallet-history small{color:var(--muted);font-size:.8rem}
.wallet-kind{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:800;color:#fff}
.wallet-history .plus .wallet-kind{background:var(--ok)}.wallet-history .minus .wallet-kind{background:var(--seal)}
.wallet-amount{font-weight:800;font-variant-numeric:tabular-nums}.plus .wallet-amount{color:var(--ok)}.minus .wallet-amount{color:var(--seal)}
.wallet-after{color:var(--muted);font-size:.85rem;min-width:80px;text-align:end}
.account-nav .user-menu-panel a.user-menu-wallet{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.3rem;background:#fff6d8;border:1px solid #e9d9a8;font-weight:700;color:#6d4d0e}
.user-menu-wallet em{font-style:normal;font-size:.78rem;padding:.1rem .5rem;border-radius:999px;background:var(--seal);color:#fff}
/* Store editor */
.admin-tabs{margin:1rem 0}
.store-row{grid-template-columns:auto 1fr auto}.store-row .item-slot{width:68px;height:68px}.store-row .item-slot img{width:56px;height:56px}
.store-editor{display:flex;flex-direction:column;gap:1rem}.store-editor>.panel{padding:1.3rem 1.5rem}.store-editor h2{font-size:1.15rem;margin:0 0 .9rem}
.store-editor [hidden]{display:none!important}
.kind-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}
.kind-option{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:6px;background:#fffaf0;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.kind-option input{position:absolute;opacity:0}.kind-option.active{border-color:var(--gold);box-shadow:0 0 0 2px #c9982f55;background:#fff6d8}
.kind-icon{font-size:1.5rem}.kind-option small{color:var(--muted);font-size:.82rem}
.item-picker{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;margin-bottom:1rem}
.item-picked{display:flex;gap:.8rem;align-items:center}.item-picked small{display:block;color:var(--muted);font-size:.78rem}.item-picked input{max-width:150px}
.item-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem;max-height:320px;overflow:auto;margin-top:.5rem}
.item-result{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:5px;background:#fffaf0;text-align:start;cursor:pointer}
.item-result:hover{border-color:var(--gold);background:#fff}.item-result .item-slot{width:48px;height:48px}.item-result .item-slot img{width:40px;height:40px}
.item-result strong{display:block;font-size:.88rem}.item-result small{color:var(--muted);font-size:.75rem}
.switch{display:flex;align-items:center;gap:.5rem;margin:.4rem 0;font-weight:600;cursor:pointer}
.store-settings{display:flex;flex-direction:column;gap:1rem}.store-settings .panel{padding:1.3rem 1.5rem}.store-settings h2{font-size:1.15rem;margin:0 0 .3rem}
.wallet-results{display:flex;flex-direction:column;padding:.5rem}.wallet-results a{display:flex;justify-content:space-between;padding:.5rem .7rem;border-radius:4px;color:var(--ink);text-decoration:none}.wallet-results a:hover{background:#efe6d2}
.wallet-admin{padding:1.3rem 1.5rem}.wallet-admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.wallet-admin-head h2{margin:0}
.wallet-adjust{display:grid;grid-template-columns:140px 1fr auto;gap:.6rem;margin-bottom:1rem}
@media(max-width:720px){.item-picker{grid-template-columns:1fr}.wallet-adjust{grid-template-columns:1fr}.wallet-history li{grid-template-columns:28px 1fr auto}.wallet-after{display:none}}
.coin-usd{display:block;color:var(--muted);font-size:.8rem;font-weight:600}.coin-bill .coin-usd,.promo-offer-price .coin-usd{display:inline;margin-inline-start:.3rem}
/* Nox Coins chip beside the player's name: balance, its value in EGP or $, a turning coin and a passing shine */
.account-nav .coin-chip{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .35rem .2rem .45rem;border:1px solid #c9982f;border-radius:999px;overflow:hidden;
  background:linear-gradient(180deg,#fff8dc,#f3dca0);color:#5a3d08;text-decoration:none;box-shadow:0 2px 8px #c9982f40,inset 0 1px 0 #fff;transition:box-shadow .2s,transform .2s}
.account-nav .coin-chip:hover{transform:translateY(-1px);box-shadow:0 4px 14px #c9982f66,inset 0 1px 0 #fff;color:#3b2a0a}
.coin-chip::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffffb3 50%,transparent 65%) no-repeat;background-size:250% 100%;animation:chip-shine 5s ease-in-out infinite;pointer-events:none}
.coin-chip .coin{width:22px;height:22px;margin:0}
.coin-spin{animation:coin-turn 4s ease-in-out infinite}
.coin-chip-text{display:flex;flex-direction:column;line-height:1.05}.coin-chip-text strong{font-size:.92rem;font-variant-numeric:tabular-nums}.coin-chip-text small{font-size:.66rem;color:#8a6420;font-weight:700}
.coin-chip-plus{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--seal);color:#fff;font-weight:800;font-size:.9rem;line-height:1}
@keyframes chip-shine{0%,70%{background-position:160% 0}100%{background-position:-60% 0}}
@keyframes coin-turn{0%,80%,100%{transform:rotateY(0)}90%{transform:rotateY(180deg)}}
@media(prefers-reduced-motion:reduce){.coin-chip::after,.coin-spin{animation:none}}
@media(max-width:900px){.coin-chip-text small{display:none}}
/* Account page cards */
.account-card h2{display:flex;align-items:center;gap:.55rem}
.card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:linear-gradient(#fff6d8,#f0dca4);border:1px solid #c9982f88;font-size:1.05rem}
.info-rows{list-style:none;margin:0;padding:0}
.info-rows li{display:grid;grid-template-columns:30px 150px 1fr;align-items:center;gap:.5rem;padding:.6rem .2rem;border-bottom:1px dashed var(--line)}.info-rows li:last-child{border-bottom:0}
.info-icon{font-size:1rem;opacity:.8}.info-label{color:var(--muted);font-weight:500}.info-rows strong{color:var(--ink)}
.chip{justify-self:start;padding:.12rem .6rem;border-radius:999px;border:1px solid var(--line);background:#fffaf0;font-size:.8rem;font-weight:700;color:var(--ink-soft)}
.chip-gold{border-color:#c9982f;background:#fff6d8;color:#6d4d0e}.chip-warn{border-color:#9b2c2266;background:#f7e3df;color:var(--seal)}
.security-checks{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.security-checks li{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--ink-soft)}
.security-checks span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:.75rem;font-weight:800}
.security-checks .ok span{background:var(--ok)}.security-checks .warn span{background:var(--seal)}
.security-text{color:var(--ink-soft);margin:0 0 1rem}.security-note{margin-top:.8rem}
@media(max-width:600px){.info-rows li{grid-template-columns:26px 1fr;}.info-rows li>:last-child{grid-column:2}}
/* Redeem */
.redeem-done{display:flex;gap:1rem;align-items:center;padding:1rem 1.3rem;margin-bottom:1rem;border-top:3px solid var(--ok);background:#eef7ee}
.redeem-done-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ok);color:#fff;font-size:1.3rem}.redeem-done p{margin:.1rem 0 0;color:var(--ink-soft)}
.redeem-card{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:center;padding:1.8rem;max-width:760px;border-top:3px solid var(--gold)}
.redeem-art{display:grid;place-items:center;height:160px;border-radius:10px;background:radial-gradient(circle at 50% 40%,#4a3218,#15110c 75%)}.redeem-art .coin-stack{transform:scale(2)}
.redeem-form{display:flex;flex-direction:column;gap:.5rem}.redeem-form label{font-weight:700}
.redeem-input{font:700 1.3rem Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.redeem-cards{padding:1.4rem 1.6rem}
.card-row{display:grid;grid-template-columns:auto 1fr minmax(160px,220px) 90px auto;gap:.8rem;align-items:center;padding:.7rem .8rem;margin:.6rem 0;border:1px solid var(--line);border-radius:6px;background:#fffaf0}
.card-row .item-slot{width:60px;height:60px}.card-row .item-slot img{width:48px;height:48px}
.card-row-main strong{display:block}.card-row-main small{color:var(--muted)}
@media(max-width:760px){.redeem-card{grid-template-columns:1fr}.redeem-art{height:110px}.card-row{grid-template-columns:auto 1fr}.card-row select,.card-row button{grid-column:1/-1}}
/* Vote */
.vote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:1.2rem}
.vote-card{display:flex;flex-direction:column;gap:.8rem;padding:1.1rem;border-top:3px solid var(--site)}
.vote-banner{display:grid;place-items:center;height:80px;border-radius:6px;background:linear-gradient(135deg,var(--site),#15110c);color:#fff;font:800 1.3rem Inter,sans-serif;letter-spacing:.02em;text-shadow:0 2px 6px #0008}
.vote-reward{margin:0;text-align:center;font-weight:800;color:#8a6420}
.vote-strip{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:2rem;padding:1rem 0;border-top:1px solid #3a3024}
.vote-strip-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#8f846f;margin-inline-end:.6rem}
.site-footer .vote-badge{display:flex;flex-direction:column;align-items:center;min-width:140px;padding:.5rem 1rem;border:1px solid #4a3f30;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--site) 45%,#1a150f),#15110c);color:#f3ecdc;transition:transform .2s,border-color .2s}
.site-footer .vote-badge:hover{transform:translateY(-2px);border-color:#e0b85a;color:#fff}.vote-badge span{font-weight:800}.vote-badge small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#d9b870}
/* Gift codes admin */
.code-maker{padding:1.3rem 1.5rem;margin-bottom:1rem}.code-maker h2{font-size:1.15rem;margin:0 0 .6rem}
.new-codes{padding:1.2rem 1.4rem;margin-bottom:1rem;border-top:3px solid var(--ok)}.new-codes textarea{font-family:Consolas,monospace}
.code-row{grid-template-columns:200px 1fr auto}.code-text{font:700 1rem Consolas,monospace;color:#6d4d0e;background:#fff6d8;border:1px dashed #c9982f;border-radius:4px;padding:.4rem .6rem;text-align:center}
.vote-setting code{font-size:.78rem;word-break:break-all}
/* Guides */
.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.9rem}
.guide-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;color:inherit;text-decoration:none;border-inline-start:3px solid var(--gold);transition:transform .2s,box-shadow .2s}
.guide-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #3a2c1426;color:inherit}
.guide-card-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:radial-gradient(circle at 50% 40%,#4a3218,#15110c 80%);color:#f5d77e;border:1px solid #c9982f}
.guide-card-icon .icon{width:24px;height:24px}
.guide-card-text{flex:1;display:flex;flex-direction:column;gap:.15rem}.guide-card-text strong{font-size:1.02rem}.guide-card-text small{color:var(--muted);font-size:.86rem;line-height:1.45}
.guide-card-go{color:var(--gold);font-weight:800}
.guide-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:2.5rem}
.guide-side{position:sticky;top:95px;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 110px);overflow:auto}
.guide-toc,.guide-others{padding:1rem 1.1rem}.guide-toc ol,.guide-others ul{margin:.4rem 0 0;padding-inline-start:1.1rem;font-size:.9rem}.guide-toc li,.guide-others li{margin:.3rem 0}
.guide-toc a,.guide-others a{color:var(--ink-soft);text-decoration:none}.guide-toc a:hover,.guide-others a:hover{color:var(--seal)}.guide-others li.active a{color:var(--seal);font-weight:700}
.guide-head{display:flex;align-items:center;gap:1rem;margin:.6rem 0 1.2rem}.guide-head h1{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}.guide-head p{margin:.2rem 0 0;color:var(--ink-soft)}
.guide-head .guide-card-icon{width:60px;height:60px}.guide-head .icon{width:30px;height:30px}
.guide-prose h2{scroll-margin-top:100px;padding-top:.6rem;border-top:1px solid var(--line)}.guide-prose h2:first-child{border-top:0;padding-top:0}.guide-prose h3{scroll-margin-top:100px}
.item-ref{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .45rem .05rem .1rem;border:1px solid var(--line);border-radius:5px;background:#fffaf0;vertical-align:middle;line-height:1.5;white-space:nowrap}
.item-ref img{width:26px;height:26px;padding:1px;border-radius:4px;background:#1a150f;border:1px solid #5a4a30}.item-ref b{font-size:.9em;color:var(--ink)}
.item-ref-super img{border-color:#c9982f;box-shadow:0 0 6px #e0b85a88}
.news-table .item-ref{white-space:normal}
@media(max-width:960px){.guide-layout{grid-template-columns:1fr}.guide-side{position:static;max-height:none}.guide-others{display:none}}
/* Discord: floating dock on every page and the home community section */
.discord-logo{display:inline-block;width:22px;height:22px;background:#fff;-webkit-mask:url("../img/social/discord.svg") center/contain no-repeat;mask:url("../img/social/discord.svg") center/contain no-repeat;vertical-align:middle}
.discord-dock{position:fixed;bottom:18px;inset-inline-start:18px;z-index:45}
.discord-dock summary{list-style:none;display:flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;background:#5865f2;color:#fff;cursor:pointer;box-shadow:0 8px 24px #5865f266,0 2px 6px #0004;transition:transform .2s,box-shadow .2s}
.discord-dock summary::-webkit-details-marker{display:none}
.discord-dock summary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #5865f288}
.discord-dock-count{display:flex;align-items:center;gap:.35rem;font-weight:800;font-size:.9rem}.discord-dock-count i,.discord-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#23a55a;box-shadow:0 0 0 2px #23a55a44;animation:discord-pulse 2s ease-in-out infinite}
@keyframes discord-pulse{50%{box-shadow:0 0 0 5px #23a55a00}}
.discord-panel{position:absolute;bottom:calc(100% + 10px);inset-inline-start:0;width:min(330px,calc(100vw - 36px));max-height:min(520px,calc(100vh - 120px));overflow:auto;padding:1rem;border-radius:12px;background:#1e1f24;color:#dbdee1;box-shadow:0 24px 60px #000a;animation:promo-in .3s cubic-bezier(.22,1,.36,1)}
.discord-head{display:flex;align-items:center;gap:.7rem;padding-bottom:.8rem;margin-bottom:.4rem;border-bottom:1px solid #ffffff14}
.discord-head .discord-logo{width:36px;height:36px;padding:8px;border-radius:12px;background-color:#fff;box-shadow:inset 0 0 0 40px #5865f2}
.discord-head strong{display:block;color:#fff}.discord-head small{display:flex;align-items:center;gap:.4rem;color:#b5bac1}
.discord-label{margin:.7rem 0 .35rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#949ba4}
.discord-voice{padding:.45rem .55rem;border-radius:6px;background:#2b2d31;margin-bottom:.4rem}.discord-voice strong{font-size:.85rem;color:#f2f3f5}
.discord-avatars{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.discord-avatars img{width:24px;height:24px;border-radius:50%}
.discord-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
.discord-members li{display:flex;align-items:center;gap:.55rem;padding:.3rem .35rem;border-radius:6px}.discord-members li:hover{background:#2b2d31}
.discord-avatar{position:relative;flex:none;width:32px;height:32px}.discord-avatar img{width:100%;height:100%;border-radius:50%}
.discord-avatar i{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;border:3px solid #1e1f24;background:#23a55a}
.discord-avatar i.status-idle{background:#f0b232}.discord-avatar i.status-dnd{background:#f23f43}
.discord-name{display:flex;flex-direction:column;font-size:.9rem;color:#f2f3f5;overflow:hidden}.discord-name small{color:#949ba4;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn.discord-join{display:block;width:100%;margin-top:.8rem;background:#5865f2;border-color:#5865f2;color:#fff;font-weight:700}.btn.discord-join:hover{background:#4752c4;color:#fff}
.discord-community{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:center;padding:1.8rem 2rem;border-top:3px solid #5865f2;background:linear-gradient(120deg,#fbf7ee 55%,#eef0ff)}
.discord-community h2{display:flex;align-items:center;gap:.6rem;margin:.2rem 0 .5rem}.discord-community h2 .discord-logo{width:34px;height:34px;padding:7px;border-radius:10px;background-color:#fff;box-shadow:inset 0 0 0 40px #5865f2}
.discord-community p{color:var(--ink-soft)}.discord-stat{display:flex;align-items:center;gap:.45rem;font-size:1.05rem}.discord-community .btn.discord-join{display:inline-block;width:auto;padding:.6rem 1.6rem}
.discord-community-faces{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.discord-community-faces .discord-avatar{width:44px;height:44px}.discord-community-faces .discord-avatar i{border-color:#f3f1f8}
.discord-more{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#5865f2;color:#fff;font-weight:800;font-size:.8rem}
.setup-steps{margin:0 0 1rem;padding-inline-start:1.2rem;color:var(--ink-soft)}.setup-steps li{margin:.3rem 0}
@media(max-width:760px){.discord-community{grid-template-columns:1fr}.discord-dock{bottom:12px;inset-inline-start:12px}}
@media(prefers-reduced-motion:reduce){.discord-dock-count i,.discord-dot,.discord-panel{animation:none}}
@media(max-width:760px){.site-nav .brand img{height:72px}}

/* Hall of Champions */
.champ-live{display:inline-block;width:.55rem;height:.55rem;margin-inline-end:.35rem;border-radius:50%;background:var(--ok);vertical-align:middle;animation:pulse 1.6s ease-in-out infinite}
.champ-castle{display:flex;align-items:center;gap:2rem;padding:2rem 2.4rem;margin-bottom:1.6rem;background:linear-gradient(120deg,#1d1812 0%,#2e231a 55%,#4a3420 100%);border:1px solid #b8913f;color:#efe3c8}
.champ-castle h2{color:#f5d77e;font-size:clamp(1.8rem,4vw,2.6rem);margin:.2rem 0 .8rem}
.champ-castle-crest{flex:none;display:grid;place-items:center;width:96px;height:96px;border-radius:50%;border:2px solid #c9982f;background:radial-gradient(#5a4020,#1d1812);box-shadow:0 0 24px #e0b85a55}
.champ-castle-crest .icon{width:48px;height:48px;color:#f5d77e}
.champ-castle strong{color:#fff4d8}.champ-castle p,.champ-castle .champ-hero span{color:#efe3c8}.champ-castle .champ-meta{color:#f5d77e}
.champ-hero{display:flex;align-items:center;gap:.8rem;margin:0 0 .8rem}.champ-hero span{display:flex;flex-direction:column}.champ-hero small{color:#c9b58a}.champ-hero .portrait{--p:48px}
.champ-won{margin:.4rem 0;padding:.5rem .8rem;border-inline-start:3px solid #c9982f;background:#c9982f14;font-size:.93rem}
.champ-meta{display:flex;align-items:center;gap:.4rem;margin:.6rem 0 0;font-size:.9rem;color:#f5d77e}.champ-meta .icon{width:1rem;height:1rem}
.champ-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem;align-items:start}
.champ-card{display:flex;flex-direction:column;background:#fbf7eef5;border:1px solid #d6c59d;border-top:3px solid var(--gold);border-radius:6px;box-shadow:0 14px 30px #3a2c141a;overflow:hidden}
.champ-card>header{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid #e3d6b6;background:linear-gradient(#fffaf0,#f6eedb)}
.champ-card h3{flex:1;margin:0;font-size:1.05rem;line-height:1.2}
.champ-card-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1d1812;color:#f5d77e;flex:none}.champ-card-icon .icon{width:16px;height:16px}
.champ-next{flex:none;padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:600;color:var(--muted);white-space:nowrap}
.champ-next.is-now{border-color:var(--ok);color:#fff;background:var(--ok)}
.champ-spot{display:flex;align-items:center;gap:1rem;padding:1.1rem 1rem .6rem}
.champ-spot-face{position:relative;flex:none}.champ-spot-face .portrait{--p:68px}
.champ-spot-face .medal{position:absolute;bottom:-4px;inset-inline-end:-6px;width:1.6rem;height:1.6rem;font-size:.75rem;box-shadow:0 2px 6px #0004}
.champ-spot-crest{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:radial-gradient(#5a4020,#1d1812);border:2px solid #c9982f}.champ-spot-crest .icon{width:32px;height:32px;color:#f5d77e}
.champ-spot-text{display:flex;flex-direction:column;min-width:0}
.champ-spot-text small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700}
.champ-spot-text strong{font:700 1.25rem/1.2 Cinzel,Georgia,serif;overflow-wrap:anywhere}
.champ-spot-text span{font-size:.86rem;color:var(--ink-soft)}
.champ-prize{display:flex;align-items:center;gap:.7rem;margin:0 1rem .6rem;padding:.5rem .6rem;border-radius:6px;background:#1d1812;color:#f6ecd6}
.champ-prize .item-slot{width:48px;height:48px;flex:none}.champ-prize .item-slot img{width:42px;height:42px}
.champ-prize span{display:flex;flex-direction:column;font-weight:600;font-size:.9rem}.champ-prize small{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#c9b58a;font-weight:700}
.champ-card-won{margin:0 1rem .7rem;font-size:.84rem;color:var(--ink-soft)}
.champ-others{list-style:none;margin:0;padding:.2rem 1rem .9rem;border-top:1px dashed #e3d6b6}
.champ-others li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed #eee3c8}.champ-others li:last-child{border-bottom:0}
.champ-others .medal{width:1.6rem;height:1.6rem;font-size:.75rem;flex:none}
.champ-others strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
.champ-others small{color:var(--muted);font-size:.78rem;white-space:nowrap}
.champ-vacant{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:1.4rem 1rem 1.3rem;color:var(--muted)}
.champ-vacant-crest{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:2px dashed #cdbd98;color:#cdbd98}.champ-vacant-crest .icon{width:26px;height:26px}
.champ-vacant strong{font:700 1rem Cinzel,Georgia,serif;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}
.champ-vacant p{margin:0;font-size:.86rem}
@media(max-width:760px){.champ-castle{flex-direction:column;text-align:center;padding:1.6rem 1.2rem}.champ-hero,.champ-meta{justify-content:center}.champ-cards{grid-template-columns:1fr}}
.lang-menu{position:relative}
.lang-menu>summary{list-style:none;cursor:pointer;font-family:Inter,sans-serif;font-weight:700;letter-spacing:.06em}.lang-menu>summary::-webkit-details-marker{display:none}
.lang-list{position:absolute;inset-inline-end:.4rem;top:calc(100% + .4rem);z-index:30;min-width:9rem;padding:.3rem;background:#fffaf0;border:1px solid #b8913f;border-radius:4px;box-shadow:0 12px 28px #3a2c1433}
.lang-list a{display:block;padding:.4rem .7rem;border-radius:3px;color:var(--ink);text-decoration:none;font-family:"Noto Kufi Arabic",Inter,sans-serif}
.lang-list a:hover{background:#f5d77e55}.lang-list a[aria-current]{color:var(--gold);font-weight:700}
.discord-intro{margin:.2rem 0 .6rem;font-size:.9rem;color:#b5bac1}
.discord-soon{margin:0 0 .4rem;padding:.5rem .7rem;border-radius:6px;background:#5865f222;font-size:.88rem;font-weight:600}
.discord-community-logo{display:grid;place-items:center}.discord-community-logo .discord-logo{width:120px;height:120px;background:#5865f2}

/* Mid-width desktops: keep the full header on one line (signed in it carries coins and the user menu too). */
@media(min-width:1181px) and (max-width:1520px){
  .site-nav .container{gap:.9rem}.nav-links{gap:.8rem;margin-inline-start:.3rem;font-size:.9rem}
  .site-nav .brand img{height:84px}
  .user-menu-name,.coin-chip-text small{display:none}
}

/* Game tooltips (item and skill), drawn like the client: the frame art stretches around translated text. */
.tt{position:relative;width:300px;max-width:100%;padding:30px 30px 30px 28px;color:#fff;font:13px/1.45 Tahoma,Verdana,"Noto Kufi Arabic",sans-serif;text-align:start;filter:drop-shadow(0 10px 18px #0005)}
.tt::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-style:solid;border-width:32px;border-image:url("../img/cards/frame-epic.webp") 32 fill stretch}
.tt-legendary::before{border-width:52px;border-image-source:url("../img/cards/frame-legendary.webp");border-image-slice:52 fill}
.tt-skill::before{border-width:50px 50px 40px;border-image-source:url("../img/cards/frame-skill.webp");border-image-slice:50 50 40 fill}
.tt-legendary{padding:32px 34px}.tt-skill{padding:34px 30px 36px}
.tt>*{position:relative;z-index:1}
.tt p{margin:0 0 .15rem;color:#fff}
.tt-head{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.1rem}
.tt-head .item-slot{width:52px;height:52px;flex:none}.tt-head .item-slot img{width:46px;height:46px}
.tt-lines{display:flex;flex-direction:column;min-width:0}
.tt-name{font-weight:400;color:#f4e39a;overflow-wrap:anywhere}
.tt-skill .tt-name,.tt-gold{color:#f0b060}.tt-skill .tt-gold{color:#f4e39a}
.tt-title{color:#f0a868 !important;margin-top:.2rem !important}
.tt-skill .tt-title{margin-top:.9rem !important;color:#f0b060 !important}
.tt-skill-icon{width:42px;height:42px;flex:none;border-radius:2px}
.tt hr{margin:.7rem -6px .8rem;border:0;border-top:1px solid #ffffff33;opacity:1}
.tt em{font-style:normal;color:#5fd35f}
.showcase .cards .tt:last-child{margin-top:2.5rem}
@media(max-width:600px){.showcase .cards{flex-direction:column;align-items:center}.showcase .cards .tt:last-child{margin-top:0}}

/* Home hero, large */
.hero-copy{max-width:1000px;padding:2.5rem 3rem 3rem}
.hero-copy .eyebrow{font-size:clamp(.8rem,1.3vw,1rem);letter-spacing:.3em;margin-bottom:.4rem;color:#6e4f14;font-weight:800;text-shadow:0 0 10px #f3ecdc,0 0 18px #f3ecdc,0 1px 0 #fff}
.wordmark{width:min(540px,86vw)}
.slogan{width:min(100%,860px);margin:.4rem auto 2.2rem}
.slogan-ar{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.hero-actions{gap:1.1rem}
.hero-actions .btn{padding:.95rem 2rem;font-size:1.15rem;gap:.6rem}.hero-actions .btn .icon{width:1.3rem;height:1.3rem}
.server-line{margin-top:1.8rem;padding:.5rem 1.2rem;font-size:1.05rem}.server-line .dot{width:.65rem;height:.65rem}
@media(max-width:600px){.hero-copy{padding:1.5rem 1rem 2rem}.hero-actions .btn{padding:.8rem 1.4rem;font-size:1rem}}
.field-link{display:inline-block;margin-top:.35rem;font-size:.85rem;color:var(--gold)}
.invite-note{margin:-.4rem 0 1rem;padding:.55rem .8rem;border-radius:6px;background:#c9982f1f;border:1px solid #c9982f66;font-size:.9rem;font-weight:600;color:var(--ink)}
.invite-section{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.invite-section>div{flex:1;min-width:260px}
.invite-link{display:flex;gap:.5rem;max-width:560px}.invite-link input{font-family:ui-monospace,Consolas,monospace;font-size:.9rem}
.invite-stats{display:flex;gap:1.4rem;margin:0}.invite-stats div{text-align:center}.invite-stats dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.invite-stats dd{margin:0;font:700 1.8rem Cinzel,Georgia,serif;color:var(--gold)}
.hero-link{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.hero-link:hover{color:var(--seal)}
.champ-past{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:0;padding:.6rem 1rem .9rem;border-top:1px dashed #e3d6b6;font-size:.8rem;color:var(--muted)}.champ-past>span:first-child{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;margin-inline-end:.2rem}.champ-past-item{padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;background:#fffaf0;color:var(--ink-soft)}

/* Hero profile */
.hero-card{position:relative;display:flex;align-items:center;gap:2rem;padding:2rem 2.4rem;margin:2rem 0 1.4rem;background:linear-gradient(120deg,#1d1812 0%,#2e231a 55%,#4a3420 100%);border:1px solid #b8913f;color:#efe3c8}
.hero-card-face .portrait{--p:128px}
.hero-card h1{margin:.1rem 0 .3rem;color:#f5d77e;font-size:clamp(2rem,4.5vw,3rem);overflow-wrap:anywhere}
.hero-card .eyebrow{color:#e0b85a}
.hero-worn-title{margin:0 0 .8rem;color:#f0c674;font-weight:700;letter-spacing:.06em}
.hero-stats{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:0}.hero-stats div{min-width:5rem}
.hero-stats dt{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#c9b58a;font-weight:700}.hero-stats dd{margin:0;font:700 1.25rem Cinzel,Georgia,serif;color:#fff4d8}
.hero-share{position:absolute;top:1.2rem;inset-inline-end:1.2rem;background:#fffaf01a;color:#f5d77e;border-color:#c9982f}
.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.1rem;align-items:start}
.hero-gear,.hero-side .panel{padding:1.3rem 1.4rem}.hero-side{display:grid;gap:1.1rem}
.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}
.gear-slot{display:flex;align-items:center;gap:.7rem;padding:.45rem .6rem;border:1px solid #e3d6b6;border-radius:6px;background:#fffaf0}
.gear-slot .item-slot{width:52px;height:52px;flex:none}.gear-slot .item-slot img{width:46px;height:46px}
.gear-slot>span{display:flex;flex-direction:column;min-width:0}.gear-slot small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.gear-slot strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gear-slot em{font-style:normal;color:var(--gold);font-weight:700;font-size:.8rem}
.gear-slot.is-empty{opacity:.55}
.hero-wins{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.45rem}.hero-wins li{display:flex;gap:.6rem;align-items:flex-start}.hero-wins .icon{width:18px;height:18px;color:var(--gold);flex:none;margin-top:.15rem}
.hero-wins span{display:flex;flex-direction:column}.hero-wins small{color:var(--muted);font-size:.8rem}
.hero-titles{display:flex;flex-wrap:wrap;gap:.4rem}.hero-titles span{padding:.2rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.82rem;background:#fffaf0}.hero-titles .worn{border-color:#c9982f;background:#f5d77e44;font-weight:700}
.muted{color:var(--muted)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-card{flex-direction:column;text-align:center;padding:1.8rem 1.2rem}.hero-stats{justify-content:center}.hero-share{position:static}}

/* Penalties */
.penalty-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:-.5rem 0 1.4rem}
.penalty-filter a{padding:.35rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink-soft);font-weight:600;font-size:.9rem;text-decoration:none}
.penalty-filter a.active,.penalty-filter a:hover{border-color:var(--gold);color:var(--gold)}
.penalty-kind{display:inline-block;padding:.1rem .55rem;border-radius:4px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.penalty-ban{background:#9b2c221f;color:var(--seal)}.penalty-jail{background:#9c74261f;color:var(--gold)}
.penalty-state{font-size:.82rem;color:var(--muted)}.penalty-state.is-active{color:var(--seal);font-weight:700}

/* Landing pages: maintenance, error status */
.landing-body main{min-height:100vh;display:grid;place-items:center}
.landing{max-width:720px;margin:0 auto;padding:3rem 1.5rem;text-align:center;background:radial-gradient(closest-side,#f3ecdce6 65%,#f3ecdc00)}
.landing-inline{margin:3rem auto}
.landing-logo{width:min(420px,80vw);height:auto;filter:drop-shadow(0 8px 16px #3a2c1455)}
.landing h1{font-size:clamp(2rem,5vw,3.2rem);margin:.3rem 0 .6rem}
.landing-text{font-size:1.1rem;color:var(--ink-soft);margin:0 auto 1.6rem;max-width:540px}
.landing-code{margin:0;font:700 clamp(4rem,12vw,7rem)/1 Cinzel,Georgia,serif;color:var(--gold);opacity:.85}
.landing-clock,.launch-clock{display:inline-flex;flex-direction:column;align-items:center;gap:.2rem;margin:0 auto 1.6rem;padding:.9rem 1.8rem;border:1px solid #c9982f;border-radius:10px;background:#1d1812e6;color:#efe3c8;box-shadow:0 12px 30px #3a2c1433}
.landing-clock small,.launch-clock small{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#c9b58a;font-weight:700}
.landing-clock strong,.launch-clock strong{font:700 clamp(1.8rem,5vw,2.6rem)/1.1 Cinzel,Georgia,serif;color:#f5d77e;font-variant-numeric:tabular-nums}
.launch-clock{margin-top:1.6rem;margin-bottom:0}.launch-clock span{font-size:.88rem}
.landing-foot{margin-top:2rem;font-size:.85rem}.landing-foot a{color:var(--muted)}
.btn .discord-logo{width:18px;height:18px;margin-inline-end:.45rem;vertical-align:-3px}

/* Site notice bar */
.site-notice{position:relative;z-index:11;padding:.55rem 1rem;text-align:center;font-weight:600;font-size:.92rem;color:#fff;background:#1d1812}
.site-notice a{color:#f5d77e;margin-inline-start:.6rem}
.notice-info{background:linear-gradient(90deg,#2e231a,#4a3420)}.notice-warn{background:#9b2c22}.notice-event{background:linear-gradient(90deg,#7a5a14,#c9982f);color:#1d1812}.notice-staff{background:#5b2a8a}

/* Staff dashboard */
.dash-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;margin-bottom:1.1rem}
.dash-card{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem}.dash-card small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.dash-card strong{font:700 1.5rem Cinzel,Georgia,serif;color:var(--ink)}.dash-card span{font-size:.8rem;color:var(--ink-soft)}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem;align-items:start}
.dash-chart{width:100%;height:140px;fill:var(--gold)}.dash-chart rect:hover{fill:var(--seal)}
.dash-check{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.dash-check li{display:flex;gap:.6rem;align-items:flex-start}
.dash-check li>span{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;flex:none;font-weight:700;font-size:.8rem}
.dash-check .ok>span{background:#2f6b3a;color:#fff}.dash-check .todo>span{background:#9b2c22;color:#fff}
.dash-check div{display:flex;flex-direction:column}.dash-check small{color:var(--muted);font-size:.8rem}
.dash-links{margin-top:1.2rem;text-align:center}
/* User menu wallet row: amount and Top up each stay on one line */
.account-nav .user-menu-panel a.user-menu-wallet{flex-wrap:nowrap;padding:.55rem .7rem}
.user-menu-wallet>span{display:inline-flex;align-items:center;gap:.4rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-menu-wallet>span .coin{flex:none}
.user-menu-wallet em{flex:none;white-space:nowrap;line-height:1.4;padding:.2rem .75rem}
.user-menu-panel{min-width:280px}

/* Home: server type and version under it; the "world first" callout */
.hero-copy .hero-version{margin:-.1rem 0 .3rem;font:700 clamp(.85rem,1.4vw,1.05rem)/1 Cinzel,Georgia,serif;letter-spacing:.35em;color:var(--seal);text-shadow:0 0 10px #f3ecdc,0 1px 0 #fff}
.world-first-note{position:relative;margin:1rem 0 1.2rem;padding:1rem 1.2rem 1rem 1.2rem;border:1px solid #c9982f;border-inline-start:4px solid #c9982f;border-radius:6px;background:linear-gradient(120deg,#f5d77e2e,#fffaf0cc)}
.world-first-note p{margin:.35rem 0 0;color:var(--ink);font-weight:500;line-height:1.55}
.world-first-badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;background:linear-gradient(#f5d77e,#c9982f);color:#3b2a0a;font:700 .78rem/1.3 Cinzel,Georgia,serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 8px #c9982f55}

/* Server status */
.status-servers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.1rem}
.status-card{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem}
.status-card h2{margin:0;font-size:1.4rem}.status-state{margin:.1rem 0 0;font-weight:700}
.status-card dl{display:flex;gap:1.2rem;margin:0 0 0 auto}.status-card dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.status-card dd{margin:0;font:700 1.15rem Cinzel,Georgia,serif}
.status-light{width:18px;height:18px;border-radius:50%;flex:none;background:#9b2c22;box-shadow:0 0 0 4px #9b2c2226}
.status-card.is-up .status-light{background:#2f6b3a;box-shadow:0 0 0 4px #2f6b3a26;animation:pulse 1.6s ease-in-out infinite}
.status-card.is-up .status-state{color:#2f6b3a}.status-card.is-down .status-state{color:var(--seal)}
.status-next strong{color:var(--ink)}
.dash-big{margin:.2rem 0 .6rem;font:700 2rem Cinzel,Georgia,serif}.dash-big small{font:500 .85rem Inter,sans-serif;color:var(--muted)}
@media(max-width:600px){.status-card{flex-wrap:wrap}.status-card dl{margin:0}}

/* Staff: players */
.player-search{display:flex;gap:.6rem;padding:1rem;margin-bottom:1.1rem}.player-search input{flex:1}
.player-search .icon{width:1rem;height:1rem;vertical-align:-2px}
.ban-form{margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--line)}
.discord-invite{width:min(560px,calc(100vw - 32px));border-top-color:#5865f2}.discord-invite .promo-head .discord-logo{flex:none;width:56px;height:56px;padding:12px;border-radius:14px;background-color:#fff;box-shadow:inset 0 0 0 60px #5865f2}
.cps{display:inline-block;width:2.2em;height:1em;margin-inline-end:.25em;vertical-align:-.12em;background:url("../img/cps.png") center/contain no-repeat}
.info-rows li.info-edit{display:block;padding-top:0}.inline-form{display:flex;gap:.5rem;align-items:center}.inline-form .form-control{flex:1;min-width:0}
.spam-tip{display:flex;gap:.75rem;align-items:flex-start;margin:0 0 1.1rem;padding:.8rem 1rem;border:1px solid #e0a94a;border-inline-start:4px solid #d9822b;border-radius:6px;background:#fff4dc;text-align:start}.spam-tip-icon{font-size:1.6rem;line-height:1}.spam-tip strong{display:block;color:#8a4b0f}.spam-tip p{margin:.15rem 0 0;font-size:.9rem;color:#5c3a12}.notice-action{text-align:start;margin:.4rem 0 1rem}.notice-action p{margin:.3rem 0 .7rem}
.order-status.refunded{border-color:#3a74c4;background:#e6eefa}.order-status.refunded .order-status-icon{background:#3a74c4;color:#fff}.no-hero-banner{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:0 0 1.2rem;padding:1rem 1.2rem;border:1px solid #d9822b;border-inline-start:5px solid #d9822b;border-radius:6px;background:#fff4dc}.no-hero-banner div{flex:1;min-width:220px}.no-hero-banner strong{display:block;color:#8a4b0f;font-size:1.05rem}.no-hero-banner p{margin:.2rem 0 0;color:#5c3a12}
.limit-dialog{width:min(520px,calc(100vw - 32px))}.limit-icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#f7e3df;color:var(--seal);font-size:1.6rem}.limit-dialog .promo-foot form{margin:0}.invite-rules{margin:.2rem 0 .9rem;padding-inline-start:1.2rem;font-size:.88rem;color:var(--ink-soft)}.invite-rules li{margin:.15rem 0}
.invite-clear{display:inline-block;margin-inline-start:.4rem;font-size:.8rem;font-weight:500;opacity:.8}
.staff-card{margin-bottom:1.5rem}.staff-card tr.is-new td{background:#fff4dc}.staff-add{margin-top:.8rem;max-width:420px}
/* VIP packages: a crowned level badge; VIP 4 gets the gold look. */
.vip-card{border-top:3px solid #7a47b0}.vip-card.vip-level-4{border-top-color:#c9982f;box-shadow:0 0 0 1px #c9982f55,0 18px 40px #c9982f30}
.vip-badge{display:inline-flex;align-items:baseline;gap:.2rem;align-self:flex-start;margin-bottom:.8rem;padding:.35rem .9rem .4rem;border-radius:8px;background:linear-gradient(135deg,#4a2a78,#7a47b0);color:#fff;font:800 2rem/1 Inter,"Segoe UI",sans-serif;box-shadow:0 6px 16px #4a2a7840}
.vip-badge small{font-size:.8rem;letter-spacing:.12em;opacity:.85}.vip-level-4 .vip-badge{background:linear-gradient(135deg,#8a6420,#e2b64a);box-shadow:0 6px 16px #c9982f55}
