/* === СТРАНИЦЫ PIRATE BORG === */

body {
  background:#0e0803;
  color:#c8a878;
  font-family:'IM Fell English', 'Volkhov', serif;
  background-image:
    radial-gradient(ellipse at 20% 30%, rgba(200,120,40,0.05) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(60,90,120,0.04) 0%, transparent 50%);
  background-attachment:fixed;
}

/* ТОПБАР */
.site-header { background:#0a0504; border-bottom:2px solid #8b4513; }
.logo { color:#f0c078; text-shadow:1px 1px 0 #000; }
.logo-dot { color:#8b3020; }
.nav-link { color:#8b7050; }
.nav-link:hover { color:#f0c078; text-shadow:0 0 8px rgba(240,192,120,0.4); }
.header-search input { background:#1a0f0a; border-color:#4a3020; color:#d4b078; }

.nav-pb:hover { color:#f0c078; border-bottom-color:#f0c078; }
.nav-pb.active { color:#f0c078; border-bottom-color:#f0c078; }

/* ХЛЕБНЫЕ КРОШКИ */
.breadcrumbs {
  background:#1a0f0a;
  padding:0.6rem 1.5rem;
  font-size:0.85rem;
  border-bottom:1px solid rgba(200,120,40,0.2);
}
.breadcrumbs a { color:#d4b078; text-decoration:none; }
.breadcrumbs a:hover { color:#f0c078; text-decoration:underline; }
.breadcrumbs span { color:#c8a878; font-weight:600; }

/* СТРАНИЦА */
.page-header {
  background:#1a0f0a;
  padding:2rem 1.5rem;
  border-bottom:3px solid #8b4513;
  background-image:
    radial-gradient(ellipse at 30% 50%, rgba(200,120,40,0.12) 0%, transparent 45%),
    radial-gradient(ellipse at 70% 50%, rgba(139,48,32,0.08) 0%, transparent 45%);
}
.page-header .container { max-width:1100px; }
.page-header h1 {
  font-family:'UnifrakturMaguntia', cursive;
  font-size:clamp(2.2rem, 6vw, 3.8rem);
  color:#f0c078;
  line-height:1;
  text-shadow:2px 2px 0 #000, 0 0 25px rgba(240,192,120,0.25);
  transform:rotate(-1deg);
  display:inline-block;
}
.page-header p {
  font-family:'IM Fell English', serif;
  font-style:italic;
  color:#c89058;
  margin-top:0.8rem;
  font-size:1.05rem;
  line-height:1.6;
  max-width:720px;
}

.page-content {
  max-width:1100px;
  margin:0 auto;
  padding:2.5rem 1.5rem;
  font-size:1rem;
  line-height:1.75;
}

.page-content h2 {
  font-family:'UnifrakturMaguntia', cursive;
  font-size:2rem;
  margin:2rem 0 1rem;
  color:#f0c078;
  padding-bottom:0.3rem;
  text-shadow:1px 1px 0 #000;
  border-bottom:2px solid #8b4513;
  font-weight:400;
}
.page-content h3 {
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#d4b078;
  font-size:1.1rem;
  margin:1.5rem 0 0.6rem;
}
.page-content h4 {
  font-family:'Special Elite', serif;
  color:#f0c078;
  font-size:1rem;
  text-transform:uppercase;
  margin:1rem 0 0.4rem;
}
.page-content p { margin-bottom:0.8rem; }

/* СПИСКИ */
.page-content ul, .page-content ol { margin-left:1.5rem; margin-bottom:1rem; }
.page-content li { margin-bottom:0.3rem; }

/* ТАБЛИЦЫ */
.page-content table {
  width:100%;
  border-collapse:collapse;
  margin:1rem 0;
  font-size:0.95rem;
  background:rgba(26,15,10,0.4);
}
.page-content th {
  background:#1a0f0a;
  color:#f0c078;
  text-align:left;
  padding:0.5rem 0.8rem;
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  font-size:0.82rem;
  letter-spacing:0.04em;
  border-bottom:2px solid #8b4513;
}
.page-content td {
  padding:0.5rem 0.8rem;
  border-bottom:1px solid rgba(139,69,19,0.2);
}
.page-content tr:hover td { background:rgba(200,120,40,0.06); }
.page-content td:first-child { color:#d4b078; font-weight:700; }

/* КАРТОЧКИ */
.card {
  background:linear-gradient(135deg, #1a0f0a, rgba(10,5,4,0.7));
  border:1px solid #4a3020;
  border-left:4px solid #8b4513;
  padding:1rem 1.2rem;
  margin:1rem 0;
  box-shadow:2px 2px 0 rgba(0,0,0,0.4);
}
.card h4 {
  color:#f0c078;
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  font-size:1rem;
  margin-bottom:0.4rem;
}

/* ПОДСВЕТКА */
.stat { color:#e8a050; font-weight:700; }
.dice { color:#f0c078; font-weight:700; text-shadow:0 0 4px rgba(240,192,120,0.3); }
strong { color:#e8d0a0; font-weight:700; }
em { color:#c89058; font-style:italic; }

/* СПИСОК ЭЛЕМЕНТОВ (классов, кораблей, монстров) */
.item-list {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:1rem;
  margin-top:1.5rem;
}
.item-card {
  display:block;
  background:linear-gradient(135deg, #1a0f0a, #0a0504);
  border:1px solid #4a3020;
  border-left:3px solid #8b4513;
  padding:1.2rem;
  text-decoration:none;
  color:#c8a878;
  transition:background 0.15s, transform 0.15s, border-left-color 0.15s;
  position:relative;
}
.item-card:hover {
  background:linear-gradient(135deg, #2a1810, #0a0504);
  transform:translateY(-2px);
  border-left-color:#f0c078;
  box-shadow:-3px 3px 15px rgba(240,192,120,0.12);
}
.item-card-number {
  position:absolute;
  top:0.6rem; right:0.8rem;
  font-family:'Special Elite', serif;
  color:#8b3020;
  font-size:0.9rem;
  font-weight:700;
}
.item-card-title {
  font-family:'UnifrakturMaguntia', cursive;
  font-size:1.6rem;
  line-height:1.1;
  margin-bottom:0.4rem;
  padding-right:1.5rem;
  color:#f0c078;
  text-shadow:1px 1px 0 #000;
}
.item-card-stats {
  font-family:'Share Tech Mono', monospace;
  font-size:0.78rem;
  color:#8b3020;
  margin:0.5rem 0;
  letter-spacing:0.02em;
}
.item-card-desc {
  font-family:'IM Fell English', serif;
  font-style:italic;
  font-size:0.9rem;
  color:#a89068;
  line-height:1.5;
}

/* НАВИГАЦИЯ ПО СТРАНИЦЕ */
.page-nav {
  background:#1a0f0a;
  padding:0.8rem 1.5rem;
  border-bottom:1px solid rgba(139,69,19,0.3);
  position:sticky;
  top:52px;
  z-index:50;
}
.page-nav .container { max-width:1100px; display:flex; gap:0.5rem; flex-wrap:wrap; }
.page-nav a {
  padding:0.3rem 0.8rem;
  background:#0a0504;
  border-left:3px solid #8b4513;
  text-decoration:none;
  color:#d4b078;
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  font-size:0.75rem;
  letter-spacing:0.04em;
  transition:all 0.15s;
}
.page-nav a:hover { background:#2a1810; border-left-color:#f0c078; color:#f0c078; }
.page-nav a.active { background:#8b4513; color:#f0c078; border-left-color:#f0c078; }

/* DETAILS */
.page-content details {
  background:linear-gradient(180deg, #1a0f0a, rgba(10,5,4,0.8));
  border:1px solid #4a3020;
  border-left:4px solid #8b4513;
  margin:1rem 0;
  box-shadow:2px 2px 0 rgba(0,0,0,0.3);
}
.page-content summary {
  cursor:pointer;
  padding:0.9rem 1rem;
  font-weight:700;
  color:#f0c078;
  list-style:none;
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  font-size:0.9rem;
  letter-spacing:0.03em;
}
.page-content summary::before { content:'† '; color:#8b3020; }
.page-content details[open] summary::before { content:'⚓ '; }
.page-content details .inner { padding:0 1rem 1rem; }

/* ФУТЕР */
.site-footer { background:#060302; border-top:2px solid #8b4513; color:#8b6540; }
.site-footer h4 { color:#f0c078; }
.site-footer a { color:#a89068; }
.site-footer a:hover { color:#f0c078; }

/* БРОСАЛКИ */
.dice.rollable {
  cursor:pointer;
  border-bottom:1px dashed currentColor;
  padding:0 0.15em;
  user-select:none;
  transition:background 0.1s, color 0.1s;
}
.dice.rollable:hover {
  background:rgba(240,192,120,0.12);
  color:#f0c078;
}
.dice.rollable:active { background:#8b3020; color:#f0c078; }

.roll-btn-wrap { margin:0.6rem 0; }
.roll-btn {
  display:inline-block;
  background:#1a0f0a;
  color:#f0c078;
  border:1px solid #8b4513;
  padding:0.5rem 1rem;
  font-family:'Special Elite', serif;
  text-transform:uppercase;
  font-size:0.85rem;
  letter-spacing:0.06em;
  cursor:pointer;
  text-shadow:1px 1px 0 #000;
  transition:all 0.1s;
}
.roll-btn:hover { background:#8b4513; color:#f0c078; border-color:#f0c078; }
.roll-btn:active { transform:translate(1px,1px); }

.page-content tr:has(.rolled) td,
.page-content td.rolled,
.page-content td.rolled-result {
  background:rgba(240,192,120,0.3) !important;
  color:#f0c078;
  text-shadow:0 0 6px rgba(240,192,120,0.3);
  font-weight:700;
}
.page-content td.rolled {
  box-shadow:inset 4px 0 0 #8b3020;
  animation:pb-roll-flash 0.7s ease-out;
}
@keyframes pb-roll-flash {
  0% { background:#8b3020 !important; color:#f0c078; }
  60% { background:#f0c078 !important; color:#1a0f0a; }
  100% { background:rgba(240,192,120,0.3) !important; color:#f0c078; }
}

.dice-toaster {
  position:fixed;
  bottom:20px; right:20px;
  z-index:10000;
  display:flex; flex-direction:column-reverse;
  gap:0.5rem;
  pointer-events:none;
  max-width:90vw;
}
.dice-toast {
  background:#1a0f0a;
  color:#c8a878;
  padding:0.7rem 1.1rem;
  border:1px solid #8b4513;
  border-left:4px solid #f0c078;
  font-family:'Special Elite', serif;
  font-size:0.95rem;
  box-shadow:4px 4px 0 rgba(0,0,0,0.5);
  opacity:0;
  transform:translateX(30px);
  transition:opacity 0.3s, transform 0.3s;
}
.dice-toast.show { opacity:1; transform:none; }
.dice-toast .formula { color:#d4b078; }
.dice-toast .result {
  color:#f0c078;
  font-size:1.4rem;
  font-weight:700;
  margin:0 0.2rem;
  text-shadow:0 0 8px rgba(240,192,120,0.4);
}
.dice-toast small { color:#8b6540; font-size:0.75rem; }

@media (max-width:768px) {
  .item-list { grid-template-columns:1fr; }
  .page-content { padding:1.5rem 1rem; }
  .page-header { padding:1.5rem 1rem; }
  .page-nav { padding:0.6rem 1rem; top:48px; }
  .dice-toaster { bottom:10px; right:10px; left:10px; }
}
