/* Identidad compartida del portal y el laboratorio: rojo motor, naranja y marfil. */
:root {
  --bg: #faf5f1;
  --paper: #fffdfb;
  --ink: #302322;
  --muted: #796b65;
  --line: #eaded6;
  --accent: #c63724;
  --brand-red: #ab241e;
  --brand-orange: #f47b2c;
  --brand-night: #301317;
  --brand-soft: #fff0e3;
}

::selection { background: #ffd2ac; color: #651a19; }
:focus-visible { outline-color: #e86b20; }
body { background: var(--bg); }
.rail, .sidebar {
  background: linear-gradient(165deg, #381319 0%, #261317 70%, #431b17 100%);
  border-right-color: #562327;
  color: #fff4eb;
}
.brand { color: #fff7f0; line-height: 1.05; }
.brand small, .brand-sub { color: #e4ab94; }
.brand small, .brand .brand-sub { font-size: 10px; letter-spacing: 1.4px; font-weight: 650; margin-top: 5px; }
.brand img { filter: drop-shadow(0 3px 8px #15030840); }
.rail-label, .workspace-label, .nav-label { color: #e1a794; }
.rail nav a, .sidebar .nav-item { color: #e9c3b4; }
.rail nav a:hover, .sidebar .nav-item:hover {
  color: #fff6eb;
  background: #ffffff0c;
}
.rail nav a.active, .sidebar .nav-item.active,
.rail nav a.active:hover, .sidebar .nav-item.active:hover {
  background: linear-gradient(100deg, #fff2e6, #ffdebf);
  color: #8d251e;
  box-shadow: inset 3px 0 0 #f47b2c;
}
.nav-active-dot { background: #be3424; }
.rail-footer, .local-indicator { color: #f0c4ab; }
.rail-footer p, .sidebar-bottom p { color: #d2aaa0; }
.rail-footer>a { color: #ffc68f; border-color: #ffffff20; }
.rail-footer>a:hover { color: #ffe4c6; }
.rail-footer>small, .sidebar-version { color: #cba499; border-color: #ffffff20; }
.workspace { border-color: #ffffff24; color: #fff0e4; background: #ffffff05; }
.workspace small { color: #dcb9aa; }
.workspace-monogram { background: #ffffff12; color: #ffc492; }
.future-nav span { color: #cba69b; }

.page>header, .topbar {
  background: #fffdfa;
  border-bottom-color: var(--line);
  box-shadow: inset 0 3px 0 #c63724;
}
.breadcrumb { color: #8d746a; }
.breadcrumb b, .breadcrumb strong { color: #65504a; }
.breadcrumb>span { color: #d3b9aa; }
.local-tag, .read-only { color: #8e6d5e; }
.account-name { color: #942b21; }
.text-button { color: #896052; }
.text-button:hover { color: #ab241e; }
.avatar { color: #a13320; background: #ffe1c5; }
.eyebrow, .section-eyebrow { color: #a1492e; }
.page-heading p, .section-heading p { color: #796b65; }
.outline-tag {
  background: #fff0e3;
  border-color: #ebc5a9;
  color: #9c4829;
}

.mystery-hero, .server-hero {
  background: linear-gradient(115deg, #651621 0%, #a52a21 57%, #a13e19 100%);
  box-shadow: 0 10px 28px #7e291419;
  border: 1px solid #9e3023;
}
.mystery-hero::before, .server-hero::before {
  content: "";
  position: absolute;
  top: 0; right: 0; left: 0;
  height: 4px;
  background: linear-gradient(90deg, #e53e2b, #ffac50);
  pointer-events: none;
}
.mystery-hero::after {
  content: "";
  position: absolute;
  width: 145px; top: -45px; bottom: -45px; right: 32px;
  transform: skewX(-24deg);
  background: linear-gradient(90deg, #ffbc6600, #ffbc660b);
  border-left: 1px solid #ffd7ac18;
  border-right: 26px solid #ffd7ac08;
  pointer-events: none;
}
.hero-kicker, .hero-eyebrow { color: #ffe1c7; }
.hero-kicker .dot { background: #ffb257; }
.hero-copy>p, .hero-session>span:last-child { color: #ffe5d4; }
.hero-tags span {
  background: #35101422;
  border-color: #ffce9d4d;
  color: #fff1df;
}
.session-format { border-color: #ffd5b33b; }
.format-title, .timings div>span { color: #ffe2c7; }
.timings small { color: #ffd6b1; }
.format-line i { background: #ff9b43; }
.format-line i:nth-child(2) { background: #ffd09b; }
.format-line i:nth-child(3) { background: #fff1df; }
.session-format p { color: #ffe0c5; }
.hero-question { color: #ffd29a08; }
.hero-state { color: #ffe3cb; border-color: #ffcc9a35; background: #360e1926; }
.hero-bottom { background: #3a101b25; border-color: #ffd5b32b; }
.hero-bottom>span { color: #ffe1c7; }
.hero-pattern>span { color: #ffd29a09; }
.hero-pattern svg { color: #ffd29a12; }

.steam-button, .primary-button {
  background: linear-gradient(110deg, #af2923, #c5481d);
  color: #fff;
  box-shadow: 0 3px 8px #ac30231c;
}
.steam-button:hover, .primary-button:hover {
  background: linear-gradient(110deg, #92201e, #aa3418);
}
.button { color: #963e28; border-color: #e7c5b2; background: #fffaf4; }
.button:hover { border-color: #cf7f54; background: #fff0e0; }
.planning-note { color: #79685e; }
.planning-note>span { color: #bf592b; }
.planning-note strong { color: #704c3e; }
.timezone { color: #836a5d; }
.day { background: #fffdfa; color: #887064; border-color: var(--line); }
.day strong { color: #675047; }
.day:hover { background: #fff0e2; border-color: #dea988; }
.day.active {
  background: linear-gradient(125deg, #ac2921, #c2451d);
  border-color: #ad3022;
  color: #ffe2bf;
  box-shadow: 0 3px 8px #ad30221a;
}
.day.active strong { color: white; }
.schedule-panel, .profile-card, .guest-profile, .profile-stats article,
.session-card, .metrics article, .catalog-panel { background: var(--paper); }
.schedule-labels, th { background: #fbede3; color: #865b47; border-color: #eed9c9; }
.race-row, td { border-color: #f0e5dd; }
.race-row:hover, tbody tr:hover { background: #fff7ef; }
.race-start strong { color: #8b2c21; }
.race-start>span, .race-combination div>span, .race-format>span { color: #89766b; }
.race-combination strong { color: #644b41; }
.lock-symbol, .item-icon { background: #fff0e0; border-color: #edd3bc; color: #b45128; }
.race-format strong { color: #8b513a; }
.race-state small { color: #8c7468; }
.status-badge { background: #fae4d4; color: #9b4628; }
.status-badge.waiting { background: #ffebcb; color: #93521c; }
.calendar-footer, .catalog-footer { color: #876f62; border-color: var(--line); }
.calendar-footer button, .pagination button { background: #fffaf5; color: #a3492c; border-color: #e8cebb; }
.calendar-footer button:not(:disabled):hover, .pagination button:not(:disabled):hover { background: #ffe5cb; border-color: #d89d72; }
.license-teaser, .provenance { background: #fff0e3; border-color: #e9ceb9; }
.license-icon { background: #ffddba; border-color: #e7b282; color: #983b20; }
.license-teaser p { color: #876b58; }
.license-teaser a { color: #a03623; }
.license-card { background: #fff5e9; }
.profile-card dt, .license-card dt { color: #8a7165; }
.profile-card dd, .license-card dd { color: #6b4f40; }
.license-card>p, .profile-card>p, .guest-profile p { color: #806d62; }
.license-note { color: #82634f; border-color: #ead4c3; }
.profile-card label { color: #826352; }
.profile-card input, .search { background: #fffbf7; border-color: #e7d3c4; color: #674b3e; }
.profile-symbol { color: #c4582c; }
.profile-stats article>span { color: #9c5d3d; }
.profile-stats strong { color: #bd744f; }
.profile-stats small { color: #91705e; }
.section-label, .metric-label { color: #956b55; }
.metric-icon { color: #c87543; }
.metric-value { color: #923b28; }
.metric-caption, .session-note { color: #8e776a; }
.session-title { color: #8b3a26; }
.tab.active { color: #b13022; border-bottom-color: #dc5d2b; }
.tab.active>span { color: #9c3620; background: #ffddbd; }
.class-badge { color: #96603e; border-color: #ecd6c5; background: #fff3e6; }
.item-id, .item-detail { color: #897264; }
.provenance-icon { background: #ffe0c2; border-color: #edc29e; color: #a34b2a; }
.provenance p, .provenance-tag { color: #916e59; }
footer, .footer { color: #91776a; border-color: var(--line); }

@media (max-width: 700px) {
  .rail { border-bottom-color: #6a2b25; }
  .mobile-link { color: #f7c2a0; }
  .mobile-section .profile-card:first-of-type { border-top: 3px solid #dc5d2b; }
  .mobile-note { color: #8b6a57; }
}
