/* Оформление под меню ROB RUN, как в атласе v3 (atlas/dist/theme-game.css). Подключается после style.css. */
:root{
  --bg:#1c1c1b;--panel:#161615;--card:#262625;--border:#383735;--text:#f1f0ec;--muted:#9a9894;
  --accent:#c6f432;--accent-ink:#121210;--owned:#7fd6a4;
  --display:"Fira Sans Extra Condensed","Roboto Condensed","Arial Narrow",sans-serif;
  --font:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
  --skew:-8deg;
}
*{border-radius:0!important}
.switch,.switch:after,.status-dot,.rarity-label:before{border-radius:50%!important}
body{font-family:var(--font);font-weight:500;letter-spacing:.1px;background:var(--bg)}
::selection{background:var(--accent);color:var(--accent-ink)}

/* Заголовки: узкий жирный курсив капсом */
h1,h2,h3,.brand strong,.section-title,.modal-heading h2,.drawer-body h2,
.primary-button,.secondary-button,.catalog-button>span:nth-child(2),
.filter-heading h2,.progress-head,.zoom-level,.visible-count b,.plan-total>b,.plan-facts b,.wiki-button{
  font-family:var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.3px;font-weight:800
}
h1,h2,.drawer-body h2,.modal-heading h2{font-weight:900;letter-spacing:0;line-height:1.02}
.eyebrow,.detail-label{font-family:var(--display);font-style:italic;font-weight:700;letter-spacing:2px;color:#8f8d89}

/* Боковая колонка с бледной надписью */
.sidebar{background:linear-gradient(180deg,#121211 0%,#181817 100%);border-right:1px solid #2b2a28;position:relative;overflow:hidden}
.sidebar:before{content:"ПЛАННЕР";position:absolute;left:-18px;top:120px;font:italic 900 170px/0.85 var(--display);color:#ffffff07;
  writing-mode:vertical-rl;transform:rotate(180deg);pointer-events:none;letter-spacing:-4px}
.sidebar>*{position:relative}
.sidebar-footer{background:transparent}
.brand{height:auto;padding:26px 24px 22px;border-bottom:0}
.brand-button:hover,.brand-button[aria-expanded=true]{background:#232322}
.brand-mark{background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-style:italic;font-weight:900;transform:skew(var(--skew))}
.brand strong{font-size:34px;font-weight:900;letter-spacing:0;color:var(--accent)}
.brand-dot{color:var(--text)}
.brand .eyebrow{color:#d8d6d0;letter-spacing:4px;font-size:11px;margin-top:4px}
.brand-menu{background:#121211;border:0;border-left:3px solid var(--accent);box-shadow:0 14px 40px #000a}
.brand-link{font-family:var(--display);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.brand-link:hover,.brand-link:focus-visible{background:#232322}
.section-title{font-size:20px;color:var(--text);letter-spacing:.4px}
.edition{font-family:var(--display);font-style:italic;font-weight:800;font-size:10px;letter-spacing:1px;background:var(--accent);color:var(--accent-ink);border:0;padding:3px 7px;transform:skew(var(--skew))}
button.edition{cursor:pointer}
button.edition:hover{filter:brightness(1.12)}
button.edition:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.filter-heading h2{font-size:17px;color:var(--text)}

/* Поля ввода */
.search-box,select,.icon-button{background:#0f0f0e;border:1px solid #2f2e2c}
.search-box{height:44px}
.search-box:focus-within{border-color:#4a4845}
select{font-family:var(--font);font-weight:600;font-size:13px;color:#e6e4df}
select option{background:#1b1b1a}
.icon-button:hover{color:var(--accent);background:#232322}
.search-box kbd{border-color:#3d3c39;color:#8d8b87}
.switch-row{color:#cfcdc8;font-weight:600}

/* Кнопки: скошенные плашки */
.primary-button,.secondary-button{transform:skew(var(--skew));font-size:15px;padding:11px 18px}
.primary-button{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.primary-button:hover{background:#d7ff5e}
.primary-button:disabled{background:#262625;color:#77746f;border-color:#33322f}
.secondary-button{background:#0f0f0e;border:1px solid #33322f;color:var(--text)}
.secondary-button:hover{background:#2a2927;border-color:#4a4845}
.drawer-footer>.primary-button.done,.primary-button.done{background:#262625;color:var(--accent);border-color:var(--accent)}
.wiki-button{background:#0f0f0e;transform:skew(var(--skew));font-size:13px}
.wiki-button:hover{color:var(--accent-ink)}

/* Строки меню */
.category{background:#232322;border:0;border-left:3px solid transparent}
.category:hover{background:#2d2c2a;border-left-color:var(--accent)}
.category-name{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.3px}
.category-count{background:#0f0f0e;color:#cfcdc8}
.catalog-button{background:#0f0f0e;border:1px solid #2f2e2c;border-left:3px solid var(--accent)}
.catalog-button:hover{background:#232322;border-color:var(--accent)}
.catalog-button>span:nth-child(2){font-size:17px}
.catalog-symbol{color:var(--accent)}
.result-row,.plan-step{border-bottom-color:#2f2e2c}
.result-row:hover,.chain-row:hover{background:#2d2c2a}

/* Сводка плана */
.plan-total{background:#0f0f0e;border:1px solid #2f2e2c;border-left:4px solid var(--accent)}
.plan-total>b{font-size:34px;font-weight:900;letter-spacing:0}
.plan-facts span{background:#232322}
.plan-facts b{font-size:18px}
.cash-breakdown b{color:var(--text)}

/* Прогресс и переключатели */
.progress-track{height:6px;background:#2c2b29;transform:skew(var(--skew))}
.switch{background:#33322f}
.switch-row input:checked+.switch{background:var(--accent)}
.switch-row input:checked+.switch:after{background:var(--accent-ink)}

/* Поле дерева и плитки */
.map-area{background:radial-gradient(ellipse at 50% 50%,#30302d 0,#20201e 58%,#151514 100%)}
.edges path{stroke:#6d6b67}
.node{background:#121211;border:1px solid #2b2a28;border-bottom:3px solid var(--rare,#77746f)}
.node:hover,.node:focus-visible{background:#232322;border-color:var(--rare,#9a9893)}
.node .tier,.node .years{font-family:var(--display);font-style:italic;font-weight:800}
.node .tier{color:#a8a6a1}
.node .years{background:#0f0f0ee0}
.node .unknown-mask{background:#1b1b1a;color:#8f8d89;font-family:var(--display);font-style:italic;font-weight:900}
.node.is-planned{border-color:var(--accent);background:#2b331a}
.node.is-planned .unknown-mask{background:#2b331a}
.node.is-owned{background:#1a2d25}
.node.is-owned .unknown-mask{background:#1a2d25}
.polaroid span{font-family:var(--display);font-style:italic;font-weight:900;font-size:17px}

/* Плашки поверх дерева */
.map-heading{background:#121211eb;border:0;border-left:4px solid var(--accent);box-shadow:0 10px 40px #0007;padding:12px 20px}
.map-heading h1{font-size:34px;margin-top:0}
.map-heading .eyebrow{color:var(--accent);font-size:10px;letter-spacing:3px}
.visible-count b{color:var(--accent);font-size:26px;font-weight:900}
.map-divider{background:#3a3936}
.map-controls{background:#121211eb;border:0;box-shadow:0 10px 30px #0006}
.map-controls button:hover{background:var(--accent);color:var(--accent-ink)}
.map-controls>div{background:#3a3936}
.map-help,.zoom-level{background:#121211eb;border:0;color:#d5d3ce}
.map-help{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.zoom-level{font-size:14px;color:var(--accent)}
.tooltip{background:#121211f5;border:0;border-left:3px solid var(--accent);box-shadow:0 8px 30px #0008}
.tooltip small{color:#a8a6a1}
.toast{background:#121211f5;border:0;border-left:4px solid var(--accent);font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.4px}

/* Карточка и окна */
.drawer{background:#1a1a19f7;border:0;border-top:4px solid var(--accent);box-shadow:0 20px 70px #000a}
.drawer-body h2{font-size:30px}
.drawer-footer{border-top:1px solid #2f2e2c;background:#151514}
.item-hero{background:radial-gradient(ellipse,#3a393644,transparent 75%)}
.item-description{color:#cfcdc8}
.item-facts>span{background:#0f0f0e;border-color:#2f2e2c;color:#a8a6a1}
.item-facts b{color:var(--text);font-family:var(--display);font-style:italic;font-weight:800}
.modal{background:#1a1a19;border:0;border-top:4px solid var(--accent);box-shadow:0 30px 120px #000c}
.modal::backdrop{background:#0b0b0acc;backdrop-filter:blur(4px) grayscale(1)}
.modal-heading{border-bottom:1px solid #2f2e2c;background:linear-gradient(180deg,#232322,#1a1a19)}
.modal-heading h2{font-size:34px}
.modal-heading .icon-button:hover{color:var(--accent)}
.prose{color:#cfcdc8}
.prose strong{color:var(--text)}
.notice{background:#262625;border:0;border-left:3px solid var(--accent)}
.notice p{color:#cfcdc8}
.catalog-count{border-top-color:#2f2e2c}
.wiki-rows{background:#2f2e2c;border-color:#2f2e2c}
.wiki-rows>div{background:#121211}
.wiki-rows span{color:#a8a6a1}
.wiki-rows b{color:var(--text)}
.wiki-track{background:#2c2b29}
.wiki-card{border-color:#2f2e2c}
.small-note,.item-note,.small-modal p{color:#a8a6a1}

/* Подвал колонки */
.sidebar-footer{border-top:1px solid #2b2a28;font-family:var(--display);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.text-button:hover,a:hover{color:var(--accent)}

/* Без зелёной обводки при нажатии; с клавиатуры рамка остаётся */
*:focus:not(:focus-visible){outline:none!important;box-shadow:none}

@media(max-width:780px){.sidebar:before{font-size:120px}
/* Как в карте v5.3: на телефоне панель выезжает поверх и не занимает место в раскладке. */
.sidebar{position:fixed}}

/* Единый сайт ROB RUN: маршрут из вики и карты, переходы в другие разделы */
.edges path.is-route{stroke:#fff;stroke-width:8;stroke-dasharray:22 12;animation:route-flow 1.2s linear infinite}
.edges path.route-spine:not([d]),.edges path.route-spine[d=""]{display:none}
@keyframes route-flow{to{stroke-dashoffset:-34}}
@media (prefers-reduced-motion:reduce){.edges path.is-route{animation:none}}
.node.is-route{border-color:#fff;box-shadow:0 0 0 3px #ffffff40}
.tree.show-route .node:not(.is-route){opacity:.28}
.tree.show-route .edges path:not(.is-route){opacity:.3}
.route-banner{display:flex;align-items:center;gap:10px;margin:10px 0 4px;padding:10px 12px;background:#0f0f0e;border-left:4px solid #fff}
.route-banner>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.route-banner b{font-family:var(--display);font-style:italic;text-transform:uppercase;letter-spacing:.4px;font-size:14px}
.route-banner small{color:var(--muted);font-size:12px}
.route-dot{width:10px;height:10px;background:#fff;transform:rotate(45deg);flex:0 0 auto}
.xlinks{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.xlink{display:inline-flex;align-items:center;padding:7px 12px;background:#0f0f0e;border:1px solid #33322f;color:var(--text);font-size:13px;text-decoration:none;transform:skew(var(--skew))}
.xlink:hover,.xlink:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
.xlinks.is-big{margin:16px 0 4px}
.xlinks.is-big .xlink{flex:1 1 auto;justify-content:center;padding:10px 14px;font-size:14px}

.xlink{font-family:var(--display);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.node.is-route-end{border-color:var(--accent);box-shadow:0 0 0 4px #c6f43255,0 0 26px #c6f43233}
.brand-caret{font-size:14px;color:var(--text)}
a.hero-image{cursor:pointer;text-decoration:none}
a.wiki-button{text-decoration:none;display:inline-flex;align-items:center}

/* Подсказка поиска «Введите наименование предмета» помещается в поле целиком. */
.search-box input{text-overflow:ellipsis}
.search-box{gap:7px}
.search-box input::placeholder{font-size:12px;letter-spacing:-.4px}
