:root {
  --bg: #071017;
  --bg-elevated: rgba(13, 25, 36, 0.84);
  --panel: rgba(15, 32, 45, 0.92);
  --panel-soft: rgba(16, 24, 34, 0.78);
  --text: #edf5f7;
  --muted: #a7bcc5;
  --line: rgba(111, 224, 216, 0.22);
  --teal: #74f3e3;
  --teal-strong: #31d0c0;
  --gold: #d9bd7a;
  --danger: #ff8f8f;
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.bushido-public {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top, rgba(116, 243, 227, 0.08), transparent 35%),
    linear-gradient(180deg, #071017 0%, #09151d 45%, #060c11 100%);
  color: var(--text);
  line-height: 1.6;
}
body.bushido-public a { color: var(--teal); text-decoration: none; }
body.bushido-public a:hover { color: #fff; }
body.bushido-public .shell { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
body.bushido-public .site-header {
  position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px);
  background: rgba(7, 16, 23, 0.72); border-bottom: 1px solid rgba(255,255,255,0.08);
}
body.bushido-public .nav-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; }
body.bushido-public .brand { display:flex; align-items:center; gap:14px; min-width:0; }
body.bushido-public .brand img {
  width:56px; height:56px; border-radius:14px; object-fit:cover; object-position:center top;
  box-shadow:0 0 0 1px rgba(255,255,255,0.14); background:rgba(255,255,255,0.06);
}
body.bushido-public .brand-copy { min-width:0; }
body.bushido-public .eyebrow {
  text-transform:uppercase; letter-spacing:0.18em; font-size:0.74rem; color:var(--gold); margin-bottom:4px;
}
body.bushido-public .brand-copy strong { display:block; font-size:1rem; white-space:nowrap; }
body.bushido-public .brand-copy span {
  display:block; color:var(--muted); font-size:0.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
body.bushido-public .nav-toggle {
  display:none; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px;
  border:1px solid rgba(116,243,227,0.24); background:rgba(116,243,227,0.08); color:var(--text); cursor:pointer; padding:0;
  position:relative; z-index:3; flex:0 0 auto; appearance:none; -webkit-appearance:none;
}
body.bushido-public .nav-toggle svg { width:22px; height:22px; }
body.bushido-public .nav-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
body.bushido-public .nav-links a,
body.bushido-public .nav-dropdown-toggle {
  color:var(--text);
  font-weight:600;
  font-size:0.96rem;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-family:inherit;
  line-height:1.2;
  appearance:none;
  -webkit-appearance:none;
}
body.bushido-public .nav-links a:hover,
body.bushido-public .nav-dropdown-toggle:hover,
body.bushido-public .nav-dropdown[open] .nav-dropdown-toggle,
body.bushido-public .nav-dropdown:focus-within .nav-dropdown-toggle {
  border-color: rgba(116,243,227,0.25);
  background: rgba(116,243,227,0.08);
}
body.bushido-public .nav-dropdown {
  position:relative;
  display:flex;
  align-items:center;
}
body.bushido-public .nav-dropdown-toggle {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
body.bushido-public .nav-dropdown-toggle::-webkit-details-marker { display:none; }
body.bushido-public .nav-dropdown-toggle::marker { content:""; }
body.bushido-public .nav-caret { margin-left:8px; font-size:0.82rem; }
body.bushido-public .nav-dropdown-menu {
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:220px;
  padding:10px;
  z-index:30;
  border-radius:18px;
  background:rgba(8,18,26,0.98);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 20px 60px rgba(0, 0, 0, 0.35);
}
body.bushido-public .nav-dropdown-menu a {
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--text);
  font-weight:600;
  white-space:nowrap;
}
body.bushido-public .nav-dropdown-menu a:hover { background:rgba(116,243,227,0.10); color:#fff; }
body.bushido-public .nav-dropdown-toggle,
body.bushido-public .nav-dropdown-menu a {
  text-decoration:none;
}
body.bushido-public .nav-dropdown[open] .nav-dropdown-menu,
body.bushido-public .nav-dropdown:focus-within .nav-dropdown-menu { display:block; }
body.bushido-public .page-hero { padding: 28px 0 18px; }
body.bushido-public .page-hero-card,
body.bushido-public .page-card,
body.bushido-public .message-banner {
  border:1px solid var(--line); background:var(--bg-elevated); border-radius:var(--radius-lg); box-shadow:var(--shadow);
}
body.bushido-public .page-hero-card {
  padding:28px; background:
    linear-gradient(120deg, rgba(4, 12, 18, 0.9) 25%, rgba(4, 12, 18, 0.7) 100%),
    url('./dragon-mark-mobile.jpg') right center / cover no-repeat;
}
body.bushido-public .page-hero-card h1,
body.bushido-public .page-hero-card h2 { margin:0 0 10px; font-size:clamp(2rem, 4vw, 3rem); font-family:Georgia, "Times New Roman", serif; }
body.bushido-public .page-hero-card p { margin:0; max-width:760px; color:#d7e4e8; }
body.bushido-public main { padding-bottom: 52px; }
body.bushido-public .stack { display:grid; gap:18px; }
body.bushido-public .page-card { padding:24px; }
body.bushido-public .page-card h1, body.bushido-public .page-card h2, body.bushido-public .page-card h3 { margin-top:0; }
body.bushido-public .page-card hr { border:0; border-top:1px solid rgba(255,255,255,0.08); margin:20px 0; }
body.bushido-public .meta-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; }
body.bushido-public .meta-pill {
  display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px;
  background:rgba(116,243,227,0.08); color:var(--teal); font-weight:700; font-size:0.92rem;
}
body.bushido-public .status-grid, body.bushido-public .stat-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:14px;
}
body.bushido-public .stat-box {
  padding:16px; border-radius:var(--radius-md); background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
}
body.bushido-public .stat-box small { display:block; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
body.bushido-public .stat-box strong { display:block; font-size:1rem; line-height:1.35; overflow-wrap:anywhere; word-break:break-word; }
body.bushido-public .section-title { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
body.bushido-public .section-title p { margin:0; color:var(--muted); }
body.bushido-public .table-shell { overflow-x:auto; border-radius:16px; border:1px solid rgba(255,255,255,0.08); }
body.bushido-public table { width:100%; border-collapse:collapse; }
body.bushido-public .areas-table { font-size: 0.92rem; }
body.bushido-public .areas-table td, body.bushido-public .areas-table th { padding: 10px 12px; }
body.bushido-public .areas-grid,
body.bushido-public .helps-grid,
body.bushido-public .legacy-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  width: 100%;
  text-align: left;
}
body.bushido-public .area-chip a,
body.bushido-public .help-chip a,
body.bushido-public .legacy-chip-grid a {
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--text);
  font-weight: 600;
  font-size: 0.94rem;
  line-height: 1.35;
}
body.bushido-public .area-chip a:hover,
body.bushido-public .help-chip a:hover,
body.bushido-public .legacy-chip-grid a:hover {
  background: rgba(116,243,227,0.10);
  border-color: rgba(116,243,227,0.24);
  color: #fff;
}
body.bushido-public th, body.bushido-public td {
  padding:12px 14px; border-bottom:1px solid rgba(255,255,255,0.08); vertical-align:top;
}
body.bushido-public th, body.bushido-public tr:first-child td[bgcolor="BLACK"], body.bushido-public tr[bgcolor="BLACK"] td {
  background:#10212f !important; color:var(--text) !important;
}
body.bushido-public td[bgcolor], body.bushido-public tr[bgcolor] td, body.bushido-public tr[bgcolor] {
  color:var(--text) !important;
}
body.bushido-public td[bgcolor="LIGHTGREY"], body.bushido-public td[bgcolor="GREY"], body.bushido-public tr[bgcolor="LIGHTGREY"] td, body.bushido-public tr[bgcolor="GREY"] td { background:rgba(255,255,255,0.04) !important; }
body.bushido-public td[bgcolor="LIGHTBLUE"], body.bushido-public tr[bgcolor="LIGHTBLUE"] td { background:rgba(116,243,227,0.08) !important; }
body.bushido-public td[bgcolor="#90ee90"], body.bushido-public td[bgcolor="#FFCCFF"], body.bushido-public td[bgcolor="#99CCCC"], body.bushido-public tr[bgcolor="#90ee90"] td, body.bushido-public tr[bgcolor="#FFCCFF"] td, body.bushido-public tr[bgcolor="#99CCCC"] td { background:rgba(116,243,227,0.08) !important; }
body.bushido-public td[bgcolor="GREEN"], body.bushido-public tr[bgcolor="GREEN"] td { background:rgba(49,208,192,0.35) !important; color:var(--text) !important; }
body.bushido-public td[bgcolor="WHITE"], body.bushido-public tr[bgcolor="WHITE"] td { background:rgba(255,255,255,0.03) !important; }
body.bushido-public font[color], body.bushido-public td font, body.bushido-public th font { color:inherit !important; }
body.bushido-public ul, body.bushido-public ol { padding-left: 1.2rem; }
body.bushido-public .player-list { margin:0; padding-left:1.25rem; color:#d7e4e8; }
body.bushido-public .alpha-nav { display:flex; flex-wrap:wrap; gap:10px; }
body.bushido-public .alpha-nav a {
  min-width:40px; text-align:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
}
body.bushido-public input[type="text"], body.bushido-public input[type="password"], body.bushido-public textarea, body.bushido-public select {
  width:100%; max-width:100%; border-radius:12px; border:1px solid rgba(255,255,255,0.12); background:rgba(7,16,23,0.86); color:var(--text); padding:10px 12px;
}
body.bushido-public input[type="submit"], body.bushido-public input[type="button"], body.bushido-public button, body.bushido-public .button-like {
  border:0; border-radius:999px; background:linear-gradient(135deg, var(--teal), var(--teal-strong)); color:#06232a; min-height:42px; padding:0 16px; font-weight:700; cursor:pointer;
}
body.bushido-public .button-secondary {
  display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,0.16); background:rgba(255,255,255,0.06); color:var(--text); min-height:42px; padding:0 16px; border-radius:999px;
}
body.bushido-public .message-banner { padding:14px 18px; color:var(--danger); font-weight:700; }
body.bushido-public .footer { padding: 8px 0 40px; color:var(--muted); text-align:center; font-size:.95rem; }
body.bushido-public .footer a { color:var(--teal); }
body.bushido-public .compact-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); }
body.bushido-public .empty-state { color:var(--muted); }
body.bushido-public.popup { padding: 20px; }
body.bushido-public.popup .popup-card { max-width: 900px; margin: 0 auto; }
body.bushido-public pre { white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color:#dbe7eb; }
body.bushido-public img { max-width: 100%; height: auto; }
body.bushido-public .legacy-inline-links { display:flex; flex-wrap:wrap; gap:12px; margin: 0 0 18px; }
body.bushido-public .legacy-inline-links a { padding:10px 14px; border-radius:999px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); }
@media (min-width: 761px) {
  body.bushido-public .nav-links { flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; }
  body.bushido-public .nav-links > a,
  body.bushido-public .nav-dropdown { flex:0 0 auto; }
  body.bushido-public .nav-dropdown { display:flex; align-items:center; }
  body.bushido-public .nav-dropdown-toggle { width:auto; justify-content:center; appearance:none; -webkit-appearance:none; }
  body.bushido-public .nav-dropdown-menu { position:absolute; top:calc(100% + 10px); right:0; }
}
@media (max-width: 760px) {
  body.bushido-public .nav-row { flex-wrap:wrap; align-items:center; }
  body.bushido-public .brand { max-width:calc(100% - 64px); }
  body.bushido-public .nav-toggle { display:inline-flex; margin-left:auto; }
  body.bushido-public .nav-links {
    display:none; width:100%; flex-direction:column; align-items:stretch; gap:8px; margin-top:12px; padding:12px; border-radius:18px;
    background:rgba(8,18,26,0.96); border:1px solid rgba(255,255,255,0.08);
  }
  body.bushido-public .nav-links.is-open { display:flex; }
  body.bushido-public .nav-links > a,
  body.bushido-public .nav-dropdown-toggle { width:100%; border-radius:12px; padding:12px 14px; text-align:left; }
  body.bushido-public .nav-dropdown { width:100%; display:block; }
  body.bushido-public .nav-dropdown-toggle { justify-content:flex-start; width:100%; }
  body.bushido-public .nav-dropdown-menu {
    position:static; min-width:0; margin-top:8px; padding:8px; box-shadow:none;
  }
  body.bushido-public .page-hero-card { padding:22px; }
  body.bushido-public .section-title { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 540px) {
  body.bushido-public .shell { width:min(calc(100% - 20px), var(--max)); }
  body.bushido-public .brand img { width:48px; height:48px; }
  body.bushido-public .brand-copy strong, body.bushido-public .brand-copy span { white-space:normal; }
}
