/* FLAG UI — "Engine Grid" design system (30/10). One stylesheet for every page; loaded after theme.css + app.css.
   Background #03050A with a soft #0E1828 glow and a faint dot grid · panels rgba(8,14,24,.55) / 1px rgba(91,168,255,.18) / r10
   Risk label colours = tentacle colours everywhere: clean #34C77B→#5FE3A1 · risk #F2A93B→#F5C542 · scam #F0565B→#FF8A7A · unchecked #8593A6→#B9C4D4 · revival #B48CFF
   Ledger colours: FLAG-ALL amber · MOMENTUM #5BA8FF · SURGE #34C77B · REVIVAL #B48CFF
   Text contrast: every text colour below is ≥ 4.5:1 on #03050A–#0E1828. #4D5A70 ("dim") is used for lines/decoration only, never for text. */
/* self-hosted fonts (SIL OFL) — /tai/fonts; theme.css declared them with var() names, which browsers ignore, so they never loaded */@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Manrope-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Manrope-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Manrope-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Manrope-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/JetBrainsMono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/JetBrainsMono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/JetBrainsMono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/JetBrainsMono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/JetBrainsMono-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/JetBrainsMono-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Unbounded-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/Unbounded-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Unbounded-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/Unbounded-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --g-bg:#03050A;--g-bg2:#0E1828;--g-dot:rgba(91,168,255,.08);
  --g-panel:rgba(8,14,24,.55);--g-edge:rgba(91,168,255,.18);--g-edge-hi:rgba(91,168,255,.34);--g-r:10px;
  --amber:#F5A524;--ember:#E07B12;--cream:#FFF1D0;--ink:#E8ECF2;--muted:#8593A6;--g-dim:#4D5A70;--g-dim-t:#7D8BA1;
  --l-clean:#34C77B;--l-clean2:#5FE3A1;--l-risk:#F2A93B;--l-risk2:#F5C542;--l-scam:#F0565B;--l-scam2:#FF8A7A;--l-unk:#8593A6;--l-unk2:#B9C4D4;--l-rev:#B48CFF;--l-rev2:#D2B8FF;
  --ld-all:#F5A524;--ld-mom:#5BA8FF;--ld-surge:#34C77B;--ld-rev:#B48CFF;
  --c-buy:#157A40;--c-loss:#D93A44;
  /* existing site tokens re-pointed to the grid palette */
  --ground:#03050A;--log-bg:#03050A;--line:rgba(91,168,255,.18);--dim:#7D8BA1;--good:#34C77B;--risk:#F0565B;--caution:#F2A93B;--info:#5BA8FF;--violet:#B48CFF;
  --surface-2:var(--g-panel);--surface:#080E18;--surface-2a:#0A1220;--surface-2b:#070C15;--sky-a:#0E1828;--sky-b:#03050A;
}
html{background:var(--g-bg)}
body{background:var(--g-bg) !important;color:var(--ink)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;will-change:transform;
  background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(14,24,40,.95),rgba(3,5,10,0) 72%),radial-gradient(circle,var(--g-dot) 1px,transparent 1.4px) 0 0/22px 22px,var(--g-bg)}
h1,h2,.f-disp{font-family:var(--f-display);font-weight:700;letter-spacing:.01em}
.dau h1,#tieu{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.02em}
.f-mono,.num,code,.tk{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.dim,.xs.dim,.t-dim{color:var(--g-dim-t)}

/* ---------- Panel (card) ---------- */
.fu-panel,.the,.card,section.the,details.the,.kc-o,.gt-o,.so3-o,.fl-o,.o-so,.tra-s,.tb-o,.lenh-o,.dash .card{
  background:var(--g-panel) !important;border:1px solid var(--g-edge) !important;border-radius:var(--g-r) !important;box-shadow:none}
.fu-panel{padding:12px 14px}
.fu-panel>h3,.fu-ph{margin:0 0 8px;font:600 12px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center;justify-content:space-between}
.the .dau-the h2,.the>h2,.the summary,.fu-panel h2{font-family:var(--f-display);font-size:15px;letter-spacing:.02em}
.kc-o.chinh,.so3-o.chinh{border-color:var(--g-edge-hi) !important}
/* glow 1.5s when a panel gets new data (class set by FUI.glow) */
.fu-glow{animation:fu-glow 1.5s ease-out}
@keyframes fu-glow{0%{box-shadow:0 0 0 1px var(--gc,var(--amber)),0 0 18px var(--gc,var(--amber))}100%{box-shadow:0 0 0 0 transparent}}

/* ---------- Badge (risk label) · same colours as the tentacles ---------- */
.fu-badge,.badge{display:inline-flex;align-items:center;gap:5px;font:700 12px/1 var(--f-mono);letter-spacing:.03em;border-radius:6px;padding:4px 8px;border:1px solid currentColor;background:rgba(3,5,10,.6);white-space:nowrap}
.fu-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.fu-badge.clean,.badge.good{color:var(--l-clean2)}
.fu-badge.risk,.badge.caution{color:var(--l-risk2)}
.fu-badge.scam,.badge.risk{color:var(--l-scam2)}
.fu-badge.unk,.badge.unchecked{color:var(--l-unk2)}
.fu-badge.revival{color:var(--l-rev2)}
.fu-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;vertical-align:middle;background:var(--l-unk);box-shadow:0 0 8px var(--l-unk)}
.fu-dot.clean{background:var(--l-clean);box-shadow:0 0 8px var(--l-clean)}.fu-dot.risk{background:var(--l-risk);box-shadow:0 0 8px var(--l-risk)}
.fu-dot.scam{background:var(--l-scam);box-shadow:0 0 8px var(--l-scam)}.fu-dot.revival{background:var(--l-rev);box-shadow:0 0 8px var(--l-rev)}

/* ---------- Chips: BUY / SELL / FLAG / BLOCK ---------- */
.fu-chip{display:inline-flex;align-items:center;justify-content:center;min-width:46px;font:700 12px/1 var(--f-mono);letter-spacing:.04em;border-radius:5px;padding:4px 7px;white-space:nowrap}
.fu-chip.buy,.fu-chip.win{background:var(--c-buy);color:#fff}
.fu-chip.loss{background:var(--c-loss);color:#fff}
.fu-chip.flag{background:var(--amber);color:#10141B}
.fu-chip.block{background:var(--c-loss);color:#fff}
.fu-chip.scan{background:#8593A6;color:#05070C}.fu-chip.check{background:#7FA3C7;color:#05070C}.fu-chip.wolf{background:var(--ld-mom);color:#05070C}
.fu-chip.wake{background:var(--l-rev);color:#05070C}.fu-chip.dip{background:#3FD6E8;color:#05070C}.fu-chip.paper{background:var(--c-buy);color:#fff}
.fu-chip.ghost{background:transparent;border:1px solid var(--g-edge-hi);color:var(--muted)}
.fu-live{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--f-mono);color:var(--l-clean2);border:1px solid rgba(52,199,123,.45);border-radius:999px;padding:4px 10px;background:rgba(8,23,15,.6)}
.fu-live i{width:7px;height:7px;border-radius:50%;background:var(--l-clean);box-shadow:0 0 10px var(--l-clean)}
.fu-live.off{color:var(--muted);border-color:var(--g-edge)}.fu-live.off i{background:var(--muted);box-shadow:none}
.fu-live.demo{color:var(--l-risk2);border-color:rgba(242,169,59,.5)}.fu-live.demo i{background:var(--l-risk)}

/* ---------- Ledger name colours ---------- */
.ld-all{color:var(--ld-all)}.ld-mom{color:var(--ld-mom)}.ld-surge{color:var(--ld-surge)}.ld-rev{color:var(--ld-rev)}
.up,.len{color:var(--l-clean2)}.down,.xuong{color:var(--l-scam2)}

/* ---------- Log (standard): time (dim) · badge · $TICKER bold · reason (muted), 14px, new row highlighted 2s ---------- */
.fu-log{background:var(--g-bg);border:1px solid var(--g-edge);border-radius:var(--g-r);padding:6px 4px;font:400 14px/1.7 var(--f-mono);overflow:hidden}
.fu-log .ln{display:flex;gap:10px;align-items:center;padding:1px 8px;border-radius:6px;white-space:nowrap;overflow:hidden;min-width:0}
.fu-log .ln.new{animation:fu-hl 2s ease-out}
.fu-log .t{color:var(--g-dim-t);flex:none}.fu-log .tk{font-weight:700;color:var(--ink);flex:none}.fu-log .rs{color:var(--muted);overflow:hidden;text-overflow:ellipsis;min-width:0}
.fu-log .fu-chip{flex:none}
.fu-log .empty{color:var(--muted);padding:4px 8px}
@keyframes fu-hl{0%{background:rgba(245,165,36,.19)}100%{background:transparent}}
.term .ln.new,.term .row.new{animation:fu-hl 2s ease-out}

/* ---------- Header stats strip (FUI.Header) ---------- */
.fu-stats{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.fu-st{display:flex;flex-direction:column;min-width:0}
.fu-st span{font:600 10px/1.2 var(--f-mono);letter-spacing:.09em;color:var(--muted);text-transform:uppercase;white-space:nowrap}
.fu-st b{font:700 16px/1.25 var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.fu-head{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;background:linear-gradient(180deg,rgba(14,21,33,.85),rgba(9,14,22,.85));border:1px solid var(--g-edge);border-radius:12px;padding:10px 16px}
.fu-head .fu-brand{display:flex;gap:10px;align-items:center;margin-right:auto;color:inherit;text-decoration:none}
.fu-head .fu-brand b{font-family:var(--f-display);font-size:20px}.fu-head .fu-brand small{display:block;font-size:11px;color:var(--muted)}
.dau .fu-stats{margin-left:auto}
.dau .fu-st b{font-size:14px}

/* ---------- Neon table ---------- */
.fu-tbl,.the table,.bang-cuon table,.cuon table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.the th,.fu-tbl th{font:600 12px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--g-edge-hi) !important;padding:8px 10px;background:rgba(3,5,10,.4)}
.the td,.fu-tbl td{border-bottom:1px solid rgba(91,168,255,.08) !important;padding:7px 10px}
.the tbody tr:hover td,.fu-tbl tbody tr:hover td{background:rgba(91,168,255,.05)}
.fu-tbl td.r,.fu-tbl th.r{text-align:right}
.fu-tbl .tk{font-weight:700}
.fu-row-dot{display:inline-flex;align-items:center;gap:8px}

/* ---------- Canvas wrappers ---------- */
.fu-stage{position:relative;border:1px solid var(--g-edge);border-radius:14px;overflow:hidden;background:var(--g-bg);min-width:0}
.fu-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fu-stage.engine{aspect-ratio:16/9;min-height:420px}
.fu-stage.bundle{height:170px}
.fu-stage.orbit{height:340px}
.fu-stage.graph{height:420px}
.fu-cap{position:absolute;left:12px;bottom:8px;font:500 12px/1.3 var(--f-mono);color:var(--muted);pointer-events:none;max-width:calc(100% - 24px)}
.fu-cap b{color:var(--ink)}
.fu-empty[hidden]{display:none}
.fu-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font:500 13px/1.5 var(--f-mono);color:var(--muted);pointer-events:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- MiniGrid cards ---------- */
.fu-grids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fu-gcard{position:relative;padding:10px 12px 12px}
.fu-gcard .fu-gt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.fu-gcard .fu-gt b{font-family:var(--f-display);font-size:14px;letter-spacing:.03em}
.fu-gcard .fu-gs{font:500 12px/1.5 var(--f-mono);color:var(--muted);margin-top:2px}
.fu-gcard .fu-gs .w{color:var(--l-clean2)}.fu-gcard .fu-gs .l{color:var(--l-scam2)}
.fu-gcard canvas{width:100%;height:230px;display:block;margin-top:6px}
.fu-flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.fu-fcard{padding:10px 12px;cursor:pointer;min-width:0}
.fu-fcard:hover{border-color:var(--g-edge-hi) !important}
.fu-fcard .top{display:flex;gap:8px;align-items:center;justify-content:space-between;min-width:0}
.fu-fcard .top .tk{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-fcard canvas{width:100%;height:150px;display:block;margin:6px 0 4px}
.fu-fcard .meta{display:flex;flex-wrap:wrap;gap:4px 12px;font:500 12px/1.5 var(--f-mono);color:var(--muted)}
.fu-fcard .meta b{color:var(--ink);font-weight:600}

/* ---------- Pipeline diagram (Method) ---------- */
.fu-pipe{width:100%;height:auto;display:block}
.fu-pipe text{font-family:var(--f-mono)}

/* ---------- Sidebar / header polish ---------- */
.side{background:linear-gradient(180deg,rgba(8,13,22,.92),rgba(3,5,10,.92)) !important;border-right:1px solid var(--g-edge) !important}
.menu a.on{background:rgba(245,165,36,.12) !important;color:var(--amber) !important;box-shadow:inset 2px 0 0 var(--amber)}
.dau{background:rgba(3,5,10,.92) !important;border-bottom:1px solid var(--g-edge) !important}
.tag{border-radius:5px}
.canh-bao{background:rgba(245,165,36,.07) !important;border:1px solid rgba(245,165,36,.35) !important;border-radius:var(--g-r) !important;color:var(--cream) !important}

/* ---------- Responsive ---------- */
@media (max-width:1179px){.fu-grids{grid-template-columns:repeat(2,minmax(0,1fr))}.fu-stage.engine{aspect-ratio:4/3}}
@media (max-width:760px){.fu-grids{grid-template-columns:minmax(0,1fr)}.fu-stage.engine{aspect-ratio:3/4;min-height:0}.fu-log{font-size:13px}.fu-stage.graph{height:360px}.fu-stage.orbit{height:300px}
 .dau .fu-stats{display:none}.fu-head .fu-stats{gap:6px 14px}.fu-st b{font-size:14px}}
@media (prefers-reduced-motion:reduce){.fu-glow,.fu-log .ln.new,.term .ln.new{animation:none}}

/* ---------- Home: Engine Grid fills the centre field; the old map overlays are off ---------- */
.fu-home #eg{position:absolute;inset:0;border:0;border-radius:inherit;aspect-ratio:auto!important;min-height:0;height:auto}
.fu-home>#sb,.fu-home>.ov-now,.fu-home>.ov-uni,.fu-home>#more,.fu-home>#note,.fu-home>#tip,.fu-home .fld-bg,.fu-home>.legend{display:none!important}
.dash .field.fu-home{background:var(--g-bg);border-color:var(--g-edge)}
.dash-top .fu-stats{gap:6px 16px}
body[data-trang="home"] #fu-hdr{display:none}
#fu-hdr{margin-left:auto;min-width:0}
@media (max-width:1439px){#fu-hdr .fu-st:nth-child(n+6){display:none}}
@media (max-width:1279px){#fu-hdr .fu-st:nth-child(n+5){display:none}}
.fu-hlog{border:0;background:transparent;padding:2px 0;height:100%;min-height:150px}
.dash-top .fu-stats{flex-wrap:nowrap;overflow:hidden}
@media (max-width:1599px){.dash-top .fu-stats .fu-st:nth-child(n+7){display:none}}
@media (max-width:1439px){.dash-top .fu-stats .fu-st:nth-child(n+6){display:none}.dash-top .fu-stats{gap:6px 12px}}
@media (max-width:1279px){.dash-top .fu-stats .fu-st:nth-child(n+5){display:none}}
@media (max-width:899px){.dash-top .fu-stats{flex-wrap:wrap;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dash-top .fu-stats .fu-st:nth-child(n+5){display:flex}.dash-top .fu-stats .fu-st:nth-child(n+7){display:none}}
/* Scanner / Radar table view */
.board.fu-tview{display:block!important;grid-template-columns:none!important}
.fu-ctbl tr.bam{cursor:pointer}
.fu-ctbl .fu-nm{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle;color:var(--muted)}
.fu-view{margin-left:8px}
@media (max-width:760px){.fu-ctbl .fu-nm{display:none}.fu-ctbl th:nth-child(2),.fu-ctbl td:nth-child(2),.fu-ctbl th:nth-child(5),.fu-ctbl td:nth-child(5),.fu-ctbl th:nth-child(7),.fu-ctbl td:nth-child(7){display:none}.fu-ctbl td,.fu-ctbl th{padding:7px 6px}}
.fu-pg-key{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.fu-pg-key span{display:inline-flex;gap:6px;align-items:center}
/* Method pipeline diagram + long-form pages (Method, Project, Burns, Changelog, Status) */
.fu-pipe-s{overflow-x:auto}.fu-pipe-s .fu-pipe{min-width:760px}
.prose,.da-hero{background:var(--g-panel);border:1px solid var(--g-edge);border-radius:var(--g-r);padding:16px 20px}
.prose h2,.prose h3{font-family:var(--f-display);letter-spacing:.02em}
.prose h2{font-size:17px;margin-top:22px}.prose h2:first-child{margin-top:0}.prose h3{font-size:14px}
.prose p,.prose li{color:#C9D2DE;line-height:1.65}
.prose a,.the a:not(.nut):not(.fu-chip){color:var(--amber)}
.prose code{color:var(--cream)}
.fu-full{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:2;font:600 11px/1 var(--f-mono);color:var(--muted)!important;border:1px solid var(--g-edge);border-radius:999px;padding:5px 10px;background:rgba(3,5,10,.7);text-decoration:none}
.fu-full:hover{color:var(--amber)!important;border-color:var(--amber)}
/* fixes 30/10: stat items never shrink into each other; full-screen button clear of the bundle labels on phones */
.fu-st{flex:none}
@media (max-width:1439px){.dash-top .fu-stats .fu-st:nth-child(n+5){display:none}}
@media (max-width:1279px){.dash-top .fu-stats .fu-st:nth-child(n+4){display:none}}
@media (max-width:899px){.dash-top .fu-stats .fu-st:nth-child(n+4){display:flex}.dash-top .fu-stats .fu-st:nth-child(n+7){display:none}}
@media (max-width:760px){.fu-full{left:auto;right:8px;top:auto;bottom:8px;transform:none;padding:4px 8px}}
@media (max-width:760px){.fu-full{top:6px;bottom:auto;right:6px;font-size:0;padding:5px 8px}.fu-full::after{content:"⤢";font-size:14px}}

/* ---------- Key news cards (home tab): 2-line summary + Read more; metric chips small, equal, wrapping ---------- */
.qt-cau .qt-tom{margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qt-them[open]~*{display:initial}
.qt-them[open]{margin-top:2px}.qt-cau:has(.qt-them[open]) .qt-tom{display:none}
.qt-so-ds{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.qt-so-hang{display:flex;flex-wrap:wrap;gap:4px;margin:0}
.qt-o{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:22px;min-width:68px;max-width:100%;padding:0 7px;font:500 12px/1 var(--f-mono)!important;border-radius:5px!important;background:rgba(3,5,10,.5)!important;border:1px solid var(--g-edge)!important;overflow:hidden;text-overflow:ellipsis}
.qt-so-tieu{font:600 12px/22px var(--f-mono)!important;letter-spacing:.05em;text-transform:uppercase}
.qt-tin{min-width:0;overflow:hidden}

/* ================= 30/10 (b) — every page in the home style: shared sizes, panel titles, chips, tables ================= */
:root{--fu-gap:16px;--fu-pad:12px;--fu-h-btn:34px;--fu-h-tab:34px;--fu-h-chip:28px;--fu-fs-tab:14px;--fu-fs-chip:12.5px;--fu-fs-title:12.5px}
/* header: LIVE chip like home (the old text indicator stays for screen readers) */
.dau .song-o{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#fu-live{display:inline-flex}
/* panel titles = home card titles: uppercase, letter-spaced, chip on the right */
.the .dau-the{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.the .dau-the h2,.the>summary,details.the>summary,.gl-thu>summary{font:700 var(--fu-fs-title)/1.3 var(--f-body)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.the .dau-the h2 .h2-ic{display:none}
.the .dau-the .fu-pchip{margin-left:auto;order:99;font:600 12px/1 var(--f-mono);letter-spacing:.06em;border:1px solid currentColor;border-radius:999px;padding:4px 9px;background:transparent}
.the .dau-the>.xs[style*="margin-left:auto"]{margin-left:auto}
.the .dau-the>.xs[style*="margin-left:auto"]~.fu-pchip{margin-left:0}
/* one size for buttons, tabs and filter chips on every page */
.nut,.btn,.btn-primary{min-height:var(--fu-h-btn);box-sizing:border-box}
.chip,.loc .chip,.lt,.fc,.tl-nut,.khung-nut button,.dt-nut{height:var(--fu-h-chip);font-size:var(--fu-fs-chip)!important;box-sizing:border-box;display:inline-flex;align-items:center}
.dt-nut,.lt{height:var(--fu-h-tab);font-size:var(--fu-fs-tab)!important}
.the>.loc,.loc{gap:6px}
/* tables read like the live log: mono, bold tickers, dim times */
.the td{font-family:var(--f-mono);font-size:13px}
.the td b,.the td .tk{font-weight:700;color:var(--ink)}
.the td.l:first-child .num,.the td .t-dim{color:var(--g-dim-t)}
/* ledger colours on the main-ledger cards */
.kc-t.ld-all{color:var(--ld-all)}.kc-t.ld-mom{color:var(--ld-mom)}.kc-t.ld-surge{color:var(--ld-surge)}.kc-t.ld-rev{color:var(--ld-rev)}
/* Engine page inside the site frame */
.fu-engp{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;height:calc(100vh - var(--ban) - 120px);min-height:520px}
.fu-engp>#eg2{aspect-ratio:auto;min-height:0;height:100%}
.fu-engp-log{height:100%;box-sizing:border-box;overflow:hidden}
.fu-engp-log .ln{flex-wrap:wrap;white-space:normal}.fu-engp-log .rs{flex-basis:100%;font-size:12.5px;line-height:1.35;margin-bottom:4px;padding-left:2px}
.fu-engp-note{margin-top:8px}
@media (max-width:1179px){.fu-engp{grid-template-columns:minmax(0,1fr);height:auto}.fu-engp>#eg2{aspect-ratio:4/3;height:auto}.fu-engp-log{height:auto}.fu-engp-log .ln{flex-wrap:nowrap;white-space:nowrap}.fu-engp-log .rs{flex-basis:auto;font-size:inherit;margin:0}}
@media (max-width:760px){.fu-engp>#eg2{aspect-ratio:3/4}}
#fu-hdr.fu-stats{flex-wrap:nowrap}
body:not([data-trang="engine"]) #fu-hdr .fu-st:nth-child(7){display:none}
/* FLAG hero block: same panel / title language as the home cards */
.flag-hero3{background:var(--g-panel)!important;border:1px solid var(--g-edge)!important;border-radius:var(--g-r)!important}
.flag-hero3 .fh-tieu.nho,.flag-hero3 .ft-dau>b{font:700 var(--fu-fs-title)/1.3 var(--f-body)!important;letter-spacing:.08em;text-transform:uppercase}
.flag-hero3 .fh3-tin,.flag-hero3 .fh3-ct,.flag-hero3 [id="hc-tk"]{background:rgba(3,5,10,.45)!important;border:1px solid var(--g-edge)!important;border-radius:var(--g-r)!important}
#fu-hdr.fu-stats{flex:1 1 auto;min-width:0;overflow:hidden;justify-content:flex-end;margin-right:12px}
.dau .hang{gap:12px}.dau .tieu-khoi{min-width:0;flex:0 1 auto}.dau .dau-phai{flex:none}
@media (max-width:1599px){#fu-hdr .fu-st:nth-child(n+6){display:none}}
@media (max-width:1439px){#fu-hdr .fu-st:nth-child(n+5){display:none}}
@media (max-width:1199px){#fu-hdr .fu-st:nth-child(n+4){display:none}}
#fu-hdr.fu-stats{flex:none;overflow:visible;justify-content:flex-start}
.dau .tieu-khoi{flex:1 1 auto;min-width:0}.dau .tieu-khoi .phu{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ================= 30/10 (c) — Key news | Bot log: equal compact cards, metrics behind Read more, columns fill the tab ================= */
.qt-tin{box-sizing:border-box;display:flex;flex-direction:column;padding:8px 11px!important;margin:0 0 8px!important}
.qt-dau{flex-wrap:nowrap!important;height:24px;min-width:0;overflow:hidden}
.qt-dau>*{flex:none}.qt-dau .qt-kh{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qt-tin>.qt-tom{margin:6px 0 0!important;font-size:13px;line-height:20px;height:40px;color:var(--ink);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qt-full{display:none}
.qt-tin.mo>.qt-full{display:block;margin-top:6px}
.qt-tin.mo.co-them>.qt-tom{display:none}
.qt-tin.mo.co-them>.qt-full{margin-top:6px}
.qt-full p{margin:0 0 4px;font-size:13px;line-height:20px;color:var(--ink2)}.qt-full p:first-child{color:var(--ink);font-weight:500}
.qt-full .qt-so-ds{margin-top:6px}
.qt-tin>.qt-chan{display:flex;align-items:center;gap:10px;height:22px;margin-top:4px!important;min-width:0}
.qt-more{all:unset;cursor:pointer;font:700 12px/22px var(--f-body);color:var(--m)}.qt-more:hover{text-decoration:underline}.qt-more:focus-visible{outline:2px solid var(--m);outline-offset:2px;border-radius:3px}
.qt-more::after{content:" ▾"}.qt-tin.mo .qt-more::after{content:" ▴"}
.qt-chan .qt-ca{margin-left:auto}
.dash .dt-news{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.dash .dt-news .dt-col{min-height:0;display:flex;flex-direction:column}
.dash .dt-news .dt-ds{flex:1 1 0;min-height:0;overflow-y:auto;box-sizing:border-box;padding:0 4px 16px 0;overscroll-behavior:contain}
@media (min-width:1180px){.dash .dash-c .dt-o.dt-news{flex:1 1 0!important;height:auto!important;min-height:0!important}}
/* short screens: the tab has too little room left, so keep two full cards visible and let the page scroll */
@media (min-width:1180px) and (max-height:899px){.dash .dash-c .dt-o.dt-news{min-height:280px!important}}
@media (max-width:1179px){.dash .dt-news{grid-template-columns:minmax(0,1fr)}.dash .dash-c .dt-o.dt-news,.dash .dt-o.dt-news{height:auto!important;overflow:visible}.dash .dt-news .dt-ds{flex:none;height:340px}}

/* ================= 30/10 (d) — Engine map panels: live numbers strip, LEDGERS · LIVE, LAST DECISIONS ================= */
.eg-hud{--egf:12.5px;font:500 var(--egf)/1.45 var(--f-mono);color:var(--ink2,#B9C4D4)}
.eg-p{background:#05070CCC;border:1px solid rgba(91,168,255,.22);border-radius:8px;padding:6px 10px 8px;box-sizing:border-box;min-width:0}
.eg-p header{display:flex;align-items:center;gap:8px;min-height:20px}
.eg-p header b{font:700 11.5px/1 var(--f-mono);letter-spacing:.08em;color:var(--muted)}
.eg-x{all:unset;margin-left:auto;cursor:pointer;width:20px;height:20px;border-radius:5px;text-align:center;font:700 13px/20px var(--f-mono);color:var(--muted);border:1px solid rgba(91,168,255,.22)}
.eg-x:hover{color:var(--ink)}.eg-x:focus-visible{outline:2px solid var(--amber);outline-offset:1px}
.eg-p.min .eg-b{display:none}.eg-p.min{padding-bottom:6px;width:auto!important}
.eg-strip{display:flex;align-items:center;gap:8px}.eg-strip header{order:2;min-height:0}.eg-strip .eg-b{flex:1;min-width:0}
.eg-strip.min::before{content:"LIVE NUMBERS";font:700 11.5px/20px var(--f-mono);letter-spacing:.08em;color:var(--muted)}
.eg-cells{display:flex;flex-wrap:wrap;gap:4px 18px}
.eg-c{display:flex;flex-direction:column;min-width:0;position:relative}
.eg-c span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.eg-c b{font-size:13px;color:var(--ink);white-space:nowrap}.eg-c b small{font-size:11px;color:var(--muted);font-weight:500}
.eg-c.up b{color:#5FE3A1}.eg-c.dn b{color:#FF8A7A}
.eg-sp{width:54px;height:16px;vertical-align:-3px;margin-left:4px}
.eg-sp polyline{fill:none;stroke:var(--cyan,#3FD6E8);stroke-width:1.4;vector-effect:non-scaling-stroke}
.eg-led table{border-collapse:collapse;margin-top:4px;font-size:12.5px}
.eg-led th{font:600 10px/1.2 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);text-align:right;padding:2px 0 3px 9px;white-space:nowrap}
.eg-led td{text-align:right;padding:2px 0 2px 9px;white-space:nowrap}
.eg-led th:first-child,.eg-led td:first-child{text-align:left;padding-left:0}
.eg-led tfoot td{border-top:1px solid rgba(91,168,255,.18);color:var(--ink)}
.eg-led tfoot tr+tr td{border-top:0;text-align:left;white-space:normal;color:var(--muted);font-size:11px;padding-top:3px}.eg-eq b{color:var(--ink);font-size:12.5px}
.eg-led .up{color:#5FE3A1}.eg-led .dn{color:#FF8A7A}
.eg-early{font-style:normal;font-size:9.5px;letter-spacing:.04em;color:var(--caution,#F2A93B);border:1px solid currentColor;border-radius:4px;padding:0 3px;margin-left:5px;vertical-align:1px}
.eg-dec{width:380px;max-width:380px}.eg-led{max-width:420px}.eg-led .eg-b{overflow-x:auto}.eg-d{line-height:1.35}
.eg-d{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);gap:0 6px;align-items:start;padding:3px 0;border-top:1px solid rgba(91,168,255,.08)}
.eg-d:first-child{border-top:0}
.eg-d .t{color:var(--muted)}.eg-d .tk{color:var(--ink);font-weight:700}
.eg-d .rs{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--ink2,#B9C4D4)}
.eg-d .fu-chip,.eg-d [class*="chip"]{font-size:10px!important;padding:1px 5px!important;line-height:1.3}
/* on the map (≥ 1180 px and a wide map): strip on top, Ledgers top-left, Last decisions top-right */
.eg-hud.wide{position:absolute;inset:0;pointer-events:none;z-index:2;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-content:start;gap:6px;padding:8px}
.eg-hud.wide .eg-p{pointer-events:auto}
.eg-hud.wide .eg-strip{grid-column:1/-1}
.eg-hud.wide .eg-led{grid-column:1;align-self:start}
.eg-hud.wide .eg-dec{grid-column:3;align-self:start}
.field.fu-home:has(.eg-hud.wide) .fu-full{top:auto;bottom:8px}
/* under the map (< 1180 px or a narrow map): rows, never over the scene */
.eg-hud.below{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px;flex:none;grid-column:1/-1;min-width:0}
.eg-hud.below .eg-strip{grid-column:1/-1}
.eg-hud.below .eg-dec{width:auto;max-width:none}
.eg-hud.below .eg-led{overflow-x:auto}
@media (max-width:760px){.eg-hud.below{grid-template-columns:minmax(0,1fr)}.eg-cells{gap:4px 14px}}
.fu-stage.engine canvas{touch-action:none}

/* ================= 30/10 (e) — home tab box: fixed height, every tab scrolls inside it; the page itself never scrolls on desktop =================
   centre column = map (shrinks first) + panels + Inner voice + tab box; the tab box keeps at least 6 log rows */
@media (min-width:900px){
 .dash .dash-c{overflow:hidden}
 .dash .dash-c>.field{flex:1 1 0!important;min-height:180px!important;height:auto!important}
 .dash .dash-c>.d-voice,.dash .dash-c>.eg-hud{flex:none!important}
 .dash .dash-c>.dash-tab{flex:0 0 auto!important;height:max(240px,25vh)!important;min-height:0!important;overflow:hidden;display:flex;flex-direction:column}
 .dash .dash-c>.dash-tab>.dt-nuts{flex:none}
 .dash .dash-c>.dash-tab>.dt-o:not([hidden]){flex:1 1 0!important;height:auto!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden}
 .dash .dash-c #fu-term,.dash .dash-c .dt-o>.dt-ds,.dash .dash-c .dt-news .dt-ds{flex:1 1 0!important;height:auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:10px!important;box-sizing:border-box;overscroll-behavior:contain}
 .dash .dash-c .dt-news .dt-col{min-height:0;overflow:hidden}
}
/* Engine page log: scrolls inside its column, last row never cut */
.fu-engp-log{overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:10px!important;overscroll-behavior:contain}
@media (min-width:900px) and (max-height:760px){.dash .dash-c>.field{min-height:150px!important}}
/* under the map (home): compact strip; collapsed panels are one low row of buttons */
.dash .eg-hud.below{gap:6px}.dash .eg-hud.below .eg-p.min{padding:3px 8px}.dash .eg-hud.below .eg-p.min header{min-height:18px}
@media (min-width:900px){.dash .eg-hud.below{margin-top:0}.dash .eg-hud.below .eg-cells{gap:2px 14px}.dash .eg-hud.below .eg-c span{font-size:9.5px}.dash .eg-hud.below .eg-c b{font-size:12.5px}.dash .eg-hud.below .eg-p{padding:4px 8px}}

/* 30/10 (f) — Ledgers + Last decisions as small text on a transparent background (owner: not taking screen space); always shown */
.eg-hud .eg-led,.eg-hud .eg-dec{background:transparent;border:0;padding:0 2px;--egf:10.5px;font-size:10.5px;text-shadow:0 1px 2px #03050A,0 0 6px #03050A}
.eg-hud .eg-led header b,.eg-hud .eg-dec header b{font-size:9.5px;letter-spacing:.1em}
.eg-hud .eg-led header,.eg-hud .eg-dec header{min-height:14px}
.eg-hud .eg-led table{font-size:10.5px;margin-top:2px}.eg-hud .eg-led th{font-size:8.5px;padding:1px 0 2px 7px}.eg-hud .eg-led td{padding:0 0 0 7px;line-height:1.4}
.eg-hud .eg-led th:first-child,.eg-hud .eg-led td:first-child{padding-left:0}
.eg-hud .eg-led tfoot td{border-top-color:rgba(91,168,255,.12)}.eg-hud .eg-led tfoot tr+tr td{font-size:9.5px;padding-top:1px}.eg-hud .eg-eq b{font-size:10.5px}
.eg-hud .eg-early{font-size:8px;padding:0 2px;margin-left:3px}
.eg-hud .eg-dec{width:290px;max-width:290px}
.eg-hud .eg-d{padding:1px 0;border-top:0;line-height:1.3;gap:0 5px}
.eg-hud .eg-d .fu-chip{font-size:8.5px!important;padding:0 4px!important}
.eg-hud.below .eg-dec{width:auto;max-width:none}
/* ---- Graduation (31/10): about to graduate / just graduated — avatar, label, curve bar, flag + result after the flag ---- */
.gd-av{position:relative;flex:none;display:inline-grid;place-items:center;border-radius:12px;overflow:hidden;background:hsl(var(--gh,210) 45% 26%);color:hsl(var(--gh,210) 80% 82%);font-family:var(--f-display);font-weight:700;line-height:1}
.gd-av>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--surface-2)}
.gd-av.gd-mo>img{filter:blur(9px) saturate(.6);transform:scale(1.15);transition:filter .2s,transform .2s}
.gd-row:hover .gd-av.gd-mo>img,.gd-card:hover .gd-av.gd-mo>img,.gd-av.gd-mo:hover>img{filter:none;transform:none}
.gd-sym{color:var(--muted);font-family:var(--f-mono);font-size:var(--fs-xs)}
.gd-lb{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;border:1px solid var(--line)}
.gd-lb b{font-family:var(--f-mono)}.gd-xanh{color:var(--good)}.gd-cam{color:var(--caution)}.gd-do{color:var(--risk)}.gd-chua{color:var(--muted)}
.gd-bcw{display:flex;align-items:center;gap:6px;min-width:0}.gd-bc{flex:1;min-width:40px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.gd-bc>i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--good));border-radius:3px}
.gd-co{font-size:var(--fs-xs);line-height:1.45}.gd-cot{font-weight:700;padding:0 6px;border-radius:4px}.gd-co-ok .gd-cot{background:rgba(245,165,36,.16);color:var(--amber-text,var(--amber))}.gd-co-xau .gd-cot{background:rgba(240,86,91,.16);color:var(--risk)}
.gd-kq{color:var(--muted);margin-top:2px}
/* home tab: two compact columns */
.dash .dash-c>.dash-tab>.dt-o.dt-grad:not([hidden]),.dash .dt-o.dt-grad{flex-direction:row;gap:12px;position:relative}.dt-grad .gd-all{position:absolute;right:2px;top:0}
.gd-row{display:flex;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;min-width:0}.gd-row:hover{background:var(--surface-2)}
.gd-rm{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gd-rt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gd-rr{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:48%}
.gd-rr .gd-co{text-align:right;white-space:nowrap}
/* page */
.gd-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;margin-bottom:16px}
.gd-st{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:6px}.gd-st>div{display:flex;flex-direction:column}.gd-st b{font-size:var(--fs-xl)}.gd-st span{color:var(--muted);font-size:var(--fs-xs)}
.gd-tb{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.gd-tb th,.gd-tb td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:right}.gd-tb th:first-child,.gd-tb td:first-child{text-align:left}.gd-tb th{color:var(--muted);font-weight:600;font-size:var(--fs-xs)}
.gd-cot2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.gd-luoi{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 220px);overflow:auto}
.gd-card{display:flex;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;text-decoration:none;background:var(--surface)}.gd-card:hover{border-color:var(--amber)}
.gd-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.gd-t{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.gd-t>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.gd-why{margin:0;padding-left:16px;font-size:var(--fs-xs);color:var(--ink-muted,var(--muted));line-height:1.45}
.gd-not{margin-top:14px;max-width:110ch}
@media (max-width:1180px){.gd-top,.gd-cot2{grid-template-columns:1fr}.gd-luoi{max-height:none}}
@media (max-width:700px){.dash .dash-c>.dash-tab>.dt-o.dt-grad:not([hidden]),.dash .dt-o.dt-grad{flex-direction:column}.gd-rr{max-width:55%}.gd-card .gd-av{width:52px!important;height:52px!important}}
.gd-o .ruot{overflow-x:auto}
@media (max-width:700px){.gd-tb{font-size:var(--fs-xs)}.gd-tb th,.gd-tb td{padding:4px 3px}.gd-tb .xs{display:block}}
/* ---- 31/10 v2: home = 3 screens (1: header + 3D + side columns, unchanged size · 2: Graduation 75vh full width · 3: log / news / voices / journey) ---- */
.gd-teaser{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:12px;overflow:hidden}
.gt-rb{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;max-height:calc(100% - 52px);overflow:hidden}
.gt-o{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--amber) calc(var(--p)*1%),var(--surface-2) 0);text-decoration:none}
.gt-o .gd-av{border-radius:50%;border:2px solid var(--surface)}
.gd-nut{font:600 var(--fs-md) var(--f-body);color:var(--on-amber,#1a1204);background:var(--amber);border:0;border-radius:var(--radius-pill);padding:10px 22px;cursor:pointer;box-shadow:0 6px 24px rgba(245,165,36,.25);animation:gdNhip 2.4s ease-in-out infinite}
.gd-nut b{font-family:var(--f-mono)}.gd-nut:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@keyframes gdNhip{50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.gd-nut{animation:none}}
.gd-man{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);scroll-margin-top:72px}
#gd-man{height:75vh;min-height:520px}
.gd-pg{height:calc(100vh - 140px);min-height:560px}
.gd-hd{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.gd-hd h2{margin:0;font:700 var(--fs-2xl) var(--f-display);letter-spacing:.02em}
.gd-meta{flex:1;min-width:200px;color:var(--muted)}.gd-meta b{color:var(--ink);font-family:var(--f-mono)}
.gd-loc,.gd-sx{display:inline-flex;gap:4px;flex-wrap:wrap}
.gd-loc button,.gd-sx button,.gd-chet{font:600 var(--fs-xs) var(--f-body);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 11px;cursor:pointer}
.gd-loc button.on,.gd-sx button.on{color:var(--ink);border-color:var(--amber);background:rgba(245,165,36,.12)}.gd-chet{margin-left:auto}
.gd-2c{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.gd-c{min-height:0;display:flex;flex-direction:column;gap:4px}.gd-ch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gd-ch h3{margin:0;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase}
.gd-tbl{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.gd-tr{display:grid;grid-template-columns:32px minmax(90px,1.4fr) minmax(90px,1.3fr) 44px 58px 58px 52px 44px minmax(84px,auto) minmax(96px,1fr);align-items:center;gap:8px;min-height:44px;padding:4px 6px;border-bottom:1px solid var(--line);font-size:var(--fs-xs);cursor:pointer;color:inherit}
.gd-tr .num{text-align:right;font-family:var(--f-mono)}
.gd-th{min-height:26px;cursor:default;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:12px;border-bottom-color:var(--line)}
.gd-th>span:nth-child(n+4):nth-child(-n+8){text-align:right}
.gd-tr[data-m]:hover,.gd-tr.hi{background:rgba(245,165,36,.09)}.gd-tr.hi{box-shadow:inset 3px 0 0 var(--amber)}.gd-tr.mo{background:var(--surface-2)}
.gd-tr.chet{opacity:.55}.gd-tr:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
.gd-nm{display:flex;flex-direction:column;min-width:0}.gd-nm b,.gd-nm i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-nm b{font-size:var(--fs-sm)}.gd-nm i{font-style:normal;color:var(--muted);font-family:var(--f-mono)}
.gd-cv{min-width:0}.gd-cv .gd-bcw .xs{display:none}
.gd-fl .gd-co{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gd-mo-r{padding:8px 10px 12px 46px;border-bottom:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs)}
.gd-ca{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gd-ca code{font-family:var(--f-mono);word-break:break-all;color:var(--ink)}
.gd-ca button,.gd-ca a{font:600 var(--fs-xs) var(--f-body);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px 8px;cursor:pointer;text-decoration:none}
.man3{margin-top:16px;height:max(320px,42vh);display:flex;flex-direction:column}
.man3 .term,.man3 .dt-o[data-dt="log"] .term{flex:1 1 0;min-height:0;height:auto!important}
@media (max-width:1179px){.gd-2c{grid-template-columns:1fr;overflow:auto}#gd-man,.gd-pg{height:auto;min-height:0}.gd-tbl{max-height:70vh}.gd-tr{grid-template-columns:32px minmax(90px,1.4fr) minmax(80px,1fr) 40px 56px 56px 48px 40px minmax(80px,auto) minmax(90px,1fr)}}
@media (max-width:760px){.gd-th{display:none}.gd-tr{grid-template-columns:32px minmax(0,1fr) auto;grid-auto-rows:auto;row-gap:2px}
 .gd-tr>:nth-child(3){grid-column:2/4}.gd-tr>:nth-child(n+4):nth-child(-n+8){display:none}.gd-tr>:nth-child(9){grid-column:3;grid-row:1}.gd-tr>:nth-child(10){grid-column:2/4}
 .gd-mo-r{padding-left:10px}.man3{height:auto}.gd-teaser{min-height:120px}}
.gd-fl{display:flex;flex-direction:column;gap:1px;min-width:0}.gd-f1{white-space:nowrap;font-size:var(--fs-xs)}.gd-f1 .gd-cot{padding:0 4px}
.gt-t{color:var(--muted);letter-spacing:.04em}
.gd-c{min-width:0;overflow-x:auto}
@media (min-width:1180px) and (max-width:1599px){.gd-tr{grid-template-columns:32px minmax(80px,1.2fr) minmax(70px,1fr) 40px 54px 54px minmax(80px,auto) minmax(88px,1fr)}.gd-tr>:nth-child(7),.gd-tr>:nth-child(8){display:none}}
@media (min-width:1180px) and (max-width:1399px){.gd-2c{grid-template-columns:1fr;overflow:auto}#gd-man{height:auto;min-height:0}.gd-tbl{max-height:60vh}.gd-tr>:nth-child(7),.gd-tr>:nth-child(8){display:block}.gd-tr{grid-template-columns:32px minmax(90px,1.4fr) minmax(90px,1.3fr) 44px 58px 58px 52px 44px minmax(84px,auto) minmax(96px,1fr)}}
/* ---- 31/10 shared coin avatars ---- */
.fav{position:relative;flex:none;display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;background:hsl(var(--gh,210) 45% 26%);color:hsl(var(--gh,210) 80% 82%);font-family:var(--f-display);font-weight:700;line-height:1;vertical-align:middle}
.fav>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.anh.fav{background:hsl(var(--gh,210) 45% 26%);color:hsl(var(--gh,210) 80% 82%)}
.fav.fav-mo>img{filter:blur(8px) saturate(.6);transform:scale(1.15);transition:filter .2s,transform .2s}.fav.fav-mo:hover>img,*:hover>.fav.fav-mo>img{filter:none;transform:none}
.gd-av.fav{border-radius:12px}.gt-o .fav{border-radius:50%}
.ln-av{margin-right:5px;vertical-align:-4px}
#b-board .tq .anh{width:40px;height:40px;font-size:var(--fs-md)}
.fu-stage.graph{position:relative}
.fu-pg-tip{position:absolute;z-index:5;width:260px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(8,14,24,.97);box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:var(--fs-sm)}
.fu-pg-tip .pt-h{display:flex;gap:10px;align-items:center}.fu-pg-tip .pt-av{border-radius:12px}.fu-pg-tip .pt-h b{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-pg-tip .pt-g{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:8px 0;font-size:var(--fs-xs)}.fu-pg-tip .pt-g span{color:var(--muted)}.fu-pg-tip .pt-g b{text-align:right}
.fu-pg-tip .pt-a{font-size:var(--fs-xs);color:var(--amber)}
.tbl-av{margin:0 6px 0 2px;vertical-align:middle}
/* avatar ring by risk label — same everywhere */
.fav.av-clean{box-shadow:0 0 0 2px var(--good)}.fav.av-risk{box-shadow:0 0 0 2px var(--caution)}.fav.av-scam{box-shadow:0 0 0 2px var(--risk)}.fav.av-unk{box-shadow:0 0 0 2px #5A6676}
/* 31/10 B: avatar strip + Graduation button sit right under the map (compact); the map takes the freed height; Full screen = top-right of the frame */
.dash .dash-c>.dash-tab.gd-teaser{flex:none!important;height:auto!important;min-height:0!important;padding:8px 12px!important;gap:8px!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center}
.gd-teaser .gt-t{flex-basis:100%;text-align:center}.gd-teaser .gt-rb{max-height:42px;overflow:hidden}.gd-teaser .gd-nut{padding:8px 18px}
.field.fu-home .fu-full,.field.fu-home:has(.eg-hud.wide) .fu-full{top:8px!important;bottom:auto!important;left:auto!important;right:8px!important;transform:none!important}
.gd-teaser .gt-rb{flex:0 1 auto;max-width:calc(100% - 380px);flex-wrap:nowrap;justify-content:flex-start}@media (max-width:899px){.gd-teaser .gt-rb{max-width:100%}}
.field.fu-home .eg-p[data-p="strip"]{margin-right:104px}
.eg-ttip{position:absolute;z-index:6;min-width:200px;max-width:280px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(8,14,24,.96);box-shadow:0 8px 24px rgba(0,0,0,.5);font-size:12px;pointer-events:none}
.eg-ttip .tt-h{display:flex;align-items:center;gap:8px;margin-bottom:4px}.eg-ttip .tt-p{margin-left:auto;font-family:var(--f-mono)}.eg-ttip .pos{color:var(--good)}.eg-ttip .neg{color:var(--risk)}.eg-ttip .tt-w{color:#F5C542}
/* 31/10 home fix: the map is the hero — Ledgers / Last decisions float as small translucent overlays (≤ 30% width each, top-left / top-right),
   compact mono type, no horizontal scroll: columns hide by the panel's real width (container queries), never cut mid-word; collapse state remembered */
.eg-hud.wide{grid-template-columns:minmax(0,30%) 1fr minmax(0,30%)!important}
.eg-hud.wide .eg-led,.eg-hud.wide .eg-dec{width:100%;max-width:100%;background:rgba(5,7,12,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:hidden;container-type:inline-size}
.eg-hud{--egf:12px}.eg-hud .eg-led table{width:100%;table-layout:auto;border-collapse:collapse}.eg-hud .eg-led td,.eg-hud .eg-led th{white-space:nowrap;padding:1px 4px;font-size:11px}
.eg-hud .eg-led td:first-child{font-size:12px}.eg-hud .eg-c b{font-size:13px}.eg-hud .eg-dec{font-size:11px}
@container (max-width:400px){.eg-led th:nth-child(4),.eg-led td:nth-child(4){display:none}}
@container (max-width:330px){.eg-led th:nth-child(2),.eg-led td:nth-child(2){display:none}}
@container (max-width:270px){.eg-led th:nth-child(6),.eg-led td:nth-child(6){display:none}}
.eg-hud .eg-led tfoot td[colspan]{white-space:normal}
/* right column ledger card: aligned columns */
.lr.lr4{grid-template-columns:minmax(42px,1fr) auto auto auto!important;gap:6px!important;align-items:baseline}.lr.lr4>span{white-space:nowrap!important}.lr.lr4>span:first-child{overflow:hidden;text-overflow:ellipsis}.lr.lr4.lr-h>span:first-child{font-size:0}.lr.lr4.lr-h>span:first-child::before{content:'Main';font-size:11px}
.eg-hud .eg-dec .eg-b>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
.eg-hud .eg-led td,.eg-hud .eg-led th{word-break:keep-all}
.eg-hud.wide .eg-p.min{width:auto!important;justify-self:start}.eg-hud.wide .eg-dec.min{justify-self:end}.eg-p header{display:flex;align-items:center;gap:6px}.eg-p header .eg-x{margin-left:auto}
.eg-hud .eg-led.min,.eg-hud .eg-dec.min{min-width:168px}.eg-hud .eg-p.min>header{display:flex!important;visibility:visible}.eg-hud .eg-p.min>header b{display:inline!important;white-space:nowrap}

.da-scout{display:flex;align-items:center;gap:12px;margin:10px 0 4px}.da-scout img{width:64px;height:64px;border-radius:50%;background:#05070C;box-shadow:0 0 0 2px var(--amber)}
.trong.trong-sc{display:flex;align-items:center;justify-content:center;gap:10px}.trong-sc img{width:40px;height:40px;border-radius:50%;opacity:.85;flex:none}
.st-scout img{width:48px;height:48px}
/* 31/10 bubble map */
.bub-tom{margin:2px 0 10px}.bub-w{position:relative}#bub-cv{display:block;width:100%;height:420px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(ellipse at 50% 45%,#0E1828,#05070C 75%);cursor:pointer}
.bub-tip{position:absolute;z-index:3;max-width:320px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(8,14,24,.97);font-size:12px;box-shadow:0 8px 24px rgba(0,0,0,.5)}.bub-tip ul{margin:4px 0;padding-left:16px}.bub-tip a{color:var(--amber)}
.bub-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--muted)}.bub-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
@media (max-width:700px){#bub-cv{height:320px}}
.gd-cum{display:inline-block;min-width:34px;text-align:center;font:600 12px/1.6 var(--f-mono);border-radius:999px;padding:0 6px;color:#05070C;background:color-mix(in srgb,#F0565B calc(var(--cv)*100%),#8A96A8);text-decoration:none}
.gd-cum.gd-lim{background:transparent;color:var(--muted,#8A96A8);border:1px dashed currentColor}
.gd-tr{grid-template-columns:32px minmax(90px,1.4fr) minmax(90px,1.3fr) 44px 58px 58px 52px 44px 48px minmax(84px,auto) minmax(96px,1fr)}
@media (min-width:1180px) and (max-width:1599px){.gd-tr{grid-template-columns:32px minmax(80px,1.2fr) minmax(70px,1fr) 40px 54px 54px 48px minmax(80px,auto) minmax(88px,1fr)}.gd-tr>:nth-child(7),.gd-tr>:nth-child(8){display:none}}
@media (min-width:1180px) and (max-width:1399px){.gd-tr{grid-template-columns:32px minmax(90px,1.4fr) minmax(90px,1.3fr) 44px 58px 58px 52px 44px 48px minmax(84px,auto) minmax(96px,1fr)}.gd-tr>:nth-child(7),.gd-tr>:nth-child(8){display:block}}
@media (max-width:760px){.gd-tr>:nth-child(9){display:none}.gd-tr>:nth-child(10){grid-column:3;grid-row:1}.gd-tr>:nth-child(11){grid-column:2/4}}

/* 01/11: FLAG Scout clips on the Engine core (4 stacked clips, 0.15 s crossfade); under the panels and tooltips, never clickable */
.eg-scout{position:absolute;left:0;top:0;z-index:1;pointer-events:none;transform-origin:50% 100%;will-change:transform}
.eg-scout .eg-sc{position:absolute;inset:0;display:block;height:100%;width:auto;opacity:0;transition:opacity .15s linear}
.eg-scout .eg-sc.on{opacity:1}

/* 01/11 owner: home coin zone — Clean & moving (left) · Pumping, but flagged (right) · engine status strip under the map */
.dash .kc{display:flex;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.dash .kc h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.kc-ds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.kc-o{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:8px;row-gap:1px;align-items:center;padding:6px;border-radius:8px;color:inherit;text-decoration:none;border:1px solid transparent}
.kc-o:hover,.kc-o:focus-visible{border-color:var(--line);background:rgba(255,255,255,.03)}
.kc-o .anh{grid-row:1/3;width:32px;height:32px}
.kc-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}.kc-t b,.kc-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-f .kc-t{flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.kc-p{font-family:var(--f-mono);font-size:12.5px;white-space:nowrap;text-align:right}
.kc-s{grid-column:2/4;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.kc-s .gd-cum{font-size:11px}
.kc-tk{padding:6px 8px;border:1px solid var(--line);border-radius:8px;line-height:1.4}
.kc-chu{color:var(--muted);font-style:italic}
.kc-hold{color:var(--caution,#F5A524)}
.kc-h4{margin:6px 0 0;font:600 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kc-roi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.kc-roi a{color:inherit;font-weight:600}
.kc-led{display:block;padding:6px 8px;border:1px dashed var(--line);border-radius:8px;color:inherit;text-decoration:none}.kc-led:hover{border-color:var(--amber,#F5A524)}
.kc-tab{display:none;gap:6px}.kc-tab button{flex:1;font:600 12px var(--f-mono);color:inherit;background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 8px;cursor:pointer}
.kc-tab button[aria-selected="true"]{border-color:var(--amber,#F5A524);color:var(--amber,#F5A524)}
.kc-pb{display:none}
.kc-may{font-size:11px;color:var(--muted);font-family:var(--f-mono);padding:2px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}
/* mobile: one card with tabs, "Clean & moving" first */
@media (max-width:899px){
 .kc-tab{display:flex}.kc-pb{display:flex;flex-direction:column;gap:6px}.kc-pa{display:flex;flex-direction:column;gap:6px}.kc-off{display:none!important}
 .dash .kc-r{display:none!important}.dash .kc{overflow:visible;grid-column:1/-1}.dash .kc-may{grid-column:1/-1}
 .kc-may{white-space:normal}}
.kc-ds>li{display:flex;flex-direction:column;gap:2px}
.kc-x{display:flex;gap:4px;flex-wrap:wrap;padding:0 6px 4px 46px}
.kc-xb{font:600 11px var(--f-mono);color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:1px 7px;white-space:nowrap}
.kc-xb:hover,.kc-xb:focus-visible{color:var(--ink,#E8ECF2);border-color:var(--amber,#F5A524)}

/* 01/11 owner: Research progress card */
.hoc2{display:flex;flex-direction:column;gap:3px;padding:4px 0}
.hoc2-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.hoc2-r{display:grid;grid-template-columns:minmax(40px,1fr) auto auto;gap:8px;align-items:center}
.hoc2 .hoc-b{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}.hoc2 .hoc-b i{display:block;height:100%;background:var(--amber,#F5A524)}
.hoc2 .hoc-n,.hoc2 .hoc-v{font-size:11.5px;white-space:nowrap}
.hoc-st{font:600 10.5px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px}
.hoc-st.st-active{color:var(--good,#34C77B);border-color:rgba(52,199,123,.4)}
.hoc-ret{opacity:.5}
.hoc-chu{margin:4px 0 2px}
.kc-h3b{margin-top:10px}.kc-warn{color:var(--caution,#F5A524);font-style:normal}
.eg-ret td{font-size:11px;color:var(--muted)}.eg-ret a{color:inherit}

/* 01/11 owner — UI v3: map + one compact right column; 4 coin zones under the dashboard */
@media (min-width:900px){.dash{grid-template-columns:minmax(0,1fr) 300px!important}.dash .dash-c{grid-column:1}.dash .dash-r{grid-column:2;overflow-y:auto}}
@media (min-width:1600px){.dash{grid-template-columns:minmax(0,1fr) 320px!important}}
.kz{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.kz-tabs{display:flex;gap:6px;flex-wrap:wrap}.kz-tabs button{font:600 12.5px var(--f-mono);color:inherit;background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}
.kz-tabs button[aria-selected="true"]{border-color:var(--amber,#F5A524);color:var(--amber,#F5A524)}
.kz-g{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.kz-o{display:none;min-width:0}.kz-o.on{display:block}
@media (min-width:1600px){.kz-tabs{display:none}.kz-g{grid-template-columns:repeat(2,minmax(0,1fr))}.kz-o{display:block}}
.kz-o h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px}
.kz-t1{display:flex;flex-direction:column}
.kz-r{display:grid;grid-template-columns:minmax(150px,2.1fr) repeat(7,minmax(40px,.62fr)) minmax(120px,1.7fr);gap:6px;align-items:center;padding:5px 4px;border-top:1px solid var(--line);font-size:12.5px;min-width:0}
.kz-r>span{min-width:0}.kz-r .num{text-align:right;font-family:var(--f-mono);white-space:nowrap}
.kz-hd{border-top:0;color:var(--muted);font:600 10.5px var(--f-mono);letter-spacing:.04em;text-transform:uppercase}.kz-hd>span:nth-child(n+2):nth-child(-n+8){text-align:right}
.kz-coin{display:flex;flex-direction:column;gap:3px;min-width:0}
.kz-a{display:flex;gap:7px;align-items:center;color:inherit;text-decoration:none;min-width:0}.kz-a .anh{width:28px;height:28px;flex:none}
.kz-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}.kz-t>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-nut{display:flex;gap:4px;flex-wrap:wrap;padding-left:35px}
.kz-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.kz-lb{align-self:flex-start;font:600 11px var(--f-mono);border-radius:999px;padding:1px 7px;border:1px solid}
.kz-c{color:var(--good,#34C77B);border-color:rgba(52,199,123,.45)}.kz-v{color:#F2C94C;border-color:rgba(242,201,76,.45)}.kz-h{color:var(--caution,#F5A524);border-color:rgba(245,165,36,.45)}
.kz-s{color:var(--risk,#F0565B);border-color:rgba(240,86,91,.45)}.kz-u{color:var(--muted);border-color:var(--line)}.kz-x{color:#5BA8FF;border-color:rgba(91,168,255,.45)}
.kz-ly{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-tk{margin-top:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.kz-chu{margin-top:4px;color:var(--muted);font-style:italic}.kz-warn{color:var(--caution,#F5A524);font-style:normal}
.kz-loc{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.kz-rong{padding:10px 4px}
/* narrow: each row becomes a small card (no horizontal scroll) */
@media (max-width:760px){.kz-hd{display:none}.kz-r{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:4px}
 .kz-r .kz-coin,.kz-r .kz-l{grid-column:1/-1}.kz-r .num,.kz-r [data-k="Cluster"]{text-align:left;font-size:11.5px}
 .kz-r [data-k]::before{content:attr(data-k) " ";color:var(--muted);font-size:10px;text-transform:uppercase}}

/* 01/11 owner: home coin map */
.cm-host canvas{cursor:grab;touch-action:pan-y}.cm-host canvas:active{cursor:grabbing}
.cm-tip{position:absolute;z-index:6;background:#0A0F18f2;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:12px/1.55 var(--f-mono);min-width:200px;max-width:280px;color:var(--ink,#E8ECF2)}
.cm-tip .t{font-weight:700;font-size:13px}.cm-tip .m{color:var(--muted)}.cm-trd{color:#F5A524;margin-top:2px}
.cm-lk{display:flex;gap:10px;margin-top:6px}.cm-lk a{color:inherit;border:1px solid var(--line);border-radius:999px;padding:1px 8px;text-decoration:none;font-size:11px}.cm-lk a:hover{border-color:var(--amber,#F5A524)}
.cm-leg{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;pointer-events:none;width:calc(100% - 24px)}
.cm-chip{font:11px var(--f-mono);border:1px solid var(--line);background:#0A0F18cc;border-radius:999px;padding:4px 9px;display:flex;gap:6px;align-items:center;white-space:nowrap}
.cm-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}.cm-dim{color:var(--muted)}
@media (max-width:700px){.cm-dim{display:none}}
/* 01/11 owner: coin map corner panels (see-through, only buttons / links take the pointer) */
.cm-p{position:absolute;z-index:3;max-width:min(300px,42%);background:rgba(5,7,12,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid rgba(28,39,56,.8);border-radius:9px;padding:6px 9px;font:11.5px/1.5 var(--f-mono);color:var(--ink2,#B9C4D4);pointer-events:none}
.cm-p header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cm-p a,.cm-p button{pointer-events:auto}.cm-p a{color:inherit}.cm-p .cm-j{border:1px solid var(--line);border-radius:999px;padding:0 6px;text-decoration:none;font-size:10.5px}
.cm-x{font:600 11px var(--f-mono);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:6px;width:18px;height:18px;line-height:14px;padding:0;cursor:pointer}
.cm-p.min .cm-b{display:none}.cm-d{color:var(--muted)}
.cm-tl{left:10px;top:10px}.cm-tr{right:10px;top:10px;text-align:left}.cm-bl{left:10px;bottom:10px}.cm-br{right:10px;bottom:10px}
.cm-host .eg-scout{z-index:1}
@media (max-width:700px){.cm-p{max-width:46%;font-size:11px}}
.kz-lgr{grid-template-columns:minmax(150px,2.1fr) repeat(6,minmax(44px,.62fr)) minmax(120px,1.7fr)}.kz-lgr.kz-hd>span:nth-child(n+2):nth-child(-n+7){text-align:right}
.kc-may{opacity:.6}
@media (max-width:760px){.kz-lgr{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kz-lgr.kz-hd>span:nth-child(8){text-align:left}
/* 01/11 owner: Events line (≤ 32 px), Full log drawer, stale labels, 2 independent zone stacks */
.ev-tk{display:flex;align-items:center;gap:10px;height:32px;min-height:32px;max-height:32px;flex:none;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,#0A0F18);overflow:hidden;font:12px var(--f-mono)}
.ev-h{font-weight:700;letter-spacing:.08em;color:var(--muted);font-size:11px;flex:none}
.ev-ds{flex:1;min-width:0;display:flex;gap:18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 92%,transparent)}.ev-ds::-webkit-scrollbar{display:none}
.ev-o{flex:none}.ev-o a{color:inherit;font-weight:600}.ev-t{color:var(--muted)}.ev-o i{font-style:normal;margin-right:4px}
.ev-c{color:#34C77B}.ev-s{color:#F0565B}.ev-h2{color:#F5A524}.ev-a{color:#F5A524}.ev-g{color:#B48CFF}
.ev-nut{flex:none;font:600 11px var(--f-mono);color:inherit;background:transparent;border:1px solid var(--line);border-radius:999px;padding:3px 10px;cursor:pointer}.ev-nut:hover{border-color:var(--amber,#F5A524)}
dialog.flog{width:min(1100px,94vw);max-height:86vh;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#05070C);color:inherit}
dialog.flog::backdrop{background:rgba(0,0,0,.6)}dialog.flog .man3{height:72vh!important;display:flex;flex-direction:column}
.flog-x{float:right;font:600 13px var(--f-mono);color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;width:28px;height:28px;cursor:pointer;margin-bottom:6px}
.kz-cu{opacity:.55}
.kz-col{display:flex;flex-direction:column;gap:10px;min-width:0}
@media (max-width:1599px){.kz-col{display:contents}}
.field.fu-home .fu-full{right:auto;left:50%;transform:translateX(-50%);top:10px}
dialog.flog .man3{width:100%;box-sizing:border-box}dialog.flog .dt-o:not([hidden]){display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:auto}
dialog.flog #fu-term,dialog.flog .dt-ds{flex:1 1 0;min-height:200px;overflow-y:auto;height:auto!important}
.cm-leg{display:none}
.field.fu-home>.fu-full{left:50%!important;right:auto!important;transform:translateX(-50%);top:10px!important;bottom:auto!important}
.ev-moi{animation:evmoi 2.4s ease-out 1}@keyframes evmoi{0%{background:rgba(245,165,36,.28)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.ev-moi{animation:none}}
.cm-p .cm-b{max-height:min(160px,20vh);overflow-y:auto;scrollbar-width:thin;pointer-events:auto}   /* 01/11: longer corner lists, scroll inside */

/* 01/11 owner "SẮP LẠI TRANG CHỦ": header strip, then token lookup + 3 columns (A new & rising · B avoid · C old waking), then the map */
.dash.dash-hd{display:block!important;height:auto!important;min-height:0!important;margin-bottom:10px}
@media (min-width:900px){.dash.dash-m{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;height:min(78vh,860px)!important;min-height:520px!important}}
.h3{margin:0 0 12px}
.h3-tra{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.h3-tra input{flex:1 1 320px;min-width:0;font:inherit;font-size:var(--fs-sm,14px);padding:9px 12px;border-radius:10px;border:1px solid var(--line,#2a3442);background:var(--bg2,#0f1620);color:inherit}
.h3-tra input:focus{outline:2px solid var(--accent,#F2A93B);outline-offset:1px}
.h3-tra button{font:inherit;font-weight:600;padding:9px 14px;border-radius:10px;border:1px solid var(--accent,#F2A93B);background:transparent;color:var(--accent,#F2A93B);cursor:pointer}
.h3-err{color:var(--xuong,#F0565B)}
.h3-tabs{display:none}
.h3-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.h3-c{display:flex;flex-direction:column;min-width:0;padding:10px 12px}
.h3-c h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:var(--fs-sm,13px);letter-spacing:.04em}
[data-h3o="a"] h3 span:first-child{color:#34C77B!important}[data-h3o="b"] h3 span:first-child{color:#F0565B!important}[data-h3o="c"] h3 span:first-child{color:#E8B04B!important}
.h3-c .h3-b{max-height:clamp(260px,46vh,520px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.h3-ds{list-style:none;margin:0;padding:0}
.h3-r{display:flex;flex-direction:column;gap:3px;padding:7px 0;border-top:1px solid var(--line,#1f2833)}
.h3-r:first-child{border-top:0}
.h3-o{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"i t p" "i s s" "i l l";column-gap:8px;row-gap:2px;color:inherit;text-decoration:none;align-items:center}
.h3-o>img,.h3-o>.anh,.h3-o>span:first-child:not(.h3-t){grid-area:i;align-self:start}
.h3-t{grid-area:t;display:flex;flex-direction:column;min-width:0}.h3-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h3-p{grid-area:p;display:flex;gap:8px;font-size:12px;white-space:nowrap}.h3-p i{font-style:normal;opacity:.6;margin-right:3px}
.h3-s{grid-area:s;opacity:.85}
.h3-l{grid-area:l;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;min-width:0}.h3-l .kz-ly{font-size:12px;opacity:.9}
.h3-k{margin-left:auto}
.h3-o:hover .h3-t b{text-decoration:underline}
.h3-r .kz-nut{padding-left:36px}
.h3-rong{padding:14px 0}
.h3-tk{margin-top:8px;opacity:.9}.h3-chu{margin-top:4px;opacity:.75}
.kc-may-d{margin:4px 0 0}.kc-may-d>summary{cursor:pointer;opacity:.7;list-style:none}.kc-may-d>summary::before{content:"▸ "}.kc-may-d[open]>summary::before{content:"▾ "}
.kz-led{display:block;margin:8px 2px 0}
.fu-engp-now{margin:12px 0}
@media (max-width:1279px){.h3-p{gap:6px;font-size:11px}}
@media (max-width:899px){
 .h3-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 8px}
 .h3-tabs button{flex:1 0 auto;font:inherit;font-size:12px;font-weight:600;padding:8px 10px;border-radius:999px;border:1px solid var(--line,#2a3442);background:transparent;color:inherit;white-space:nowrap}
 .h3-tabs button[aria-selected="true"]{border-color:var(--accent,#F2A93B);color:var(--accent,#F2A93B)}
 .h3-g{grid-template-columns:minmax(0,1fr)}
 .h3-c{display:none}.h3-c.on{display:flex}
 .h3-c .h3-b{max-height:none}
 .h3-o{grid-template-areas:"i t t" "i p p" "i s s" "i l l";grid-template-columns:28px minmax(0,1fr) auto}
}
.h3-o>.anh{grid-area:i;align-self:start;width:28px!important;height:28px!important;min-width:0;font-size:12px}.h3-o>.anh img{width:28px!important;height:28px!important;border-radius:50%;object-fit:cover}
/* 01/11 owner: CLEAN rows open Jupiter — show ↗ on hover so it is clear the link leaves FLAG */
a.ra-jup{cursor:alias}
a.ra-jup .kz-t b::after,a.ra-jup .h3-t b::after{content:" ↗";opacity:0;font-weight:400;transition:opacity .15s}
a.ra-jup:hover .kz-t b::after,a.ra-jup:hover .h3-t b::after,a.ra-jup:focus-visible .kz-t b::after,a.ra-jup:focus-visible .h3-t b::after{opacity:.9}
/* 01/11 evening: Likely scam -> red Jupiter link "· flagged"; info chips (name / price / promotion) are not part of the label */
a.ra-do .kz-t b::after,a.ra-do .h3-t b::after{color:#F0565B}
.kc-xb.ra-jdo,.cm-lk a.cm-jdo{border-color:#F0565B!important;color:#F0565B!important;background:rgba(240,86,91,.08)}
.chip-info{display:inline-block;font-size:11px;line-height:1.3;padding:1px 7px;border-radius:999px;border:1px dashed var(--line,#3a4554);opacity:.8;white-space:nowrap}
.h3-i{grid-column:2/4;display:flex;gap:4px;flex-wrap:wrap}
.ct-lm{font-weight:400;margin-left:6px}
.chip-canh{border-style:solid;border-color:rgba(232,176,75,.55);color:#E8B04B;opacity:.95}
.h3-dp{margin:6px 0 2px;padding-top:6px;border-top:1px dashed var(--line,#2a3442);font-style:italic}
/* 01/11 evening owner: tables under the map — 2 frames of equal fixed height, scroll inside (thin bar), sticky title / filters / column header, note pinned to the bottom */
.kz-o{--kz-nen:var(--bg,#070b12);--kz-nen:color-mix(in srgb,rgb(8,14,24) 55%,var(--bg,#070b12));flex-direction:column;height:min(560px,60vh);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain;padding-top:0!important;padding-bottom:0!important}
.kz-o.on{display:flex}
.kz-o>h3{position:sticky;top:0;z-index:4;background:var(--kz-nen);margin:0!important;padding:10px 0 6px;min-height:34px;box-sizing:border-box}
.kz-o>.kz-loc{position:sticky;top:34px;z-index:4;background:var(--kz-nen);padding:2px 0 6px;margin:0}
.kz-o .kz-hd{position:sticky;top:34px;z-index:3;background:var(--kz-nen)}
.kz-o[data-kzo="gd"] .kz-hd{top:72px}
.kz-o>.kz-t1,.kz-o>.kz-rong{flex:1 0 auto}
.kz-o>.kz-tk,.kz-o>.kz-chu{position:sticky;bottom:0;z-index:3;background:var(--kz-nen);margin:0;padding:6px 0}
.kz-o>.kz-tk+.kz-chu{bottom:0}
.kz-o>.kz-tk:has(+.kz-chu){position:static}
.kz-r .num{text-align:right;font-variant-numeric:tabular-nums}
@media (min-width:1600px){.kz-tabs{display:none}.kz-g{grid-template-columns:repeat(2,minmax(0,1fr))}.kz-o{display:flex}.kz-col{display:flex}}
@media (max-width:1599px){.kz-o:not(.on){display:none}}
@media (max-width:899px){.kz-o{height:70vh}}
@media (max-width:760px){.kz-o .kz-hd{display:none}}
/* 01/11 evening owner: 4 compact columns — ≥1400 in a row · 900–1399 2×2 · phones 4 tabs; fixed height, scroll inside, 2-line rows (~52 px) */
.h3-g{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1399px){.h3-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.h3-c{height:min(340px,40vh);min-height:240px;padding:0!important;overflow:hidden}
.h3-c>h3{flex:none;margin:0!important;padding:8px 10px 6px;border-bottom:1px solid var(--line,#1f2833)}
.h3-sub{font-style:normal;font-weight:400;font-size:10px;opacity:.65;letter-spacing:0;text-transform:none;margin-left:4px}
.h3-c .h3-b{flex:1 1 0;min-height:0;max-height:none!important;overflow-y:auto;padding:0 10px 6px}
.h4-r{position:relative;display:block;padding:5px 0;border-top:1px solid var(--line,#1f2833);min-height:42px}
.h3-ds .h4-r:first-child{border-top:0}
.h4-o{display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none;min-width:0}
.h4-1,.h4-2{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.h4-1>.anh{width:20px!important;height:20px!important;min-width:20px;font-size:10px;flex:none}.h4-1>.anh img{width:20px!important;height:20px!important}
.h4-tk{font-size:13px;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.h4-tu{font-size:11px;opacity:.6;flex:none}
.h4-p{margin-left:auto;font-size:13px;font-weight:700;flex:none}.h4-24{font-size:11px;opacity:.8;flex:none;min-width:44px;text-align:right}
.h4-2{font-size:11px;opacity:.85}.h4-2 .kz-lb{flex:none;font-size:10px;padding:0 5px}
.h4-ly{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto;opacity:.85}
.h4-n{flex:none;margin-left:auto;opacity:.65}
.h4-i{flex:none;cursor:help;opacity:.8}
.h4-nut{position:absolute;right:0;top:4px;display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .12s;background:var(--g-panel)}
.h4-r:hover .h4-nut,.h4-r:focus-within .h4-nut{opacity:1;pointer-events:auto}
.h4-nut .kc-xb{font-size:10px;padding:1px 6px}
.h3-dp{margin:4px 0 2px;padding:4px 6px;border-radius:6px;background:rgba(232,176,75,.08);color:#E8B04B;font-style:normal}
.h3-tk,.h3-chu{font-size:10.5px}
@media (hover:none),(max-width:899px){.h4-nut{position:static;opacity:1;pointer-events:auto;background:none;margin-top:2px}.h4-nut .kc-xb{font-size:9.5px;padding:0 5px}}
@media (max-width:899px){.h3-c{height:min(70vh,520px)}}
.kz-g{grid-template-columns:minmax(0,1fr)!important}.kz-tabs{display:none!important}.kz-o{display:flex!important}
/* 01/11 evening owner: home heatmap (design flag-heatmap.html) */
.hm{position:relative;margin:0 0 12px;padding:10px 12px!important}
.hm-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.hm-ctrl{display:flex;gap:6px;flex-wrap:wrap}
.hm-ctrl button{font:600 11.5px var(--f-mono,ui-monospace,monospace);color:inherit;background:transparent;border:1px solid var(--line,#1C2738);border-radius:999px;padding:5px 11px;cursor:pointer}
.hm-ctrl button[aria-pressed=true]{border-color:#F5A524;color:#F5A524}
.hm-map{position:relative;height:min(60vh,560px);min-height:360px}
.hm-grp{position:absolute;pointer-events:none}
.hm-grp h4{position:absolute;left:0;top:0;margin:0;font:700 12.5px var(--f-mono,ui-monospace,monospace);letter-spacing:.06em;display:flex;gap:8px;align-items:baseline}
.hm-grp h4 small{font-weight:500;opacity:.6;font-size:11px}.hm-0{position:absolute;left:0;top:26px;opacity:.6}
.hm-t{position:absolute;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;cursor:alias;
 transition:filter .15s,left .5s,top .5s,width .5s,height .5s;outline:1px solid rgba(0,0,0,.35);outline-offset:-1px}
.hm-rm .hm-t{transition:none}
.hm-t:hover{filter:brightness(1.25);z-index:2;box-shadow:0 0 0 2px rgba(255,255,255,.55),0 8px 24px rgba(0,0,0,.5)}
.hm-t:focus-visible{box-shadow:0 0 0 2px #fff}
.hm-t .t{font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.hm-t .p{font-family:var(--f-mono,ui-monospace,monospace);font-weight:700;color:#fff;margin-top:2px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.hm-t .av{position:relative;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#0A0F18;background:rgba(255,255,255,.85);flex:none;overflow:hidden}
.hm-t .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-tip{position:absolute;display:none;z-index:20;background:rgba(8,12,20,.97);border:1px solid var(--line,#1C2738);border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.6;min-width:230px;max-width:300px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.hm-tip b.n{font-size:14px}.hm-tip .m{opacity:.7}
.hm-lk{display:flex;gap:6px;margin-top:6px}.hm-lk a{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line,#2a3442);color:#56E1FF;text-decoration:none}
.hm-lk a.hm-do{color:#F0565B;border-color:#F0565B}
.hm-foot{margin-top:8px;opacity:.7}
@media (max-width:719px){.hm-map{height:min(90vh,760px)}}
/* 01/11 evening owner: home layout — header + lookup · tier 1 coin map · tier 2 heatmap | tabbed lists (50/50 ≥ 1200 px) · tier 3 Graduation */
.h3-tra{margin:0 0 10px}
@media (min-width:900px){.dash.dash-m{height:min(62vh,640px)!important;min-height:420px!important}}
.t2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px;align-items:stretch}
@media (max-width:1199px){.t2{grid-template-columns:minmax(0,1fr)}}
.t2>.hm,.t2>.t2-r{height:min(48vh,480px);min-height:380px;margin:0;display:flex;flex-direction:column;box-sizing:border-box}
.t2>.hm .hm-map{flex:1 1 0;height:auto!important;min-height:0}
.t2-r{padding:8px 10px!important;overflow:hidden}
.t2 .h3-tabs{display:flex!important;gap:6px;flex-wrap:wrap;margin:0 0 6px;flex:none}
.t2 .h3-tabs button{font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid var(--line,#2a3442);background:transparent;color:inherit;white-space:nowrap;cursor:pointer}
.t2 .h3-tabs button[aria-selected="true"]{border-color:var(--accent,#F2A93B);color:var(--accent,#F2A93B)}
.t2 .h3-n{opacity:.7;font-weight:500}
.t2 .h3-g{display:block!important;flex:1 1 0;min-height:0}
.t2 .h3-c{display:none!important;height:100%!important;min-height:0;border:0!important;background:none!important}
.t2 .h3-c.on{display:flex!important}
.t2 .h3-c>h3{padding:2px 2px 4px;border-bottom:1px solid var(--line,#1f2833)}
.t2 .h3-c>h3>span:first-child{font-size:11px;opacity:.85}
@media (max-width:719px){.t2>.hm{height:auto;min-height:0}.t2>.hm .hm-map{height:min(90vh,760px)!important;flex:none}.t2>.t2-r{height:min(75vh,560px)}}
/* 01/11 evening owner: real price moves labelled 1h / 24h; stale price dimmed; scroll / swipe never sticks */
.h4-k{font-size:9.5px;opacity:.55;flex:none;margin-left:2px}.h4-1 .h4-k:first-of-type{margin-left:auto}.h4-p{margin-left:0!important}
.h4-cu{opacity:.45;color:inherit!important}.h4-st{font-size:9.5px;color:#E8B04B;flex:none}
.hm-k{font-size:.55em;opacity:.75;font-weight:600}.hm-t.hm-cu{opacity:.55}
.cm-host canvas{touch-action:pan-y!important}
.cm-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(8,12,20,.88);border:1px solid var(--line,#2a3442);border-radius:10px;padding:8px 14px;font-size:13px;pointer-events:none;z-index:6}
.h3-c .h3-b,.kz-o,.gd-tbl,.t2 .h3-b{overscroll-behavior:auto!important}
@media (max-width:719px){.t2>.hm .hm-map{height:min(60vh,520px)!important}.t2>.t2-r{height:min(60vh,520px)!important}.kz-o{height:60vh!important}}
/* 01/11 evening owner: NEWS corner panel on the coin map */
.cm-nw{white-space:normal;line-height:1.35;margin:0 0 5px}.cm-nw a{color:inherit;text-decoration:none}.cm-nw a:hover{text-decoration:underline}
.cm-bl{max-width:min(420px,40%)}
/* 01/11 late owner: row 1 heatmap 55% | coin map 45% (equal height) · row 2 four lists 55% | News · Events · Removed · Surge 45% · stacked < 1200 px */
.r12.t2{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);grid-template-areas:"hm map" "tabs side";gap:10px;margin:0 0 10px;align-items:stretch}
.r12.t2>.hm{grid-area:hm;height:min(560px,62vh)!important;min-height:360px!important}
.r12.t2>.dash-m{grid-area:map;height:min(560px,62vh)!important;min-height:360px!important;margin:0}
.r12.t2>.t2-r{grid-area:tabs;height:min(380px,45vh)!important;min-height:280px!important}
.r12.t2>.r2-side{grid-area:side;height:min(380px,45vh);min-height:280px;display:flex;flex-direction:column;padding:8px 10px!important;overflow:hidden}
.r2-side .sd-b{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:auto;font-size:12px;line-height:1.5;font-family:var(--f-mono,ui-monospace,monospace)}
.r2-side .sd-b a{color:inherit}.r2-side .sd-b>div{margin:0 0 4px}
@media (max-width:1199px){.r12.t2{grid-template-columns:minmax(0,1fr);grid-template-areas:"hm" "map" "tabs" "side"}.r12.t2>.r2-side,.r12.t2>.t2-r{height:min(60vh,420px)!important}}
.field.fu-home .cm-p{display:none!important}
.field.fu-home:fullscreen .cm-p{display:block!important}.field.fu-home:fullscreen{background:#05070C}
.r-ev{margin:0 0 10px}
/* 01/11 late owner: layout B — map 45% | heatmap 55%; News·Events 45% | 4 lists 55% */
.r12.t2{grid-template-columns:minmax(0,45fr) minmax(0,55fr)!important;grid-template-areas:"map hm" "side tabs"!important}
@media (max-width:1199px){.r12.t2{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"hm" "map" "tabs" "side"!important}}
/* 01/11 late owner: Track record (replaces the home Graduation table) */
.trk{height:min(380px,45vh);min-height:300px;display:flex;flex-direction:column;padding:8px 12px!important;overflow:hidden;margin:0 0 12px}
.trk>h3{flex:none;margin:0 0 6px}
.tr-g{flex:1 1 0;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tr-c{min-height:0;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:thin}
.tr-c h4{margin:0 0 6px;font-size:12px;letter-spacing:.04em;position:sticky;top:0;background:var(--g-panel)}
.tr-ds{list-style:none;margin:0;padding:0}.tr-r{padding:5px 0;border-top:1px solid var(--line,#1f2833);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:12px}
.tr-r .tr-a{color:inherit;text-decoration:none}.tr-t{width:100%;border-collapse:collapse;font-size:12px}.tr-t th,.tr-t td{padding:4px 4px;border-top:1px solid var(--line,#1f2833);text-align:right}.tr-t th:first-child,.tr-t td:first-child{text-align:left}
@media (max-width:1199px){.tr-g{grid-template-columns:minmax(0,1fr)}.trk{height:auto;max-height:none}.tr-c{max-height:min(60vh,420px)}}
.tr-t{table-layout:fixed}.tr-t th{font-size:10px;letter-spacing:.02em;white-space:normal}.tr-t th:first-child{width:28%}
/* 02/11 owner: track record denominators */
.tr-s{margin:0 0 6px;font-size:12px;line-height:1.45}.tr-h{margin:6px 0 2px}
.tr-k{margin:0 0 6px;font-size:12px}.tr-k summary{cursor:pointer;color:var(--g-cyan,#22d3ee);padding:2px 0}
/* 02/11 owner: label evidence in tooltips */
.fui-bc{margin:4px 0 0;padding-left:16px;font-size:11.5px;line-height:1.45;color:var(--muted,#8593A6)}.fui-bc li{margin:1px 0}
/* 02/11 owner: safety score badge + concentrated supply bar */
.fui-sc{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:16px;padding:0 4px;border-radius:5px;font:700 10.5px/1 ui-monospace,Menlo,monospace;color:#05070C;flex:none;vertical-align:middle}
.fui-sc.s5{background:#16A35F;color:#fff}.fui-sc.s4{background:#5FD39A}.fui-sc.s3{background:#F2C94C}.fui-sc.s2{background:#F5913A}.fui-sc.s1{background:#F0565B;color:#fff}
.fui-sch{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px}.fui-lim{color:#F2C94C}
.fui-tru{margin:3px 0 0;padding-left:16px;font-size:11.5px;line-height:1.45}.fui-tru b{font-family:ui-monospace,Menlo,monospace;color:#F5913A}
.fui-cc{margin-top:6px;font-size:11.5px}.fui-cc-b{display:flex;height:7px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.08);margin:3px 0}.fui-cc-b i{display:block;height:100%}
.fui-cc-l{display:flex;flex-wrap:wrap;gap:2px 10px;color:var(--muted,#8593A6)}.fui-cc-l span{display:inline-flex;align-items:center;gap:4px}.fui-cc-l i{width:8px;height:8px;border-radius:2px;display:inline-block}
.hm-sc{position:absolute;top:3px;right:3px;z-index:1}.tile .hm-sc,.hm-tile .hm-sc{pointer-events:none}
/* 02/11 owner: one-line biggest risk */
.fui-w{font-size:11.5px;color:#F2C94C;margin-top:4px}.fui-rsh{margin-top:6px;font-size:11px;letter-spacing:.04em;color:var(--muted,#8593A6);text-transform:uppercase}
.hm-w{display:block;max-width:92%;margin-top:3px;font:600 10px/1.2 ui-sans-serif,system-ui,sans-serif;color:#fff;background:rgba(0,0,0,.45);border-radius:4px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h4-w{display:block;flex-basis:100%;font-size:11px;color:#F2C94C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.fui-w.fui-ok,.h4-w.h4-ok{color:#5FD39A}.fui-max{color:var(--muted,#8593A6);font-size:11px}
