.access-monitor{--bg:#050E17; --bg2:#0A1A2A;--text:#E6EEF5; --muted:#93A6B8; --faint:#6B8196;--card:rgba(255,255,255,.04); --line:rgba(255,255,255,.08);--human:#2EE6C9; --bot-good:#5BA8FF; --bot-other:#A88BFF; --attack:#FF6B4A; --breach:#FF2E88; --warn:#FFA02E;--r:16px;--sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;--shadow:0 1px 0 rgba(255,255,255,.05) inset, 0 2px 6px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.35);--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--hero-h:460px}
.access-monitor,.access-monitor *{box-sizing:border-box}
.access-monitor{background:radial-gradient(1200px 600px at 20% -10%, #0E2A44 0%, transparent 60%), var(--bg);color:var(--text);font:400 14px/1.6 var(--sans)}
.access-monitor button{font:inherit;color:inherit}
.am-num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.am-wrap{max-width:1360px;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-6)}
.am-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.am-ttl{display:flex;align-items:center;gap:var(--sp-3);min-width:0}
.am-ttl svg{flex:none;color:var(--human)}
.am-title{margin:0;font-size:22px;line-height:1.2;font-weight:700;letter-spacing:.02em}
.am-sub{margin:2px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.am-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:12px;color:var(--muted)}
.am-chip i{width:8px;height:8px;border-radius:50%;background:var(--faint)}
.am-chip.am-live i{background:var(--human);box-shadow:0 0 8px var(--human);animation:am-blink 1.6s ease-in-out infinite}
@keyframes am-blink{50%{opacity:.35}}
.am-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-items:start}
.am-col{display:grid;gap:var(--sp-4);min-width:0}
.am-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.am-card h2{margin:0;font-size:14px;font-weight:700;letter-spacing:.04em}
.am-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-4) 0}
.am-card-h small{color:var(--muted);font-size:12px}
.am-hero{position:relative;height:var(--hero-h);overflow:hidden;padding:0;background:linear-gradient(180deg,#040A13,#0C2438)}
.am-hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.am-alert{position:absolute;left:var(--sp-3);right:var(--sp-3);top:var(--sp-3);display:flex;gap:var(--sp-3);align-items:center;padding:10px 14px;border-radius:12px;background:rgba(60,4,30,.88);border:1px solid var(--breach);color:#fff;box-shadow:0 0 0 1px rgba(255,46,136,.3),0 8px 30px rgba(255,46,136,.35);opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .25s cubic-bezier(.2,.8,.2,1),transform .25s cubic-bezier(.2,.8,.2,1);min-width:0}
.am-alert.am-show{opacity:1;transform:none}
.am-alert svg{flex:none;color:var(--breach)}
.am-alert b{display:block;font-size:13px}
.am-alert span{display:block;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;color:#FFD0E4}
.am-hero-cap{position:absolute;left:var(--sp-3);bottom:var(--sp-2);font-size:11px;color:var(--faint);pointer-events:none}
.am-ctrl{display:flex;align-items:center;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4)}
.am-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.am-btn:hover{background:rgba(255,255,255,.1)}
.am-btn:active{transform:scale(.97)}
.am-btn:focus-visible,.am-seg button:focus-visible,.am-tl:focus-visible{outline:2px solid var(--bot-good);outline-offset:2px}
.am-btn.am-play{width:44px;padding:0;background:var(--human);color:#04201B;border-color:transparent}
.am-btn.am-play:hover{background:#5CF0D8}
.am-clockrow{display:flex;align-items:center;gap:var(--sp-3);min-width:0}
.am-sky{position:relative;flex:none;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.am-sky svg{position:absolute;inset:7px;width:24px;height:24px;opacity:0;transition:opacity .4s}
.am-sky svg.am-on{opacity:1}
.am-clock{font:600 32px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.am-clock small{display:block;font:400 11px/1.4 var(--sans);color:var(--muted);letter-spacing:0;margin-top:4px}
.am-seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.am-seg button{min-height:44px;min-width:48px;padding:0 10px;border:0;background:transparent;cursor:pointer;font:600 13px var(--mono);color:var(--muted);border-right:1px solid var(--line)}
.am-seg button:last-child{border-right:0}
.am-seg button[aria-pressed=true]{background:rgba(91,168,255,.18);color:#fff}
.am-btn.am-snd{width:44px;padding:0}
.am-btn.am-snd[aria-pressed=true]{border-color:rgba(91,168,255,.6);color:#BFDBFF;background:rgba(91,168,255,.14)}
.am-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 var(--sp-4) var(--sp-3);font-size:12px;color:var(--muted)}
.am-legend span{display:inline-flex;align-items:center;gap:6px}
.am-legend .am-note{flex-basis:100%;color:var(--faint);font-size:11px}
.am-legend i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c)}
.am-tl-wrap{padding:var(--sp-3) var(--sp-4) var(--sp-4)}
.am-tl{position:relative;height:120px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:8px}
.am-bars{position:absolute;inset:0;display:flex;align-items:flex-end}
.am-col-b{flex:1 1 0;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 1px}
.am-col-b.am-day{border-left:1px dashed rgba(255,255,255,.22)}
.am-col-b .am-seg-b{width:100%;flex:none;min-height:0}
.am-col-b .am-seg-b.am-a{min-height:2px}
.am-col-b:hover{background:rgba(255,255,255,.05)}
.am-seg-b.am-h{background:var(--human)}.am-seg-b.am-g{background:var(--bot-good)}.am-seg-b.am-o{background:var(--bot-other)}.am-seg-b.am-a{background:var(--attack)}.am-seg-b.am-z{background:var(--breach)}
.am-col-b.am-past .am-seg-b{opacity:1}.am-col-b.am-future .am-seg-b{opacity:.38}
.am-ph{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8);pointer-events:none}
.am-ph::before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top-color:#fff;border-bottom:0}
.am-axis{position:relative;height:18px;margin-top:6px;font:400 11px var(--mono);color:var(--faint)}
.am-axis span{position:absolute;top:0;white-space:nowrap;transform:translateX(0)}
.am-axis span.am-d{color:var(--muted);font-weight:600}
.am-axis span.am-end{transform:translateX(-100%)}
.am-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3)}
.am-kpi{position:relative;padding:var(--sp-4);overflow:hidden;border-top:3px solid var(--c)}
.am-kpi .am-lb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.am-kpi .am-lb i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.am-kpi .am-v{font:600 28px/1.2 var(--mono);font-variant-numeric:tabular-nums;margin-top:4px}
.am-kpi .am-v small{font:400 12px var(--sans);color:var(--muted);margin-left:4px}
.am-kpi .am-n{font-size:11px;color:var(--muted);min-height:1.5em;overflow-wrap:anywhere}
.am-kpi svg{display:block;width:100%;height:28px;margin-top:6px}
.am-kpi.am-pulse{animation:am-kp 1.2s ease-out 3}
@keyframes am-kp{0%{box-shadow:0 0 0 0 rgba(255,46,136,.7)}100%{box-shadow:0 0 0 14px rgba(255,46,136,0)}}
.am-atk{margin-top:var(--sp-4)}
.am-atk-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) 0}
.am-atk-sum div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);min-width:0}
.am-atk-sum b{display:block;font:600 22px/1.25 var(--mono);font-variant-numeric:tabular-nums}
.am-atk-sum b small{font:400 12px var(--sans);color:var(--muted);margin-left:4px}
.am-atk-sum span{font-size:11px;color:var(--muted)}
.am-atk-sum .am-ok b{color:var(--human)}
.am-atk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) var(--sp-4)}
.am-kc{position:relative;display:grid;gap:10px;align-content:start;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(255,107,74,.07),rgba(255,255,255,.015) 60%);transition:border-color .3s,box-shadow .3s}
.am-kc.am-now{border-color:rgba(255,107,74,.65);box-shadow:0 0 0 1px rgba(255,107,74,.25),0 0 28px rgba(255,107,74,.2)}
.am-kc-h{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}
.am-kc-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,107,74,.15);color:var(--attack)}
.am-kc-h h3{margin:0;font-size:14px;line-height:1.35}
.am-kc-h .am-meta{display:block;font:400 11px var(--mono);color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}
.am-kc-n{font:600 24px/1 var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.am-kc-n small{font:400 11px var(--sans);color:var(--muted);margin-left:2px}
.am-kc dl{margin:0;display:grid;gap:8px;font-size:12.5px;line-height:1.65}
.am-kc dt{font-size:11px;color:var(--faint);font-weight:500;letter-spacing:.04em}
.am-kc dd{margin:0;overflow-wrap:anywhere}
.am-pills,.am-ex{display:flex;flex-wrap:wrap;gap:6px}
.am-pill{font:400 11px var(--mono);padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.am-pill.am-ok{border-color:rgba(46,230,201,.45);color:var(--human)}
.am-pill.am-warn{border-color:rgba(255,160,46,.45);color:var(--warn)}
.am-ex code{font:400 11px var(--mono);padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.32);color:#FFC9B8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.am-ex code em{font-style:normal;color:var(--faint);margin-left:6px}
.am-strip{display:flex;align-items:flex-end;gap:1px;height:24px}
.am-strip i{flex:1 1 0;min-width:0;background:var(--attack);opacity:.35;border-radius:1px}
.am-strip i.am-z{background:rgba(255,255,255,.1);opacity:1}
.am-strip i.am-cur{opacity:1;box-shadow:0 0 6px var(--attack)}
.am-strip i.am-cur.am-z{background:#fff;opacity:.6}
.am-strip-l{display:flex;justify-content:space-between;font:400 10px var(--mono);color:var(--faint);margin-top:2px}
.am-now-badge{display:none;align-items:center;gap:6px;font-size:11px;color:#FFD2C4}
.am-now-badge i{width:6px;height:6px;border-radius:50%;background:var(--attack);box-shadow:0 0 6px var(--attack)}
.am-kc.am-now .am-now-badge{display:inline-flex}
.am-src{margin:var(--sp-5) 0 0;padding:0 var(--sp-1);font-size:11px;line-height:1.7;color:var(--faint);overflow-wrap:anywhere}
@media (max-width:1100px){.am-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.am-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.access-monitor{--hero-h:300px}
.am-wrap{padding:var(--sp-4) var(--sp-3) var(--sp-5)}
.am-title{font-size:19px}
.am-tl{height:100px}
.am-atk-sum{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--sp-3) var(--sp-3) 0}
.am-atk-grid{grid-template-columns:minmax(0,1fr);padding:var(--sp-3)}}
@media (prefers-reduced-motion:reduce){.access-monitor *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.am-day-select{min-height:44px;padding:0 36px 0 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.06);color:var(--text);font:600 13px var(--mono);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.am-day-select:focus-visible{outline:2px solid var(--bot-good);outline-offset:2px}
.am-day-select option{background:var(--bg2);color:var(--text)}
.am-col-b.am-missing{background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 3px,transparent 3px 7px)}
.am-notice{margin:0;padding:var(--sp-3) var(--sp-4) 0;font-size:12px;color:var(--warn)}
.am-notice[hidden]{display:none !important}
.am-kc-empty{margin:0;padding:var(--sp-2) 0;font-size:12px;color:var(--muted)}
body.access-monitor-body{background:var(--am-page-bg,#050E17)}
.am-intro{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:rgba(2,8,14,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.am-intro[hidden]{display:none !important}
.am-intro-box{width:100%;max-width:420px;padding:var(--sp-6) var(--sp-5) var(--sp-5);border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#0E2236,#081624);box-shadow:var(--shadow);text-align:center}
.am-intro-ic{color:var(--human)}
.am-intro-title{margin:var(--sp-3) 0 0;font-size:18px;font-weight:700;letter-spacing:.02em}
.am-intro-desc{margin:var(--sp-2) 0 0;color:var(--warn);font-size:14px;font-weight:600}
.am-intro-btns{display:grid;gap:var(--sp-3);margin-top:var(--sp-5)}
.am-intro-btns .am-btn{width:100%;min-height:48px;font-weight:600}
.am-btn.am-intro-sound{background:var(--human);color:#04201B;border-color:transparent}
.am-btn.am-intro-sound:hover{background:#5CF0D8}
.am-intel{margin-top:var(--sp-4)}
.am-intel-h{margin-top:var(--sp-4);border-top:1px solid var(--line)}
.am-intel-sum{margin:0;padding:var(--sp-3) var(--sp-4) 0;font-size:13px;color:var(--muted)}
.am-cve-list{list-style:none;margin:0;padding:var(--sp-3) var(--sp-4) 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--sp-2)}
.am-cve{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02);min-width:0}
.am-cve.am-hit{border-color:rgba(255,107,74,.55);background:rgba(255,107,74,.08)}
.am-cve-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.am-cve-h code{font:600 12px var(--mono);color:var(--text)}
.am-cve-h b{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.am-cve-tags{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}
.am-cve p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.am-cve-n{font:400 12px var(--mono);color:var(--faint)}
.am-cve.am-hit .am-cve-n{color:var(--attack);font-weight:600}
.am-cve-ids{font:400 11px var(--mono);color:var(--faint);overflow-wrap:anywhere}
.am-cve .am-note-impact{color:var(--text)}
.am-note-src{font-size:11px;color:var(--muted);justify-self:start}
.am-tgt-rows{display:grid;gap:8px;padding:var(--sp-3) var(--sp-4) 0}
.am-tgt{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;font-size:12px}
.am-tgt-name{color:var(--text);overflow-wrap:anywhere}
.am-tgt-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.am-tgt-bar span{display:block;height:100%;border-radius:999px;background:var(--attack);opacity:.75}
.am-tgt.am-own .am-tgt-bar span{background:var(--human)}
.am-tgt-n{font:400 12px var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.am-geo{margin-top:var(--sp-4)}
.am-geo-rows{display:grid;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) 0}
.am-geo-row{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:var(--sp-2) var(--sp-4);align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.am-geo-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0}
.am-geo-name i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c)}
.am-geo-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06)}
.am-geo-bar .am-geo-jp{background:var(--human)}
.am-geo-bar .am-geo-abroad{background:var(--c)}
.am-geo-bar .am-geo-unknown{background:var(--faint)}
.am-geo-nums{grid-column:2;display:flex;flex-wrap:wrap;gap:4px var(--sp-4);font-size:12px;color:var(--muted)}
.am-geo-nums b{font:600 13px var(--mono);font-variant-numeric:tabular-nums;color:var(--text);margin:0 2px 0 6px}
.am-geo-nums i{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--c)}
.am-geo-src{margin:0;padding:var(--sp-3) var(--sp-4) var(--sp-4);font-size:11px;color:var(--faint);overflow-wrap:anywhere}
.am-geo-src a{color:var(--muted)}
@media (max-width:640px){.am-intel-sum,.am-cve-list,.am-tgt-rows{padding-left:var(--sp-3);padding-right:var(--sp-3)}
.am-tgt{grid-template-columns:minmax(0,1fr) auto}
.am-tgt-bar{grid-column:1 / -1;grid-row:2}
.am-geo-rows{padding:var(--sp-3) var(--sp-3) 0}
.am-geo-row{grid-template-columns:minmax(0,1fr)}
.am-geo-nums{grid-column:1}
.am-geo-src{padding:var(--sp-3)}}