/* Tabler supplies layout primitives; these tokens define the project's neon accent layer. */
:root{--bg:#0b0e18;--surface:#121827;--line:#25324b;--cyan:#53e5ed;--pink:#c98aff;--muted:#9caac1;--tblr-body-bg:var(--bg);--tblr-body-color:#e9effb;--tblr-card-bg:var(--surface);scroll-behavior:smooth}body{background:var(--bg);font-family:Inter,"Segoe UI",sans-serif}a{color:var(--cyan)}.rail{position:fixed;inset:0 auto 0 0;width:240px;background:#0b101cef;border-right:1px solid var(--line);padding:32px 23px;display:flex;flex-direction:column;z-index:5}.brand{font-size:22px;font-weight:850;color:#fff;text-decoration:none;letter-spacing:1px}.sigil{color:var(--cyan);padding-right:9px}.dim{color:#607087;font-weight:500;font-size:15px}.rail-label,.section-label,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--cyan)}.rail-label{margin:20px 0 35px;color:var(--muted);font-size:9px}.rail nav{display:grid;gap:10px}.rail nav a{color:#aab8cf;padding:12px 9px;text-decoration:none;border-left:2px solid transparent;border-radius:3px}.rail nav a:hover{color:var(--cyan);border-color:var(--cyan);background:#172438}.rail footer{margin-top:auto;color:var(--muted);font-size:11px;line-height:1.9}.led{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan);margin-right:7px}main{margin-left:240px;max-width:1900px;padding:50px 48px 0}section{scroll-margin-top:25px;margin-bottom:42px}h1{font-size:clamp(32px,4.5vw,65px);line-height:1.08;letter-spacing:-2px;margin:18px 0 22px;font-weight:750}h1 span{color:var(--cyan)}h2{font-size:25px;margin:9px 0 22px}h3{font-size:17px;margin-bottom:20px}.sub,.caption{color:var(--muted);line-height:1.7}.sub{font-size:15px}.headline{display:flex;justify-content:space-between;gap:24px;align-items:center}.release{border:1px solid #564174;border-radius:9px;background:linear-gradient(135deg,#33204499,#10233599);padding:25px;min-width:250px}.release strong{display:block;font-size:22px;color:var(--pink);margin:10px 0}.release p{color:#b8c5d8;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}.metric{background:#141c2c;border:1px solid var(--line);border-top:2px solid var(--cyan);border-radius:8px;padding:23px}.metric strong{display:block;font-size:36px;font-weight:650;color:#fff}.metric small{color:var(--muted)}.grid2,.grid3{display:grid;gap:22px;margin-bottom:23px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.panel{padding:27px;border:1px solid var(--line);border-radius:9px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.flow{display:flex;flex-direction:column;align-items:center;gap:7px}.flow span{background:#1d293c;border:1px solid #334962;padding:9px 20px;min-width:80%;text-align:center;border-radius:5px}.flow b{color:var(--cyan)}.caption{font-size:12px;margin:16px 0 0}.barrow{display:grid;grid-template-columns:90px 1fr 40px;gap:13px;align-items:center;margin:13px 0;font-size:12px}.bar{height:9px;background:#202c40;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;border-radius:6px;background:var(--cyan)}.tablewrap{overflow:auto;border:1px solid var(--line)}table{margin:0!important}.table th{color:var(--muted)!important;background:#171f30!important}.table td{padding:18px 15px;border-color:var(--line);white-space:normal;min-width:110px}.table td:last-child{min-width:280px;max-width:650px;font-size:12px;line-height:1.65}.table td:first-child{font-weight:650}.toolbar{display:flex;gap:12px;margin-bottom:10px}.toolbar input{flex:1}.toolbar select{width:160px}.form-control,.form-select{background-color:#121c2d;border-color:#30435e;color:#e9effb}.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:23px 0}details{background:#121b2c;border:1px solid var(--line);border-top:2px solid var(--branch,var(--cyan));border-radius:8px;padding:20px}summary{cursor:pointer;list-style:none;font-weight:650;line-height:1.5}summary small{display:block;color:var(--muted);font-size:11px;margin-top:10px;font-weight:400}.rule{margin-top:17px;padding-top:15px;border-top:1px solid #29364c;font-size:13px;line-height:1.7}.rule code{color:var(--branch);background:transparent}.pill{font-size:10px;letter-spacing:.7px;padding:4px 7px;border:1px solid currentColor;border-radius:4px;white-space:nowrap;display:inline-block;color:#a3b4d0}.LIVE{color:#63dfa1}.PARTIAL{color:#ffcc73}.LOCAL{color:#77b7ff}.DATA{color:#b799ff}.SPEC{color:#bdc9dc}.PAUSED{color:#8290aa}.CONFLICT{color:#ff7e98}.map-preview{padding:8px}.map-preview img{width:100%;height:auto;border-radius:7px}.note{border-left:2px solid var(--pink);padding:12px 16px;color:#c8b7e4;background:#241d36;font-size:12px;line-height:1.7;margin:16px 0}.jumpmetric{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.jumpmetric strong{color:var(--cyan)}.mode{border-top:2px solid var(--pink)}.mode p,.test p{font-size:13px;color:var(--muted);line-height:1.7}.test strong{font-size:30px;color:var(--cyan)}#questions li{padding:8px 0;color:#b3c0d5;line-height:1.7}.task{display:grid;grid-template-columns:60px 1fr 120px;align-items:start;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.task b{font-size:25px;color:var(--pink)}.task h3{margin:0 0 5px}.task p{color:var(--muted);font-size:13px}.bottom{padding:28px 0;border-top:1px solid var(--line);color:#75849e;font-size:11px;line-height:2}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}@media(max-width:1250px){.rail{width:205px}main{margin-left:205px;padding:35px 25px}.branch-grid{grid-template-columns:1fr 1fr}.headline{align-items:start}.release{min-width:205px}.metrics{grid-template-columns:1fr 1fr}}@media(max-width:850px){.rail{position:relative;width:auto;padding:20px}.rail nav{grid-template-columns:1fr 1fr;gap:0}.rail footer,.rail-label{display:none}main{margin:0;padding:25px 18px}.headline{display:block}.release{margin:22px 0}.grid2,.grid3,.branch-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}h1{letter-spacing:-1px}}@media print{.rail,.toolbar{display:none}main{margin:0;padding:0}body{background:#fff;color:#142039}.card,details{break-inside:avoid}section{break-before:auto}.map-preview{display:none}.branch-grid{grid-template-columns:1fr 1fr}}

/* One viewport-sized backdrop: content scrolls above it without tiled seams.
   A fixed layer also avoids mobile background-attachment rendering issues. */
body{position:relative;isolation:isolate;min-height:100vh}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:var(--bg);
  background-image:
    radial-gradient(ellipse at 90% 0%,#202043 0%,transparent 65%),
    radial-gradient(ellipse at 10% 95%,#102335 0%,transparent 60%);
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}
@media print{body::before{display:none}}

/* Two real statistical cohorts; bar widths use observed mean accuracy. */
.cohort-comparison{display:grid;grid-template-columns:65px 1fr;gap:12px;margin:16px 0}
.comparison-bar{position:relative;min-height:24px;background:#202c40;border-radius:4px;margin:4px 0;overflow:hidden}
.comparison-bar i{position:absolute;inset:0 auto 0 0;background:#53e5ed55}
.comparison-bar.damage i{background:#c98aff55}
.comparison-bar span{position:relative;padding:3px 9px;font-size:11px;display:block}
.histogram{height:160px;display:flex;align-items:flex-end;gap:4px}
.histogram-bin{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;font-size:10px}
.histogram-bin i{display:block;width:85%;background:linear-gradient(#53e5ed,#376390);border-radius:3px 3px 0 0;min-height:0}
.histogram-bin small{margin-top:5px;color:var(--muted)}
.histogram-panel h3 small{font-size:11px;color:var(--muted)}
#research079 .panel{animation:research-entry .4s ease-out both}
@keyframes research-entry{from{opacity:.7;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}#research079 .panel{animation:none}}
.bot-word{background:linear-gradient(100deg,#53e5ed,#bc93ff,#ff93b7);background-clip:text;-webkit-background-clip:text;color:transparent!important;white-space:nowrap;font-weight:850}
.history-row{display:grid;grid-template-columns:50px 1fr 45px;gap:12px;align-items:center;margin:22px 0;color:var(--muted)}
.history-row.is-selected{color:var(--cyan)}
.history-track{height:16px;border:1px solid #334962;background:#172233;border-radius:2px;overflow:hidden}
.history-track i{display:block;height:100%;background:linear-gradient(90deg,#386789,#53e5ed);transition:width .5s ease}
.history-row.is-selected .history-track i{background:linear-gradient(90deg,#6c52ad,#c98aff)}
.histogram-bin i{animation:chart-grow .65s ease-out both;transform-origin:bottom}
@keyframes chart-grow{from{transform:scaleY(.02)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.histogram-bin i{animation:none}.history-track i{transition:none}}
.brand{display:flex;align-items:center;gap:3px}.sigil{display:flex;align-items:center}
.nav-icon{width:18px;height:18px;vertical-align:-4px;margin-right:10px}
.histogram{border-bottom:1px solid #415572;background:repeating-linear-gradient(to top,transparent 0,transparent 31px,#30405866 31px,#30405866 32px)}
.histogram-bin i:hover{filter:brightness(1.3)}
.history-track i{animation:chart-grow-x .5s ease-out both;transform-origin:left}
@keyframes chart-grow-x{from{transform:scaleX(.02)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.history-track i{animation:none}}

/* Editable radial tree: pastel topic branches and thin curved connections. */
.map-shell{border:1px solid #36445e;border-radius:16px;background:#111722;overflow:hidden;margin:20px 0;color:#e3eaf5}
.map-controls,.map-filter,.map-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #29354b}
.map-controls{justify-content:space-between}.map-title{font-weight:700}.map-title small{font-size:11px;color:var(--muted);margin-left:12px}
.map-live-dot{width:7px;height:7px;display:inline-block;background:#9bdda9;border-radius:50%;margin-right:7px}
.map-actions{display:flex;gap:7px;flex-wrap:wrap}.map-shell button{color:inherit}
.map-controls button,.map-filter button,.map-bottom button,.map-zoom button,.inspector-branch{border:1px solid #42506b;border-radius:7px;background:#202a3c;padding:6px 10px;font-size:11px}
.map-filter input,.map-filter select{background:#101927;border:1px solid #37445b;border-radius:6px;color:#dbe5f5;padding:7px 10px;font-size:12px}
.map-filter input{flex:1;min-width:180px}.map-filter select{max-width:150px}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr)}.map-shell.has-inspector .map-workspace{grid-template-columns:minmax(0,1fr) 290px}
.map-viewport{position:relative;height:680px;overflow:hidden;touch-action:none;cursor:grab;background-color:#111722;background-image:radial-gradient(#3c4b6444 1px,transparent 1px);background-size:24px 24px;user-select:none}
.map-viewport.is-grabbing{cursor:grabbing}.map-layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.map-edges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.map-nodes{position:absolute;left:0;top:0}
.map-node{position:absolute;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--node-color) 55%,#273040);background:#202735;box-shadow:0 5px 15px #0003;cursor:grab;text-align:left;overflow:hidden;padding:10px 14px;color:#dfe7f4;touch-action:none}
.map-node:hover,.map-node.is-selected{border-color:var(--node-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--node-color) 16%,transparent)}
.map-node.is-dragging{cursor:grabbing}.map-node.is-dimmed{opacity:.28}.map-root{border-radius:28px;text-align:center;background:#252e40;border-width:2px}
.map-root strong{display:block;font-size:28px;letter-spacing:1px;margin:10px 0}.map-root small{font-size:10px;color:#b0bfd4}.root-eyebrow{color:var(--node-color);font-size:10px;letter-spacing:1px}
.map-branch{border-radius:48px;padding:14px 20px 14px 51px}.branch-letter{position:absolute;left:19px;top:20px;font-size:19px;color:var(--node-color)}
.map-branch strong{font-size:13px;font-weight:650;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.map-branch small{display:block;font-size:10px;color:var(--node-color);margin-top:7px}.map-branch small span{float:right}
.map-rule{border-radius:13px;padding:8px 12px}.rule-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:5px;color:var(--node-color)}
.rule-head em{font-style:normal;font-size:10px}.rule-preview{font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.map-zoom{position:absolute;right:14px;bottom:18px;display:flex;align-items:center;gap:8px;background:#152033e8;border:1px solid #3d4f6b;border-radius:8px;padding:5px;font-size:11px}
.map-zoom output{min-width:38px;text-align:center}.map-mini{position:absolute;bottom:14px;left:14px;width:166px;height:105px;border:1px solid #3f4f68;background:#0c111de8;border-radius:8px;cursor:crosshair}
.map-gesture{position:absolute;bottom:17px;left:195px;right:165px;text-align:center;font-size:10px;color:#a9b8cf;pointer-events:none}
.map-bottom{border-top:1px solid #29354b;border-bottom:0;justify-content:space-between;font-size:10px;color:#a5b4cd}
.map-inspector{position:relative;background:#192132;border-left:1px solid #35445f;padding:24px 18px;overflow:auto;max-height:680px}.map-inspector[hidden]{display:none}
.map-inspector h3{font-size:15px;line-height:1.45;margin-top:15px}.map-inspector p{font-size:13px;line-height:1.7;margin-top:18px}.inspector-path{font-size:10px;color:#91a4c3;margin-top:20px}
.inspector-close{position:absolute;top:6px;right:10px;border:0;background:transparent;font-size:24px}.inspector-branch{margin-top:14px}.map-empty{position:absolute;top:45%;width:100%;text-align:center;color:#a9b8cf;font-size:13px}
.map-maximized{position:fixed;inset:0;z-index:9999;margin:0;border-radius:0}.map-shell:fullscreen .map-viewport,.map-maximized .map-viewport{height:calc(100dvh - 180px)}
.text-registry{margin:18px 0}.text-registry>.toolbar{margin-top:20px}
@media(max-width:850px){.map-viewport{height:540px}.map-shell.has-inspector .map-workspace{grid-template-columns:minmax(0,1fr)}.map-inspector{max-height:360px;border-left:0;border-top:1px solid #35445f}.map-gesture{display:none}.map-mini{width:120px;height:80px}.map-title small{display:block;margin:4px 0}.map-controls,.map-filter,.map-bottom{padding:12px}}

/* Restrained two-accent dashboard, larger reading text and technical charts. */
:root{--cyan:#42e8dc;--pink:#b18aff}body{font-size:16px;line-height:1.6}.sub{font-size:17px}.caption{font-size:14px}.table td,.table th{font-size:14px}.barrow{font-size:14px}.panel{border-radius:6px}h3{font-size:20px}.rail nav a{font-size:14px;padding:9px 7px}.rail nav{gap:5px}.section-label,.eyebrow{font-size:12px}.bot-word{background-image:linear-gradient(100deg,#42e8dc,#b18aff)}
.table td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.duel-select{border:0;background:transparent;color:var(--cyan);padding:0;text-align:left;font-size:13px}.selected-duel td{background:#17333744}.weapon-detail{margin:17px 0}.weapon-detail>strong{font-size:13px;letter-spacing:1px}.weapon-detail .comparison-bar{min-height:28px}.weapon-detail .comparison-bar span{font-size:12px}.comparison-bar{border-radius:2px}.comparison-bar i{background:#42e8dc55}.comparison-bar.damage i{background:#b18aff55}
.donut-layout{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.donut{flex:none;width:150px;height:150px;border-radius:50%;position:relative;background:conic-gradient(#42e8dc 0 var(--share),#b18aff var(--share) 100%);box-shadow:0 0 20px #42e8dc14}.donut:after{content:'';position:absolute;inset:22px;border-radius:50%;background:#121827}.donut>span{position:absolute;inset:0;display:grid;place-items:center;z-index:1;font-size:22px;font-weight:700}.donut-legend{display:grid;gap:12px;font-size:13px}.donut-legend i{display:inline-block;width:8px;height:8px;background:#42e8dc;margin-right:9px}.donut-legend span:last-child i{background:#b18aff}.duel-trend{width:100%;height:auto;max-height:240px}.duel-trend polyline{stroke-dasharray:1;animation:trace-draw .8s ease-out}.history-track,.histogram{background-color:#131e2d}.histogram-bin i{background:linear-gradient(#42e8dc,#336b74)}
@keyframes trace-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.duel-trend polyline{animation:none}}
/* Рост столбцов по входу в экран; hover, клавиатура и касание. */
.chart-fill{transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .18s}
.histogram-bin .chart-fill{transform:scaleY(0);transform-origin:bottom}
.chart-fill.chart-visible{transform:scale(1)}
[data-chart-tip]{position:relative;outline-offset:3px}
[data-chart-tip]:hover i,[data-chart-tip]:focus-visible i,[data-chart-tip].chart-touch i{filter:brightness(1.25) hue-rotate(35deg);box-shadow:0 0 12px #b879ff66}
[data-chart-tip]:focus-visible{outline:1px solid #b879ff}
[data-chart-tip]::after{content:attr(data-chart-tip);position:absolute;bottom:100%;left:0;z-index:10;display:none;max-width:320px;width:max-content;padding:7px 10px;background:#14162b;border:1px solid #a276da;border-radius:6px;color:#edf2ff;font-size:12px;white-space:normal;pointer-events:none}
[data-chart-tip]:hover::after,[data-chart-tip]:focus-visible::after,[data-chart-tip].chart-touch::after{display:block}
.weapon-icon{display:inline-block;width:112px;height:28px;vertical-align:middle;background-image:url('assets/quake-weapons-classic-v2.png');background-size:200% 400%;background-repeat:no-repeat;margin-right:9px}
/* Полные названия; отдельные оружейные цвета сохраняют различие двух игроков. */
[data-weapon-index="0"]{color:#c5d1df}[data-weapon-index="1"]{color:#ffe25c}[data-weapon-index="2"]{color:#ffad52}[data-weapon-index="3"]{color:#75d870}[data-weapon-index="4"]{color:#ff6868}[data-weapon-index="5"]{color:#68cfff}[data-weapon-index="6"]{color:#83f175}[data-weapon-index="7"]{color:#bc88ff}
@media(min-width:851px){main{padding-top:20px}}
/* Один неподвижный кадр Intel; секции прокручиваются поверх без стыков. */
body::before{background-image:linear-gradient(90deg,#070c16de,#090e18a8 55%,#080d17cd),var(--map-backdrop,url('assets/bloodrun-intel-red-cinematic.png'));background-size:cover;background-position:center;background-repeat:no-repeat}
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 85%,#87cde80b,transparent 48%),radial-gradient(ellipse at 83% 30%,#a897ed09,transparent 44%);animation:ambient-steam 22s ease-in-out infinite alternate}
@keyframes ambient-steam{from{transform:translate3d(-1%,1%,0);opacity:.35}to{transform:translate3d(1%,-1%,0);opacity:.8}}
.connect-topline{flex-wrap:wrap;gap:8px}.server-online-label{font-size:11px;letter-spacing:.3px;color:#bdcbd8}
.connect-topline .led{width:8px;height:8px;margin-right:0;flex:none}
.connect-topline .led.server-online{background:#a6ffbd;animation:server-breathe 4s ease-in-out infinite}
.connect-topline .led.server-offline{background:#9ba8b5;box-shadow:none;animation:none}
@keyframes server-breathe{0%,100%{opacity:.55;box-shadow:0 0 3px #a6ffbd55}50%{opacity:1;box-shadow:0 0 6px #a6ffbd99,0 0 14px #82ffc844}}
.github-project-link{display:inline-flex;align-items:center;gap:6px;color:#c9d5e4;font-size:12px;text-decoration:none;border:1px solid #53617866;border-radius:6px;padding:5px 9px}.github-project-link:hover{color:#fff;border-color:#ad8add}
[data-weapon-index]{color:var(--weapon-color)!important}
.weapon-detail[data-weapon-index] .comparison-bar i,.cohort-comparison[data-weapon-index] .comparison-bar i,.histogram-panel[data-weapon-index] .histogram-bin i{background:var(--weapon-color);opacity:.75}
.weapon-detail[data-weapon-index] .comparison-bar.damage i,.cohort-comparison[data-weapon-index] .comparison-bar.damage i{background:repeating-linear-gradient(135deg,var(--weapon-color) 0 5px,color-mix(in srgb,var(--weapon-color),#10162c 35%) 5px 10px);opacity:.6}
@media(prefers-reduced-motion:reduce){body::after,.connect-topline .led.server-online{animation:none}}
.table tbody tr:hover{background:#a978ff16}.table tbody tr:hover td{color:#e7daff}
@media(prefers-reduced-motion:reduce){.chart-fill,.histogram-bin .chart-fill{transform:none;transition:none}}
@media(max-height:850px) and (min-width:851px){.rail{padding-top:20px}.rail-label{margin:12px 0}.rail nav a{padding:6px 7px}.rail footer{font-size:10px}}

/* 0.8.6 visual pass: one compact vertical rhythm across hero and panels. */
main{padding-top:28px}
#overview>.eyebrow{display:block;margin:0 0 12px}
#overview .headline{align-items:flex-start;margin:0}
#overview .headline>div:first-child{align-self:flex-start}
#overview h1{margin:4px 0 14px}
#overview .sub{margin:0}
.section-label{display:block;margin:0 0 12px;line-height:1.25}
.section-top .section-label{margin-bottom:8px}
.panel>.section-label+.flow{margin-top:22px}
.flow{gap:10px}
.flow span{min-width:80%;padding:10px 20px}

/* A brighter but soft, real-status lamp. It animates only after server-status.js confirms UDP. */
.connect-topline .led{width:11px;height:11px;border:1px solid #d9ffe3}
.connect-topline .led.server-online{background:#9dffc0;animation:server-breathe 2.8s ease-in-out infinite}
@keyframes server-breathe{0%,100%{opacity:.72;box-shadow:0 0 5px #b7ffd080,0 0 14px #72ffac55}50%{opacity:1;box-shadow:0 0 10px #d6ffe1,0 0 25px #78ffadbb,0 0 42px #44e18a55}}

/* Thin articulated eyelids: shallow folds give the eye an eyelid rather than a solid shutter. */
.eye-shutter{inset:22% 16%;transform:rotate(-3deg)}
.eye-shutter i{height:52%;overflow:hidden;background:linear-gradient(160deg,#788992,#334956 48%,#172832);box-shadow:inset 0 1px 1px #d5edf055,inset 0 -1px 3px #07131baa}
.eye-shutter .upper-lid{border-radius:52% 48% 15% 18%;border-bottom:1px solid #88aab3}
.eye-shutter .lower-lid{border-radius:15% 18% 52% 48%;border-top:1px solid #88aab3;background:linear-gradient(160deg,#607985,#2a414d 50%,#172731)}
.eye-shutter i::after{left:7%;right:8%;top:14%;height:13%;opacity:.38;background:linear-gradient(90deg,transparent,#d9f2f255 42%,transparent);filter:blur(.45px)}
.eye-shutter i::before{content:'';position:absolute;left:10%;right:12%;height:20%;border-radius:50%;border-top:1px solid #b6d3d544;box-shadow:0 -4px 0 -3px #07141b99,0 -8px 0 -7px #a0c3c222}
.eye-shutter .upper-lid::before{bottom:8%}.eye-shutter .lower-lid::before{top:8%;transform:scaleY(-1)}
@media(max-width:850px){main{padding-top:22px}#overview>.eyebrow{margin-bottom:8px}.panel>.section-label+.flow{margin-top:16px}}

/* Current-screen cleanup: the long release audit is retained in project files, not shown above the dashboard. */
#releaseAudit{display:none!important}
/* Online is deliberately visible at first paint; a failed freshness check turns it neutral. */
.connect-topline .led{width:12px;height:12px;border:1px solid #e3ffea;background:#a8ffc6;animation:server-breathe 3.8s ease-in-out infinite}
.connect-topline .led.server-online{background:#a8ffc6;animation:server-breathe 3.8s ease-in-out infinite}
.connect-topline .led.server-offline{background:#72808b;border-color:#8b97a1;box-shadow:none;animation:none}
@keyframes server-breathe{0%,100%{opacity:.56;box-shadow:0 0 4px #b8ffd28c,0 0 12px #65ffad50}50%{opacity:1;box-shadow:0 0 10px #d8ffe4,0 0 25px #75ffafc4,0 0 42px #35d98162}}
.release .github-project-link{margin-top:14px;color:#cbe7f0;border-color:#4acfd080;background:#0d273144}.release .github-project-link:hover{color:#fff;background:#153640;border-color:#75fff0}

/* Shared telemetry heat: cyan begins the fill; violet grows toward the filled edge. */
.bar i,.comparison-bar i{background:linear-gradient(90deg,#42e8dc 0%,#58ddea 38%,#7ebde9 58%,#a58feb 78%,#c98aff 100%)!important;opacity:.9}
.histogram-bin i{background:linear-gradient(to top,#42e8dc 0%,#67d4ed 42%,#9d90f0 72%,#c98aff 100%)!important}
.bar i,.comparison-bar i,.histogram-bin i{box-shadow:inset 0 1px #d5fbff55,0 0 10px #8e94ff33}

/* Quake weapon colors override the general telemetry gradient. */
.weapon-detail[data-weapon-index] .comparison-bar i,.cohort-comparison[data-weapon-index] .comparison-bar i,.histogram-panel[data-weapon-index] .histogram-bin i{background:var(--weapon-color)!important;opacity:.75;box-shadow:none}
.weapon-detail[data-weapon-index] .comparison-bar.damage i,.cohort-comparison[data-weapon-index] .comparison-bar.damage i{background:repeating-linear-gradient(135deg,var(--weapon-color) 0 5px,color-mix(in srgb,var(--weapon-color),#10162c 35%) 5px 10px)!important;opacity:.6}
.cohort-comparison{grid-template-columns:minmax(0,1fr);gap:8px;margin:22px 0}
.cohort-comparison>strong,.weapon-detail>strong,.histogram-panel h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;overflow-wrap:normal;word-break:normal;letter-spacing:0}
.cohort-comparison>div,.histogram-panel{min-width:0}
.histogram-panel h3{font-size:16px;line-height:1.4}
.histogram-panel h3 small{font-size:11px;color:var(--muted)}
.weapon-icon{flex:0 0 112px;margin-right:0}
