/* ==========================================================================
   Metin2 Arena — Shared Design System
   Committed dark cinematic theme (painted explicitly).
   ========================================================================== */
:root{
  --bg:#070605;--bg2:#0d0a08;--surface:#14100b;--surface-2:#1b1610;--raise:#241d14;
  --line:#2e2417;--line-strong:#40331f;--gold:#d8a94a;--gold-soft:#f0d493;--gold-deep:#a67c2e;
  --ember:#e2511f;--ember-soft:#ff7a45;--blood:#a11c1c;--frost:#4bb8cf;
  --text:#efe4cf;--text-dim:#c6b89e;--muted:#8f8069;--muted-2:#665b49;
  --online:#63c66d;--offline:#b5483a;--warn:#e0b64a;
  --font-epic:'Cinzel',Georgia,serif;--font-d:'Oswald',"Arial Narrow",sans-serif;--font-b:'Inter',system-ui,sans-serif;
  --maxw:1220px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:20px}
svg.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
::selection{background:rgba(216,169,74,.3)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* atmosphere */
.atmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.atmos .rays{position:absolute;top:-30%;left:50%;width:160%;height:120%;transform:translateX(-50%);background:conic-gradient(from 90deg at 50% 0,transparent 0 8deg,rgba(216,169,74,.05) 9deg 11deg,transparent 12deg 20deg,rgba(226,81,31,.05) 21deg 23deg,transparent 24deg 40deg,rgba(216,169,74,.045) 41deg 43deg,transparent 44deg 70deg);mix-blend-mode:screen;animation:rayShift 14s ease-in-out infinite alternate;opacity:.6}
@keyframes rayShift{from{transform:translateX(-50%) rotate(-3deg)}to{transform:translateX(-50%) rotate(3deg)}}
.atmos .fog{position:absolute;inset:0;background:radial-gradient(700px 340px at 15% 10%,rgba(226,81,31,.08),transparent 60%),radial-gradient(800px 400px at 85% 5%,rgba(75,184,207,.05),transparent 60%)}
.atmos .vig{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 30%,transparent 55%,rgba(0,0,0,.6) 100%)}
#embers{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.65}
.page{position:relative;z-index:2}

/* buttons */
.btn{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .15s,filter .15s;white-space:nowrap;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.7;cursor:default}
.btn-primary{background:linear-gradient(180deg,var(--ember-soft),var(--ember));color:#1a0800;box-shadow:0 6px 20px rgba(226,81,31,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{filter:brightness(1.07);box-shadow:0 8px 28px rgba(226,81,31,.5)}
.btn-gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#1c1305;box-shadow:0 6px 20px rgba(216,169,74,.28),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-gold:hover{filter:brightness(1.06);box-shadow:0 8px 28px rgba(216,169,74,.45)}
.btn-ghost{background:rgba(20,16,11,.7);border-color:var(--line-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn-sm{padding:8px 14px;font-size:13px}
.btn-lg{padding:14px 24px;font-size:16px}
.btn-block{width:100%}

/* top bar */
.topbar{background:#040302;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:36px}
.topbar .l{display:flex;gap:18px;align-items:center}
.topbar .l span{display:inline-flex;gap:6px;align-items:center}
.topbar .l b{color:var(--gold-soft);font-weight:600;font-variant-numeric:tabular-nums}
.topbar .r{display:flex;gap:16px;align-items:center}
.topbar .r a:hover{color:var(--gold-soft)}
@media(max-width:720px){.topbar .l span.hide{display:none}}

/* header */
header.site{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,rgba(7,6,5,.95),rgba(7,6,5,.72));backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:height .25s}
header.site .wrap{display:flex;align-items:center;gap:22px;height:72px;transition:height .25s}
header.site.small .wrap{height:58px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.crest{width:42px;height:42px;display:grid;place-items:center;color:var(--gold);font-size:21px;position:relative;background:radial-gradient(circle at 50% 30%,#33260f,#120c06);border:1px solid var(--gold-deep);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.crest::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(224,196,126,.35) 50%,transparent 60%);transform:translateX(-120%);animation:sheen 5s ease-in-out infinite}
@keyframes sheen{0%,72%{transform:translateX(-120%)}86%,100%{transform:translateX(120%)}}
.brand .name{font-family:var(--font-epic);font-weight:800;font-size:21px;letter-spacing:.03em;line-height:1}
.brand .name .m2{color:var(--gold)}
.brand .name small{display:block;font-family:var(--font-d);font-weight:500;font-size:10px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin-top:2px}
nav.main{display:flex;gap:2px;margin-left:8px}
nav.main a{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.05em;font-weight:500;font-size:15px;color:var(--text-dim);padding:9px 13px;position:relative;transition:.18s;white-space:nowrap}
nav.main a:hover{color:#fff}
nav.main a.on{color:var(--gold-soft)}
nav.main a.on::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.search{margin-left:auto;display:flex;align-items:center;background:rgba(20,16,11,.8);border:1px solid var(--line);height:40px;width:42px;padding:0 9px;color:var(--muted);cursor:pointer;overflow:hidden;flex:none;transition:width .42s cubic-bezier(.22,.61,.36,1),border-color .25s,background .25s;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.search svg{flex:none}
.search input{background:none;border:none;outline:none;color:var(--text);font-family:var(--font-b);font-size:14px;width:0;opacity:0;margin-left:0;transition:width .42s cubic-bezier(.22,.61,.36,1),opacity .3s .06s,margin .42s}
.search input::placeholder{color:var(--muted-2)}
.search.open{width:min(300px,60vw);cursor:text;border-color:var(--gold-deep);background:rgba(30,23,14,.95)}
.search.open input{width:100%;opacity:1;margin-left:8px}
.menu-toggle{display:none;background:var(--surface);border:1px solid var(--line);color:var(--text);width:42px;height:42px;cursor:pointer;place-items:center;flex:none;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.hspace{margin-left:auto}
@media(max-width:1120px){nav.main{display:none}.menu-toggle{display:grid}.hspace{margin-left:auto}}
/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;background:rgba(4,3,2,.75);backdrop-filter:blur(4px);display:none}
.drawer.open{display:block}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(300px,84vw);background:var(--bg2);border-left:1px solid var(--line-strong);padding:22px;display:flex;flex-direction:column;gap:4px;overflow:auto}
.drawer .panel a{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.04em;font-size:16px;color:var(--text-dim);padding:12px 8px;border-bottom:1px solid var(--line)}
.drawer .panel a:hover{color:var(--gold-soft)}

/* breadcrumb */
.crumb{padding:16px 0 4px;color:var(--muted);font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crumb a:hover{color:var(--gold-soft)}
.crumb .sep{color:var(--muted-2)}
.crumb .cur{color:var(--text-dim)}

/* page header block */
.pagehead{padding-block:26px 8px}
.pagehead .eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.16em;font-size:12.5px;color:var(--gold-soft)}
.pagehead h1{font-family:var(--font-epic);text-transform:uppercase;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.02;margin-top:10px;text-wrap:balance}
.pagehead p{color:var(--muted);margin-top:10px;max-width:60ch}

/* section header (in-content) */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-head h2{font-family:var(--font-epic);text-transform:uppercase;letter-spacing:.02em;font-size:26px;font-weight:800;display:flex;align-items:center;gap:11px}
.section-head h2 .bar{width:5px;height:24px;background:linear-gradient(180deg,var(--ember-soft),var(--ember));clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)}
.section-head p{color:var(--muted);font-size:13.5px}

/* tags / chips */
.tag-chip{font-family:var(--font-b);font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 9px;text-transform:uppercase;display:inline-flex;gap:5px;align-items:center;background:rgba(7,5,4,.6);border:1px solid var(--line-strong);color:var(--text-dim);clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
.tag-chip.emek{color:var(--ember-soft);border-color:rgba(226,81,31,.4)}
.tag-chip.orta{color:var(--gold-soft);border-color:rgba(216,169,74,.4)}
.tag-chip.kolay{color:var(--online);border-color:rgba(99,198,109,.4)}
.tag-chip.on{color:var(--online)}
.tag-chip.gold{color:var(--gold-soft);border-color:rgba(216,169,74,.4)}

/* status badge */
.status{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}
.status .d{width:8px;height:8px;border-radius:50%}
.status.online{color:var(--online)}.status.online .d{background:var(--online);box-shadow:0 0 8px var(--online);animation:beat 1.8s infinite}
.status.offline{color:var(--offline)}.status.offline .d{background:var(--offline)}
.status.soon{color:var(--warn)}.status.soon .d{background:var(--warn);box-shadow:0 0 8px var(--warn)}
@keyframes beat{0%,100%{opacity:1}50%{opacity:.35}}

/* tabs */
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}
.tab{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.04em;font-size:13.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:8px 15px;cursor:pointer;transition:.16s;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}
.tab:hover{color:var(--text);border-color:var(--line-strong)}
.tab.on{color:#1c1305;background:linear-gradient(180deg,var(--gold-soft),var(--gold));border-color:var(--gold)}

/* server rows */
.rows{display:flex;flex-direction:column;gap:10px}
.row{display:grid;grid-template-columns:auto 88px 1fr auto;gap:15px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:12px 15px;position:relative;transition:transform .18s,border-color .18s,background .18s;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}
.row:hover{transform:translateX(4px);border-color:var(--gold-deep);background:var(--surface-2)}
.row .rank{font-family:var(--font-epic);font-weight:800;font-size:19px;width:34px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.row .rank.m1{color:var(--gold-soft)}.row .rank.m2{color:#c9ccd4}.row .rank.m3{color:#d08b52}
.row .thumb{height:60px;border:1px solid var(--line-strong);overflow:hidden;position:relative;background:#0a0705;display:block}
.row .thumb .scn{position:absolute;inset:0}
.row .thumb .lbl{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted-2);font-size:20px}
.row h3{font-family:var(--font-epic);font-size:18px;text-transform:uppercase;letter-spacing:.01em;display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.1}
.row h3 .srv-link{transition:color .15s}
.row h3 .srv-link:hover{color:var(--gold-soft)}
.row .info-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;color:var(--muted);font-size:12.5px}
.row .info-meta span{display:inline-flex;gap:5px;align-items:center}
.row .info-meta .on{color:var(--online);font-weight:600}
.row .side{display:flex;align-items:center;gap:13px}
.vote{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:60px}
.vote button{width:100%;font-family:var(--font-d);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-soft);background:var(--raise);border:1px solid var(--line-strong);padding:4px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:.16s;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}
.vote button:hover{border-color:var(--gold);color:var(--gold)}
.vote button:disabled{color:var(--online);border-color:var(--online)}
.vote .cnt{font-family:var(--font-epic);font-weight:700;font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}
.row .cta-join{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600;padding:9px 17px;background:linear-gradient(180deg,var(--ember-soft),var(--ember));color:#1a0800;cursor:pointer;border:none;transition:box-shadow .16s,filter .16s;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.row .cta-join:hover{filter:brightness(1.08);box-shadow:0 5px 16px rgba(226,81,31,.4)}
.row.sponsored{background:linear-gradient(100deg,rgba(216,169,74,.16),rgba(226,81,31,.06) 42%,var(--surface) 78%);border:1.5px solid var(--gold);box-shadow:0 8px 26px rgba(0,0,0,.45),0 0 38px rgba(216,169,74,.14)}
.row.sponsored:hover{transform:translateX(4px);box-shadow:0 10px 32px rgba(0,0,0,.5),0 0 50px rgba(216,169,74,.22)}
.row.sponsored>*{position:relative;z-index:1}
.row.sponsored::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;z-index:2;background:linear-gradient(180deg,var(--gold-soft),var(--gold),var(--ember))}
.row.sponsored::after{content:"";position:absolute;top:0;left:0;height:100%;width:38%;z-index:0;background:linear-gradient(100deg,transparent,rgba(255,241,210,.10),transparent);transform:translateX(-160%);animation:sweep 5s ease-in-out infinite;pointer-events:none}
.row.sponsored .rank{color:var(--gold-soft)}
.row.sponsored .thumb{border-color:var(--gold);box-shadow:0 0 0 1px rgba(216,169,74,.35),0 0 16px rgba(216,169,74,.18)}
.thumb-star{position:absolute;top:4px;right:5px;z-index:3;color:var(--gold-soft);font-size:14px;line-height:1;text-shadow:0 1px 4px rgba(0,0,0,.9)}
.row .sp{position:absolute;top:-9px;left:14px;z-index:3}
@media(max-width:620px){.row{grid-template-columns:auto 1fr;gap:11px}.row .thumb{display:none}.row .side{grid-column:1/-1;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px}}

/* premium badges */
.gbadge{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:11px;color:#241603;background:linear-gradient(180deg,#ffe9b0,var(--gold) 55%,#b6842f);box-shadow:0 3px 12px rgba(216,169,74,.4),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.2);padding:5px 12px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.gbadge svg{width:12px;height:12px;stroke-width:2.2}
.gbadge::after{content:"";position:absolute;top:0;left:0;height:100%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-220%);animation:sweep 3.6s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(-220%)}45%{transform:translateX(360%)}100%{transform:translateX(360%)}}
.sbadge{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:10px;color:var(--gold-soft);background:linear-gradient(180deg,rgba(58,44,20,.95),rgba(30,22,12,.95));border:1px solid var(--gold-deep);box-shadow:0 2px 10px rgba(0,0,0,.5),inset 0 1px 0 rgba(240,212,147,.25);padding:4px 10px;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}
.sbadge svg{width:11px;height:11px;color:var(--gold)}
.sbadge::after{content:"";position:absolute;top:0;left:0;height:100%;width:40%;background:linear-gradient(100deg,transparent,rgba(240,212,147,.35),transparent);transform:translateX(-220%);animation:sweep 4.2s ease-in-out infinite}

/* ad slots */
.ad{position:relative;display:grid;place-items:center;text-align:center;color:var(--muted-2);overflow:hidden;background:repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 10px,transparent 10px 20px),var(--surface);border:1px dashed var(--line-strong)}
.ad .tg{position:absolute;top:8px;left:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.ad .in b{display:block;font-family:var(--font-d);letter-spacing:.05em;color:var(--muted);font-size:15px;text-transform:uppercase}
.ad .in span{font-size:12px}
.ad .in a{color:var(--gold-soft);font-weight:600;font-size:12.5px}
.ad-leader{height:98px;margin:24px 0}
.ad-rect{height:250px}
.ad-sky{height:600px}
.ad-strip{height:130px;margin:14px 0}

/* sidebar widgets */
.widget{background:var(--surface);border:1px solid var(--line)}
.widget .wh{font-family:var(--font-epic);text-transform:uppercase;letter-spacing:.03em;font-size:15px;font-weight:700;padding:12px 15px;border-bottom:1px solid var(--line);color:var(--gold-soft);display:flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--surface-2),transparent)}
.widget ul{list-style:none}
.widget li{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid var(--line);transition:.15s;cursor:pointer}
.widget li:last-child{border-bottom:none}
.widget li:hover{background:var(--surface-2)}
.widget li .n{font-family:var(--font-epic);font-size:14px;color:var(--muted-2);width:18px;text-align:center;font-weight:700}
.widget li .mini{width:40px;height:34px;flex:none;border:1px solid var(--line-strong);overflow:hidden;position:relative}
.widget li .mini .scn{position:absolute;inset:0}
.widget li .nm{font-family:var(--font-d);text-transform:uppercase;font-size:14px;line-height:1.1}
.widget li .sub{font-size:11px;color:var(--muted)}
.widget li .dot{margin-left:auto;font-size:11px;color:var(--online);white-space:nowrap;display:inline-flex;gap:4px;align-items:center}
.widget .newsletter{padding:15px}
.widget .newsletter p{font-size:13px;color:var(--muted);margin-bottom:11px}
.widget .newsletter .f{display:flex;gap:8px}
.widget .newsletter input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line-strong);padding:9px 11px;color:var(--text);font-family:var(--font-b);font-size:13px;outline:none;clip-path:polygon(5px 0,100% 0,100% 100%,0 100%,0 5px)}
.widget .newsletter input:focus{border-color:var(--gold)}

/* generic layout with sidebar */
.layout{display:grid;grid-template-columns:1fr 300px;gap:30px;padding-block:20px 40px;align-items:start}
.layout .sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:96px}
@media(max-width:980px){.layout{grid-template-columns:1fr}.layout .sidebar{display:none}}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);margin-bottom:22px}
.card .ch{font-family:var(--font-epic);text-transform:uppercase;letter-spacing:.02em;font-size:19px;font-weight:700;padding:15px 20px;border-bottom:1px solid var(--line);color:var(--gold-soft);display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,var(--surface-2),transparent)}
.card .ch .bar{width:4px;height:20px;background:linear-gradient(180deg,var(--ember-soft),var(--ember));clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)}
.card .cb{padding:20px}
.card .cb p{color:var(--text-dim);margin-bottom:12px}
.card .cb p:last-child{margin-bottom:0}

/* forms */
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--text-dim);margin-bottom:7px}
.field label .req{color:var(--ember-soft)}
.field .hint{font-size:12px;color:var(--muted-2);margin-top:6px}
.field input,.field textarea,.field select{width:100%;background:var(--bg2);border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-b);font-size:14.5px;padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,169,74,.12)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}
.field input.err,.field textarea.err,.field select.err{border-color:var(--offline)}
.field .fmsg{font-size:12px;color:var(--offline);margin-top:6px;display:none}
.field.invalid .fmsg{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.form-note{color:var(--muted);font-size:13px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--text-dim)}
.chk input{width:auto;flex:none;margin-top:3px;accent-color:var(--gold)}
.alert{padding:13px 16px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-dim);font-size:14px;margin-bottom:18px;display:flex;gap:10px;align-items:flex-start}
.alert.ok{border-color:rgba(99,198,109,.4);color:var(--online);background:rgba(99,198,109,.06)}
.alert svg{margin-top:2px;flex:none}

/* pagination */
.pager{display:flex;justify-content:center;gap:8px;margin-top:26px;flex-wrap:wrap}
.pager a,.pager span{font-family:var(--font-d);min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:.15s;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.pager a:hover{border-color:var(--gold-deep);color:var(--gold-soft)}
.pager .on{color:#1c1305;background:linear-gradient(180deg,var(--gold-soft),var(--gold));border-color:var(--gold)}

/* faq accordion */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--surface);border:1px solid var(--line);transition:border-color .15s}
.faq details[open]{border-color:var(--gold-deep)}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.02em;font-size:16px;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{color:var(--gold);transition:transform .2s;flex:none}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq .fa{padding:0 18px 18px;color:var(--text-dim);font-size:14.5px}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
.post{background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.post:hover{transform:translateY(-5px);border-color:var(--gold-deep)}
.post .cover{aspect-ratio:16/9;position:relative;overflow:hidden}
.post .cover .scn{position:absolute;inset:0;transition:transform .4s}
.post:hover .cover .scn{transform:scale(1.07)}
.post .cover .cat{position:absolute;top:10px;left:10px;z-index:2;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;color:#1c1305;background:linear-gradient(180deg,var(--gold-soft),var(--gold));padding:4px 9px}
.post .pb{padding:16px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.post .pb h3{font-family:var(--font-epic);text-transform:uppercase;font-size:19px;line-height:1.15}
.post .pb .ex{color:var(--muted);font-size:13.5px;flex:1}
.post .pb .meta{display:flex;gap:12px;color:var(--muted-2);font-size:12px;border-top:1px solid var(--line);padding-top:11px}
.post .pb .meta span{display:inline-flex;gap:5px;align-items:center}

/* article */
.article{max-width:760px}
.article .lead{color:var(--text-dim);font-size:17px;margin:0 0 22px}
.article h2{font-family:var(--font-epic);text-transform:uppercase;font-size:24px;margin:30px 0 12px;color:var(--gold-soft)}
.article h3{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.02em;font-size:19px;margin:22px 0 10px}
.article p{color:var(--text-dim);margin-bottom:15px;font-size:15.5px}
.article ul{margin:0 0 15px 20px;color:var(--text-dim);font-size:15.5px}
.article li{margin-bottom:8px}
.article .cover-img{aspect-ratio:16/7;position:relative;overflow:hidden;border:1px solid var(--line-strong);margin-bottom:24px}
.article blockquote{border-left:3px solid var(--gold);padding:8px 0 8px 18px;margin:20px 0;color:var(--text);font-style:italic}

/* auth */
.auth{max-width:440px;margin:40px auto;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--gold-deep);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.auth .ah{text-align:center;padding:26px 26px 6px}
.auth .ah .crest{margin:0 auto 14px}
.auth .ah h1{font-family:var(--font-epic);text-transform:uppercase;font-size:26px}
.auth .ah p{color:var(--muted);font-size:13.5px;margin-top:6px}
.auth .ab{padding:22px 26px 26px}
.auth .social{display:flex;gap:10px;margin-bottom:18px}
.auth .social .btn{flex:1}
.auth .divider{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:6px 0 18px}
.auth .divider::before,.auth .divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth .foot{text-align:center;color:var(--muted);font-size:13px;margin-top:16px}
.auth .foot a{color:var(--gold-soft)}

/* scene helper thumbnails share .scn (bg set inline) */

/* footer */
footer.site{border-top:1px solid var(--line);background:#040302;margin-top:10px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-block:46px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}}
.fcol h4{font-family:var(--font-epic);text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:700;color:var(--gold-soft);margin-bottom:14px}
.fcol a,.fcol p{display:block;color:var(--muted);font-size:13.5px;margin-bottom:9px;transition:.15s}
.fcol a:hover{color:var(--text)}
.fbottom{border-top:1px solid var(--line);padding-block:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted-2);font-size:12.5px}
.demo-flag{display:inline-flex;gap:7px;align-items:center;color:var(--gold-deep)}

/* ---------- server detail components ---------- */
.cover{position:relative;margin-top:12px;border:1px solid var(--line-strong);overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.cover .art{position:absolute;inset:0;background:linear-gradient(135deg,#3a2413,#160d07);z-index:0}
.cover .art .glow{position:absolute;inset:0;background:radial-gradient(60% 90% at 78% 20%,rgba(226,81,31,.4),transparent 60%),radial-gradient(50% 80% at 20% 90%,rgba(75,184,207,.12),transparent 60%)}
.cover .art .bars{position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(115deg,rgba(255,255,255,.02) 0 2px,transparent 2px 10px)}
.cover .grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,5,4,.2) 0%,rgba(7,5,4,.55) 55%,rgba(7,5,4,.95) 100%)}
.cover .cph{position:absolute;top:14px;right:16px;z-index:2;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted);background:rgba(7,5,4,.6);border:1px solid var(--line-strong);padding:5px 11px}
.cover .inner{position:relative;z-index:3;display:flex;align-items:flex-end;gap:22px;padding:32px 28px 26px;min-height:320px}
.logo-box{width:118px;height:118px;flex:none;display:grid;place-items:center;background:linear-gradient(160deg,#2a2012,#100a05);border:1px solid var(--gold-deep);color:var(--gold);font-size:48px;box-shadow:0 12px 30px rgba(0,0,0,.5);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.logo-box .lph{font-size:9px;font-family:var(--font-d);letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase;margin-top:4px}
.cmeta{flex:1;min-width:0}
.cmeta .rankline{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--gold-soft);margin-bottom:8px}
.cmeta h1{font-family:var(--font-epic);font-weight:900;text-transform:uppercase;font-size:clamp(30px,4.5vw,50px);line-height:1;letter-spacing:.01em;text-shadow:0 3px 20px rgba(0,0,0,.9)}
.cmeta .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cmeta .desc{color:var(--text-dim);font-size:14.5px;margin-top:14px;max-width:60ch}
.cmeta .stars{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--gold);font-size:16px}
.cmeta .stars .val{font-family:var(--font-d);color:var(--text);font-weight:600}
.cmeta .stars .cnt{color:var(--muted);font-size:13px;font-family:var(--font-b)}
.cover-actions{display:flex;gap:11px;flex-wrap:wrap;padding:0 28px 26px;position:relative;z-index:3}
@media(max-width:640px){.cover .inner{flex-direction:column;align-items:flex-start;min-height:0;gap:16px}.cover-actions .btn{flex:1}}
.detail{display:grid;grid-template-columns:1fr 330px;gap:30px;padding-block:30px 50px;align-items:start}
@media(max-width:980px){.detail{grid-template-columns:1fr}.detail .dside{order:-1}}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:560px){.feats{grid-template-columns:1fr 1fr}}
.feat{background:var(--bg2);border:1px solid var(--line);padding:14px;display:flex;gap:12px;align-items:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}
.feat .fi{width:38px;height:38px;flex:none;display:grid;place-items:center;color:var(--gold);background:var(--raise);border:1px solid var(--line-strong);font-size:18px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.feat .ft{font-family:var(--font-d);text-transform:uppercase;font-size:14px;letter-spacing:.02em;line-height:1.15}
.feat .fs{font-size:12px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:560px){.gallery{grid-template-columns:1fr 1fr}}
.shot{position:relative;aspect-ratio:16/10;border:1px solid var(--line-strong);overflow:hidden;cursor:pointer;background:#0a0705}
.shot .scn{position:absolute;inset:0;transition:transform .4s ease}
.shot:hover .scn{transform:scale(1.08)}
.shot .lbl{position:absolute;inset:0;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--muted-2);z-index:2}
.shot .lbl svg{width:22px;height:22px}
.shot .lbl span{font-size:11px;font-family:var(--font-d);text-transform:uppercase;letter-spacing:.05em}
.shot .zoom{position:absolute;top:8px;right:8px;z-index:2;color:var(--gold-soft);opacity:0;transition:.2s}
.shot:hover .zoom{opacity:1}
.count{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cbox{text-align:center;background:var(--bg2);border:1px solid var(--line-strong);padding:14px 18px;min-width:78px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.cbox .cn{font-family:var(--font-epic);font-weight:800;font-size:32px;color:var(--gold-soft);line-height:1;font-variant-numeric:tabular-nums}
.cbox .cl{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);margin-top:6px}
.count .cinfo{color:var(--text-dim);font-size:14px}
.count .cinfo b{color:var(--gold-soft);font-family:var(--font-d);letter-spacing:.03em}
.rev-sum{display:flex;gap:24px;align-items:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.rev-sum .big{font-family:var(--font-epic);font-weight:800;font-size:52px;color:var(--gold-soft);line-height:1}
.rev-sum .stars{color:var(--gold);font-size:18px;letter-spacing:2px}
.rev-sum .sub{color:var(--muted);font-size:13px;margin-top:4px}
.review{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.review:last-child{border-bottom:none}
.avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;font-family:var(--font-epic);font-weight:700;color:#1c1305;background:linear-gradient(160deg,var(--gold-soft),var(--gold));border-radius:50%;font-size:18px}
.review .rtop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review .rname{font-family:var(--font-d);text-transform:uppercase;letter-spacing:.02em;font-size:15px;color:var(--text)}
.review .rstars{color:var(--gold);font-size:12px;letter-spacing:1px}
.review .rdate{color:var(--muted-2);font-size:12px;margin-left:auto}
.review .rtext{color:var(--text-dim);font-size:14px;margin-top:6px}
.revform{margin-top:20px;background:var(--bg2);border:1px solid var(--line);padding:16px}
.revform .rf-stars{display:flex;gap:5px;margin:10px 0;color:var(--muted-2);font-size:22px;cursor:pointer}
.revform .rf-stars span:hover,.revform .rf-stars span.on{color:var(--gold)}
.revform textarea{width:100%;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-b);font-size:14px;padding:11px;min-height:84px;resize:vertical;outline:none;clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px)}
.revform textarea:focus{border-color:var(--gold)}
.revform .rf-bot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;flex-wrap:wrap}
.dside{display:flex;flex-direction:column;gap:22px;position:sticky;top:88px}
.info-card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--gold-deep);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.info-card .ich{padding:16px 18px;border-bottom:1px solid var(--line);text-align:center}
.info-rows{padding:6px 18px}
.irow{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.irow:last-child{border-bottom:none}
.irow .k{color:var(--muted);display:inline-flex;gap:6px;align-items:center}
.irow .v{color:var(--text);font-family:var(--font-d);letter-spacing:.02em;text-align:right}
.irow .v a{color:var(--gold-soft)}
.info-actions{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.vote-row{display:flex;gap:10px}
.vote-row .vbtn{flex:1}
.vcount{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:78px;background:var(--bg2);border:1px solid var(--line-strong);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.vcount b{font-family:var(--font-epic);font-weight:800;font-size:19px;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.vcount small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(4,3,2,.9);backdrop-filter:blur(6px);display:none;place-items:center;padding:24px}
.lightbox.open{display:grid}
.lightbox .lb-in{position:relative;width:min(900px,92vw);aspect-ratio:16/9;border:1px solid var(--gold-deep);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.lightbox .lb-in .scn{position:absolute;inset:0}
.lightbox .lb-cap{position:absolute;bottom:0;left:0;right:0;padding:14px 18px;background:linear-gradient(0deg,rgba(4,3,2,.85),transparent);color:var(--text-dim);font-family:var(--font-d);text-transform:uppercase;letter-spacing:.04em}
.lightbox .lb-close{position:absolute;top:-14px;right:-6px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);width:40px;height:40px;display:grid;place-items:center;cursor:pointer;font-size:18px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
