:root{--bg:#101018;--bg-alt:#151520;--surface:#1a1a26;--surface-2:#1f1f2e;--border:#2a2a3a;--border-soft:#232332;--text:#eceaf5;--text-muted:#9997ab;--text-dim:#8b899d;--amber:#f2b84b;--mint:#6ee7b7;--violet:#a78bfa;--rose:#f28fa3;--font-mono:var(--font-jetbrains), "Fira Code", ui-monospace, monospace;--font-sans:var(--font-jakarta), "Inter", system-ui, sans-serif;--maxw:1120px;--radius:14px;--radius-sm:8px;--ease:cubic-bezier(.22,1,.36,1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-mono);letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}button{cursor:pointer;font-family:inherit}::selection{background:var(--amber);color:#12121a}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}.skip-link{z-index:999;background:var(--amber);color:#12121a;font-family:var(--font-mono);border-radius:0 0 8px;padding:.7rem 1.2rem;font-weight:700;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#f2b84b09 1px,#0000 1px),linear-gradient(90deg,#f2b84b09 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 50% 0,#000 10%,#0000 70%);mask-image:radial-gradient(60% 50% at 50% 0,#000 10%,#0000 70%)}.eyebrow{font-family:var(--font-mono);color:var(--mint);align-items:center;gap:.6em;margin-bottom:14px;font-size:.82rem;font-weight:500;display:flex}.eyebrow:before{content:"//";color:var(--text-dim)}.section{z-index:1;border-bottom:1px solid var(--border-soft);padding:110px 0;position:relative}.section-head{max-width:640px;margin-bottom:56px}.section-title{font-size:clamp(1.7rem,3.4vw,2.4rem)}.section-title .dim{color:var(--text-dim)}.section-sub{color:var(--text-muted);max-width:56ch;margin-top:14px;font-size:1.02rem}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translateY(0)}header.nav{z-index:100;-webkit-backdrop-filter:blur(14px);transition:border-color .3s var(--ease), background .3s var(--ease);background:#101018b8;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}header.nav.scrolled{border-bottom-color:var(--border-soft)}.nav-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:2px;font-size:1.08rem;font-weight:700;display:flex}.logo .p1{color:var(--text)}.logo .p2{color:var(--amber)}.nav-links{align-items:center;gap:8px;display:flex}.nav-links a{font-family:var(--font-mono);color:var(--text-muted);border-radius:8px;padding:8px 14px;font-size:.86rem;transition:color .2s,background .2s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--surface)}.nav-links a.active{color:var(--amber)}.nav-cta{font-family:var(--font-mono);background:var(--amber);color:#12121a;border:1px solid var(--amber);transition:transform .2s var(--ease), box-shadow .2s;border-radius:8px;padding:9px 18px;font-size:.84rem;font-weight:600}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px #f2b84b80}.nav-links a.nav-cta,.nav-links a.nav-cta:hover{color:#12121a;background:var(--amber);padding:9px 18px}.nav-links a{white-space:nowrap}@media (min-width:1001px) and (max-width:1180px){.nav-links{gap:4px}.nav-links a{padding:8px 9px}.nav-links a.nav-cta,.nav-links a.nav-cta:hover{padding:9px 12px}}.nav-group{align-items:center;display:flex;position:relative}.nav-links .nav-group>a{padding-right:6px}.nav-group-toggle{width:22px;height:30px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:.75rem;transition:color .2s,transform .2s;display:grid}.nav-group-toggle:hover{color:var(--text)}.nav-group.is-open .nav-group-toggle span{display:inline-block;transform:rotate(180deg)}.nav-sub{z-index:60;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:180px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 40px -18px #000000b3}.nav-sub:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.nav-group.is-open .nav-sub{display:flex}@media (hover:hover) and (min-width:1001px){.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub{display:flex}}.nav-links .nav-sub a{padding:8px 12px;display:block}.nav-toggle{border:1px solid var(--border);background:0 0;border-radius:8px;padding:9px;display:none}@media (max-width:1000px){.nav-links,.nav-cta{display:none}header.nav.mobile-open .nav-links{background:var(--bg);border-bottom:1px solid var(--border-soft);flex-direction:column;gap:4px;padding:14px 24px 20px;display:flex;position:absolute;top:72px;left:0;right:0}header.nav.mobile-open .nav-links a{padding:12px 8px}header.nav.mobile-open .nav-cta{align-self:flex-start;margin:6px 24px 18px;display:inline-flex}.nav-toggle{display:block}.nav-group{flex-wrap:wrap;justify-content:center}.nav-group-toggle{width:40px;height:40px;font-size:.9rem}.nav-sub{border:0;border-bottom:1px solid var(--border-soft);min-width:0;box-shadow:none;background:0 0;border-radius:0;flex-basis:100%;align-items:center;margin-bottom:4px;padding:0 0 6px;position:static}header.nav.mobile-open .nav-links .nav-sub a{padding:8px;font-size:.8rem}.nav-sub:before{display:none}}.nav-toggle span{background:var(--text);width:20px;height:2px;margin:4px 0;transition:all .25s;display:block}.nav-toggle.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.hero{z-index:1;align-items:center;min-height:100vh;padding:140px 0 90px;display:flex;position:relative}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.hero-kicker{font-family:var(--font-mono);color:var(--mint);border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:10px;margin-bottom:22px;padding:7px 14px;font-size:.86rem;display:inline-flex}.hero-kicker .dot{background:var(--mint);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse;box-shadow:0 0 #6ee7b799}@keyframes pulse{0%{box-shadow:0 0 #6ee7b78c}70%{box-shadow:0 0 0 8px #6ee7b700}to{box-shadow:0 0 #6ee7b700}}.hero h1{letter-spacing:-.02em;font-size:clamp(2.3rem,5.6vw,3.9rem);line-height:1.08}.hero h1 .accent{color:var(--amber)}.hero-role{font-family:var(--font-mono);color:var(--text-muted);min-height:1.6em;margin-top:18px;font-size:clamp(1.05rem,2vw,1.35rem)}.hero-role .cursor{background:var(--amber);vertical-align:-2px;width:2px;height:1em;margin-left:3px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-desc{color:var(--text-muted);max-width:52ch;margin-top:22px;font-size:1.04rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.btn{font-family:var(--font-mono);transition:transform .2s var(--ease), box-shadow .2s, background .2s, border-color .2s;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:13px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--amber);color:#12121a}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px #f2b84b8c}.btn-ghost{border-color:var(--border);color:var(--text);background:var(--surface)}.btn-ghost:hover{border-color:var(--text-dim);transform:translateY(-2px)}.hero-stats{flex-wrap:wrap;gap:34px;margin-top:48px;display:flex}.stat b{font-family:var(--font-mono);color:var(--text);font-size:1.5rem;display:block}.stat span{color:var(--text-dim);font-size:.84rem}.code-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -30px #0009}.code-card-bar{border-bottom:1px solid var(--border-soft);background:var(--surface-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.code-card-bar span{border-radius:50%;width:11px;height:11px}.code-card-bar span:first-child{background:#f2789f}.code-card-bar span:nth-child(2){background:#f2b84b}.code-card-bar span:nth-child(3){background:#6ee7b7}.code-card-bar .fname{font-family:var(--font-mono);color:var(--text-dim);margin-left:8px;font-size:.78rem}.code-card pre{font-family:var(--font-mono);color:var(--text-muted);margin:0;padding:22px 20px;font-size:.86rem;line-height:1.85;overflow-x:auto}.tk-kw{color:var(--violet)}.tk-var{color:var(--text)}.tk-str{color:var(--mint)}.tk-prop{color:#8fb8ff}.tk-com,.tk-punc{color:var(--text-dim)}.about-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px;display:grid}.avatar-block{position:relative}.avatar-frame{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(155deg, var(--surface), var(--bg-alt));justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar-frame .initials{font-family:var(--font-mono);color:var(--border);-webkit-user-select:none;user-select:none;font-size:5rem;font-weight:800}.avatar-frame:after{content:"";background:radial-gradient(circle at 30% 20%,#f2b84b24,#0000 55%),radial-gradient(circle at 80% 80%,#6ee7b71f,#0000 55%);position:absolute;inset:0}.avatar-tag{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--mint);align-items:center;gap:7px;padding:9px 13px;font-size:.78rem;display:flex;position:absolute;bottom:-14px;left:-14px}.avatar-tag .dot{background:var(--mint);border-radius:50%;width:6px;height:6px}.about-text p{color:var(--text-muted);margin-bottom:16px;font-size:1.03rem}.about-text strong{color:var(--text);font-weight:600}.fact-list{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;display:grid}.fact{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px}.fact .k{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.fact .v{color:var(--text);margin-top:5px;font-size:.94rem}.skills-groups{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.skill-group{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);padding:26px}.skill-group h3{color:var(--text);align-items:center;gap:10px;margin-bottom:18px;font-size:1rem;display:flex}.skill-group h3 .idx{font-family:var(--font-mono);color:var(--text-dim);font-size:.85rem;font-weight:400}.tag-list{flex-wrap:wrap;gap:9px;display:flex}.tag{font-family:var(--font-mono);border:1px solid var(--border);background:var(--bg-alt);color:var(--text-muted);transition:border-color .2s, color .2s, transform .2s var(--ease);border-radius:7px;padding:7px 12px;font-size:.82rem}.tag:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}.tag .b{color:var(--text-dim)}.project-grid{grid-template-columns:repeat(2,1fr);gap:26px;display:grid}.project-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);transition:transform .3s var(--ease), border-color .3s, box-shadow .3s;overflow:hidden}.project-card:hover{border-color:var(--border);transform:translateY(-6px);box-shadow:0 24px 46px -24px #0000008c}.project-window-bar{border-bottom:1px solid var(--border-soft);background:var(--surface-2);align-items:center;gap:7px;padding:12px 16px;display:flex}.project-window-bar span{background:var(--border);border-radius:50%;width:10px;height:10px}.project-window-bar .path{white-space:nowrap;text-overflow:ellipsis;width:auto;height:auto;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border-radius:0;margin-left:6px;font-size:.74rem;overflow:hidden}.project-body{padding:24px}.project-body h3{color:var(--text);font-size:1.15rem;font-family:var(--font-sans);margin-bottom:10px;font-weight:700}.project-body p{color:var(--text-muted);margin-bottom:18px;font-size:.94rem}.project-stack{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.project-stack span{font-family:var(--font-mono);background:var(--bg-alt);border:1px solid var(--border);color:var(--violet);border-radius:5px;padding:4px 9px;font-size:.72rem}.project-links{gap:18px;display:flex}.project-links a{font-family:var(--font-mono);color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding-bottom:2px;font-size:.83rem;transition:border-color .2s,color .2s;display:inline-flex}.project-links a:hover{color:var(--amber);border-color:var(--amber)}.projects-more{text-align:center;margin-top:44px}.gitlog{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);overflow:hidden}.gitlog-bar{border-bottom:1px solid var(--border-soft);background:var(--surface-2);font-family:var(--font-mono);color:var(--text-dim);padding:12px 18px;font-size:.78rem}.gitlog-bar .amber{color:var(--amber)}.commit{border-bottom:1px solid var(--border-soft);grid-template-columns:120px 1fr;gap:24px;padding:22px 24px;display:grid}.commit:last-child{border-bottom:none}.commit .hash{font-family:var(--font-mono);color:var(--amber);font-size:.82rem}.commit .date{font-family:var(--font-mono);color:var(--text-dim);margin-top:6px;font-size:.72rem;display:block}.commit h3{font-family:var(--font-sans);color:var(--text);margin-bottom:6px;font-size:1.02rem}.commit .role{font-family:var(--font-mono);color:var(--mint);margin-bottom:8px;font-size:.78rem;display:block}.commit p{color:var(--text-muted);font-size:.92rem}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.terminal{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);overflow:hidden}.terminal-bar{border-bottom:1px solid var(--border-soft);background:var(--surface-2);align-items:center;gap:7px;padding:12px 16px;display:flex}.terminal-bar span{border-radius:50%;width:10px;height:10px}.terminal-bar span:first-child{background:#f2789f}.terminal-bar span:nth-child(2){background:#f2b84b}.terminal-bar span:nth-child(3){background:#6ee7b7}.terminal-bar .t{font-family:var(--font-mono);color:var(--text-dim);margin-left:8px;font-size:.75rem}.terminal-body{font-family:var(--font-mono);padding:24px;font-size:.9rem}.term-line{color:var(--text-muted);margin-bottom:14px}.term-line .prompt{color:var(--mint)}.term-line .cmd{color:var(--text)}.term-link{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.term-link:last-child{border-bottom:none}.term-link .k{color:var(--text-dim)}.term-link a{color:var(--text);transition:color .2s}.term-link a:hover{color:var(--amber)}.copy-btn{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);background:0 0;border-radius:6px;padding:4px 9px;font-size:.72rem;transition:all .2s}.copy-btn:hover{border-color:var(--mint);color:var(--mint)}.field{margin-bottom:18px}.field label{font-family:var(--font-mono);color:var(--text-dim);margin-bottom:8px;font-size:.78rem;display:block}.field input,.field textarea{background:var(--bg-alt);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-sans);resize:vertical;border-radius:8px;padding:12px 14px;font-size:.94rem}.field input:focus,.field textarea:focus{border-color:var(--amber);outline:none}.form-note{color:var(--text-dim);margin-top:6px;font-size:.8rem}footer{z-index:1;padding:40px 0;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{font-family:var(--font-mono);color:var(--text-dim);font-size:.78rem}.footer-social{gap:16px;display:flex}.footer-social a{font-family:var(--font-mono);color:var(--text-muted);font-size:.8rem}.footer-social a:hover{color:var(--amber)}.to-top{z-index:90;background:var(--surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text);opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,transform .3s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(10px)}.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}@media (max-width:900px){.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.skills-groups{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.fact-list{grid-template-columns:1fr 1fr}.avatar-block{max-width:300px}}@media (max-width:720px){.nav-links,.nav-cta{display:none}header.nav.mobile-open .nav-links{background:var(--bg);border-bottom:1px solid var(--border-soft);flex-direction:column;gap:4px;padding:14px 24px 20px;display:flex;position:absolute;top:72px;left:0;right:0}header.nav.mobile-open .nav-links a{padding:12px 8px}header.nav.mobile-open .nav-cta{align-self:flex-start;margin:6px 24px 18px;display:inline-flex}.nav-toggle{display:block}.skills-groups{grid-template-columns:1fr}.section{padding:76px 0}.hero{padding-top:120px}.commit{grid-template-columns:1fr;gap:8px}.hero-stats{gap:24px}}.project-body h3 a{transition:color .2s}.project-body h3 a:hover{color:var(--amber)}.project-cat{font-family:var(--font-mono);color:var(--mint);margin-bottom:8px;font-size:.72rem;display:block}.page{z-index:1;padding:132px 0 96px;position:relative}.breadcrumbs{font-family:var(--font-mono);color:var(--text-dim);margin-bottom:28px;font-size:.8rem}.breadcrumbs ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:8px;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--border)}.breadcrumbs a{color:var(--text-muted);transition:color .2s}.breadcrumbs a:hover{color:var(--amber)}.breadcrumbs [aria-current]{color:var(--text)}.page-title{letter-spacing:-.02em;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.12}.page-lead{color:var(--text-muted);max-width:62ch;margin-top:18px;font-size:1.08rem}.project-detail{grid-template-columns:1.5fr .9fr;align-items:start;gap:48px;margin-top:44px;display:grid}.prose h2{color:var(--text);margin:36px 0 14px;font-size:1.2rem}.prose h2:first-child{margin-top:0}.prose p{color:var(--text-muted);margin-bottom:16px;font-size:1.02rem}.prose ul{gap:10px;display:grid}.prose li{color:var(--text-muted);padding-left:22px;position:relative}.prose li:before{content:"▹";color:var(--amber);position:absolute;left:0}.prose p a{color:var(--amber)}.prose p a:hover{text-decoration:underline}.release{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);padding:18px 20px}.release-head{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.release-tag{font-family:var(--font-mono);color:var(--mint);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-alt);padding:3px 10px;font-size:.85rem}.release-tag:hover{border-color:var(--mint)}.release-name{color:var(--text);font-weight:600}.release-head time{font-family:var(--font-mono);color:var(--text-dim);margin-left:auto;font-size:.78rem}.prose .release-assets{gap:0;margin:14px 0 4px}.prose .release-assets li{border-bottom:1px solid var(--border-soft);justify-content:space-between;gap:12px;padding:10px 0 10px 22px;font-size:.9rem;display:flex}.prose .release-assets li:last-child{border-bottom:none}.prose .release-assets li:before{content:"↓";top:10px}.release-assets a{color:var(--text);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.82rem}.release-assets a:hover{color:var(--amber)}.release-assets span{color:var(--text-dim);font-family:var(--font-mono);white-space:nowrap;font-size:.78rem}.release p{margin:14px 0 0;font-size:.95rem}.release-all{color:var(--amber);margin-top:12px;font-size:.88rem;display:inline-block}.release-all:hover{text-decoration:underline}.side-card dd a{color:var(--mint);font-family:var(--font-mono);font-size:.85rem}.side-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);position:sticky;top:96px;overflow:hidden}.side-card dl{margin:0;padding:8px 22px 4px}.side-card .row{border-bottom:1px solid var(--border-soft);justify-content:space-between;gap:16px;padding:12px 0;font-size:.9rem;display:flex}.side-card .row:last-child{border-bottom:none}.side-card dt{font-family:var(--font-mono);color:var(--text-dim);font-size:.78rem}.side-card dd{color:var(--text);text-align:right;margin:0}.side-card .actions{gap:10px;padding:16px 22px 22px;display:grid}.side-card .actions .btn{justify-content:center}.more-projects{margin-top:80px}.more-projects h2{margin-bottom:24px;font-size:1.3rem}@media (max-width:900px){.project-detail{grid-template-columns:1fr}.side-card{position:static}}.fact-list{margin-bottom:0}.fact dd{margin-left:0}.term-link{flex-wrap:wrap;gap:6px 12px}.term-link a{overflow-wrap:anywhere}.form-status{min-height:1.4em;margin-top:12px;font-size:.86rem}.form-status.is-success{color:var(--mint)}.form-status.is-error{color:var(--rose)}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.btn:disabled{opacity:.65;cursor:progress;box-shadow:none;transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-card[hidden]{display:none}.project-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.project-meta .project-cat{margin-bottom:0}.project-badge{font-family:var(--font-mono);color:var(--amber);border:1px solid #f2b84b59;border-radius:999px;padding:2px 8px;font-size:.68rem}.filter-bar{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.filter-search input{background:var(--bg-alt);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-sans);border-radius:8px;padding:12px 14px;font-size:.94rem}.filter-search input:focus{border-color:var(--amber);outline:none}.filter-chips{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--font-mono);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.8rem;transition:border-color .2s,color .2s}.chip .b{color:var(--text-dim);margin-left:4px}.chip:hover{border-color:var(--text-dim);color:var(--text)}.chip.active{border-color:var(--amber);color:var(--amber)}.chip.active .b{color:var(--amber)}.chip-demo.active{border-color:var(--mint);color:var(--mint)}.filter-count{font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:.8rem}.filter-empty{text-align:center;color:var(--text-muted);padding:48px 0}.filter-empty p{margin-bottom:16px}.activity-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:48px;display:grid}.commit-log{margin:0;padding:0;list-style:none}.commit-log li{border-bottom:1px dashed var(--border-soft);grid-template-columns:auto 1fr;gap:2px 14px;padding:10px 0;display:grid}.commit-log li:last-child{border-bottom:none}.commit-log .sha{color:var(--amber);font-size:.84rem}.commit-log .sha:hover{text-decoration:underline}.commit-log .msg{color:var(--text);overflow-wrap:anywhere;font-size:.86rem}.commit-log .meta{color:var(--text-dim);grid-column:2;font-size:.74rem}.activity-title{color:var(--text-muted);margin-bottom:16px;font-size:.95rem}.repo-list{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.repo-item{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px;transition:border-color .2s}.repo-item:hover{border-color:var(--border)}.repo-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.repo-name{font-family:var(--font-mono);color:var(--text-muted);overflow-wrap:anywhere;font-size:.88rem}.repo-name b{color:var(--text);font-weight:600}.repo-name:hover b{color:var(--amber)}.repo-detail{font-family:var(--font-mono);color:var(--mint);white-space:nowrap;font-size:.74rem}.repo-item p{color:var(--text-muted);margin:6px 0 0;font-size:.86rem}.repo-meta{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:.72rem;display:flex}.repo-meta .lang:before{content:"";background:var(--violet);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}@media (max-width:900px){.activity-grid{grid-template-columns:1fr}}.nav-links a.nav-lang{border:1px solid var(--border);letter-spacing:.06em;padding:6px 10px;font-size:.78rem}.nav-links a.nav-lang:hover{border-color:var(--amber);color:var(--amber);background:0 0}.page-lead a{color:var(--amber)}.side-card .side-note{color:var(--text-dim);margin:-8px 0 0;padding:0 22px 20px;font-size:.8rem}.nav-links a.nav-term{color:var(--mint);font-weight:700}.terminal-bar .t{white-space:nowrap;border-radius:0;width:auto;height:auto}.term-window{box-shadow:0 30px 60px -30px #0009}.term-screen{cursor:text;overscroll-behavior:contain;height:min(68vh,620px);padding:20px 22px 24px;line-height:1.65;overflow-y:auto}.term-screen p,.term-screen .term-line{margin:0}.term-entry{margin-bottom:12px}.term-entry>p,.term-entry>div{color:var(--text-muted)}.term-screen a{color:var(--mint);text-underline-offset:3px;overflow-wrap:anywhere;-webkit-text-decoration:underline #6ee7b759;text-decoration:underline #6ee7b759}.term-screen a:hover{color:var(--amber);text-decoration-color:currentColor}.term-screen b{color:var(--text)}.t-path{color:var(--violet)}.t-dim{color:var(--text-dim)}.t-acc{color:var(--amber)}.t-err{color:var(--rose)}.t-dir{color:var(--violet)}.t-gap{margin-top:10px!important}.t-cmd{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.t-cmd:hover,.t-cmd:focus-visible{color:var(--amber);text-underline-offset:3px;text-decoration:underline}.t-table{grid-template-columns:max-content 1fr;gap:2px 24px;display:grid}.t-ls{flex-wrap:wrap;gap:2px 22px;display:flex}.t-tag{color:var(--amber);border:1px solid #f2b84b59;border-radius:999px;margin-left:10px;padding:0 7px;font-size:.7rem}.t-neofetch{align-items:flex-start;gap:28px;display:flex}.t-logo{color:var(--amber);font:inherit;margin:0;line-height:1.25}.t-swatches{gap:0;display:flex;margin-top:8px!important}.t-swatches span{width:22px;height:14px}.term-input-line{align-items:baseline;gap:8px;display:flex}.term-input-line .term-line{white-space:nowrap;color:var(--text-muted)}.term-input-line input{min-width:0;color:var(--text);font:inherit;caret-color:var(--amber);background:0 0;border:0;outline:none;flex:1;padding:0}.term-quick{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.term-quick>span{font-family:var(--font-mono);color:var(--text-dim);font-size:.8rem}@media (max-width:720px){.term-screen{height:62vh;padding:16px 14px 20px;font-size:.82rem}.term-input-line input{font-size:16px}.t-table{grid-template-columns:1fr;row-gap:0}.t-table>:nth-child(odd){margin-top:6px}.t-logo{display:none}}.blog-rss{font-family:var(--font-mono);margin-top:14px;font-size:.82rem}.blog-rss a{color:var(--amber)}.blog-rss a:hover{text-decoration:underline}.post-list{gap:22px;max-width:820px;margin-top:44px;display:grid}.post-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);transition:border-color .3s, transform .3s var(--ease);padding:26px 28px}.post-card:hover{border-color:var(--border);transform:translateY(-3px)}.post-card h2{margin:8px 0 10px;font-size:1.3rem;line-height:1.3}.post-card h2 a{transition:color .2s}.post-card h2 a:hover{color:var(--amber)}.post-card>p:not(.post-meta){color:var(--text-muted);margin-bottom:16px}.post-card .project-stack{margin-bottom:16px}.post-read{font-family:var(--font-mono);color:var(--amber);font-size:.85rem}.post-read:hover{text-decoration:underline}.post-meta{font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:.78rem}.post-draft{color:var(--rose);text-transform:uppercase;border:1px solid #f28fa366;border-radius:999px;margin-left:10px;padding:1px 8px;font-size:.68rem}.post{max-width:760px}.post-head{margin-bottom:44px}.post-head .post-meta{margin-top:18px}.post-head .project-stack{margin:14px 0 0}.post-body>:first-child{margin-top:0}.post-body p,.post-body li{line-height:1.75}.post-body h2{margin:48px 0 16px;scroll-margin-top:96px;font-size:1.35rem}.post-body h3{color:var(--text);margin:32px 0 12px;scroll-margin-top:96px;font-size:1.08rem}.heading-anchor{color:inherit}.heading-anchor:hover:after{content:" #";color:var(--amber)}.post-body ul,.post-body ol{margin:0 0 18px}.post-body ol{gap:10px;padding-left:24px;list-style:decimal;display:grid}.post-body ol li{padding-left:4px}.post-body ol li:before{content:none}.post-body li a,.post-body td a{color:var(--amber)}.post-body li a:hover,.post-body td a:hover{text-decoration:underline}.post-body strong{color:var(--text)}.post-body :not(pre)>code{font-family:var(--font-mono);color:var(--text);background:var(--surface-2);border:1px solid var(--border-soft);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-size:.86em}.post-body blockquote{border-left:3px solid var(--violet);margin:0 0 18px;padding:4px 0 4px 18px}.post-body hr{border:0;border-top:1px solid var(--border-soft);margin:40px 0}.table-wrap{border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin:0 0 22px;overflow-x:auto}.post-body table{border-collapse:collapse;width:100%;font-size:.9rem}.post-body th,.post-body td{text-align:left;border-bottom:1px solid var(--border-soft);color:var(--text-muted);vertical-align:top;padding:10px 14px}.post-body th{color:var(--text);font-family:var(--font-mono);background:var(--surface-2);font-size:.78rem;font-weight:600}.post-body tr:last-child td{border-bottom:none}.post-body td code{white-space:nowrap}.post-body{--shiki-foreground:var(--text);--shiki-background:var(--bg-alt);--shiki-token-keyword:var(--violet);--shiki-token-string:var(--mint);--shiki-token-string-expression:var(--mint);--shiki-token-comment:var(--text-dim);--shiki-token-constant:var(--rose);--shiki-token-function:var(--amber);--shiki-token-parameter:var(--text);--shiki-token-punctuation:var(--text-muted);--shiki-token-link:var(--mint);--shiki-token-inserted:var(--mint);--shiki-token-deleted:var(--rose);--shiki-token-changed:var(--amber)}.post-body figure[data-rehype-pretty-code-figure]{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-alt);margin:0 0 22px;overflow:hidden}.post-body [data-rehype-pretty-code-title]{font-family:var(--font-mono);color:var(--text-dim);border-bottom:1px solid var(--border-soft);background:var(--surface-2);padding:9px 16px;font-size:.75rem}.post-body figure[data-rehype-pretty-code-figure]{position:relative}.post-body pre{font-family:var(--font-mono);color:var(--shiki-foreground);background:var(--shiki-background);tab-size:2;margin:0;padding:16px 18px;font-size:.84rem;line-height:1.7;overflow-x:auto}.post-body pre code{display:grid}.code-copy{background:var(--surface);opacity:0;transition:opacity .2s,border-color .2s,color .2s;position:absolute;top:6px;right:8px}.post-body figure:hover .code-copy,.code-copy:focus-visible{opacity:1}@media (hover:none){.code-copy{opacity:1}.post-body figure:not(:has(figcaption)) pre{padding-top:40px}}.callout{border:1px solid var(--border-soft);border-left:3px solid var(--mint);border-radius:var(--radius-sm);background:var(--surface);margin:0 0 22px;padding:14px 18px}.prose .callout-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mint);margin-bottom:6px;font-size:.76rem}.prose .callout>p:last-child{margin-bottom:0}.callout-tip{border-left-color:var(--amber)}.prose .callout-tip .callout-title{color:var(--amber)}.callout-warning{border-left-color:var(--rose)}.prose .callout-warning .callout-title{color:var(--rose)}.post-project{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);margin-top:56px;padding:24px 26px}.post-project h2{margin:4px 0 10px;font-size:1.15rem}.post-project p{color:var(--text-muted);margin-bottom:16px;font-size:.95rem}.post-more{max-width:760px;margin-top:64px}.post-more h2{margin-bottom:16px;font-size:1.1rem}.post-more ul{gap:10px;margin-bottom:28px;display:grid}.post-more li{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;display:flex}.post-more li a{transition:color .2s}.post-more li a:hover{color:var(--amber)}.post-more time{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.78rem}@media (max-width:720px){.post-card{padding:22px 20px}.post-more li{flex-direction:column;gap:4px}.post-body pre{font-size:.8rem}}.nav-links a.nav-play{color:var(--violet)}.pg{margin-top:36px}.pg-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.pg-select{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:10px;font-size:.8rem;display:flex}.pg-select select{font-family:var(--font-mono);color:var(--text);cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239997ab' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--border);appearance:none;border-radius:9px;padding:10px 38px 10px 14px;font-size:.88rem}.pg-select select:hover{border-color:var(--text-dim)}.pg-select select:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.pg-select option{background:var(--surface);color:var(--text)}.pg-actions{flex-wrap:wrap;gap:10px;display:flex}.pg-actions .btn{padding:10px 18px;font-size:.84rem}.pg-actions .btn:disabled{cursor:not-allowed}.pg-desc{color:var(--text-muted);margin-top:16px;font-size:.95rem}.pg-desc a{color:var(--amber);white-space:nowrap}.pg-notice{color:var(--text-muted);background:var(--surface);border:1px solid var(--border-soft);border-left:3px solid var(--mint);border-radius:var(--radius-sm);margin-top:12px;padding:10px 14px;font-size:.9rem}.pg-notice.is-warn{border-left-color:var(--rose)}.pg-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.pg-panel{flex-direction:column;min-width:0;height:min(70vh,560px);display:flex;box-shadow:0 30px 60px -30px #0009}.pg-panel .terminal-bar{flex:none}.pg-editor{background:var(--bg-alt);flex:1;min-height:0;position:relative}.pg-host,.pg-host .cm-editor{height:100%}.pg-editor,.pg-output{font-variant-ligatures:none}.pg-fallback{white-space:pre;tab-size:2;font-family:var(--font-mono);color:var(--text-muted);margin:0;padding:14px 18px 14px 52px;font-size:.86rem;line-height:1.7;position:absolute;inset:0;overflow:auto}.pg-output{overscroll-behavior:contain;background:var(--bg-alt);min-height:0;font-family:var(--font-mono);flex:1;padding:12px 16px;font-size:.8rem;line-height:1.6;overflow:auto}.pg-line{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);border-bottom:1px solid #ffffff08;padding:3px 0}.pg-line.is-info{color:var(--mint)}.pg-line.is-debug{color:var(--text-dim)}.pg-line.is-warn{color:var(--amber)}.pg-line.is-error{color:var(--rose)}.pg-line.is-note{color:var(--text-dim);font-style:italic}.pg-line.is-pre{white-space:pre;overflow-wrap:normal;overflow-x:auto}.pg-empty{color:var(--text-dim)}.pg-status{border-top:1px solid var(--border-soft);background:var(--surface-2);font-family:var(--font-mono);color:var(--text-dim);flex:none;padding:9px 16px;font-size:.76rem}.pg-status.is-ok{color:var(--mint)}.pg-status.is-bad{color:var(--rose)}.pg-clear{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);background:0 0;border-radius:6px;margin-left:auto;padding:3px 9px;font-size:.72rem}.pg-clear:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.pg-clear:disabled{opacity:.4;cursor:default}.pg-hint{font-family:var(--font-mono);color:var(--text-dim);margin-top:12px;font-size:.75rem}.pg-how{max-width:760px;margin-top:56px}.pg-how h2{margin-bottom:14px;font-size:1.1rem}.pg-how li{color:var(--text-muted);margin-bottom:10px;padding-left:22px;font-size:.95rem;position:relative}.pg-how li:before{content:"▹";color:var(--amber);position:absolute;left:0}@media (max-width:900px){.pg-grid{grid-template-columns:1fr}.pg-panel{height:auto}.pg-editor{flex:none;height:min(60vh,440px)}.pg-output{flex:none;height:300px}}@media (max-width:720px){.pg-select{flex:100%}.pg-select select{flex:1;min-width:0}.pg-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.pg-actions .btn{justify-content:center;padding:10px 12px}}.nav-links a.nav-ctf{color:var(--rose)}.ctf-progress{max-width:520px;margin-top:32px}.ctf-progress-text{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.ctf-reset{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.ctf-reset:hover{color:var(--text)}.ctf-bar{background:var(--surface-2);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.ctf-bar span{background:linear-gradient(90deg, var(--rose), var(--mint));height:100%;transition:width .4s var(--ease);display:block}.ctf-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;margin-top:48px;display:grid}.ctf-team{--team:var(--rose)}.ctf-team.ctf-blue{--team:#8fb8ff}.ctf-team.ctf-osint{--team:var(--amber);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;column-gap:28px;display:grid}.ctf-team.ctf-osint>h2,.ctf-team.ctf-osint>.ctf-team-desc{grid-column:1/-1}.ctf-team h2{align-items:center;gap:10px;font-size:1.25rem;display:flex}.ctf-team h2:before{content:"";background:var(--team);width:10px;height:10px;box-shadow:0 0 12px var(--team);border-radius:50%}.ctf-team-desc{color:var(--text-muted);margin-top:6px;font-size:.92rem}.ctf-card{border:1px solid var(--border-soft);border-top:3px solid var(--team);border-radius:var(--radius);background:var(--surface);margin-top:18px;padding:26px}.ctf-meta{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:.72rem;display:flex}.ctf-meta>span{border:1px solid var(--border);border-radius:999px;padding:3px 9px}.ctf-meta .ctf-id{color:var(--team);border-color:var(--team)}.ctf-meta .ctf-solved{color:var(--mint);border-color:var(--mint)}.ctf-card h3{margin-top:14px;font-size:1.12rem;line-height:1.3}.ctf-brief{margin:18px 0 0}.ctf-brief dt{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:14px;font-size:.72rem}.ctf-brief dd{color:var(--text-muted);margin:5px 0 0;font-size:.94rem}.ctf-brief code,.ctf-tools code{font-family:var(--font-mono);color:var(--amber);overflow-wrap:anywhere;font-size:.82rem}.ctf-files{margin:0;padding:0;list-style:none}.ctf-files li{margin-top:4px}.ctf-files a{color:var(--team);text-underline-offset:3px;text-decoration:underline}.ctf-files a.ctf-download{border:1px solid var(--team);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text);align-items:center;gap:8px;width:fit-content;margin:8px 0 2px;padding:7px 12px;font-size:.8rem;text-decoration:none;display:flex}.ctf-files a.ctf-download:hover{background:var(--surface-2)}.ctf-files a.ctf-download span{color:var(--text-dim)}.ctf-hints{margin-top:22px}.ctf-hints h4{margin-bottom:10px;font-size:.92rem}.ctf-hints h4 span{color:var(--text-dim);margin-left:6px;font-size:.8rem;font-weight:400}.ctf-hints details{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-alt);margin-top:8px}.ctf-hints summary{cursor:pointer;color:var(--text);gap:8px;padding:11px 14px;font-size:.88rem;list-style:none;display:flex}.ctf-hints summary::-webkit-details-marker{display:none}.ctf-hints summary:before{content:"▸";color:var(--team);transition:transform .2s}.ctf-hints details[open] summary:before{transform:rotate(90deg)}.ctf-hints details>:not(summary){margin:0 14px}.ctf-hints details p{color:var(--text-muted);font-size:.9rem}.ctf-tools-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;margin-top:12px!important}.ctf-tools{padding:0;list-style:none;margin:6px 14px 14px!important}.ctf-tools li{color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;padding-left:18px;font-size:.86rem;position:relative}.ctf-tools li:before{content:"▹";color:var(--amber);position:absolute;left:0}.ctf-tools b{color:var(--text);font-weight:600;font-family:var(--font-mono);font-size:.82rem}.ctf-flag{margin-top:22px}.ctf-flag label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.72rem;display:block}.ctf-flag-row{gap:10px;display:flex}.ctf-flag input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-alt);min-width:0;color:var(--text);font-family:var(--font-mono);flex:1;padding:11px 14px;font-size:.88rem}.ctf-flag input:focus{border-color:var(--team);outline:none}.ctf-flag .btn{flex:none}.ctf-flag-msg{min-height:1.4em;color:var(--text-muted);margin-top:8px;font-size:.86rem}.ctf-flag-msg.ok{color:var(--mint)}.ctf-flag-msg.bad{color:var(--rose)}@media (max-width:900px){.ctf-grid{grid-template-columns:1fr}}@media (max-width:720px){.ctf-card{padding:22px 18px}.ctf-flag-row{flex-direction:column}}.nav-links a.nav-cctv{color:var(--mint)}.cctv-clock{font-family:var(--font-mono);color:var(--text-muted);margin-top:14px;font-size:.8rem}.cctv-clock-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-right:6px;font-size:.7rem}.cctv-pulse{background:var(--mint);border-radius:50%;flex:none;width:9px;height:9px;animation:2s infinite cctv-pulse;display:inline-block;box-shadow:0 0 #6ee7b78c}.cctv-pulse.is-warn{background:var(--amber);box-shadow:none;animation:none}@keyframes cctv-pulse{0%{box-shadow:0 0 #6ee7b78c}70%{box-shadow:0 0 0 8px #6ee7b700}to{box-shadow:0 0 #6ee7b700}}.cctv-dir{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg, var(--surface), var(--bg-alt));margin-top:26px;padding:22px}.cctv-dir-head h2{font-size:1.1rem}.cctv-dir-total{font-family:var(--font-mono);color:var(--mint);align-items:center;gap:8px;margin-top:10px;font-size:.8rem;display:flex}.cctv-dir-scopes{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.cctv-dir-scope h3{font-size:.8rem}.cctv-dir-scope-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:3px 10px;font-size:.72rem;display:inline-block}.cctv-dir-scope-tag.is-indonesia{color:var(--rose)}.cctv-dir-scope-tag.is-global{color:var(--violet)}.cctv-dir-group{grid-template-columns:110px 1fr;align-items:start;gap:6px 12px;margin-top:12px;display:grid}.cctv-dir-group-name{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;padding-top:7px;font-size:.7rem}.cctv-dir-group ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cctv-dir-group a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:baseline;gap:8px;padding:6px 12px;font-size:.86rem;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.cctv-dir-group a:hover{border-color:var(--text-dim)}.cctv-dir-group a[aria-current=page]{border-color:var(--mint);background:#6ee7b71a}.cctv-dir-city{align-items:baseline;gap:5px;display:inline-flex}.cctv-dir-cc{font-family:var(--font-mono);color:var(--text-dim);font-size:.62rem}.cctv-dir-count{font-family:var(--font-mono);color:var(--mint);white-space:nowrap;font-size:.68rem}.cctv-dir-count.is-warn{color:var(--amber)}@media (max-width:900px){.cctv-dir-scopes{grid-template-columns:1fr}}@media (max-width:520px){.cctv-dir{padding:16px}.cctv-dir-group{grid-template-columns:1fr}.cctv-dir-group-name{padding-top:0}}.cctv-section{margin-top:48px}.cctv-section h2{font-size:1.25rem}.cctv-section-sub{color:var(--text-muted);max-width:72ch;margin-top:6px;font-size:.92rem}.cctv-loading{font-family:var(--font-mono);color:var(--text-dim);margin-top:20px;font-size:.85rem}.cctv{margin-top:20px}.cctv-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.cctv-search{grid-column:span 2}.cctv-field{flex-direction:column;gap:6px;min-width:0;display:flex}.cctv-field>span{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.cctv-field input[type=search],.cctv-field select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:.9rem}.cctv-field select option{background:var(--surface);color:var(--text)}.cctv-field input:focus-visible,.cctv-field select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.cctv-field input[type=range]{accent-color:var(--mint);margin-top:10px}.cctv-field input[type=range]:disabled{opacity:.4}.cctv-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.cctv-summary p{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.cctv-export{gap:8px;display:flex}.cctv-export .btn{padding:8px 14px;font-size:.78rem}.cctv-export .btn:disabled{cursor:not-allowed}.cctv-chip{--k:var(--text-dim);border:1px solid var(--k);font-family:var(--font-mono);color:var(--k);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.7rem;display:inline-block}.cctv-k-camera{--k:var(--mint)}.cctv-k-alpr{--k:var(--amber)}.cctv-k-speed{--k:var(--rose)}.cctv-k-guard{--k:var(--violet)}.cctv-k-other{--k:var(--text-dim)}.cctv-s-live{--k:var(--rose)}.cctv-s-map{--k:var(--mint)}.cctv-s-dataset{--k:var(--amber)}.cctv-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:18px;margin-top:16px;display:grid}.cctv-map{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);margin:0;overflow:hidden}.cctv-map svg{width:100%;height:auto;display:block}.cctv-map figcaption{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);padding:8px 14px;font-size:.7rem}.cctv-gridline{stroke:var(--border-soft);stroke-width:1px}.cctv-landmark rect{fill:none;stroke:var(--text-dim);stroke-width:1.5px}.cctv-landmark text{fill:var(--text-dim);font-family:var(--font-mono);pointer-events:none;font-size:14px}.cctv-landmark.is-ref rect{stroke:var(--amber);fill:var(--amber)}.cctv-landmark.is-ref text{fill:var(--amber)}.cctv-radius{fill:#f2b84b14;stroke:var(--amber);stroke-dasharray:6 6;stroke-width:1.5px}.cctv-dot{fill:var(--k);fill-opacity:.8;cursor:pointer;transition:r .15s}.cctv-dot:hover{fill-opacity:1;r:6px}.cctv-dot.is-sel{fill-opacity:1;stroke:var(--text);stroke-width:2px}.cctv-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px}.cctv-hint{color:var(--text-muted);font-size:.92rem}.cctv-detail-head{justify-content:space-between;align-items:center;display:flex}.cctv-close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:1.4rem;line-height:1}.cctv-close:hover{color:var(--text)}.cctv-detail h3{overflow-wrap:anywhere;margin-top:12px;font-size:1.05rem}.cctv-detail dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 0;font-size:.88rem;display:grid}.cctv-detail dt{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;padding-top:2px;font-size:.72rem}.cctv-detail dd{color:var(--text-muted);overflow-wrap:anywhere;margin:0}.cctv-detail code{font-family:var(--font-mono);color:var(--amber);font-size:.82rem}.cctv-copy{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:1px 7px;font-size:.7rem}.cctv-copy:hover{color:var(--text);border-color:var(--text-dim)}.cctv-pivots-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:18px;font-size:.7rem}.cctv-pivots{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.cctv-pivots a{border:1px solid var(--border);font-family:var(--font-mono);color:var(--mint);border-radius:8px;padding:6px 11px;font-size:.76rem;transition:border-color .2s;display:inline-block}.cctv-pivots a:hover{border-color:var(--mint)}.cctv-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.cctv-list button{text-align:left;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:11px 14px;transition:border-color .2s;display:grid}.cctv-list button:hover{border-color:var(--text-dim)}.cctv-list button.is-sel{border-color:var(--mint)}.cctv-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.cctv-list-meta{font-family:var(--font-mono);color:var(--text-dim);grid-column:1/-1;font-size:.72rem}.cctv-empty{color:var(--text-muted);margin-top:20px}.cctv-more{margin-top:14px;padding:9px 16px;font-size:.8rem}.cctv-sources{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:20px 0 0;padding:0;list-style:none;display:grid}.cctv-source{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.cctv-source h3{font-size:1.02rem}.cctv-source h3 a{transition:color .2s}.cctv-source h3 a:hover{color:var(--mint)}.cctv-source p{color:var(--text-muted);font-size:.9rem}.cctv-source-op{font-family:var(--font-mono);color:var(--text-dim);margin-top:auto;font-size:.72rem}@media (max-width:900px){.cctv-grid{grid-template-columns:1fr}}@media (max-width:720px){.cctv-search{grid-column:1/-1}.cctv-list{grid-template-columns:1fr}}.live-filter{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.live-filter button{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.76rem}.live-filter button[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}.live-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:16px;display:grid}.live-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;overflow:hidden}.live-tile.is-big{grid-column:1/-1}.live-grid.is-s{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.live-grid.is-l{grid-template-columns:repeat(auto-fill,minmax(440px,1fr))}.live-grid.is-s .live-info{padding:9px 11px}.live-grid.is-s .live-info h3{font-size:.84rem}.live-tile.is-off{border-style:dashed}.live-meta-extra{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.live-screen{aspect-ratio:16/9;background:#000;position:relative}.live-screen video,.live-screen img,.live-screen iframe{object-fit:contain;border:0;width:100%;height:100%;position:absolute;inset:0}.live-badge{font-family:var(--font-mono);color:var(--text-dim);pointer-events:none;z-index:1;background:#000000a6;border-radius:6px;padding:2px 8px;font-size:.68rem;position:absolute;top:10px;left:10px}.live-badge.is-live{color:var(--rose)}.live-badge.is-error{color:var(--amber)}.live-error{text-align:center;background:#101018d9;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.live-error p{color:var(--text-muted);font-size:.86rem}.live-error .btn{padding:7px 14px;font-size:.78rem}.live-info{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.live-info h3{font-size:.95rem}.live-meta{font-family:var(--font-mono);color:var(--text-dim);font-size:.7rem}.live-meta a{color:var(--mint)}.live-actions{flex:none;gap:6px;display:flex}.live-actions button,.live-actions a{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;font-size:1rem;display:inline-grid}.live-actions button:hover,.live-actions a:hover,.live-actions button[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}.live-note{font-family:var(--font-mono);color:var(--text-dim);margin-top:12px;font-size:.72rem}@media (max-width:720px){.live-grid{grid-template-columns:1fr}}.live-views{flex-wrap:wrap;gap:6px;padding:10px 14px 0;display:flex}.live-views button{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:3px 9px;font-size:.7rem}.live-views button[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}.live-error a{font-family:var(--font-mono);color:var(--mint);font-size:.74rem}.catalog .cctv-filters{margin-top:18px}.catalog-count{font-family:var(--font-mono);color:var(--text-muted);margin-top:14px;font-size:.8rem}.catalog-pager{font-family:var(--font-mono);color:var(--text-muted);justify-content:center;align-items:center;gap:14px;margin-top:18px;font-size:.8rem;display:flex}.catalog-pager .btn{padding:8px 14px;font-size:.78rem}.catalog-pager .btn:disabled{cursor:not-allowed;opacity:.4}.live-detail{font-family:var(--font-mono);color:var(--amber);font-size:.72rem}.catalog-count.is-warn{color:var(--amber)}.catalog-count .cctv-pulse{vertical-align:1px;margin-right:4px}.catalog-status{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-alt);font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:18px;padding:10px 14px;font-size:.78rem;display:flex}.catalog-status-note{color:var(--text-dim);font-size:.72rem}.catalog-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.catalog-export{margin-left:auto;padding:7px 13px;font-size:.76rem}.seg{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:.74rem;display:inline-flex}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--mint);box-shadow:inset 0 0 0 1px var(--border)}.cctv-dot-inline{background:var(--mint);border-radius:50%;width:7px;height:7px}.cctv-verifying{align-items:center;gap:10px;display:flex}.cctv-verifying:before{content:"";border:2px solid var(--border);border-top-color:var(--mint);border-radius:50%;width:14px;height:14px;animation:.9s linear infinite cctv-spin}@keyframes cctv-spin{to{transform:rotate(360deg)}}.cat-tag{--c:var(--text-dim);border:1px solid var(--c);font-family:var(--font-mono);color:var(--c);white-space:nowrap;border-radius:6px;padding:1px 7px;font-size:.64rem;display:inline-block}.cat-tag.is-live{--c:var(--mint)}.cat-tag.is-warn,.cat-intersection{--c:var(--amber)}.cat-road{--c:#7dd3fc}.cat-toll{--c:var(--rose)}.cat-public{--c:var(--violet)}.cat-transit{--c:#fda4af}.cat-water{--c:#67e8f9}.cat-area{--c:var(--text-dim)}.live-filter button[class*=cat-][aria-pressed=true]{border-color:var(--c);color:var(--c)}.offline-screen{aspect-ratio:16/9;text-align:center;background:repeating-linear-gradient(135deg, var(--bg-alt) 0 12px, var(--surface) 12px 24px);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:relative}.offline-screen p{font-family:var(--font-mono);color:var(--text-dim);font-size:.74rem}.offline-screen .btn{padding:6px 13px;font-size:.74rem}.status-map{margin-top:16px}.status-map svg{max-height:640px}.status-map .cctv-landmark text{font-size:18px}.smap-dot{cursor:pointer;stroke:var(--bg);stroke-width:1.5px;transition:r .15s}.smap-dot.is-live{fill:var(--mint)}.smap-dot.is-off{fill:var(--text-dim);fill-opacity:.55}.smap-dot.is-unknown{fill:var(--amber)}.smap-dot.is-sel{stroke:var(--text);stroke-width:3px}.smap-dot:hover{r:9px}.smap-legend.is-live{color:var(--mint)}.smap-legend.is-off{color:var(--text-dim)}.smap-legend.is-unknown{color:var(--amber)}.smap-empty{padding:24px}.status-map .cctv-side{padding:14px}.status-map .cctv-side .live-tile{border:0}@media (max-width:720px){.catalog-export{margin-left:0}.live-grid.is-l{grid-template-columns:1fr}}.osint-groups-nav{flex-wrap:wrap;gap:8px;margin:28px 0 0;display:flex}.osint-groups-nav a{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:.76rem;text-decoration:none}.osint-groups-nav a:hover,.osint-groups-nav a:focus-visible{color:var(--text);border-color:var(--text-muted)}.osint-group{margin-top:48px;scroll-margin-top:96px}.osint-group-head{flex-direction:column;gap:6px;max-width:72ch;display:flex}.osint-group-code{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.74rem}.osint-group-head h2{font-size:1.5rem}.osint-group-head p{color:var(--text-muted);font-size:.95rem}.osint-group .osint-cards{margin-top:18px}.osint-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:36px 0 0;padding:0;list-style:none;display:grid}.osint-card{--c:var(--mint);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s, transform .2s var(--ease);flex-direction:column;gap:10px;padding:26px;display:flex;position:relative}.osint-card.osint-transit{--c:var(--amber)}.osint-card.osint-etle{--c:var(--rose)}.osint-card:hover,.osint-card:focus-within{border-color:var(--c);transform:translateY(-3px)}.osint-icon{color:var(--c);font-size:1.6rem;line-height:1}.osint-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c);font-size:.72rem}.osint-card h2,.osint-card h3{font-size:1.35rem}.osint-card :is(h2,h3) a:after{content:"";border-radius:inherit;position:absolute;inset:0}.osint-card :is(h2,h3) a:focus-visible{outline:none}.osint-card:has(:is(h2,h3) a:focus-visible){outline:2px solid var(--c);outline-offset:3px}.osint-card p{color:var(--text-muted);font-size:.93rem}.osint-card ul{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.osint-card ul li{color:var(--text-muted);padding-left:18px;font-size:.86rem;position:relative}.osint-card ul li:before{content:"▹";color:var(--c);position:absolute;left:0}.osint-open{font-family:var(--font-mono);color:var(--c);margin-top:auto;padding-top:8px;font-size:.8rem}.nav-links a.nav-practice{color:var(--violet)}.osint-card.practice-playground{--c:var(--violet)}.osint-card.practice-challenge{--c:var(--rose)}.osint-card.practice-osint{--c:var(--amber)}.practice-icon{font-family:var(--font-mono);font-weight:700}.practice-tabs{margin:18px 0 36px}.practice-tabs ul{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;margin:0;padding:4px;list-style:none;display:inline-flex}.practice-tab{--c:var(--mint);font-family:var(--font-mono);color:var(--text-muted);transition:background .2s var(--ease), color .2s var(--ease);border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:.84rem;text-decoration:none;display:inline-flex}.practice-tab:hover{color:var(--text);background:var(--surface-2)}.practice-tab.active{color:var(--text);background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--c)}.practice-tab-icon{color:var(--c);font-weight:700}.practice-tab-playground{--c:var(--violet)}.practice-tab-challenge{--c:var(--rose)}.practice-tab-overview{--c:var(--amber)}@media (max-width:560px){.practice-tabs ul{grid-template-columns:1fr 1fr;display:grid}.practice-tab{justify-content:center;padding:9px 8px;font-size:.8rem}}.krl{margin-top:20px;scroll-margin-top:90px}.krl-filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto;align-items:end}.krl-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;padding-bottom:10px;font-size:.82rem;display:flex}.krl-toggle input{accent-color:var(--mint)}.krl-live-dot{background:var(--mint);width:8px;height:8px;box-shadow:0 0 0 0 var(--mint);border-radius:50%;animation:2s infinite krl-pulse;display:inline-block}@keyframes krl-pulse{0%{box-shadow:0 0 #6ee7b799}70%{box-shadow:0 0 0 7px #6ee7b700}to{box-shadow:0 0 #6ee7b700}}@media (prefers-reduced-motion:reduce){.krl-live-dot{animation:none}}.krl-muted{color:var(--text-muted);font-size:.9rem}.krl-mono{font-family:var(--font-mono);font-size:.85rem}.krl-situation{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;padding:20px}.krl-situation h3{margin-bottom:14px;font-size:1.05rem}.krl-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;display:grid}.krl-stats div{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:12px 14px}.krl-stats dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.68rem}.krl-stats dd{margin:4px 0 0;font-size:1.35rem;font-weight:700}.krl-next{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.krl-next li{border:1px solid var(--border-soft);border-left:4px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-alt);grid-template-columns:1fr auto;gap:2px 10px;padding:10px 14px;display:grid}.krl-next-dest{font-size:.9rem}.krl-next strong{font-family:var(--font-mono);text-align:right;font-size:1.05rem}.krl-next-in{font-family:var(--font-mono);color:var(--mint);font-size:.74rem}.krl-next-last{font-family:var(--font-mono);color:var(--text-dim);text-align:right;font-size:.7rem}.krl-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:20px;overflow-x:auto}.krl-table{border-collapse:collapse;width:100%;font-size:.9rem}.krl-table th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-bottom:1px solid var(--border);padding:10px 14px;font-size:.68rem}.krl-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:10px 14px}.krl-table tbody tr:not(.krl-detail-row) td:first-child{border-left:4px solid var(--line)}.krl-table tr.is-past{opacity:.5}.krl-time{font-family:var(--font-mono);font-size:1rem;display:block}.krl-in{font-family:var(--font-mono);color:var(--mint);font-size:.7rem;display:block}.krl-ka{font-family:var(--font-mono);font-weight:700;display:block}.krl-line{color:var(--text-dim);font-size:.74rem;display:block}.krl-route-btn{border:1px solid var(--border);cursor:pointer;font-family:var(--font-mono);color:var(--text-muted);background:0 0;border-radius:999px;padding:5px 12px;font-size:.74rem}.krl-route-btn:hover,.krl-route-btn[aria-expanded=true]{color:var(--mint);border-color:var(--mint)}.krl-more{margin:14px auto;padding:8px 16px;font-size:.8rem;display:block}.krl-detail-row td{background:var(--bg-alt)}.krl-train-head{font-size:.92rem}.krl-pos{color:var(--mint);align-items:center;gap:8px;margin-top:8px;font-size:.9rem;display:flex}.krl-stops{columns:2 260px;column-gap:28px;margin:14px 0 0;padding:0 0 0 6px;list-style:none}.krl-stops li{break-inside:avoid;color:var(--text-muted);padding:3px 0 3px 20px;font-size:.86rem;position:relative}.krl-stops li:before{content:"";border:2px solid var(--text-dim);background:var(--bg-alt);border-radius:50%;width:9px;height:9px;position:absolute;top:10px;left:2px}.krl-stops li.is-passed{color:var(--text-dim)}.krl-stops li.is-passed:before{background:var(--text-dim)}.krl-stops li.is-here{color:var(--text);font-weight:700}.krl-stops li.is-here:before{border-color:var(--mint);background:var(--mint);box-shadow:0 0 0 4px #6ee7b733}.krl-stops li.is-here.is-between:after{content:"↓";color:var(--mint);font-size:.7rem;position:absolute;top:19px;left:3px}.krl-stops li.is-mine{color:var(--amber)}.krl-note{font-family:var(--font-mono);color:var(--text-dim);margin-top:12px;font-size:.72rem}.krl-map{margin-top:40px}.krl-map h3{font-size:1.1rem}.krl-lines{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:16px;display:grid}.krl-line-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--line);border-radius:var(--radius);padding:18px 20px}.krl-line-card h4{align-items:center;gap:8px;font-size:1rem;display:flex}.krl-swatch{background:var(--line);border-radius:3px;width:12px;height:12px}.krl-line-card>p{margin-top:4px;font-size:.82rem}.krl-strip{flex-wrap:wrap;gap:6px 0;margin:14px 0 0;padding:0;list-style:none;display:flex}.krl-strip.is-branch{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.krl-strip li{color:var(--text-muted);align-items:center;font-size:.76rem;display:flex;position:relative}.krl-strip li+li:before{content:"";background:var(--line);border-radius:2px;width:12px;height:3px;margin:0 4px}.krl-strip button,.krl-strip span{border:1px solid var(--border-soft);background:var(--bg-alt);font:inherit;color:inherit;cursor:pointer;border-radius:999px;padding:2px 7px}.krl-strip span{cursor:default}.krl-strip button:hover{color:var(--text);border-color:var(--line)}.krl-strip li.is-transit button,.krl-strip li.is-transit span{border:2px solid var(--line);color:var(--text);font-weight:700}.krl-strip li.is-current button{background:var(--line);border-color:var(--line);color:#fff}.krl-s-official{--k:var(--mint)}.krl-s-status{--k:var(--rose)}.krl-s-dataset{--k:var(--amber)}@media (max-width:720px){.krl-filters{grid-template-columns:1fr 1fr}.krl-station-field{grid-column:1/-1}.krl-table th:nth-child(4),.krl-table td.krl-mono{display:none}}.krl-retry{margin-top:10px;padding:7px 14px;font-size:.78rem}.etle-notice{border-left:3px solid var(--rose);background:var(--bg-alt);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);margin:0 0 18px;padding:12px 16px;font-size:.88rem}.etle-chip{--k:var(--rose)}.etle-approx{color:var(--text-dim);font-size:.75rem}.etle-corridor{fill:none;stroke:var(--rose);stroke-opacity:.25;stroke-width:2px;stroke-linejoin:round}.etle-corridor.is-on{stroke-opacity:.7;stroke-width:3px}.etle-pt{cursor:pointer}.etle-pt circle{fill:var(--rose);transition:r .15s}.etle-pt .etle-halo{fill:var(--rose);fill-opacity:.18}.etle-pt:hover .etle-halo{fill-opacity:.35}.etle-pt.is-sel circle:not(.etle-halo){stroke:var(--text);stroke-width:2px}.etle-pt.is-off{cursor:default;opacity:.18}.osint-card.osint-flight{--c:#8fb8ff}.fr{--fr-heavy:#f2b84b;--fr-large:#8fb8ff;--fr-small:#6ee7b7;--fr-rotor:#a78bfa;--fr-mil:#c9d36a;--fr-other:#b9b7c9;--fr-ground:#6a6879;--fr-alert:#ff5d73;margin-top:20px}.fr-modes{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.fr-modes button{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 15px;font-size:.8rem}.fr-modes button:hover{color:var(--text)}.fr-modes button.is-on{background:var(--mint);color:var(--bg)}.fr-modes button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.fr-mode-hint{color:var(--text-muted);margin-top:10px;font-size:.88rem}.fr-controls{margin-top:16px}.fr-controls:empty{display:none}.fr-search{display:contents}.fr-scan .btn{padding:9px 14px;font-size:.8rem}.fr-scan .btn:disabled{opacity:.5;cursor:not-allowed}.fr-dot{background:var(--text-dim);border-radius:50%;width:8px;height:8px;display:inline-block}.fr-dot-live{background:var(--mint);animation:2s infinite fr-pulse;box-shadow:0 0 #6ee7b799}.fr-dot-err{background:var(--fr-alert)}@keyframes fr-pulse{70%{box-shadow:0 0 0 7px #6ee7b700}to{box-shadow:0 0 #6ee7b700}}@media (prefers-reduced-motion:reduce){.fr-dot-live{animation:none}}.fr-warn{color:var(--fr-alert)}.fr-muted{color:var(--text-dim)}.fr-small{margin-top:8px;font-size:.8rem}.fr-errors{color:var(--text-dim);margin-top:8px;font-size:.8rem}.fr-errors code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.75rem}.fr-stats{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin:16px 0 0;display:grid}.fr-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:10px 12px}.fr-stats dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.66rem}.fr-stats dd{font-family:var(--font-mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;font-size:1.05rem;overflow:hidden}.fr-stats .is-alert{border-color:var(--fr-alert)}.fr-stats .is-alert dd{color:var(--fr-alert)}.fr-hist{grid-column:span 2}.fr-hist dd{align-items:flex-end;gap:6px;height:42px;display:flex}.fr-hist span{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;height:100%;display:flex}.fr-hist i{background:var(--fr-large);opacity:.75;border-radius:3px 3px 0 0;width:100%;display:block}.fr-hist small{color:var(--text-dim);font-size:.6rem}.fr-filters{margin-top:16px}.fr-checks{gap:4px}.fr-checks label{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:flex}.fr-checks input{accent-color:var(--mint)}.fr-grid{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}.fr-map{position:relative}.fr-map svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.fr-map svg:active{cursor:grabbing}.fr-sea{fill:#0b0b12}.fr-grat{stroke:#fff;stroke-opacity:.05;stroke-width:1px}.fr-hub rect{fill:none;stroke:var(--text-dim);stroke-width:1.2px}.fr-hub text{fill:var(--text-dim);font-family:var(--font-mono);pointer-events:none;font-size:11px}.fr-range circle{fill:none;stroke:var(--mint);stroke-opacity:.35;stroke-dasharray:5 6;stroke-width:1.2px}.fr-range circle:first-child{fill:#6ee7b708}.fr-range path{stroke:var(--mint);stroke-width:1.5px}.fr-range text{fill:var(--mint);fill-opacity:.7;font-family:var(--font-mono);font-size:11px}.fr-route path{fill:none;stroke:var(--amber);stroke-width:1.6px;stroke-opacity:.85}.fr-route .fr-route-next{stroke-dasharray:6 5;stroke-opacity:.6}.fr-route circle{fill:var(--amber)}.fr-route text{fill:var(--amber);font-family:var(--font-mono);paint-order:stroke;stroke:#0b0b12;stroke-width:3px;font-size:12px;font-weight:600}.fr-trail{fill:none;stroke:var(--fr-large);stroke-opacity:.35;stroke-width:1.2px;stroke-linejoin:round}.fr-trail.is-sel{stroke:var(--text);stroke-opacity:.85;stroke-width:2px}.fr-ac{cursor:pointer;--c:var(--fr-other)}.fr-ac path{fill:var(--c);stroke:#0b0b12;stroke-width:1px;vector-effect:non-scaling-stroke}.fr-ac.is-mlat path{fill-opacity:.75}.fr-ac:hover path{fill:var(--text)}.fr-ac text{fill:var(--text);font-family:var(--font-mono);pointer-events:none;paint-order:stroke;stroke:#0b0b12;stroke-width:3px;font-size:11px}.fr-ac .fr-sub{fill:var(--text-dim)}.fr-halo{fill:var(--c);fill-opacity:.16;stroke:var(--c);stroke-opacity:.6}.fr-ac.is-sel path{fill:var(--text)}.fr-ac.is-alert{--c:var(--fr-alert)}.fr-ac.is-alert .fr-halo{animation:1s steps(2,end) infinite fr-blink}@keyframes fr-blink{50%{fill-opacity:.4}}@media (prefers-reduced-motion:reduce){.fr-ac.is-alert .fr-halo{animation:none}}.fr-c-heavy{--c:var(--fr-heavy)}.fr-c-large{--c:var(--fr-large)}.fr-c-small{--c:var(--fr-small)}.fr-c-rotor{--c:var(--fr-rotor)}.fr-c-military{--c:var(--fr-mil)}.fr-c-other{--c:var(--fr-other)}.fr-c-ground{--c:var(--fr-ground)}.fr-zoom{flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.fr-zoom button{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:#101018d9;border-radius:8px;font-size:1.05rem;line-height:1}.fr-zoom button:hover{border-color:var(--mint);color:var(--mint)}.fr-zoom button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.fr-map figcaption{flex-wrap:wrap;justify-content:space-between;gap:6px 14px;display:flex}.fr-legend{flex-wrap:wrap;gap:4px 12px;display:flex}.fr-legend>span{align-items:center;gap:4px;display:inline-flex}.fr-legend svg{width:12px;height:12px}.fr-legend path{fill:var(--c)}.fr-side{max-height:min(80vh,760px);overflow:auto}.fr-badges{flex-wrap:wrap;gap:6px;display:flex}.fr-b-mil{--k:var(--fr-mil)}.fr-b-alert{--k:var(--fr-alert);color:var(--fr-alert)}.fr-b-int{--k:var(--violet)}.fr-b-src{--k:var(--fr-large)}.fr-detail h3{font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:1.25rem;display:flex}.fr-route-head{color:var(--amber);font-size:.85rem}.fr-type-line{color:var(--text-muted);margin-top:4px;font-size:.88rem}.fr-detail-actions{margin-top:10px}.fr-detail-actions button[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}.fr-route-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-alt);margin-top:14px;padding:12px 14px}.fr-route-box ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fr-route-box li{grid-template-columns:auto 1fr;column-gap:8px;display:grid}.fr-route-box b{font-family:var(--font-mono);color:var(--amber)}.fr-route-box li>span{font-family:var(--font-mono);color:var(--text-dim);align-self:center;font-size:.75rem}.fr-route-box li small{color:var(--text-muted);grid-column:1/-1;font-size:.8rem}.fr-route-box>small{margin-top:8px;font-size:.75rem;display:block}.fr-progress{margin-top:10px}.fr-progress i{background:var(--amber);border-radius:2px;height:4px;display:block;box-shadow:inset 0 0 #0000}.fr-progress{background:linear-gradient(var(--border), var(--border)) 0 0 / 100% 4px no-repeat}.fr-progress small{font-family:var(--font-mono);color:var(--text-muted);margin-top:6px;font-size:.72rem;display:block}.fr-sort{flex-direction:row;align-items:center;gap:8px}.fr-sort select{padding:6px 10px}.fr-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:14px;overflow-x:auto}.fr-table{border-collapse:collapse;width:100%;font-size:.84rem}.fr-table th,.fr-table td{text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:7px 10px}.fr-table thead th{background:var(--surface);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:.68rem;font-weight:500;position:sticky;top:0}.fr-table td{color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.fr-table .num{text-align:right}.fr-table tbody th button{color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.84rem;display:inline-flex}.fr-table tbody th button:hover{color:var(--mint)}.fr-table tbody tr:hover{background:var(--bg-alt)}.fr-table tr.is-sel{background:#6ee7b714}.fr-table tr.is-alert th button,.fr-table tr.is-alert td{color:var(--fr-alert)}.fr-swatch{background:var(--c);border-radius:2px;width:8px;height:8px;display:inline-block}.fr-up{color:var(--mint)!important}.fr-down{color:var(--amber)!important}.fr-more{margin:10px auto;padding:8px 16px;font-size:.8rem;display:block}@media (max-width:900px){.fr-grid{grid-template-columns:1fr}.fr-side{max-height:none}}@media (max-width:720px){.fr-hist{grid-column:1/-1}.fr-modes button{padding:6px 11px;font-size:.75rem}}.osint-card.osint-trending{--c:#ff9e6b}.osint-card.osint-trending-global{--c:#6bd8ff}.tr{--fr-alert:#ff5d73;--tr-google:#8fb8ff;--tr-x:#eceaf5;--tr-news:#f2b84b;--tr-wiki:#6ee7b7;--tr-youtube:#ff6b6b;--tr-reddit:#ff9e6b;margin-top:20px}.tr-c-google{--k:var(--tr-google,#8fb8ff)}.tr-c-x{--k:var(--tr-x,#eceaf5)}.tr-c-news{--k:var(--tr-news,#f2b84b)}.tr-c-wiki{--k:var(--tr-wiki,#6ee7b7)}.tr-c-youtube{--k:var(--tr-youtube,#ff6b6b)}.tr-c-reddit{--k:var(--tr-reddit,#ff9e6b)}.tr-tabs{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex}.tr-tabs button{color:var(--text-muted);font-family:var(--font-mono);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:.8rem;display:inline-flex}.tr-tabs button:hover{color:var(--text)}.tr-tabs button.is-on{background:var(--mint);color:var(--bg)}.tr-tabs button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.tr-tabs small{opacity:.75;font-size:.68rem}.tr-dot{background:var(--text-dim);border-radius:50%;flex:none;width:7px;height:7px}.tr-dot-ok{background:var(--mint)}.tr-dot-error{background:#ff5d73}.tr-dot-off{border:1px solid var(--text-dim);background:0 0}.tr-filters{margin-top:14px}.tr-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.tr-side{position:sticky;top:84px}.tr-main{flex-direction:column;gap:18px;min-width:0;display:flex}.tr-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:18px 20px}.tr-block h3{font-size:1rem}.tr-block h3 a:hover{color:var(--mint)}.tr-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tr-sub{color:var(--text-muted);margin-top:6px;font-size:.86rem}.tr-note{border-left:3px solid var(--amber);background:var(--bg-alt);color:var(--text-muted);border-radius:0 8px 8px 0;margin-top:10px;padding:8px 12px;font-size:.82rem}.tr-count{font-family:var(--font-mono);color:var(--text-dim);margin-top:12px;font-size:.75rem}.tr-empty{color:var(--text-dim);margin-top:12px;font-size:.86rem}.tr-check{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.tr-check input{accent-color:var(--mint)}.tr-st-ok{--k:var(--mint)}.tr-st-error{--k:#ff5d73}.tr-st-off{--k:var(--text-dim)}.tr-chip{--k:var(--text-dim);border:1px solid var(--k);font-family:var(--font-mono);color:var(--k);white-space:nowrap;background:0 0;border-radius:999px;padding:1px 8px;font-size:.68rem;line-height:1.6;display:inline-block}button.tr-chip{cursor:pointer}button.tr-chip:hover{background:color-mix(in srgb, var(--k) 15%, transparent)}.tr-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.tr-signals,.tr-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.tr-signal,.tr-row{text-align:left;background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;align-items:center;gap:4px 12px;padding:9px 12px;transition:border-color .2s;display:grid}.tr-signal{grid-template-columns:auto minmax(0,1fr) auto}.tr-row{grid-template-columns:2.2em minmax(0,1fr)}.tr-signal:hover,.tr-row:hover{border-color:var(--text-dim)}.tr-signal.is-sel,.tr-row.is-sel{border-color:var(--mint)}.tr-rank{font-family:var(--font-mono);color:var(--text-dim);text-align:right;grid-row:span 2;align-self:start;padding-top:1px;font-size:.8rem}.tr-title{overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.tr-meta{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;gap:4px 12px;font-size:.7rem;display:flex}.tr-meta:empty{display:none}.tr-hits{color:var(--mint)}.tr-strength{--k:var(--text-dim);font-family:var(--font-mono);white-space:nowrap;color:var(--bg);background:var(--k);border-radius:6px;padding:2px 8px;font-size:.68rem}.tr-strength[data-n="1"]{--k:var(--text-dim)}.tr-strength[data-n="2"]{--k:var(--amber)}.tr-strength[data-n="3"]{--k:#ff9e6b}.tr-strength[data-n="4"]{--k:#ff5d73}.tr-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px;display:grid}.tr-card{background:var(--bg-alt);border:1px solid var(--border-soft);border-top:3px solid var(--k);border-radius:var(--radius-sm);min-width:0;padding:14px}.tr-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tr-card h4{font-family:var(--font-mono);color:var(--k);margin:0;font-size:.85rem}.tr-link{font-family:var(--font-mono);color:var(--text-dim);background:0 0;border:0;padding:0;font-size:.72rem}.tr-link:hover{color:var(--text)}.tr-list-compact{gap:4px;margin-top:8px}.tr-list-compact .tr-row{background:var(--surface);padding:6px 8px}.tr-list-compact .tr-title{font-size:.84rem;font-weight:500}.tr-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.tr-actions .btn{padding:8px 14px;font-size:.8rem}.tr-related{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tr-related li{flex-direction:column;gap:2px;font-size:.86rem;display:flex}.tr-related a{color:var(--text);overflow-wrap:anywhere}.tr-related a:hover{color:var(--mint)}.tr-related span{font-family:var(--font-mono);color:var(--text-dim);font-size:.7rem}.tr-region{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-top:18px;padding:4px;display:flex}.tr-region a{font-family:var(--font-mono);color:var(--text-muted);border-radius:999px;padding:6px 16px;font-size:.8rem;text-decoration:none}.tr-region a:hover{color:var(--text)}.tr-region a.is-on{background:var(--mint);color:var(--bg)}.tr-region a:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.tr-countries{flex-wrap:wrap;gap:2px 8px;display:inline-flex}.tr-country{white-space:nowrap}.tr-signal .tr-countries{font-family:var(--font-mono);color:var(--text-dim);font-size:.7rem}.tr-country-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tr-chip.is-on{background:color-mix(in srgb, var(--k) 20%, transparent);color:var(--text)}@media (max-width:900px){.tr-grid{grid-template-columns:1fr}.tr-side{scroll-margin-top:84px;position:static}}@media (max-width:720px){.tr-tabs button{padding:6px 10px;font-size:.75rem}.tr-block{padding:14px}.tr-signal{grid-template-columns:minmax(0,1fr)}}.osint-card.osint-quake{--c:#ff6b6b}.qk{--qk-shallow:#ff5d73;--qk-mid:#f2b84b;--qk-deep:#6bb8ff;margin-top:20px}.qk-d-shallow{--k:var(--qk-shallow)}.qk-d-intermediate{--k:var(--qk-mid)}.qk-d-deep{--k:var(--qk-deep)}.qk-c-bmkg{--k:#6ee7b7}.qk-c-usgs{--k:#8fb8ff}.qk-latest{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--qk-shallow);border-radius:var(--radius);padding:18px 20px}.qk-latest h3{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.qk-latest-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-top:12px;display:flex}.qk-latest-main{flex:320px;align-items:flex-start;gap:16px;min-width:0;display:flex}.qk-latest-place{text-align:left;color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:1.1rem;font-weight:700}.qk-latest-place:hover{color:var(--mint)}.qk-latest-meta{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:.75rem;display:flex}.qk-tsunami{color:var(--text-muted);margin-top:8px;font-size:.86rem}.qk-tsunami.is-risk,.qk-risk{color:#ff5d73;font-weight:700}.qk-felt,.qk-cross{color:var(--text-muted);margin-top:6px;font-size:.84rem}.qk-cross{font-family:var(--font-mono);color:var(--mint);font-size:.75rem}.qk-shakemap{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex:none;display:block;overflow:hidden}.qk-shakemap img{width:200px;height:auto;display:block}.qk-shakemap-side{width:fit-content;margin-top:16px}.qk-shakemap-side img{width:100%;max-width:320px}.qk-mag{--k:var(--text-dim);min-width:2.6em;font-family:var(--font-mono);color:var(--bg);background:var(--k);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:3px 6px;font-size:.8rem;font-weight:700;display:inline-flex}.qk-mag.is-big{border-radius:12px;min-width:3.2em;padding:10px 8px;font-size:1.35rem}.qk-m-minor{--k:#8b8aa3}.qk-m-light{--k:#6ee7b7}.qk-m-moderate{--k:#f2b84b}.qk-m-strong{--k:#ff9e6b}.qk-m-major{--k:#ff5d73}.qk-filters{margin-top:14px}.qk-seg{border:1px solid var(--border);background:var(--bg-alt);border-radius:10px;gap:2px;width:fit-content;padding:3px;display:flex}.qk-seg button{color:var(--text-muted);font-family:var(--font-mono);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:.76rem}.qk-seg button:hover{color:var(--text)}.qk-seg button.is-on{background:var(--mint);color:var(--bg)}.qk-seg button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.qk-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.qk-stats li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-dim);padding:10px 14px;font-size:.72rem}.qk-stats strong{color:var(--text);font-size:1.2rem;display:block}.qk-stats li.is-alert strong{color:#ff5d73}.qk-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.qk-main{flex-direction:column;gap:18px;min-width:0;display:flex}.qk-side{position:sticky;top:84px}.qk-map svg{-webkit-user-select:none;user-select:none}.qk-dot{cursor:pointer}.qk-dot circle{fill:var(--k);fill-opacity:.55;stroke:var(--k);stroke-width:1.2px}.qk-dot.qk-s-usgs circle{fill-opacity:.25;stroke-dasharray:3 2}.qk-dot:hover circle{fill-opacity:.9}.qk-dot .qk-pulse{fill:none;stroke:#fff;stroke-dasharray:none;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite qk-pulse}@keyframes qk-pulse{0%{stroke-opacity:.9;transform:scale(1)}to{stroke-opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.qk-dot .qk-pulse{stroke-opacity:.8;animation:none}}.qk-ring{fill:none;stroke:var(--mint);stroke-width:2px}.qk-legend{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.qk-legend>span{align-items:center;gap:4px;display:inline-flex}.qk-sw{--k:var(--text-dim);background:color-mix(in srgb, var(--k) 60%, transparent);border:1px solid var(--k);border-radius:50%;width:10px;height:10px;display:inline-block}.qk-legend .qk-d-shallow{--k:var(--qk-shallow)}.qk-legend .qk-d-intermediate{--k:var(--qk-mid)}.qk-legend .qk-d-deep{--k:var(--qk-deep)}.qk-sw-new{background:0 0;border:1.5px solid #fff}.qk-sw-usgs{border:1px dashed var(--text-muted);background:0 0}.qk-row{text-align:left;background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;padding:9px 12px;transition:border-color .2s;display:grid}.qk-row .qk-mag{grid-row:span 2}.qk-row:hover{border-color:var(--text-dim)}.qk-row.is-sel{border-color:var(--mint)}.qk-depth{color:var(--k)}.qk-flag{color:var(--amber)}.qk-flag.is-risk{color:#ff5d73;font-weight:700}.qk-alert{--k:var(--text-dim);color:var(--bg);background:var(--k);font-family:var(--font-mono);border-radius:4px;padding:0 6px;font-size:.68rem}.qk-a-green{--k:#6ee7b7}.qk-a-yellow{--k:#f2d24b}.qk-a-orange{--k:#ff9e6b}.qk-a-red{--k:#ff5d73}.qk-more{margin-top:12px}.qk-detail-title{align-items:center;gap:12px;margin-top:12px;display:flex}.qk-detail-title h3{margin:0}.qk-cross-link{text-align:left;color:var(--mint);font-size:.8rem}@media (max-width:900px){.qk-grid{grid-template-columns:1fr}.qk-side{scroll-margin-top:84px;position:static}}@media (max-width:720px){.qk-latest{padding:14px}.qk-shakemap img{width:160px}}.osint-card.osint-traffic{--c:#ff9e6b}.tf{margin-top:20px}.tf-c-waze{--k:#6bd4ff}.tf-c-tomtom{--k:#ff9e6b}.tf-l-1{--k:#6ee7b7}.tf-l-2{--k:#f2d24b}.tf-l-3{--k:#ff9e6b}.tf-l-4{--k:#ff5d73}.tf-l-5{--k:#c0264a}.tf-v-moderate{--k:#f2d24b}.tf-v-heavy{--k:#ff9e6b}.tf-v-severe{--k:#ff5d73}.tf-a-jam{--k:#a7a6bd}.tf-a-accident{--k:#ff5d73}.tf-a-closure{--k:#c084fc}.tf-a-flood{--k:#6bb8ff}.tf-a-construction{--k:#f2b84b}.tf-a-hazard{--k:#ff9e6b}.tf-filters{margin-top:14px}.tf-toggles{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:.72rem;display:flex}.tf-toggle{border:1px solid var(--border);color:var(--text-muted);font:inherit;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.tf-toggle i{color:var(--k);font-style:normal}.tf-toggle.is-on{border-color:var(--k);color:var(--text);background:color-mix(in srgb, var(--k) 12%, transparent)}.tf-toggle:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.tf-stats li{position:relative;overflow:hidden}.tf-trend{margin-left:6px;font-weight:700}.tf-trend.is-up{color:#ff5d73}.tf-trend.is-down{color:#6ee7b7}.tf-spark{width:100%;height:22px;margin-top:4px;display:block}.tf-spark path{fill:none;stroke:var(--mint);stroke-width:1.5px;vector-effect:non-scaling-stroke}.tf-map svg{-webkit-user-select:none;user-select:none}.tf-ground{fill:var(--bg-alt)}.tf-cams circle{fill:var(--text-dim);fill-opacity:.35}.tf-jam{fill:none;stroke:var(--k);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.9}.tf-jam.tf-l-4{stroke-width:4px}.tf-jam.tf-l-5{stroke-width:5px}.tf-jam.tf-s-tomtom{stroke-dasharray:6 4}.tf-jam:hover{stroke-opacity:1;stroke-width:6px}.tf-alert circle{fill:var(--k);fill-opacity:.85;stroke:var(--bg);stroke-width:1px;vector-effect:non-scaling-stroke}.tf-alert.tf-a-jam circle{fill-opacity:.5}.tf-spot{cursor:pointer}.tf-spot circle{fill:var(--bg);fill-opacity:.85;stroke:var(--k);stroke-width:2px;vector-effect:non-scaling-stroke}.tf-spot text{fill:var(--text);font-family:var(--font-mono);pointer-events:none;font-weight:700}.tf-spot:hover circle,.tf-spot.is-sel circle{fill:var(--k)}.tf-spot:hover text,.tf-spot.is-sel text{fill:var(--bg)}.tf-sw{background:var(--k);border-radius:2px;width:16px;height:4px;display:inline-block}.tf-sw-cam{background:var(--text-dim);opacity:.6;border-radius:50%;width:6px;height:6px;display:inline-block}.tf-row{grid-template-columns:auto minmax(0,1fr)}.tf-rank{min-width:2.2em;height:2.2em;font-family:var(--font-mono);color:var(--bg);background:var(--k);border-radius:50%;grid-row:span 2;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.tf-more-streets{color:var(--text-dim);font-size:.85em;font-weight:400}.tf-lvl{color:var(--k);font-weight:700}.tf-cause{color:var(--k)}.tf-sev{font-family:var(--font-mono);color:var(--bg);background:var(--k);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700}.tf-also{color:var(--text-muted);margin-top:4px;font-size:.82rem}.tf-conf{font-weight:700}.tf-signals{color:var(--text-muted);margin:4px 0 0;padding-left:18px;font-size:.82rem}.tf-reports{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;font-size:.84rem;list-style:none;display:flex}.tf-reports li{align-items:baseline;gap:8px;display:flex}.tf-reports i{color:var(--k);text-align:center;flex:none;width:1.2em;font-style:normal}.tf-reports small{color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem}.tf-note{color:var(--text-muted);font-size:.84rem}.tf-cam-list{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:.84rem;list-style:none;display:flex}.tf-cam-list button{text-align:left}.tf-cam-list button.is-on{color:var(--mint);font-weight:700}.tf-cam-list small{color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem}.tf-cam{margin-top:10px}.tf-cam .live-tile{width:100%}.tf-streets{counter-reset:tf;flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tf-streets li{counter-increment:tf;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.86rem;display:grid}.tf-street-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tf-street-name:before{content:counter(tf) ". ";color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem}.tf-bar{background:var(--bg-alt);border-radius:3px;height:6px;overflow:hidden}.tf-bar span{background:var(--k);border-radius:3px;height:100%;display:block}.tf-street-km{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.72rem}@media (max-width:720px){.tf-streets li{grid-template-columns:minmax(0,1fr) auto}.tf-bar{grid-area:2/1/auto/-1}}.osint-card.osint-onion{--c:#c084fc}.on{margin-top:20px}.on-v-blocked{--k:#c0264a}.on-v-malicious{--k:#ff5d73}.on-v-suspicious{--k:#ff9e6b}.on-v-unknown{--k:#a7a6bd}.on-v-likely-safe{--k:#6bd4ff}.on-v-trusted,.on-l-good{--k:var(--mint)}.on-l-info{--k:#a7a6bd}.on-l-warn{--k:#f2d24b}.on-l-bad{--k:#ff5d73}.on-ok{color:var(--mint)}.on-bad{color:#ff5d73;font-weight:700}.on-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.on-input{flex:320px}.on-input input{font-family:var(--font-mono)}.on-crawl{white-space:nowrap;padding:10px 0}.on-crawl.is-off{opacity:.55;cursor:not-allowed}.on-form .btn{padding:10px 22px}.on-form .btn:disabled{opacity:.6;cursor:wait;transform:none}.on-examples{font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:.72rem;display:flex}.on-result{scroll-margin-top:90px}.on-loading{align-items:center;gap:10px;display:flex}.on-spin{border:2px solid var(--border);border-top-color:var(--mint);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite on-spin}@keyframes on-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.on-spin{animation-duration:2.4s}}.on-error,.on-hint{margin-top:16px}.on-verdict{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--k);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:14px 24px;margin-top:20px;padding:20px 22px;display:grid}.on-verdict-main{min-width:0}.on-verdict-main p{color:var(--text-muted);margin-top:8px;font-size:.9rem}.on-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--bg);background:var(--k);border-radius:6px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-block}.on-host{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:1rem;display:flex}.on-host code{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere}.on-official{font-weight:600;color:var(--mint)!important}.on-official a{color:var(--mint)}.on-meter{font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem}.on-meter strong{color:var(--k);font-size:2rem;line-height:1}.on-meter-bar{background:linear-gradient(90deg, var(--mint), #f2d24b 45%, #ff5d73);opacity:.25;border-radius:4px;height:8px;margin-top:8px;display:block;position:relative}.on-meter-bar span{background:var(--k);border-radius:4px;position:absolute;inset:0 auto 0 0}.on-meter-bar{opacity:1;background:var(--bg-alt)}.on-scale{grid-template-columns:repeat(6,1fr);gap:3px;margin:8px 0 0;padding:0;list-style:none;display:grid}.on-scale li{background:var(--k);opacity:.25;border-radius:2px;height:4px}.on-scale li.is-on{opacity:1}.on-verdict-foot{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;font-size:.72rem;display:flex}.on-verdict-foot .btn{padding:6px 12px;font-size:.74rem}.on-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.on-signals{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.on-signals li{background:var(--bg-alt);border:1px solid var(--border-soft);border-left:3px solid var(--k);border-radius:var(--radius-sm);grid-template-columns:1.6em minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:8px 12px;font-size:.86rem;display:grid}.on-signals i{color:var(--k);text-align:center;font-style:normal;font-weight:700}.on-signals small{font-family:var(--font-mono);color:var(--k);font-size:.7rem}.on-crawl-status{color:var(--text-muted);margin-top:10px;font-size:.86rem}.on-c-blocked{color:#ff5d73;font-weight:600}.on-c-error{color:#ff9e6b}.on-crawl-now{margin-top:10px;padding:6px 14px;font-size:.8rem}.on-cats{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.on-pages{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.on-pages li{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);min-width:0;padding:10px 12px}.on-page-head{flex-wrap:wrap;justify-content:space-between;gap:6px 12px;display:flex}.on-page-head code{font-family:var(--font-mono);color:var(--amber);overflow-wrap:anywhere;font-size:.78rem}.on-page-title{overflow-wrap:anywhere;margin-top:6px;font-size:.92rem;display:block}.on-page-desc{color:var(--text-muted);margin-top:4px;font-size:.82rem}.on-page-text{color:var(--text-dim);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;font-size:.8rem;display:-webkit-box;overflow:hidden}.on-hash{font-family:var(--font-mono);color:var(--text-dim);margin-top:4px;font-size:.66rem;display:block}.on-iocs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0 0;display:grid}.on-iocs dt{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.on-iocs dd{margin:4px 0 0}.on-iocs ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.on-iocs code{font-family:var(--font-mono);color:var(--text-muted);overflow-wrap:anywhere;font-size:.74rem}.on-iocs .tr-link code{color:var(--mint)}.on-side{position:sticky;top:84px}.on-side .cctv-pivots-label:first-child{margin-top:0}.on-side dl{margin-top:8px}.on-dl-row{display:contents}.on-key,.on-san{font-family:var(--font-mono);overflow-wrap:anywhere;word-break:break-all;display:block;color:var(--text-muted)!important;font-size:.7rem!important}.on-san{margin-top:4px}.on-tech{margin-top:8px}.on-feeds{color:var(--text-muted);flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.on-feeds .tr-chip{margin-right:4px}.on-directory{margin-top:22px}.on-dir{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.on-dir button{text-align:left;background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 12px;transition:border-color .2s;display:grid}.on-dir button:hover{border-color:var(--text-dim)}.on-dir button.is-sel{border-color:var(--mint)}.on-dir button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.on-dir-name{font-size:.9rem;font-weight:600}.on-dir code{font-family:var(--font-mono);color:var(--text-dim);grid-column:1/-1;font-size:.7rem}.on-src-tor{--k:#c084fc}.on-src-ahmia,.on-src-ransomware,.on-src-onion-location{--k:var(--mint)}@media (max-width:860px){.on-verdict,.on-grid{grid-template-columns:1fr}.on-side{position:static}}.osint-card.osint-weather{--c:#6bd4ff}.wx{margin-top:20px}.wx-c-openmeteo{--k:#6bd4ff}.wx-c-airquality{--k:#6ee7b7}.wx-c-gdacs{--k:#ff9e6b}.wx-t-TC{--k:#a78bfa}.wx-t-FL{--k:#6b9bff}.wx-t-DR{--k:#f2b84b}.wx-t-WF{--k:#ff7a59}.tr-chip:disabled{opacity:.45;cursor:not-allowed}.wx-search{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:16px;display:flex}.wx-search .cctv-field{flex:260px}.wx-search .btn{padding:9px 16px;font-size:.8rem}.wx-search .btn:disabled{opacity:.5;cursor:not-allowed}.wx-results{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.wx-results ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wx-results .tr-chip{--k:var(--mint);padding:3px 10px;font-size:.74rem}.wx-results .tr-empty{margin:0}.wx-filters{margin-top:14px}.wx-layers{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.wx-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.wx-seg{flex-wrap:wrap;max-width:100%}.wx-stats li:has(.wx-stat){padding:0}.wx-stat{text-align:left;border-radius:inherit;width:100%;height:100%;color:var(--text-dim);font:inherit;cursor:pointer;text-overflow:ellipsis;background:0 0;border:0;padding:10px 14px;overflow:hidden}.wx-stat:hover{color:var(--text)}.wx-map svg{cursor:crosshair}.wx-equator{stroke-opacity:.12;stroke-dasharray:4 6}.wx-dot{cursor:pointer}.wx-dot circle{fill:var(--k);fill-opacity:.85;stroke:#0b0b12;stroke-width:1.2px}.wx-dot:hover circle{fill-opacity:1;stroke:#fff}.wx-dot.is-severe circle{stroke:#ff5d73;stroke-width:2.5px}.wx-dot text{fill:#0b0b12;font-family:var(--font-mono);pointer-events:none;font-size:11px;font-weight:700}.wx-hz{cursor:pointer;--k:#6ee7b7}.wx-hz path{fill:var(--k);fill-opacity:.35;stroke:var(--k);stroke-width:1.5px;stroke-linejoin:round}.wx-hz:hover path,.wx-hz.is-sel path{fill-opacity:.8}.wx-hz text{fill:#fff;font-family:var(--font-mono);pointer-events:none;font-size:8px;font-weight:700}.wx-tri{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:9px solid var(--k);width:0;height:0;display:inline-block}.wx-a-green{--k:#6ee7b7}.wx-a-orange{--k:#ff9e6b}.wx-a-red{--k:#ff5d73}.wx-cross circle,.wx-cross path{fill:none;stroke:var(--mint);stroke-width:2px}.wx-legend .wx-scale{flex-wrap:wrap;gap:2px 8px;display:inline-flex}.wx-scale>span{align-items:center;gap:3px;display:inline-flex}.wx-scale i{border-radius:2px;width:12px;height:8px;display:inline-block}.wx-map figcaption{flex-direction:column;gap:4px;display:flex}.wx-val{--k:var(--text-dim);min-width:2.8em;font-family:var(--font-mono);color:#0b0b12;background:var(--k);border-radius:8px;grid-row:span 2;justify-content:center;align-items:center;padding:4px 6px;font-size:.8rem;font-weight:700;display:inline-flex}.wx-cc{color:var(--text-dim);font-size:.78rem;font-weight:400}.wx-rain{color:#6bb8ff}.wx-aqi{--k:var(--text-dim);color:#0b0b12;background:var(--k);font-family:var(--font-mono);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:.68rem}.wx-aqi.is-big{border-radius:6px;padding:3px 9px;font-size:.82rem}.wx-q-good{--k:#6ee7b7}.wx-q-moderate{--k:#f2d24b}.wx-q-usg{--k:#ff9e6b}.wx-q-unhealthy{--k:#ff5d73}.wx-q-very{--k:#a78bfa}.wx-q-hazardous{--k:#d0457f}.wx-hz-row .wx-type{text-align:center;grid-row:span 2;min-width:2.6em;padding:4px 6px;font-size:.74rem;font-weight:700}.wx-side{max-height:calc(100vh - 100px);overflow-y:auto}.wx-sub{color:var(--text-muted);margin-top:4px;font-size:.86rem}.wx-hz-detail{border-bottom:1px solid var(--border-soft);padding-bottom:12px}.wx-now{align-items:center;gap:14px;margin-top:16px;display:flex}.wx-glyph{color:var(--amber);font-size:2.4rem;line-height:1}.wx-temp{font-family:var(--font-mono);color:var(--text);font-size:1.5rem}.wx-now p{color:var(--text-muted);font-size:.9rem}.wx-h4{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:20px;font-size:.72rem}.wx-air-main{color:var(--text-muted);margin-top:8px;font-size:.86rem}.cctv-detail dl.wx-air{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.wx-air>div{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:6px;min-width:0;padding:6px 8px}.wx-air dd{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.wx-chart{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;height:auto;margin-top:8px;display:block}.wx-chart-line{fill:none;stroke:var(--amber);stroke-width:2px;stroke-linejoin:round}.wx-chart-bar{fill:#6bb8ff;fill-opacity:.55}.wx-chart-day{stroke:var(--border);stroke-dasharray:2 3}.wx-chart-t{fill:var(--text-dim);font-family:var(--font-mono);font-size:9px}.wx-days{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.wx-days li{background:var(--bg-alt);font-family:var(--font-mono);color:var(--text-muted);border-radius:6px;grid-template-columns:5.2em 1.6em 6.2em minmax(0,1fr);align-items:center;gap:2px 8px;padding:6px 8px;font-size:.74rem;display:grid}.wx-days li>.fr-muted{grid-column:2/-1;font-size:.68rem}.wx-day{color:var(--text)}.wx-glyph-sm{color:var(--amber);font-size:.95rem}.wx-range strong{color:var(--text)}.wx-hist{border-top:1px solid var(--border-soft);margin-top:22px;padding-top:16px}.wx-hist h4{font-size:.95rem}.wx-hist-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.wx-hist-form input[type=date]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:9px 12px;font-size:.8rem}.wx-hist-form .btn{padding:9px 14px;font-size:.8rem}.wx-hist-out,.wx-hist-table{margin-top:12px}.wx-hist-table summary{cursor:pointer;font-family:var(--font-mono);color:var(--mint);font-size:.76rem}.wx-hist-table table{border-collapse:collapse;width:100%;font-family:var(--font-mono);color:var(--text-muted);margin-top:8px;font-size:.72rem}.wx-hist-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:4px 6px;font-weight:400}.wx-hist-table td{border-bottom:1px solid var(--border-soft);padding:3px 6px}.wx-hist-table tr.is-sel td{background:color-mix(in srgb, var(--mint) 14%, transparent);color:var(--text)}@media (max-width:900px){.wx-side{max-height:none;overflow:visible}}@media (max-width:520px){.cctv-detail dl.wx-air{grid-template-columns:repeat(2,minmax(0,1fr))}}.osint-card.osint-weather-id{--c:#6ee7b7}.wx+.tr-region,.page-lead+.tr-region{margin-bottom:4px}.bm-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;min-width:0;margin:16px 0 0;padding:12px 14px 14px;display:grid}.bm-picker legend{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding:0 6px;font-size:.7rem}.bm-picker select:disabled{opacity:.45}.bm-picker .tr-empty{grid-column:1/-1;margin:0}.bm-time{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px;display:flex}.bm-time .cctv-field{flex:280px}.bm-time .cctv-field>span{text-transform:none;letter-spacing:0;font-size:.76rem}.bm-time strong{color:var(--text)}.bm-time em{color:var(--mint);font-style:normal}.bm-time .btn{padding:8px 14px;font-size:.78rem}.bm-time .btn:disabled{opacity:.45;cursor:not-allowed}.bm-map svg{cursor:default}.bm-poly{fill:#ff9e6b;fill-opacity:.22;stroke:#ff9e6b;stroke-width:1.2px;cursor:pointer}.bm-poly:hover{fill-opacity:.4}.bm-poly.is-sel{fill-opacity:.5;stroke:#fff;stroke-width:2px}.bm-sw{background:#ff9e6b4d;border:1px solid #ff9e6b;border-radius:2px;width:12px;height:9px;display:inline-block}.bm-warn-row .wx-type{font-size:.9rem}.bm-filter{margin-top:12px}.bm-desc{color:var(--text-muted);margin-top:12px;font-size:.86rem}.bm-areas{flex-wrap:wrap;gap:4px;max-height:180px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.bm-areas li{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.72rem}.bm-here{border-radius:var(--radius-sm);color:#ffc29e;background:#ff9e6b14;border:1px solid #ff9e6b;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px;padding:10px 12px;font-size:.84rem;display:flex}.bm-here .tr-link{text-align:left;color:var(--text);font-size:.76rem}.bm-td-desc{color:var(--text-dim);font-size:.66rem}.bm-time input[type=range]{width:100%;accent-color:var(--mint);background:0 0;border:0;margin-top:8px;padding:0}.vi-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.vi-grid .terminal-body{font-size:.84rem}.vi-h{font-family:var(--font-mono);color:var(--mint);margin:18px 0 2px;font-size:.78rem;font-weight:500}.vi-row{align-items:flex-start;gap:16px;padding:9px 0}.vi-row .k{flex:none}.vi-row .v{color:var(--text);text-align:right;overflow-wrap:anywhere;min-width:0}.vi-ip{color:var(--amber);font-weight:600}.vi-warn{color:var(--amber);margin:10px 0 4px}.vi-skel{background:var(--surface-2);vertical-align:middle;border-radius:4px;width:120px;height:.8em;animation:1.2s ease-in-out infinite vi-pulse;display:inline-block}@keyframes vi-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.vi-skel{animation:none}}.vi-side{flex-direction:column;gap:14px;display:flex}.vi-wx{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);padding:22px}.vi-wx-head{color:var(--text);justify-content:space-between;gap:12px;font-size:.78rem;display:flex}.vi-wx-head .k{color:var(--text-dim)}.vi-wx-now{align-items:center;gap:16px;margin:18px 0;display:flex}.vi-wx-glyph{color:var(--amber);font-size:2.6rem;line-height:1}.vi-wx-now b{color:var(--text);font-size:1.8rem;display:block}.vi-wx-now span{color:var(--text-muted);font-size:.8rem}.vi-wx-list{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;font-size:.78rem;display:grid}.vi-wx-list dt{color:var(--text-dim)}.vi-wx-list dd{color:var(--text);margin:2px 0 0}.vi-wx-more{color:var(--mint);margin-top:18px;font-size:.78rem;display:inline-block}.vi-wx-more:hover{color:var(--amber)}.vi-wx-empty{color:var(--text-dim);margin:18px 0 0;font-size:.8rem}.vi-aqi{color:#12121a;border-radius:4px;padding:1px 6px;font-weight:600}.vi-aqi.aqi-good{background:#6ee7b7}.vi-aqi.aqi-moderate{background:#f2d24b}.vi-aqi.aqi-usg{background:#f2a04b}.vi-aqi.aqi-unhealthy{background:#f2789f}.vi-aqi.aqi-very{color:#fff;background:#b48cf2}.vi-aqi.aqi-hazardous{color:#fff;background:#8b3a4f}.vi-note{color:var(--text-dim);font-size:.78rem;line-height:1.6}@media (max-width:900px){.vi-grid{grid-template-columns:1fr}}@media (max-width:520px){.vi-row{flex-direction:column;gap:2px}.vi-row .v{text-align:left}}.bk-stats{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:8px 22px;margin-top:18px;font-size:.82rem;display:flex}.bk-stats strong{color:var(--amber);margin-right:4px;font-size:1.25rem}.bk-stats-date{color:var(--text-dim);font-size:.72rem}.bk-cats{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:18px;display:grid}.bk-cat a{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--k);border-radius:var(--radius-sm);height:100%;transition:border-color .2s var(--ease), transform .2s var(--ease);gap:12px;padding:14px 16px;display:flex}.bk-cat a:hover{border-color:var(--k);transform:translateY(-2px)}.bk-cat.is-on a{border-color:var(--k);background:color-mix(in srgb, var(--k) 9%, var(--surface))}.bk-cat-icon{width:38px;height:38px;font-family:var(--font-mono);color:var(--k);background:color-mix(in srgb, var(--k) 12%, transparent);border-radius:9px;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.bk-cat-body{flex-direction:column;gap:4px;min-width:0;display:flex}.bk-cat-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bk-cat-head strong{font-family:var(--font-mono);color:var(--text);font-size:.88rem}.bk-cat-count{font-family:var(--font-mono);color:var(--k);font-size:.78rem}.bk-cat-desc{color:var(--text-muted);font-size:.8rem;line-height:1.45}.bk-cat-topics{font-family:var(--font-mono);color:var(--text-dim);overflow-wrap:anywhere;font-size:.68rem}.bk{margin-top:20px}.bk-summary .tr-check{max-width:60ch}.bk-error{margin-top:14px}.bk-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px;transition:opacity .2s;display:grid}.bk-list.is-loading{opacity:.5}.bk-book{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--k);border-radius:var(--radius-sm);flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.bk-book:hover{border-color:var(--text-dim);border-top-color:var(--k)}.bk-book-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.bk-chip-cat{--k:inherit;border-color:var(--k);color:var(--k)}.bk-lang{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;font-size:.68rem}.bk-book h3{font-family:var(--font-sans);overflow-wrap:anywhere;font-size:.98rem;font-weight:700;line-height:1.35}.bk-book h3 a:hover{color:var(--k)}.bk-author{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem}.bk-topic{font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem}.bk-topic .tr-link{color:var(--mint);font-size:.72rem}.bk-topic .tr-link:hover{text-decoration:underline}.bk-notes{color:var(--text-dim);overflow-wrap:anywhere;font-size:.74rem}.bk-book-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.bk-fmt{--k:var(--text-muted)}.bk-flag-wip{--k:var(--amber)}.bk-flag-account,.bk-flag-email{--k:var(--rose)}.bk-flag-archived{--k:var(--violet)}.bk-read{font-family:var(--font-mono);color:var(--k);flex:none;font-size:.75rem}.bk-read:hover{text-decoration:underline}.bk-source{color:var(--text-muted);font-size:.92rem}.bk-source a{color:var(--mint)}.bk-source a:hover{text-decoration:underline}@media (max-width:640px){.bk-cats,.bk-list{grid-template-columns:1fr}}.ti{font-family:var(--font-mono)}.ti-bar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:18px;display:flex}.ti-controls{flex-wrap:wrap;gap:8px;display:flex}.ti-tabs{border:1px solid var(--border-soft);background:var(--surface);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.ti-tabs button{color:var(--text-muted);background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:.78rem}.ti-tabs button:hover{color:var(--text)}.ti-tabs button.is-on{background:var(--surface-2);color:var(--amber)}.ti-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.75rem;display:flex}.ti-live{color:var(--text);align-items:center;gap:8px;display:inline-flex}.ti-live .dot{background:var(--mint);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}.ti[aria-busy=true] .ti-kpis,.ti[aria-busy=true] .ti-grid,.ti[aria-busy=true] .ti-wide{opacity:.6;transition:opacity .2s}.ti-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.ti-kpi{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:6px;min-width:0;padding:16px;display:flex}.ti-kpi-label{color:var(--text-muted);font-size:.72rem}.ti-kpi-value{color:var(--text);overflow-wrap:anywhere;font-size:1.55rem;font-weight:700;line-height:1.1}.ti-kpi-foot{color:var(--text-dim);flex-wrap:wrap;gap:4px 8px;font-size:.68rem;display:flex}.ti-up{color:var(--mint)}.ti-down{color:var(--rose)}.ti-card{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);min-width:0;padding:18px 18px 16px}.ti-card h3{color:var(--text);margin-bottom:14px;font-size:.82rem;font-weight:600}.ti-card .ti-sub-h{margin:20px 0 10px}.ti-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.ti-card-head h3{margin:0}.ti-wide{margin-bottom:14px}.ti-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.ti-span2{grid-column:span 2}.ti-legend{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.74rem;display:flex}.ti-legend li{align-items:center;gap:8px;min-width:0;display:flex}.ti-legend li.is-on{color:var(--text)}.ti-legend i{border-radius:3px;flex:none;width:10px;height:10px}.ti-legend span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ti-legend em{color:var(--text-dim);white-space:nowrap;font-style:normal}.ti-legend-row{flex-flow:wrap;gap:6px 16px}.ti-legend-row span{flex:0 auto}.ti-trend{touch-action:pan-y;width:100%;min-height:240px;position:relative}.ti-trend svg{overflow:visible}.ti-trend .ti-grid{stroke:var(--border-soft);stroke-width:1px}.ti-trend .ti-axis{stroke:var(--border);stroke-width:1px}.ti-tick{fill:var(--text-dim);font-size:10px;font-family:var(--font-mono)}.ti-cross{stroke:var(--text-dim);stroke-width:1px;stroke-dasharray:3 3}.ti-dot{stroke:var(--surface);stroke-width:2px}.ti-tip{pointer-events:none;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;background:#101018f0;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:.72rem;display:flex;position:absolute;top:4px;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.ti-tip b{color:var(--text);font-weight:600}.ti-tip span{align-items:center;gap:6px;display:flex}.ti-tip i{border-radius:2px;width:8px;height:8px}.ti-tip em{color:var(--text);margin-left:auto;padding-left:14px;font-style:normal}.ti-table{margin-top:10px;font-size:.75rem}.ti-table summary{cursor:pointer;color:var(--mint);width:max-content}.ti-table summary:hover{color:var(--amber)}.ti-table-scroll{max-height:260px;margin-top:10px;overflow:auto}.ti-table table{border-collapse:collapse;width:100%}.ti-table th,.ti-table td{text-align:right;border-bottom:1px solid var(--border-soft);padding:6px 8px}.ti-table th:first-child,.ti-table td:first-child{text-align:left}.ti-table th{color:var(--text-dim);background:var(--surface);font-weight:500;position:sticky;top:0}.ti-table td{color:var(--text-muted)}.ti-donut{flex-direction:column;align-items:stretch;gap:14px;display:flex}.ti-donut svg{flex:none;align-self:center}.ti-donut .ti-legend{min-width:0}.ti-seg{transition:stroke-width .15s var(--ease);cursor:default}.ti-donut-pct{fill:var(--text);font-size:17px;font-weight:700;font-family:var(--font-mono)}.ti-donut-lbl{fill:var(--text-dim);font-size:10px;font-family:var(--font-mono)}.ti-bars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ti-bars li{color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;font-size:.76rem;display:flex;position:relative;overflow:hidden}.ti-bar{opacity:.22;border-radius:0 4px 4px 0;position:absolute;inset:0 auto 0 0}.ti-bars li:hover .ti-bar{opacity:.38}.ti-bar-k{text-overflow:ellipsis;white-space:nowrap;min-width:0;position:relative;overflow:hidden}.ti-bar-k code{font-family:var(--font-mono);color:var(--text)}.ti-bar-v{color:var(--text);flex:none;position:relative}.ti-bar-v em{color:var(--text-dim);margin-left:6px;font-style:normal}.ti-flag{font-family:system-ui,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif}.ti-split-bar{border-radius:4px;gap:2px;height:14px;margin-bottom:10px;display:flex;overflow:hidden}.ti-split-bar span{min-width:3px}.ti-heat-grid{color:var(--text-dim);grid-template-columns:34px repeat(24,minmax(0,1fr));gap:3px;font-size:.62rem;display:grid}.ti-heat-row{display:contents}.ti-heat-h{text-align:left;padding-bottom:2px;line-height:1}.ti-heat-d{align-self:center}.ti-heat-c{aspect-ratio:1;border-radius:3px;min-height:10px}.ti-heat-c.is-on{outline:2px solid var(--text);outline-offset:-1px}.ti-heat-foot{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:12px;font-size:.7rem;display:flex}.ti-heat-info{color:var(--text-muted)}.ti-heat-scale{align-items:center;gap:3px;display:inline-flex}.ti-heat-scale i{border-radius:3px;width:12px;height:12px}.ti-heat-scale i:first-of-type{margin-left:6px}.ti-heat-scale i:last-of-type{margin-right:6px}.ti-none,.ti-empty{color:var(--text-dim);font-size:.78rem}.ti-empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:28px}.ti-note{margin-top:16px}@media (max-width:980px){.ti-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ti-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ti-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ti-grid{grid-template-columns:1fr}.ti-span2{grid-column:auto}.ti-kpi-value{font-size:1.3rem}.ti-heat-grid{grid-template-columns:28px repeat(24,minmax(0,1fr));gap:2px}.ti-heat-c{border-radius:2px;min-height:8px}}.osint-card.osint-population{--c:#8fb8ff}.pop{--pop-birth:#6ee7b7;--pop-death:#f28fa3;--pop-mig:#8fb8ff;--pop-net:#f2b84b;--pop-shrink:#ff5d73;--pop-flat:#9a98ad;--pop-slow:#8fb8ff;--pop-fast:#6ee7b7;--pop-boom:#f2b84b;margin-top:20px}.pop-c-wb{--k:var(--mint)}.pop-c-un{--k:#8fb8ff}.pop-c-census{--k:var(--amber)}.pop-c-bps{--k:var(--rose)}.pop-top{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:18px;margin-top:16px;scroll-margin-top:84px;display:grid}.pop-hero{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--pop-net);border-radius:var(--radius);min-width:0;padding:22px 22px 18px}.pop-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.pop-hero-head h3{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:500}.pop-back{border:1px solid var(--border);font-family:var(--font-mono);color:var(--mint);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-size:.74rem}.pop-back:hover{border-color:var(--mint)}.pop-big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:10px;font-size:clamp(1.9rem,6.4vw,3.6rem);font-weight:700;line-height:1.05}.pop-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pop-stats strong{font-variant-numeric:tabular-nums}.pop-stats li.pop-k-birth strong{color:var(--pop-birth)}.pop-stats li.pop-k-death strong{color:var(--pop-death)}.pop-stats li.pop-k-net strong{color:var(--pop-net)}.pop-stats li.pop-k-mig strong{color:var(--pop-mig)}.pop-rates{font-family:var(--font-mono);flex-wrap:wrap;gap:4px 18px;margin-top:14px;font-size:.76rem;display:flex}.pop-rates .pop-k-birth{color:var(--pop-birth)}.pop-rates .pop-k-death{color:var(--pop-death)}.pop-rates .pop-k-net{color:var(--pop-net)}.pop-every{font-family:var(--font-mono);color:var(--text-muted);margin-top:6px;font-size:.74rem}.pop-note{color:var(--text-dim);margin-top:10px;font-size:.8rem}.pop-profile h3{font-size:1.15rem}.pop-profile dl{display:block}.pop-dl-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(110px,auto) 1fr;gap:4px 14px;padding:5px 0;display:grid}.pop-dl-row:last-child{border-bottom:0}.pop-dl-row dd{font-variant-numeric:tabular-nums}.pop-copy{margin-top:14px;padding:5px 10px;font-size:.74rem}.pop-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.pop-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;margin:0;padding:18px 20px}.pop-card-wide{grid-column:1/-1}.pop-card figcaption h3,.pop-subhead,.pop-table-title,.pop-map-head h3{font-size:1rem}.pop-card figcaption p,.pop-map-head p{color:var(--text-muted);margin-top:4px;font-size:.84rem}.pop-subhead{margin-top:22px}.pop-card svg{width:100%;height:auto;margin-top:12px;display:block}.pop-band{fill:var(--k);fill-opacity:.32}.pop-bar{fill:var(--k)}.pop-f-birth{--k:var(--pop-birth)}.pop-f-death{--k:var(--pop-death)}.pop-f-mig{--k:var(--pop-mig)}.pop-node{fill:var(--bg-alt);stroke:var(--pop-net);stroke-width:1.5px}.pop-flow-label{fill:var(--text);font-family:var(--font-sans);font-size:17px;font-weight:600}.pop-flow-val{fill:var(--k,var(--text-muted));font-family:var(--font-mono);font-size:15px}.pop-node-val{fill:var(--pop-net);font-family:var(--font-mono);font-size:18px;font-weight:700}.pop-flow-net{fill:var(--pop-net);font-family:var(--font-mono);font-size:15px}.pop-flow-net.is-neg{fill:var(--pop-shrink)}.pop-flow-foot{font-family:var(--font-mono);color:var(--text-muted);margin-top:6px;font-size:.74rem}.pop-a-young{--k:#8fb8ff}.pop-a-work{--k:var(--mint)}.pop-a-old{--k:var(--amber)}.pop-age{margin-top:14px}.pop-age-bar{border:1px solid var(--border);border-radius:8px;height:34px;display:flex;overflow:hidden}.pop-age-bar span{background:var(--k);color:var(--bg);font-family:var(--font-mono);white-space:nowrap;justify-content:center;align-items:center;min-width:0;font-size:.74rem;font-weight:700;display:flex;overflow:hidden}.pop-age-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pop-age-list li{color:var(--text-muted);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;font-size:.88rem;display:grid}.pop-age-list strong{color:var(--text);font-family:var(--font-mono);font-size:.86rem}.pop-age-list em{font-style:normal;font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:5.5em;font-size:.74rem}.pop-dep{font-family:var(--font-mono);color:var(--amber);margin-top:12px;font-size:.78rem}.pop-axis{fill:var(--text-dim);font-family:var(--font-mono);font-size:11px}.pop-area{fill:var(--mint);fill-opacity:.08}.pop-line{fill:none;stroke:var(--mint);stroke-width:2.5px;stroke-linejoin:round}.pop-line-wb{stroke:#8fb8ff}.pop-line-proj{stroke-dasharray:6 5;stroke-opacity:.8}.pop-ms circle{fill:var(--bg);stroke:var(--text-muted);stroke-width:1.5px}.pop-ms.is-proj circle{stroke-dasharray:2 2}.pop-ms text{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.pop-now-line{stroke:var(--amber);stroke-width:1px;stroke-dasharray:3 3}.pop-now-dot{fill:var(--amber);stroke:var(--bg);stroke-width:2px}.pop-now-label{fill:var(--amber);font-family:var(--font-mono);font-size:12px}.pop-legend{font-family:var(--font-mono);color:var(--text-dim);margin-top:8px;font-size:.72rem}.pop-sw-line{border-top:2.5px solid var(--mint);vertical-align:middle;width:18px;height:0;display:inline-block}.pop-sw-line.is-dash{border-top-style:dashed}.pop-sw-dot{background:var(--amber);border-radius:50%;width:9px;height:9px;display:inline-block}.pop-milestones{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pop-milestones li{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-alt);font-family:var(--font-mono);color:var(--text-dim);flex-direction:column;padding:6px 10px;font-size:.72rem;display:flex}.pop-milestones strong{color:var(--text);font-size:.86rem}.pop-milestones li.is-proj{border-style:dashed}.pop-bars{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pop-bars button,.pop-bars li>div{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr);gap:4px;padding:7px 10px;display:grid}.pop-bars button{cursor:pointer}.pop-bars button:hover{border-color:var(--border)}.pop-bars button.is-on{border-color:var(--mint)}.pop-bars-label{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.pop-bars-track{background:var(--bg-alt);border-radius:99px;height:8px;display:block;overflow:hidden}.pop-bars-fill{--k:var(--mint);background:var(--k);border-radius:99px;height:100%;display:block}.pop-bars-val{font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem}.pop-bars-val em{color:var(--mint);font-style:normal}.pop-bars-val em.is-neg{color:var(--pop-shrink)}.pop-g-shrink{--k:var(--pop-shrink)}.pop-g-flat{--k:var(--pop-flat)}.pop-g-slow{--k:var(--pop-slow)}.pop-g-fast{--k:var(--pop-fast)}.pop-g-boom{--k:var(--pop-boom)}.pop-map{margin-top:18px}.pop-map-head{border-bottom:1px solid var(--border-soft);font-family:var(--font-sans)!important;border-top:0!important;padding:14px 16px!important}.pop-map-head h3{color:var(--text)}.pop-map-head p{font-size:.82rem!important}.pop-map svg{cursor:default}.pop-equator{stroke:var(--border);stroke-dasharray:4 4}.pop-dot{cursor:pointer}.pop-dot circle{fill:var(--k);fill-opacity:.35;stroke:var(--k);stroke-width:1.2px;transition:fill-opacity .15s}.pop-dot:hover circle,.pop-dot:focus-visible circle{fill-opacity:.75}.pop-dot:focus-visible{outline:none}.pop-dot:focus-visible circle{stroke:var(--text);stroke-width:2.5px}.pop-dot.is-sel circle{fill-opacity:.85;stroke:var(--text);stroke-width:2.5px}.pop-dot text{fill:var(--text);font-family:var(--font-mono);pointer-events:none;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:11px;font-weight:700}.pop-legend.qk-legend{padding:10px 16px}.pop-legend .qk-sw{background:color-mix(in srgb, var(--k) 60%, transparent);border-color:var(--k)}.pop-table-wrap{margin-top:28px;scroll-margin-top:84px}.pop-filters{margin-top:12px}.pop-showing{font-family:var(--font-mono);color:var(--text-dim);margin-top:12px;font-size:.76rem}.pop-table-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:10px;overflow-x:auto}.pop-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.86rem}.pop-table th,.pop-table td{border-bottom:1px solid var(--border-soft);text-align:left;white-space:nowrap;padding:9px 12px}.pop-table thead th{background:var(--bg-alt);font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:500;position:sticky;top:0}.pop-table tbody tr:last-child th,.pop-table tbody tr:last-child td{border-bottom:0}.pop-table tbody tr:hover{background:color-mix(in srgb, var(--bg-alt) 70%, transparent)}.pop-table tbody tr.is-sel{background:color-mix(in srgb, var(--mint) 9%, transparent)}.pop-table .is-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8rem}.pop-table tbody th{font-weight:500}.pop-table tbody th button{color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.pop-table tbody th button:hover{color:var(--mint)}.pop-iso{font-family:var(--font-mono);color:var(--text-dim);margin-left:4px;font-size:.68rem}.pop-rank,.pop-year{color:var(--text-dim);font-family:var(--font-mono);font-size:.76rem}.pop-live{color:var(--text)}.pop-gt{color:var(--k)}.pop-pipe{counter-reset:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;margin:20px 0 0;padding:0;list-style:none;display:grid}.pop-pipe-step{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--mint);border-radius:var(--radius);padding:16px;position:relative}.pop-pipe-step:not(:last-child):after{content:"→";font-family:var(--font-mono);color:var(--mint);font-size:1.1rem;position:absolute;top:50%;right:-22px;transform:translateY(-50%)}.pop-pipe-code{font-family:var(--font-mono);color:var(--mint);font-size:.7rem}.pop-pipe-step h3{margin-top:6px;font-size:.95rem}.pop-pipe-step p{color:var(--text-muted);margin-top:6px;font-size:.82rem}.pop-formula{margin-top:16px;overflow-x:auto}.pop-formula code{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--amber);white-space:nowrap;padding:8px 12px;font-size:.8rem;display:inline-block}.pop-fc{gap:0;max-width:880px;margin:22px 0 0;padding:0;list-style:none;display:grid}.pop-fc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0 60px;padding-bottom:30px;display:grid;position:relative}.pop-fc-row:last-child{padding-bottom:0}.pop-fc-row:not(:last-child):before{content:"";border-left:2px solid var(--border);height:26px;position:absolute;bottom:4px;left:calc(25% - 15px)}.pop-fc-node{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);padding:12px 16px;font-size:.86rem;position:relative}.pop-fc-node strong{color:var(--text);font-size:.92rem;display:block}.pop-fc-node>span{color:var(--text-dim);margin-top:2px;font-size:.8rem;display:block}.pop-fc-term{text-align:center;border-color:var(--mint);border-radius:999px;grid-column:1}.pop-fc-end{border-color:var(--mint);background:color-mix(in srgb, var(--mint) 10%, var(--surface))}.pop-fc-decision{border-style:solid;border-color:var(--amber);border-left-width:4px;padding-left:44px}.pop-fc-node>.pop-fc-q{isolation:isolate;width:22px;height:22px;font-family:var(--font-mono);color:var(--amber);justify-content:center;align-items:center;margin:0;font-size:.68rem;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.pop-fc-node>.pop-fc-q:before{content:"";z-index:-1;border:1.5px solid var(--amber);background:var(--bg-alt);position:absolute;inset:2px;transform:rotate(45deg)}.pop-fc-yes{font-family:var(--font-mono);color:var(--mint);font-size:.7rem;position:absolute;bottom:8px;left:calc(25% - 7px)}.pop-fc-branch{align-items:center;gap:10px;display:flex;position:relative}.pop-fc-no{font-family:var(--font-mono);color:var(--rose);white-space:nowrap;font-size:.7rem;position:absolute;top:50%;left:-54px;transform:translateY(-50%)}.pop-fc-action{border-color:var(--rose);border-style:dashed;flex:1}@media (max-width:980px){.pop-pipe{grid-template-columns:1fr;gap:26px}.pop-pipe-step:not(:last-child):after{content:"↓";inset:auto auto -24px 50%;transform:translate(-50%)}}@media (max-width:900px){.pop-top,.pop-charts{grid-template-columns:1fr}}@media (max-width:720px){.pop-fc-row{grid-template-columns:1fr;gap:10px}.pop-fc-row:not(:last-child):before{left:24px}.pop-fc-yes{left:32px}.pop-fc-branch{padding-left:36px}.pop-fc-no{position:static;transform:none}.pop-fc-term{grid-column:auto}.pop-hero{padding:18px 16px 14px}.pop-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pop-stats li{padding:9px 10px}.pop-stats strong{overflow-wrap:anywhere;font-size:1rem}.pop-card{padding:16px}}.osint-card.osint-crypto{--c:#f7931a}.cx{--cx-up:#34d399;--cx-down:#f87171;--cx-xfear:#ef4444;--cx-fear:#f59e0b;--cx-neutral:#9a98ad;--cx-greed:#84cc16;--cx-xgreed:#22c55e;margin-top:20px}.cx-c-api{--k:var(--mint)}.cx-c-ws{--k:#f7931a}.cx-c-ref{--k:#8fb8ff}.cx .is-up{color:var(--cx-up)}.cx .is-down{color:var(--cx-down)}.cx-ws{font-family:var(--font-mono);font-size:.74rem}.cx-ws-live{color:var(--cx-up)}.cx-ws-connecting{color:var(--amber)}.cx-ws-off{color:var(--text-dim)}.cx-toggle{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.cx-toggle button{border:0;border-right:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;background:0 0;padding:5px 10px;font-size:.74rem}.cx-toggle button:last-child{border-right:0}.cx-toggle button:hover:not(:disabled){color:var(--text)}.cx-toggle button.is-on{background:color-mix(in srgb, var(--mint) 16%, transparent);color:var(--mint)}.cx-toggle button:disabled{opacity:.4;cursor:not-allowed}.cx-global{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cx-global strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.cx-global em{font-style:normal}.cx-table-wrap{margin-top:24px}.cx-table{min-width:900px}.cx-table tbody th button{align-items:center;gap:10px;display:flex}.cx-name{flex-direction:column;line-height:1.2;display:flex}.cx-name .pop-iso{margin:0}.cx-badge{background:color-mix(in srgb, var(--k) 22%, var(--bg-alt));border:1.5px solid var(--k);width:34px;height:34px;color:var(--text);font-family:var(--font-mono);letter-spacing:-.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.56rem;font-weight:700;display:inline-flex}.cx-price{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 4px;display:inline-block}.cx-flash-up{animation:1.2s ease-out cx-up}.cx-flash-down{animation:1.2s ease-out cx-down}@keyframes cx-up{0%{background:color-mix(in srgb, var(--cx-up) 35%, transparent)}to{background:0 0}}@keyframes cx-down{0%{background:color-mix(in srgb, var(--cx-down) 35%, transparent)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.cx-flash-up,.cx-flash-down{animation:none}}.cx-spark{display:block}.cx-spark-empty{color:var(--text-dim)}.cx-grade{border:1px solid var(--k);color:var(--k);font-family:var(--font-mono);border-radius:999px;align-items:baseline;gap:4px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.cx-grade em{color:var(--text-dim);font-size:.7rem;font-style:normal;font-weight:400}.cx-grade-A{--k:#34d399}.cx-grade-B{--k:#8fb8ff}.cx-grade-C{--k:var(--amber)}.cx-grade-D{--k:var(--cx-down,#f87171)}.cx-detail{margin-top:28px;scroll-margin-top:84px}.cx-hero{border-left-color:var(--k)}.cx-hero h3{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cx-hero .cx-badge{width:28px;height:28px;font-size:.5rem}.cx-big{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.cx-big>span:first-child{border-radius:8px;margin-left:-4px;padding:0 4px}.cx-big-ch{font-size:1rem;font-weight:500}.cx-range{font-family:var(--font-mono);color:var(--text-dim);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;max-width:520px;margin-top:12px;font-size:.72rem;display:grid}.cx-range-track{background:linear-gradient(90deg, var(--cx-down), var(--amber), var(--cx-up));opacity:.8;border-radius:99px;height:6px;position:relative}.cx-range-dot{background:var(--text);border:2px solid var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%)}.cx-kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.cx-kpis strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.95rem}.cx-chart-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.cx-chart-head h3{margin-right:auto;font-size:1rem}.cx-chart-empty{justify-content:center;align-items:center;min-height:200px;margin-top:14px;display:flex}.cx-ohlc{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 14px;margin-top:10px;font-size:.74rem;display:flex}.cx-chart{touch-action:pan-y;cursor:crosshair}.cx-candle line{stroke:currentColor;stroke-width:1px}.cx-candle rect{fill:currentColor}.cx-candle.is-up{color:var(--cx-up)}.cx-candle.is-down{color:var(--cx-down)}.cx-vol{fill-opacity:.28}.cx-vol.is-up{fill:var(--cx-up)}.cx-vol.is-down{fill:var(--cx-down)}.cx-line{fill:none;stroke-width:2px;stroke-linejoin:round}.cx-line.is-up{stroke:var(--cx-up)}.cx-line.is-down{stroke:var(--cx-down)}.cx-area{fill-opacity:.08}.cx-area.is-up{fill:var(--cx-up)}.cx-area.is-down{fill:var(--cx-down)}.cx-sma{fill:none;stroke:var(--amber);stroke-width:1.4px;stroke-opacity:.85}.cx-cross{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.cx-last-tag{fill:var(--amber)}.cx-last-text{fill:var(--bg);font-family:var(--font-mono);font-size:11px;font-weight:700}.cx-sw-sma{border-top:2px solid var(--amber);vertical-align:middle;width:18px;display:inline-block}.cx-chart-foot{flex-wrap:wrap;gap:4px 16px;display:flex;padding:0!important}.cx-dl{margin-top:12px}.cx-dl dd{font-family:var(--font-mono);text-align:right;font-size:.82rem}.cx-rsi{margin-top:14px}.cx-rsi-track{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:99px;height:8px;display:block;position:relative}.cx-rsi-zone{position:absolute;top:0;bottom:0}.cx-rsi-zone.is-under{background:color-mix(in srgb, var(--cx-up) 25%, transparent);border-radius:99px 0 0 99px;width:30%;left:0}.cx-rsi-zone.is-over{background:color-mix(in srgb, var(--cx-down) 25%, transparent);border-radius:0 99px 99px 0;width:30%;right:0}.cx-rsi-dot{background:var(--amber);border:2px solid var(--bg);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.cx-rsi-scale{height:14px;font-family:var(--font-mono);color:var(--text-dim);margin-top:4px;font-size:.64rem;display:block;position:relative}.cx-rsi-scale span{position:absolute;transform:translate(-50%)}.cx-rsi-scale span:first-child{left:0;transform:none}.cx-rsi-scale span:nth-child(2){left:30%}.cx-rsi-scale span:nth-child(3){left:70%}.cx-rsi-scale span:nth-child(4){right:0;transform:none}.cx-rep{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:16px;margin-top:12px;display:grid}.cx-rep-ring svg{max-width:150px;margin:0!important}.cx-ring-bg{fill:none;stroke:var(--bg-alt);stroke-width:12px}.cx-ring{fill:none;stroke:var(--k);stroke-width:12px;stroke-linecap:round}.cx-ring-score{fill:var(--text);font-family:var(--font-mono);font-size:28px;font-weight:700}.cx-ring-grade{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.cx-dom-score{fill:var(--text);font-family:var(--font-mono);font-size:19px;font-weight:700}.cx-rep-ring{flex-direction:column;align-items:center;gap:6px;display:flex}.cx-rep-ring .cx-grade,.cx-rep-bars{margin:0}.cx-rep-bars li>div{padding:4px 0}.cx-xstats{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-xstats strong{font-variant-numeric:tabular-nums;font-size:1rem}.cx-xtable{min-width:720px}.cx-dev{align-items:center;gap:8px;display:flex}.cx-dev-track{background:var(--bg-alt);border-radius:99px;flex:none;width:90px;height:8px;display:block;position:relative}.cx-dev-track:after{content:"";border-left:1px solid var(--text-dim);position:absolute;top:-2px;bottom:-2px;left:50%}.cx-dev-bar{border-radius:99px;position:absolute;top:0;bottom:0}.cx-dev-bar.is-up{background:var(--cx-up)}.cx-dev-bar.is-down{background:var(--cx-down)}.cx-dev em{font-style:normal;font-family:var(--font-mono);font-size:.76rem}.cx-fund{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;margin-top:14px;display:grid}.cx-fund-summary{color:var(--text);font-size:.98rem}.cx-fund-main p{color:var(--text-muted);margin-top:6px;font-size:.9rem}.cx-fund-main h4{font-size:.86rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-top:18px;font-weight:500}.cx-fund-main h4.is-up{color:var(--cx-up)}.cx-fund-main h4.is-down{color:var(--cx-down)}.cx-sw{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.cx-sw ul{color:var(--text-muted);gap:6px;margin:8px 0 0;padding-left:18px;font-size:.86rem;display:grid}.cx-supply{margin-top:10px}.cx-supply-track{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:99px;height:10px;display:block;overflow:hidden}.cx-supply-fill{border-radius:99px;height:100%;display:block}.cx-supply .pop-note{margin-top:6px}.cx-timeline{border-left:2px solid var(--border);gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.cx-timeline li{color:var(--text-muted);grid-template-columns:48px 1fr;gap:8px;padding-left:16px;font-size:.86rem;display:grid;position:relative}.cx-timeline li:before{content:"";background:var(--bg);border:2px solid var(--mint);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-6px}.cx-timeline strong{font-family:var(--font-mono);color:var(--text);font-size:.82rem}.cx-fund-side{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);align-self:start;min-width:0;padding:14px 16px}.cx-fund-side .pop-dl-row{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);font-size:.86rem}.cx-fund-side dt{color:var(--text-dim)}.cx-fund-side dd{overflow-wrap:anywhere}.cx-links{margin-top:14px}.cx-heat{flex-wrap:wrap;gap:4px;margin-top:14px;display:flex}.cx-heat-tile{--k:var(--cx-up);background:color-mix(in srgb, var(--k) calc(var(--a) * 100%), var(--bg-alt));min-width:64px;min-height:58px;color:var(--text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;display:flex}.cx-heat-tile.is-down{--k:var(--cx-down)}.cx-heat-tile:hover,.cx-heat-tile.is-sel{border-color:var(--text)}.cx .cx-heat-tile.is-up,.cx .cx-heat-tile.is-down{color:var(--text)}.cx-heat-tile strong{font-family:var(--font-mono);font-size:.86rem}.cx-heat-tile span{font-family:var(--font-mono);font-size:.72rem}.cx-dom{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:16px;margin-top:12px;display:grid}.cx-dom svg{max-width:190px;margin:0!important}.cx-dom-slice{stroke:var(--surface);stroke-width:1.5px}.cx-dom .pop-age-list{gap:5px;margin:0}.cx-dom .pop-age-list li{grid-template-columns:auto 1fr auto;font-size:.82rem}.cx-dom .pop-age-list em{display:none}.cx-fng{margin-top:8px}.cx-fng svg:first-child{max-width:280px;margin:8px auto 0!important}.cx-fng-xfear{fill:var(--cx-xfear)}.cx-fng-fear{fill:var(--cx-fear)}.cx-fng-neutral{fill:var(--cx-neutral)}.cx-fng-greed{fill:var(--cx-greed)}.cx-fng-xgreed{fill:var(--cx-xgreed)}.cx-fng-t-xfear{color:var(--cx-xfear)}.cx-fng-t-fear{color:var(--cx-fear)}.cx-fng-t-neutral{color:var(--cx-neutral)}.cx-fng-t-greed{color:var(--cx-greed)}.cx-fng-t-xgreed{color:var(--cx-xgreed)}.cx-needle{stroke:var(--text);stroke-width:3px;stroke-linecap:round}.cx-needle-hub{fill:var(--text)}.cx-fng-label{text-align:center;font-family:var(--font-mono);font-weight:700}.cx-fng-label strong{margin-right:6px;font-size:1.6rem}.cx-fng-ago{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.cx-fng-ago li{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-dim);flex-direction:column;padding:6px 10px;font-size:.7rem;display:flex}.cx-fng-ago strong{font-size:1rem}.cx-fng-hist rect{fill-opacity:.8}.cx-zero{stroke:var(--text-dim);stroke-width:1px}.cx-dot{cursor:pointer}.cx-dot circle{fill:var(--k);fill-opacity:.35;stroke:var(--k);stroke-width:1.4px}.cx-dot:hover circle,.cx-dot:focus-visible circle{fill-opacity:.75}.cx-dot:focus-visible{outline:none}.cx-dot.is-sel circle{fill-opacity:.85;stroke:var(--text);stroke-width:2.5px}.cx-dot text{fill:var(--text);font-family:var(--font-mono);paint-order:stroke;stroke:var(--bg);stroke-width:3px;pointer-events:none;font-size:10px;font-weight:700}.cx-corr-scroll{overflow-x:auto}.cx-corr{max-width:720px;margin-left:auto;margin-right:auto}.cx-corr-pos{fill:var(--mint)}.cx-corr-neg{fill:var(--rose)}.cx-corr-na{fill:var(--border)}.cx-corr-val{fill:var(--text);font-family:var(--font-mono);pointer-events:none;paint-order:stroke;stroke:var(--bg);stroke-width:2px;font-size:9.5px}.cx-btc-stats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.cx-btc-stats strong{font-variant-numeric:tabular-nums;font-size:1rem}.cx-btc-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.cx-btc-label{font-family:var(--font-mono);color:var(--text-muted);margin:14px 0 6px;font-size:.74rem}.cx-btc-bars .cx-btc-label{margin-top:0}.cx-fees{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cx-fees li{background:var(--bg-alt);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-dim);flex-direction:column;padding:8px 12px;font-size:.7rem;display:flex}.cx-fees strong{color:#f7931a;font-size:1.1rem}@media (max-width:900px){.cx-fund{grid-template-columns:1fr}}@media (max-width:720px){.cx-rep,.cx-dom{grid-template-columns:1fr;justify-items:center}.cx-rep-bars,.cx-dom .pop-age-list{width:100%}.cx-sw,.cx-btc-bars{grid-template-columns:1fr}.cx-fees{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-xstats{grid-template-columns:1fr}.cx-global,.cx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.hp-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.72rem;font-family:var(--font-mono);cursor:pointer;border-radius:7px;padding:4px 10px}.hp-btn:hover{color:var(--amber);border-color:var(--amber)}.hp-feed{margin-bottom:14px}.hp-sub{color:var(--text-dim);margin-bottom:12px;font-size:.75rem}.hp-export{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.hp-feed-scroll{border-top:1px solid var(--border-soft);max-height:520px;overflow:auto}.hp-src-scroll{max-height:460px}.hp-table{border-collapse:collapse;width:100%;font-size:.74rem}.hp-table th,.hp-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-soft);padding:8px}.hp-table th{z-index:1;background:var(--surface);color:var(--text-dim);white-space:nowrap;font-weight:500;position:sticky;top:0}.hp-table td{color:var(--text-muted)}.hp-table td small{color:var(--text-dim);margin-top:2px;font-size:.66rem;display:block}.hp-table code{font-family:var(--font-mono);color:var(--text)}.hp-table tr.is-new td{animation:hp-new 4s var(--ease)}@keyframes hp-new{0%{background:color-mix(in srgb, var(--rose) 22%, transparent)}to{background:0 0}}.hp-time{white-space:nowrap;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hp-src{white-space:nowrap}.hp-src small{text-overflow:ellipsis;max-width:220px;overflow:hidden}.hp-req{min-width:220px;max-width:420px}.hp-req code{word-break:break-all}.hp-req b{color:var(--amber);font-weight:600}.hp-tool{white-space:nowrap;font-family:var(--font-mono)}.hp-num{font-variant-numeric:tabular-nums;text-align:right!important}.hp-org small{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.hp-grid{margin-bottom:14px}.hp-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;display:grid}.hp-cols{align-items:flex-end;gap:2px;height:130px;display:flex}.hp-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:stretch;min-width:0;height:100%;display:flex}.hp-col-bar{opacity:.85;border-radius:3px 3px 0 0;display:block}.hp-col:hover .hp-col-bar{opacity:1}.hp-col-l{height:16px;color:var(--text-dim);font-size:.58rem;font-family:var(--font-mono);white-space:nowrap;margin-top:4px;overflow:visible}.hp-try{flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.hp-try a{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;transition:border-color .2s,color .2s;display:inline-flex}.hp-try a:hover{border-color:var(--rose);color:var(--text)}.hp-try code{font-family:var(--font-mono);color:var(--rose)}.hp-cat{border-top:3px solid var(--violet)}.hp-tone-bad{border-top-color:#ff5d73}.hp-tone-warn{border-top-color:var(--amber)}.hp-cat .cctv-source-op{flex-wrap:wrap;gap:4px 10px;display:flex}.hp-cat code{font-family:var(--font-mono);overflow-wrap:anywhere}@media (max-width:1100px){.hp-kpis.hp-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:980px){.hp-grid-2{grid-template-columns:1fr}}@media (max-width:640px){.hp-kpis.hp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-cols{height:100px}}.hp-feed-compact{max-height:none}.hp-more{margin-top:18px}.hp-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.hp-kpi-alert{border-color:color-mix(in srgb, #ff8a3d 60%, var(--border-soft));background:color-mix(in srgb, #ff8a3d 8%, var(--surface))}.hp-kpi-alert .ti-kpi-value{color:#ff8a3d}.hp-sev{--k:var(--text-dim);font-family:var(--font-mono);white-space:nowrap;color:var(--k);background:color-mix(in srgb, var(--k) 14%, transparent);border-radius:6px;margin-top:4px;padding:0 7px;font-size:.64rem;line-height:1.7;display:inline-block}.hp-sev-critical{font-weight:700}.hp-table td .hp-sev{display:inline-block}.hp-tool small,.hp-techs{color:var(--text-dim);font-size:.62rem;font-family:var(--font-mono);white-space:normal;margin-top:3px;display:block}.hp-intel,.hp-intel-3{margin-top:14px}.hp-tech{color:inherit}.hp-tech code{font-family:var(--font-mono);color:var(--rose);margin-right:4px}.hp-tech small{color:var(--text-dim);font-size:.62rem;display:block}.hp-tech:hover code{text-decoration:underline}.hp-tokens{flex-direction:column;gap:10px;max-height:460px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.hp-tokens li{background:var(--bg-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);border-left:3px solid #ff8a3d;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;font-size:.72rem;display:flex}.hp-tokens b{color:#ff8a3d;font-size:.76rem}.hp-tokens code{font-family:var(--font-mono);color:var(--text);word-break:break-all}.hp-tokens small{color:var(--text-dim);font-size:.64rem}.hp-fp{word-break:break-all;font-size:.66rem}.hp-ioc{font-family:var(--font-mono);word-break:break-all;color:var(--rose);font-size:.68rem}
