/* サイバー攻撃デイリーニュース（kanzentokumei.com コンプラNEWS の構成を参考に、落ち着いたブルーで） */
.i{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}
.cn-mast{position:relative;padding-top:clamp(22px,3vw,36px);color:var(--ink);text-align:center;background:linear-gradient(180deg,#fff,var(--mist));overflow:hidden}
.cn-mast::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(43,93,155,.1) 1px,transparent 1px);background-size:6px 6px;pointer-events:none}
.cn-mast .wrap{position:relative}
.crumbs{margin-bottom:clamp(16px,2.4vw,24px);text-align:left;font-size:12.5px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;color:var(--muted)}
.crumbs li+li::before{content:"/";margin:0 10px;color:var(--line-2)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.cn-mast__title{padding:clamp(14px,2vw,22px) 0 clamp(10px,1.4vw,14px);border-top:4px double var(--deep);border-bottom:1px solid var(--deep)}
.cn-logo{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:0 .2em;margin:0;font-family:var(--sans);font-weight:900;font-size:clamp(1.9rem,6.2vw,3.6rem);line-height:1.2;letter-spacing:.06em;color:var(--deep)}
.cn-logo__en{color:var(--accent);background:linear-gradient(transparent 76%,var(--soft-2) 76%)}
.cn-logo__month{flex-basis:100%;font-size:.42em;letter-spacing:.14em;color:var(--accent-2);margin-bottom:.2em}
.cn-logo__tag{margin:8px 0 0;font-family:var(--en);font-weight:700;font-size:clamp(.6rem,1.5vw,.78rem);letter-spacing:.4em;color:var(--ink-2);white-space:nowrap}
.cn-logo__tag::before,.cn-logo__tag::after{content:"";display:inline-block;width:2em;height:1px;margin:0 .9em;vertical-align:middle;background:var(--accent-2)}
.cn-mast__line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 16px;padding:9px 0;border-bottom:3px double var(--deep);font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink-2)}
.cn-mast__line>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.cn-mast__count{justify-self:start}
.cn-mast__count em{font-style:normal;margin-right:10px;padding:1px 9px;border:1px solid var(--deep);color:var(--deep)}
.cn-mast__count b{font-family:var(--en);font-size:1.1rem;color:var(--accent);margin:0 2px}
.cn-mast__daily{justify-self:end}
.cn-mast__line .i{width:14px;height:14px;color:var(--accent-2)}
.cn-mast__daily i{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 0 rgba(29,155,209,.6);animation:cnlive 2s ease-out infinite}
@keyframes cnlive{0%{box-shadow:0 0 0 0 rgba(29,155,209,.55)}70%{box-shadow:0 0 0 9px rgba(29,155,209,0)}100%{box-shadow:0 0 0 0 rgba(29,155,209,0)}}
.cn-mast__sub{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 0;margin:clamp(14px,2vw,20px) 0 8px;font-weight:700;font-size:.92rem;letter-spacing:.14em;color:var(--accent)}
.cn-mast__sub span+span::before{content:"・";margin:0 .4em;color:var(--line-2)}
.cn-mast__lead{max-width:42em;margin:0 auto clamp(24px,3.2vw,36px);font-size:.92rem;line-height:1.95;color:var(--ink-2)}
@media(max-width:640px){.cn-mast__line{grid-template-columns:auto auto;justify-content:space-between;font-size:.74rem}.cn-mast__issue{grid-column:1/-1;justify-self:center;order:-1}.cn-mast__count em{margin-right:6px;padding:1px 6px}}
/* ticker */
.cn-ticker{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;background:var(--accent);min-height:48px;text-align:left}
.cn-ticker__label{display:flex;align-items:center;gap:8px;height:100%;margin:0;padding:0 18px 0 max(24px,calc((100vw - 1112px)/2));background:var(--deep);font-family:var(--en);font-weight:700;font-size:.74rem;letter-spacing:.2em;color:#fff}
.cn-ticker__label i{width:8px;height:8px;border-radius:50%;background:var(--accent-2);animation:cnlive 2s ease-out infinite}
.cn-ticker__track{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.cn-ticker__list{list-style:none;display:flex;flex:none;margin:0;padding:0;animation:cnmarquee 80s linear infinite}
@keyframes cnmarquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.cn-ticker__track:hover .cn-ticker__list{animation-play-state:paused}
.cn-ticker__list li{position:relative;padding:0 28px;white-space:nowrap;font-size:.86rem;font-weight:700;line-height:48px}
.cn-ticker__list li::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;margin-top:-3px;background:rgba(255,255,255,.55);transform:rotate(45deg)}
.cn-ticker__list a{color:#fff;text-decoration:none}
.cn-ticker__list a:hover{text-decoration:underline}
.cn-ticker__list b{margin-right:10px;padding:2px 7px;border:1px solid rgba(255,255,255,.6);border-radius:3px;font-size:.68rem}
@media(max-width:760px){.cn-ticker__label{padding:0 12px 0 16px}}
@media(prefers-reduced-motion:reduce){.cn-ticker__list{animation:none!important;flex-wrap:wrap;flex:1}.cn-ticker__list[aria-hidden]{display:none}.cn-ticker__list li{line-height:1.6;padding:8px 16px;white-space:normal}}
/* page */
.cn-page{padding:clamp(32px,4vw,48px) 0 clamp(56px,6vw,84px);background:var(--bg)}
.cn-wrap{max-width:960px}
.cn-notice{margin:0 0 22px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--soft);font-size:.76rem;line-height:1.85;color:var(--ink-2);border-radius:0 6px 6px 0}
.cn-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.cn-filter[hidden]{display:none}
.cn-filter button{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-family:var(--sans);font-weight:700;font-size:.82rem;color:var(--deep);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cn-filter button small{font-family:var(--en);font-size:.7rem;color:var(--muted)}
.cn-filter button:hover{border-color:var(--accent)}
.cn-filter button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.cn-filter button[aria-pressed="true"] small{color:#dbe9f7}
.cn-tag{display:inline-block;padding:2px 9px;border-radius:3px;font-weight:700;font-size:.7rem;letter-spacing:.04em;color:#fff;background:#64748b;line-height:1.7}
.cn-tag--ta{background:#2b5d9b}.cn-tag--tr{background:#a9483f}.cn-tag--tl{background:#5b56a3}.cn-tag--ts{background:#a8701f}.cn-tag--tg{background:#2b7a73}.cn-tag--tk{background:#64748b}
.cn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;font-size:.74rem;line-height:1.5}
.cn-src{color:var(--muted);font-weight:500}
.cn-src::before{content:"出典："}
.cn-top{position:relative;margin:0 0 clamp(36px,5vw,56px);padding:clamp(24px,3.4vw,38px);background:#fff;border-top:5px solid var(--accent);border-radius:0 0 12px 12px;box-shadow:var(--shadow-lg)}
.cn-top[hidden],.cn-item[hidden],.cn-day[hidden]{display:none}
.cn-top__label{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--en);font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.cn-top__label span{padding:4px 10px;background:var(--accent-2);color:#fff;letter-spacing:.2em;border-radius:3px}
.cn-top__ttl{margin:0 0 14px;font-weight:700;font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.6;letter-spacing:.02em}
.cn-top__sum{margin:0 0 16px;font-size:.96rem;line-height:1.95;color:var(--ink)}
.cn-top__ttl a,.cn-item__ttl a{color:var(--deep);text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .3s var(--ease),color .2s}
.cn-top__ttl a:hover,.cn-item__ttl a:hover{color:var(--accent);background-size:100% 1px}
.cn-top__ttl .i,.cn-item__ttl .i{width:.72em;height:.72em;margin-left:6px;vertical-align:-.02em;color:var(--muted)}
.cn-day+.cn-day{margin-top:clamp(36px,5vw,52px)}
.cn-day__head{display:flex;align-items:baseline;gap:10px;margin:0 0 4px;font-size:1rem}
.cn-day__head time{font-family:var(--en);font-weight:700;font-size:1.5rem;letter-spacing:.01em;color:var(--deep)}
.cn-day__head span{font-family:var(--en);font-weight:700;font-size:.72rem;letter-spacing:.2em;color:var(--accent-2)}
.cn-day__head small{font-size:.74rem;color:var(--muted);font-weight:500}
.cn-day__head::after{content:"";flex:1;align-self:center;height:2px;background:linear-gradient(90deg,var(--deep),var(--line-2))}
.cn-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.cn-item{padding:18px 0 20px;border-bottom:1px solid var(--line)}
.cn-item__ttl{margin:10px 0 8px;font-weight:700;font-size:1.04rem;line-height:1.65;letter-spacing:.01em}
.cn-item__sum{margin:0;font-size:.86rem;line-height:1.9;color:var(--ink-2)}
.cn-rel{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:10px 0 0;font-size:.74rem;line-height:1.6}
.cn-rel b{color:var(--accent-2);font-size:.7rem;letter-spacing:.06em}
.cn-rel a{background:var(--soft);border-radius:6px;padding:3px 9px;text-decoration:none;color:var(--deep)}
.cn-rel a:hover{background:var(--soft-2);color:var(--accent)}
.cn-empty{padding:32px 0;text-align:center;color:var(--ink-2)}
@media(max-width:760px){.cn-list{grid-template-columns:minmax(0,1fr)}}
/* pager・バックナンバー */
.cn-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,56px)}
.cn-pager a{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--deep);font-weight:700;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.cn-pager a:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.cn-pager small{display:block;font-family:var(--en);font-size:.66rem;letter-spacing:.2em;color:var(--accent-2)}
.cn-pager .i{width:18px;height:18px}
.cn-pager__newer .i{transform:rotate(180deg)}
.cn-pager__older{grid-column:2;justify-content:flex-end;text-align:right}
.cn-months{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 24px;padding:12px 0 14px;border-top:3px double var(--deep);border-bottom:1px solid var(--line-2)}
.cn-months--bottom{margin:18px 0 0;border-top:1px solid var(--line-2)}
.cn-months__label{flex:none;display:flex;align-items:center;gap:6px;margin:0;font-weight:700;font-size:.82rem;letter-spacing:.08em;color:var(--deep)}
.cn-months__label .i{width:16px;height:16px;color:var(--accent-2)}
.cn-months__ctrl{display:flex;align-items:stretch;flex:1 1 260px;max-width:380px;border:1px solid var(--accent);border-radius:8px;overflow:hidden;background:#fff}
.cn-months__step{flex:none;display:flex;align-items:center;justify-content:center;width:44px;font-size:1.5rem;line-height:1;color:var(--accent);text-decoration:none;background:var(--soft);transition:background .2s,color .2s}
.cn-months__step:first-child{border-right:1px solid var(--line-2)}
.cn-months__step:last-child{border-left:1px solid var(--line-2)}
a.cn-months__step:hover{background:var(--accent);color:#fff}
.cn-months__step.is-off{color:var(--line-2)}
.cn-months__select{flex:1;min-width:0;height:44px;padding:0 34px 0 14px;border:0;border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232b5d9b' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;-webkit-appearance:none;appearance:none;font-family:var(--sans);font-weight:700;font-size:.95rem;color:var(--deep);cursor:pointer}
.cn-months__select:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}
.cn-months__total{margin-left:auto;font-size:.74rem;color:var(--muted)}
@media(max-width:640px){.cn-months__ctrl{max-width:none;flex-basis:100%}.cn-months__total{margin-left:0}}
/* このページについて */
.cn-about{margin-top:48px;padding:30px clamp(20px,3vw,36px);background:#fff;border:1px solid var(--line);border-radius:14px}
.cn-about h2{margin:0 0 14px;font-size:1.15rem;color:var(--deep);display:flex;align-items:center;gap:10px}
.cn-about h2::before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent-2))}
.cn-about p{font-size:.92rem;margin:0 0 1em}
.cn-about strong{background:linear-gradient(transparent 64%,var(--soft-2) 64%)}
.cn-about .memo{margin:18px 0 0}
.cn-about .memo b{display:block;margin-bottom:8px;color:var(--deep)}
.cn-about .check{font-size:.88rem}
.cn-mast__daily .cn-rss{margin-left:10px;padding:2px 8px;border:1px solid #e3b48a;border-radius:4px;font-size:.72rem;background:#fff}
.cn-rss-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 16px;background:var(--mist);border:1px solid var(--line);border-radius:10px;font-size:.86rem!important}
.cn-rss-note code{font-size:.8rem}
