/* GZTRUST visual layer. Loaded after the existing page styles. */
:root,
:root:not([data-theme="light"]),
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #070c10 !important;
  --panel: #0b1216 !important;
  --panel2: #11191e !important;
  --ink: #e8eaeb !important;
  --muted: #a1a5a8 !important;
  --line: #1e282d !important;
  --accent: #0df397 !important;
  --accent-soft: rgba(13, 243, 151, .12) !important;
  --map: #060a0d;
  --grid: rgba(160, 200, 190, .06);
  --shadow: 0 16px 48px rgba(0, 0, 0, .22);
}
html { scroll-behavior: smooth; }
body, body.page-home, body:not(.page-home) { background: #070c10 !important; color: var(--ink); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #0df397; outline-offset: 3px; }
.panel, .case, .card, .scene-card, .detail, .home-ranking-feature {
  border-color: var(--line);
  background-color: var(--panel);
  box-shadow: 0 18px 50px rgba(2, 8, 10, .15);
}
.panel, .case, .card { transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.case:hover, .card:hover { border-color: rgba(13, 243, 151, .65); box-shadow: 0 20px 55px rgba(13, 243, 151, .08); transform: translateY(-2px); }
.btn, .gzbtn, .gzi, .page-nav a, .nav a {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.btn:hover, .gzbtn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(13, 243, 151, .12); }
.btn.primary { background: #0df397; border-color: #0df397; color: #0e1316; }
.btn.primary:hover { background: #3af7ae; border-color: #3af7ae; }
.gzi.on, .gzi:hover, .page-nav a.on, .page-nav a:hover, .nav a.active, .nav a:hover { background: rgba(13, 243, 151, .1); }
.gzi.on::before { background: #0df397; }
.gzi.on::before { background: linear-gradient(180deg, #0df397, #0a7751); }
.home-eyebrow::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 10px 1px 0; border-radius: 50%; background: #0df397; box-shadow: 0 0 14px rgba(13, 243, 151, .5); }
.home-landing {
  background-image: linear-gradient(90deg, rgba(2, 8, 10, .97), rgba(2, 8, 10, .68) 48%, rgba(2, 8, 10, .17)), url('../assets/gztrust-home-hero-shield.png') !important;
  border-bottom-color: var(--line);
}
.home-copy h1 b, .logo b { color: #0df397; }
.home-copy p, .home-ranking-head p { color: #d6dfdc; }
body.page-home > .home-ranking-section {
  background: radial-gradient(circle at 82% 5%, rgba(13, 243, 151, .06), transparent 34%), linear-gradient(180deg, #070c10, #0b1216) !important;
  border-color: var(--line);
}
.home-ranking-head h2 { color: var(--ink); }
.home-eyebrow, .eyebrow { color: #0df397; }
.tblwrap, .home-ranking-section > .trustpanel > .tblwrap { display: block; max-width: 100%; min-width: 0; overflow-x: auto !important; overflow-y: auto !important; overscroll-behavior-inline: contain; scrollbar-color: #50625b #0e1519; }
.home-ranking-section, .trustpanel, #trustpanel, .panel { min-width: 0; }
.tbl { width: max-content; min-width: 100%; }
input, select, textarea { max-width: 100%; }
input:focus, select:focus, textarea:focus { border-color: #0df397; box-shadow: 0 0 0 3px rgba(13, 243, 151, .12); }
.busy .spin { border-top-color: #0df397; }
.err { border-color: #f0444e; }
.gz-reveal { opacity: 0; transform: translateY(16px); }
.gz-reveal.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
@media (max-width: 700px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .home-landing { min-height: min(680px, 86svh); padding: 84px 24px 48px; background-position: 56% center; }
  .home-copy h1 { font-size: clamp(39px, 11vw, 58px); }
  .home-copy p { font-size: 16px; }
  body.page-home > .home-ranking-section { margin-inline: -16px; padding: 56px 16px; }
  .home-ranking-head { display: block; }
  .home-ranking-actions { margin-top: 24px; flex-wrap: wrap; }
  .home-ranking-actions > * { flex: 1 1 160px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .gz-reveal { opacity: 1; transform: none; }
}

/* Former runtime styles, externalized for CSP. */
body.clip-mode #stage .hud,body.clip-mode #stage .hint,body.clip-mode #stage .xfab:not(.clipfab),body.clip-mode #stage .dmglayer,body.clip-mode #stage .hitmk{display:none!important}.clipfab{position:absolute;right:88px;top:10px;z-index:12;padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:rgba(5,9,12,.82);color:var(--ink);font:600 12px var(--f-display);cursor:pointer}.clipfab[aria-pressed="true"]{right:10px;border-color:var(--accent);color:var(--accent)}
.killfeed{position:absolute;right:12px;top:48px;z-index:5;width:min(330px,68%);display:grid;justify-items:end;gap:5px;pointer-events:none}.kfrow{display:flex;align-items:center;justify-content:flex-end;gap:7px;max-width:100%;padding:5px 9px;border-left:2px solid var(--accent);border-radius:3px;background:rgba(5,9,12,.82);box-shadow:0 2px 10px rgba(0,0,0,.28);color:#eef3f1;font:600 12px var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000}.kfrow .kfname{overflow:hidden;text-overflow:ellipsis}.kfrow .kfweapon{color:#fff;font:700 13px var(--f-mono);opacity:.9}.kfrow.suicide{border-left-color:var(--bad)}@media(max-width:560px){.killfeed{right:7px;top:44px;width:74%;gap:3px}.kfrow{font-size:10px;padding:4px 6px}}

    body.ow-vertical-active #replaypopup{padding:0;background:#050809}
    body.ow-vertical-active #replaypopup .replay-popup-card{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;background:#050809;box-shadow:none;grid-template-rows:1fr}
    body.ow-vertical-active #replaypopup .replay-popup-head{display:none}
    body.ow-vertical-active #replaypopup .replay-popup-body{height:100%;padding:0;overflow:hidden;background:#050809}
    body.ow-vertical-active #replaypopup .layout{height:100%;min-height:0;display:flex!important;justify-content:center!important;align-items:stretch;gap:0;position:relative}
    body.ow-vertical-active #replaypopup .layout>section.panel{width:min(460px,calc(100vw - clamp(250px,27vw,320px)));max-width:460px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:#070b0e;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 80px rgba(0,0,0,.7)}
    body.ow-vertical-active #replaypopup .layout>.side,body.ow-vertical-active #replaypopup .bottom{display:none!important}
    body.ow-vertical-active #replaypopup .layout>section.panel>.ph{display:none!important}
    body.ow-vertical-active #replaypopup #owcase{display:none!important}
    body.ow-vertical-active #replaypopup #stage{flex:1 1 auto;height:auto!important;min-height:0;background:#020506}
    body.ow-vertical-active #replaypopup .transport{display:flex!important;flex:0 0 auto;min-height:44px;max-height:52px;flex-wrap:nowrap!important;align-items:center;gap:clamp(3px,.5vw,8px);overflow:hidden;white-space:nowrap;padding:4px 8px!important;background:#0a1014}
    body.ow-vertical-active #replaypopup .transport .btn,body.ow-vertical-active #replaypopup .transport select{min-width:0;flex-shrink:1;padding-inline:clamp(5px,.7vw,10px)}
    body.ow-vertical-active #replaypopup .transport .spacer{min-width:0;flex:1 1 auto}
    body.ow-vertical-active #replaypopup .transport .viewinfo,body.ow-vertical-active #replaypopup .transport label,body.ow-vertical-active #replaypopup #sndbtn,body.ow-vertical-active #replaypopup #sndvol{display:none!important}
    body.ow-vertical-active #replaypopup .tlwrap{flex:0 0 54px;height:54px;min-height:54px;max-height:54px;padding:0 4px!important;overflow:hidden;background:#0a1014}
    body.ow-vertical-active #replaypopup #tl{width:100%;height:54px;display:block}
    body.ow-vertical-active #replaypopup .hud,body.ow-vertical-active #replaypopup .hint,body.ow-vertical-active #replaypopup #clipmode,body.ow-vertical-active #replaypopup .xfab{display:none!important}
    #owfeedui{display:none;z-index:35;color:#fff;font-family:var(--f-body,system-ui)}
    body.ow-vertical-active #owfeedui{display:flex;position:relative;flex:0 0 clamp(250px,27vw,320px);max-width:320px;height:100%;min-height:0;flex-direction:column;overflow:hidden;background:#0d1518;border-left:1px solid rgba(255,255,255,.1)}
    #owfeedui button{pointer-events:auto;cursor:pointer;touch-action:manipulation}
    .ow-feed-top{display:flex;gap:10px;align-items:flex-start;padding:26px 22px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
    .ow-feed-title{min-width:0;flex:1}.ow-feed-title b{display:block;font-size:17px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ow-feed-title span{display:block;font-size:12px;color:#c6d6d2;margin-top:4px}
    .ow-feed-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(4,8,10,.65);color:#fff;font-size:25px;line-height:1}
    .ow-feed-rail{order:3;flex:0 0 auto;margin-top:auto;padding:clamp(8px,2vh,18px) clamp(10px,2vw,22px) clamp(8px,2vh,24px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(5px,1vh,10px)}
    .ow-feed-action{width:100%;min-height:54px;padding:8px;border-radius:13px;border:1px solid rgba(255,255,255,.24);background:rgba(8,16,19,.83);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.3);backdrop-filter:blur(10px)}
    .ow-feed-action span{font-size:20px;font-weight:800;line-height:1}.ow-feed-action small{font-size:12px;font-weight:700;line-height:1.1}
    #owfeedview{grid-column:1/-1}
    .ow-feed-action.clean{border-color:rgba(35,227,148,.65);background:rgba(3,83,53,.84)}
    .ow-feed-action.cheater{border-color:rgba(255,97,97,.7);background:rgba(111,24,34,.86)}
    .ow-feed-action:disabled{opacity:.48;cursor:default}
    .ow-feed-caption{order:2;min-height:0;overflow-y:auto;padding:clamp(10px,2vh,22px) clamp(10px,2vw,22px)}
    .ow-feed-caption b{display:block;font-size:13px;margin-bottom:4px}.ow-feed-caption p{font-size:12px;line-height:1.35;margin:0;max-height:4.1em;overflow:hidden;color:#ecf4f1}
    .ow-feed-status{display:block;margin-top:10px;font-size:12px;line-height:1.35;color:#aee5d2}
    .ow-feed-status.needs-login{font-size:14px;font-weight:800;color:#fff2bf;background:#594112;border:1px solid #e6ba56;border-radius:10px;padding:12px 14px;box-shadow:0 0 0 2px rgba(230,186,86,.12)}
    @media(max-width:800px){body.ow-vertical-active #replaypopup .layout>section.panel{width:100vw;max-width:none}body.ow-vertical-active #replaypopup .transport{min-height:43px;padding:4px}body.ow-vertical-active #owfeedui{position:absolute;inset:0;max-width:none;width:100%;height:calc(100% - 53px);display:block;background:transparent;border:0;pointer-events:none}.ow-feed-top{position:absolute;top:0;left:0;right:0;padding:16px 14px 52px;border:0;background:linear-gradient(180deg,rgba(0,0,0,.77),transparent)}.ow-feed-rail{position:absolute;right:8px;bottom:96px;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px}.ow-feed-action{width:54px;min-height:54px;padding:6px 2px;flex-direction:column;gap:2px}.ow-feed-action small{font-size:11px}.ow-feed-caption{position:absolute;left:0;right:70px;bottom:0;max-height:38%;min-height:0;overflow-y:auto;padding:20px 14px 17px;background:linear-gradient(0deg,rgba(0,0,0,.83),transparent)}}
    @media(max-height:650px) and (min-width:801px){.ow-feed-top{padding:10px 12px}.ow-feed-rail{padding:7px 10px;gap:5px}.ow-feed-action{min-height:38px;padding:4px}.ow-feed-action span{font-size:17px}.ow-feed-caption{padding:8px 12px}.ow-feed-status.needs-login{padding:7px 9px;font-size:12px}}
    @keyframes ow-feed-old-up{to{transform:translateY(-100%)}}
    @keyframes ow-feed-new-up{from{transform:translateY(100%)}}
    @keyframes ow-feed-old-down{to{transform:translateY(100%)}}
    @keyframes ow-feed-new-down{from{transform:translateY(-100%)}}
    html.ow-feed-forward::view-transition-old(root){animation:360ms cubic-bezier(.25,.75,.25,1) both ow-feed-old-up}
    html.ow-feed-forward::view-transition-new(root){animation:360ms cubic-bezier(.25,.75,.25,1) both ow-feed-new-up}
    html.ow-feed-backward::view-transition-old(root){animation:360ms cubic-bezier(.25,.75,.25,1) both ow-feed-old-down}
    html.ow-feed-backward::view-transition-new(root){animation:360ms cubic-bezier(.25,.75,.25,1) both ow-feed-new-down}
  
