/* Поверх style.css: шапка с аккаунтом, состояния сервера, страница статистики
   и модули WebEngine (bootstrap 3 + default/style.css) в тёмной теме шаблона. */

/* ---------- то, что протекает из bootstrap и default/style.css ---------- */
html{min-width:0}
/* одна сцена на всю страницу: панорама замка сверху уходит в темноту, всё остальное стоит на ней.
   !important — default/style.css от 2000px ставит свой фон с эльфом тоже через !important */
body{color:var(--text);font:15px/1.55 "PT Sans",system-ui,sans-serif;min-width:0;
  background:
    radial-gradient(60% 420px at 50% 100%,rgba(150,24,30,.16),transparent) no-repeat,
    radial-gradient(70% 520px at 50% 0,transparent,rgba(8,7,10,.55)),
    linear-gradient(180deg,rgba(8,7,10,.35) 0,rgba(8,7,10,.55) 360px,rgba(8,7,10,.88) 760px,var(--bg) 1080px) no-repeat,
    url(../img/news-cover.jpg) 50% 0/auto 1080px no-repeat,
    var(--bg) !important}
a{color:inherit}
a:hover,a:focus{color:var(--gold-hi);text-decoration:none}
label{font-weight:400;margin:0}
.layout .panel{margin:0;box-shadow:none;border-radius:4px}
.nav a{text-decoration:none}
.btn{white-space:nowrap}
.btn:focus,.btn:active:focus{outline:2px solid var(--gold-hi);outline-offset:2px}

.skip{position:absolute;left:12px;top:-60px;z-index:10;padding:10px 14px;background:var(--gold-hi);color:#140e04;border-radius:3px}
.skip:focus{top:12px;color:#140e04}

/* ---------- шапка ---------- */
.acc{display:flex;align-items:center;gap:14px;flex:none}
.acc .btn{height:36px;padding:0 16px;font-size:13px}
.acc__link{font:400 14px/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#b9c0cd}
/* язык в шапке слева: флаг и код */
.top .lang summary{gap:7px;font:400 13px/1 Oswald,sans-serif;letter-spacing:.04em}
.top .lang summary::after{width:5px;height:5px}
.top .lang .flag{width:22px;height:15px}
.top .lang{justify-self:start}
.top .lang ul{min-width:160px;list-style:none;z-index:6}
.state--off b span{color:var(--red-hi)}
.state--off .dot,.srv--off .dot{background:var(--red-hi);box-shadow:0 0 10px var(--red-hi)}
.srv--off{background:rgba(224,49,58,.06);border-color:rgba(224,49,58,.3)}
.srv--off .srv__on{color:var(--muted)}

.ev__left.now{color:var(--gold-hi)}
.btn--block{width:100%;margin-top:4px}
.castle__more{display:inline-block;margin-top:6px;font-size:12px;color:var(--gold-hi);border-bottom:1px solid rgba(241,208,141,.35)}
.rank .name a{color:inherit}
.rank .r small{display:inline;font-size:12px}
.empty{color:var(--muted);margin:0;padding:6px 0}

@media (max-width:1240px){
  .acc__link{display:none}
}

/* ---------- статистика ---------- */
.page-title{font:500 clamp(26px,2.4vw,32px)/1.15 Oswald,sans-serif;letter-spacing:.01em;color:var(--white);margin:4px 0 20px}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:20px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.stat-grid div{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--panel)}
.stat-grid b{font:500 26px/1 Oswald,sans-serif;color:var(--white);font-variant-numeric:tabular-nums}
.stat-grid small{font-size:13px;color:var(--muted)}
.stat-grid .stat-grid__main{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:14px;background:linear-gradient(90deg,rgba(61,220,106,.08),var(--panel) 60%)}
.stat-grid .stat-grid__main b{font-size:44px;color:var(--online)}
.stat-grid .stat-grid__main small{font-size:15px;color:var(--text)}
.stat-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.bars{display:grid;gap:10px}
.bars li{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:14px}
.bars__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--white)}
.bars__track{height:10px;background:rgba(255,255,255,.04);border-radius:0 4px 4px 0}
.bars__track i{display:block;height:100%;min-width:2px;background:var(--gold);border-radius:0 4px 4px 0}
.bars__value{font-variant-numeric:tabular-nums;color:var(--white);text-align:right;min-width:5.5em}
.bars__value small{color:var(--muted)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 12px}
.kv dt{font-weight:400;color:var(--muted)}
.kv dd{margin:0;color:var(--white)}
.stat-note{font-size:13px;color:var(--muted)}
@media (max-width:1100px){
  .stat-cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- модули WebEngine ---------- */
.cms{min-width:0;background:linear-gradient(180deg,var(--panel-hi),var(--panel));border:1px solid var(--line);border-radius:4px;padding:24px 26px 28px}
.cms .page-title,.cms .page-title span{font:500 clamp(26px,2.4vw,32px)/1.15 Oswald,sans-serif;color:var(--white);text-align:left;text-transform:none;margin:0 0 20px}
.cms h2,.cms h3,.cms h4{color:var(--white);font-family:Oswald,sans-serif;font-weight:500}
.cms p{max-width:72ch}
.cms hr{border-color:var(--line)}
.cms .row{margin-inline:0}

.cms .form-control{height:42px;background:#070a12;border:1px solid var(--line);border-radius:3px;color:var(--white);box-shadow:none;font-size:15px}
.cms textarea.form-control{height:auto;min-height:140px}
.cms .form-control:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(211,162,80,.18)}
.cms .control-label{color:var(--text);font-weight:400}
.cms .help-block{color:var(--muted);font-size:13px}
.cms .form-horizontal .form-group{margin-inline:0}
.cms .btn-primary,.cms .btn-success,.cms .btn-default{height:42px;padding:0 22px;font:500 15px/40px Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#fff;border:1px solid #c55a4a;border-radius:4px;background:linear-gradient(180deg,#c22029,#7e0c12)}
.cms .btn-default{color:var(--gold-hi);border-color:rgba(211,162,80,.45);background:none}
.cms .btn-primary:hover,.cms .btn-success:hover{filter:brightness(1.15);color:#fff}

.cms .alert{border-radius:4px;border:1px solid;background:none;color:var(--text)}
.cms .alert-danger{border-color:rgba(224,49,58,.45);background:rgba(224,49,58,.08)}
.cms .alert-success{border-color:rgba(61,220,106,.4);background:rgba(61,220,106,.07)}
.cms .alert-info,.cms .alert-warning{border-color:rgba(211,162,80,.4);background:rgba(211,162,80,.07)}

.cms .table{color:var(--text);margin-bottom:0}
.cms .table>thead>tr>th,.cms .table>tbody>tr>td,.cms .table>tbody>tr>th{border-color:var(--line);vertical-align:middle}
.cms .table-striped>tbody>tr:nth-of-type(odd){background:rgba(255,255,255,.02)}
.cms .panel{background:none;border:1px solid var(--line);border-radius:4px;box-shadow:none;color:var(--text)}
.cms .panel-heading{background:var(--panel-hi)!important;border-color:var(--line)!important;color:var(--white)!important}
.cms .panel-body{background:none}
.cms .panel-footer{background:rgba(255,255,255,.02);border-color:var(--line);color:var(--muted)}
.cms .well{background:rgba(0,0,0,.25);border-color:var(--line);box-shadow:none}

/* новости */
.cms .panel-news{border-left:3px solid var(--gold)}
.cms .panel-news .panel-heading{background:none!important;border:0!important;padding:20px 22px 0}
.cms .panel-news .panel-title,.cms .panel-news .panel-title a{font:500 clamp(20px,1.9vw,25px)/1.2 Oswald,sans-serif;color:var(--white)}
.cms .panel-news .panel-body{padding:12px 22px;max-width:76ch}
.cms .panel-news .panel-body li{list-style:none;padding-left:16px;position:relative}
.cms .panel-news .panel-body li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;transform:rotate(45deg);background:var(--red-hi)}
.cms .panel-news .panel-footer{background:none;border:0;padding:0 22px 18px;font-size:13px;overflow:hidden}

/* рейтинги */
.cms .rankings_menu{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;text-align:left}
.cms .rankings_menu a{width:auto;margin:0;padding:9px 14px;font:500 13px/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:none;border:1px solid var(--line);border-radius:3px}
.cms .rankings_menu a:hover{color:var(--white);border-color:rgba(211,162,80,.45)}
.cms .rankings_menu a.active{color:var(--gold-hi);border-color:rgba(211,162,80,.6);background:rgba(211,162,80,.08)}
.cms .rankings-class-filter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;border:0;background:none}
.cms .rankings-class-filter li{list-style:none;margin:0}
.cms .rankings-class-filter-selection{color:var(--muted);font-size:11px;text-transform:uppercase}
.cms .rankings-class-filter-selection:hover{color:var(--white)}
.cms .rankings-table{width:100%;border-collapse:collapse;font-size:14px}
.cms .rankings-table tr td{padding:9px 10px;border:0;border-top:1px solid rgba(255,255,255,.05);color:var(--text);text-align:left}
.cms .rankings-table tr:first-child td{font:500 12px/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0;background:none}
.cms .rankings-table tr:not(:first-child):hover td{background:rgba(255,255,255,.025)}
.cms .rankings-table-place{font:500 16px Oswald,sans-serif;color:var(--white);text-align:center!important}
.cms .rankings-table tr:nth-child(2) .rankings-table-place,.cms .rankings-table tr:nth-child(3) .rankings-table-place,.cms .rankings-table tr:nth-child(4) .rankings-table-place{color:var(--gold-hi)}
.cms .rankings-class-image{width:32px;height:32px;border-radius:50%;object-fit:cover}
.cms .rankings-table a{color:var(--white)}
.cms .rankings-update-time{color:var(--muted);font-size:12px;text-align:left;margin-top:14px}

@media (max-width:700px){
  .cms{padding:18px 14px 22px;overflow-x:auto}
}

/* кабинет */
.usercp ul{display:grid;gap:2px;margin:0 0 12px;padding:0}
.usercp li{list-style:none}
.usercp a{display:flex;gap:10px;align-items:center;padding:7px 4px;border-radius:3px}
.usercp a:hover{background:rgba(255,255,255,.04)}
.usercp img{width:18px;height:18px}
.panel__title{white-space:nowrap}

/* лента новостей: карточки сами по себе, без общей рамки модуля */
.cms:has(.panel-news){background:none;border:0;padding:0}
.cms .panel-news{margin-bottom:16px;background:linear-gradient(180deg,var(--panel-hi),var(--panel))}
.cms .panel-news .panel-body ul{margin:0 0 10px;padding:0;display:grid;gap:4px}
.cms .panel-news .panel-footer,.cms .panel-news .panel-footer *{font-style:normal;text-align:left}
.tabs{flex-wrap:wrap;justify-content:flex-start;gap:4px;overflow:visible}
.tab{padding:6px 7px}

/* ---------- структура: внутренние страницы в две колонки ---------- */
.layout--inner{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"main right"}
@media (max-width:1000px){
  .layout--inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "right"}
}

/* блоки разного веса: акцентный "Начать играть", обычные панели, тихие списки без рамки */
.panel--accent{border-color:rgba(211,162,80,.55);background:linear-gradient(180deg,#1a1610,var(--panel) 70%)}
.panel--quiet{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 4px 0}
.panel--quiet .panel__head{border-bottom:0;padding-bottom:4px}
.start__btns{display:grid;gap:8px;margin-top:18px}
.start__btns .btn{width:100%}
.start__btns .btn--ghost .ico{width:16px;height:16px}

/* заголовки обычным регистром: капс остаётся у меню и кнопок */
.panel__title{text-transform:none;font-size:19px;letter-spacing:0}
.panel__more{text-transform:none;font-size:13px}
.tab{text-transform:none;font-size:13px}

/* до открытия */
.state--soon .dot,.srv--soon .dot{background:var(--gold-hi);box-shadow:0 0 10px var(--gold)}
.state--soon b span{color:var(--gold-hi)}
.srv--soon{background:rgba(211,162,80,.07);border-color:rgba(211,162,80,.3)}
.big{display:flex;align-items:baseline;gap:10px;margin-top:2px}
.big b{font:500 34px/1 Oswald,sans-serif;color:var(--white);font-variant-numeric:tabular-nums}
.big small{font-size:13px;color:var(--muted)}

/* вход в шапке */
.login{position:relative}
.login summary{list-style:none;cursor:pointer}
.login summary::-webkit-details-marker{display:none}
.login summary:hover,.login[open] summary{color:var(--white)}
.login__form{position:absolute;right:0;top:calc(100% + 14px);z-index:6;width:280px;padding:18px;background:var(--panel-hi);border:1px solid var(--line);border-radius:4px;box-shadow:0 16px 40px rgba(0,0,0,.6)}
.login__forgot{font-size:13px;color:var(--muted);text-align:center}
.login__forgot:hover{color:var(--gold-hi)}
.acc__community{display:grid;place-items:center;width:36px;height:36px;color:#b9c0cd;border:1px solid var(--line);border-radius:50%}
.acc__community:hover{color:var(--gold-hi);border-color:rgba(211,162,80,.5)}
.acc__community .ico{width:18px;height:18px}
@media (max-width:1240px){
  .acc__link{display:inline}
}
@media (max-width:560px){
  .login__form{position:fixed;left:16px;right:16px;top:64px;width:auto}
}

/* новости: без автора и без "Читать" у коротких */
.post__foot{justify-content:flex-end}

/* о сервере и классы */
.lead{font-size:17px;color:var(--text);margin:0 0 24px}
.about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.about h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:500 20px/1.2 Oswald,sans-serif;color:var(--white)}
.about h2 .ico{width:22px;height:22px;color:var(--gold)}
.about ul{display:grid;gap:6px;margin:0;padding:0}
.about li{list-style:none;padding-left:16px;position:relative}
.about li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}
.about__more{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 0}
.about__more .btn{height:42px;padding:0 22px}
.class-list{display:grid;gap:16px}
.class-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--c, var(--gold));border-radius:4px;background:rgba(0,0,0,.18);scroll-margin-top:20px}
.class-card:target{border-color:var(--c, var(--gold));box-shadow:0 0 0 1px var(--c, var(--gold))}
.class-card img{width:150px;height:190px;object-fit:cover;border-radius:3px}
.class-card h2{margin:4px 0 8px;font:500 24px/1.15 Oswald,sans-serif;color:var(--white)}
.class-card h2 small{font-size:15px;color:var(--c, var(--gold));margin-left:6px}
.class-card p{margin:0 0 12px}
.class-card.cls--dk{--c:var(--dk)} .class-card.cls--elf{--c:var(--elf)} .class-card.cls--dw{--c:var(--dw)} .class-card.cls--mg{--c:var(--mg)}
.class-card.cls--dl{--c:var(--dl)} .class-card.cls--sum{--c:var(--sum)} .class-card.cls--rf{--c:var(--rf)}
@media (max-width:700px){
  .about{grid-template-columns:minmax(0,1fr)}
  .class-card{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .class-card img{width:96px;height:124px}
}

/* панели — тёмное стекло поверх сцены, мягкие края вместо жёстких коробок */
.panel,.post,.cms,.notice,.stat-grid,.class-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.panel,.post,.cms{border-radius:8px;box-shadow:0 24px 48px -28px rgba(0,0,0,.85)}
.panel{background:linear-gradient(180deg,rgba(30,26,26,.62),rgba(14,12,14,.5))}
.panel--quiet{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:none}
.panel--accent{background:linear-gradient(180deg,rgba(48,36,20,.7),rgba(16,13,12,.55) 70%)}
.post{border-left-width:2px}
.notice{border-radius:8px;background:linear-gradient(90deg,rgba(211,162,80,.14),rgba(14,12,14,.45) 70%)}
.login__form{background:rgba(20,17,18,.96)}
.stat-grid div{background:rgba(14,12,14,.55)}
.rows li{border-top-color:rgba(226,196,140,.07)}
