/* Палитра и типографика — только из docs/05-visual-system.md §1–§2 (правило 10). */
  :root{ --night:#0b0d17; --ink:#e9e2d0; --dim:#7a7e96; --gold:#d9a441;
    --life:#ffb84d; --cold:#7fa8c9; --ember:#ff6a4d; --jade:#7fc9a0; }
  *{margin:0;padding:0;box-sizing:border-box}
  html,body{height:100%;overflow:hidden;background:var(--night)}
  body{font-family:'JetBrains Mono',monospace;color:var(--ink)}
  #world{position:fixed;inset:0;display:block}
  header{position:fixed;top:0;left:0;right:0;padding:14px 18px 10px;
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    background:linear-gradient(180deg,rgba(11,13,23,.9),rgba(11,13,23,0));pointer-events:none;z-index:5}
  .masthead h1{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;letter-spacing:.34em}
  .masthead h1 span{color:var(--gold)}
  .masthead p{font-size:10px;color:var(--dim);letter-spacing:.12em;margin-top:2px}
  #liveBadge b{color:var(--ember);font-weight:500;animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
  #stats{font-size:10.5px;color:var(--dim);text-align:right;line-height:1.7;letter-spacing:.06em}
  #stats b{color:var(--ink);font-weight:500} #stats .g{color:var(--gold)}
  /* Панель наблюдателя (05 §7.1): три числа, у каждого проводка или событие за спиной.
     Плитка без числа гаснет целиком — «—» честнее нуля, который читается как провал. */
  #panel{position:fixed;top:84px;left:18px;z-index:5;display:flex;flex-direction:column;gap:1px;
    pointer-events:none;border-left:1px solid rgba(217,164,65,.35);padding-left:12px}
  .tile{padding:5px 0}
  .tile i{display:block;font-style:normal;font-size:9px;letter-spacing:.18em;color:var(--dim);
    text-transform:uppercase}
  .tile b{display:block;font-family:'Playfair Display',serif;font-weight:600;font-size:26px;
    line-height:1.15;color:var(--ink)}
  .tile u{display:block;font-size:9px;letter-spacing:.06em;color:var(--dim);text-decoration:none}
  .tile em{font-style:normal;color:var(--gold)}
  .tile.off b{color:var(--dim);opacity:.5}
  #ticker{position:fixed;left:18px;bottom:16px;z-index:5;pointer-events:none;max-width:70vw}
  #ticker div{font-size:11px;line-height:1.9;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #legend{position:fixed;right:18px;bottom:16px;z-index:5;font-size:9.5px;color:var(--dim);
    letter-spacing:.08em;text-align:right;line-height:1.8;pointer-events:none}
  #controls{position:fixed;top:64px;right:18px;z-index:6;display:flex;gap:8px}
  #controls button{font-family:inherit;font-size:10px;letter-spacing:.1em;background:rgba(20,19,39,.7);
    border:1px solid rgba(233,226,208,.18);color:var(--ink);padding:7px 12px;cursor:pointer;backdrop-filter:blur(4px)}
  #controls button:hover{border-color:var(--gold);color:var(--gold)}
  #controls a{font-size:10px;letter-spacing:.1em;background:rgba(20,19,39,.7);text-decoration:none;
    border:1px solid rgba(233,226,208,.18);color:var(--dim);padding:7px 12px;backdrop-filter:blur(4px)}
  #controls a:hover{border-color:var(--gold);color:var(--gold)}
  #card{position:fixed;right:18px;bottom:52px;width:262px;z-index:7;background:rgba(15,15,30,.9);
    border:1px solid rgba(217,164,65,.35);padding:16px 18px;backdrop-filter:blur(6px);display:none}
  #card.show{display:block}
  #card .nm{font-family:'Playfair Display',serif;font-size:18px;color:var(--life)}
  #card .st{font-size:9.5px;color:var(--dim);letter-spacing:.14em;margin:2px 0 10px}
  #card .row{display:flex;justify-content:space-between;font-size:11px;line-height:2}
  #card .row span:last-child{color:var(--ink)}
  #card .neg{color:var(--ember)} #card .pos{color:var(--jade)}
  #card .more{display:inline-block;margin-top:10px;font-size:10px;letter-spacing:.12em;
    color:var(--gold);text-decoration:none;opacity:.85}
  #card .more:hover{opacity:1}
  #card .x{position:absolute;top:8px;right:12px;color:var(--dim);cursor:pointer;font-size:13px;border:none;background:none}
  @media (max-width:640px){
    .masthead h1{font-size:17px;letter-spacing:.24em}
    #stats{font-size:9px;line-height:1.6} #legend{display:none}
    #panel{top:74px;left:12px;padding-left:8px}
    .tile b{font-size:18px} .tile u{display:none}
    #card{left:12px;right:12px;width:auto;bottom:64px}
    #controls{top:auto;bottom:12px;right:12px} #ticker{bottom:60px;left:12px;max-width:92vw}
  }