/* INTERACTIVE ISSUE: attack-chain infographic (navy scoreboard + Entry/Gap/Impact/Control chains) on the Soft Glass Ocean base */
.is-page{max-width:1040px;--navy:#0A1A33;--gold:#F2C14E;--c-entry:#475569;--c-gap:#DC2626;--c-impact:#B45309;--c-control:#047857;
 --b-entry:#F1F5F9;--b-gap:#FEF2F2;--b-impact:#FFFBEB;--b-control:#ECFDF5}
:root[data-theme="dark"] .is-page{--c-entry:#cbd5e1;--c-gap:#fca5a5;--c-impact:#fcd34d;--c-control:#6ee7b7;
 --b-entry:rgba(148,163,184,.12);--b-gap:rgba(248,113,113,.12);--b-impact:rgba(251,191,36,.12);--b-control:rgba(52,211,153,.12)}
.is-hero{background:var(--navy);background-image:radial-gradient(circle at 85% 0%,#1D3F75 0%,var(--navy) 58%);color:#fff;border-radius:var(--r-lg);padding:30px clamp(18px,4vw,40px) 26px;box-shadow:var(--shadow)}
.is-eyebrow{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.is-hero h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.05;letter-spacing:-.02em;margin:.35em 0 .3em;color:#fff}
.is-lead{margin:0 0 20px;max-width:700px;font-size:1.06rem;line-height:1.55;color:#c3cfe6}
.is-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.is-tile{position:relative;text-align:left;font:inherit;color:#fff;background:#10264A;border:1px solid rgba(255,255,255,.08);border-top:4px solid var(--acc);border-radius:14px;padding:14px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:transform .15s,background .15s,box-shadow .15s}
.is-tile:hover{transform:translateY(-2px);background:#14305a}
.is-tile:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.is-tile[aria-selected="true"]{background:#1a3a6b;box-shadow:0 0 0 2px var(--acc) inset}
.is-tile small{padding-right:20px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9fb0cf}
.is-tile b{font-size:clamp(1.3rem,2.6vw,1.75rem);letter-spacing:-.02em;line-height:1.1}
.is-tile span{font-size:.8rem;font-weight:600;color:var(--acc);line-height:1.3}
.is-done{position:absolute;top:9px;right:9px;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25)}
.is-tile.done .is-done{background:var(--acc);border-color:var(--acc)}
.is-tile.done .is-done::after{content:"";position:absolute;left:4px;top:0;width:4px;height:8px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg)}
.is-progress{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.is-bar{flex:1 1 220px;height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.is-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#2DD4BF);border-radius:99px;transition:width .4s}
.is-ptext{margin:0;font-size:.86rem;color:#c3cfe6}
.is-legend{display:flex;gap:18px;flex-wrap:wrap;margin:18px 4px 10px;font-size:.9rem;font-weight:700}
.is-legend span::before{content:"";display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.is-legend .is-entry::before{background:var(--c-entry)}.is-legend .is-gap::before{background:var(--c-gap)}.is-legend .is-impact::before{background:var(--c-impact)}.is-legend .is-control::before{background:var(--c-control)}
.is-panel{position:relative;border-top:5px solid var(--acc)!important;padding:22px clamp(16px,3vw,28px)!important;margin-bottom:16px;scroll-margin-top:90px}
.is-anchor{position:absolute;top:-100px}
.js-issue .is-panel[hidden]{display:none}
.is-ph{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.is-badge{flex:none;width:46px;height:46px;border-radius:12px;background:var(--acc);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:1.05rem}
.is-ph h2{margin:0;font-size:clamp(1.4rem,3vw,1.8rem);letter-spacing:-.01em}
.is-ph p{margin:2px 0 0;font-size:.9rem;font-weight:600;color:var(--muted)}
.is-stat{margin-left:auto;text-align:right;font-size:.8rem;font-weight:600;color:var(--muted);line-height:1.3}
.is-stat b{display:block;font-size:1.5rem;color:var(--text);letter-spacing:-.02em}
.is-hint{margin:14px 0 8px;font-size:.85rem;font-weight:700;color:var(--faint)}
.is-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:stretch}
.is-arrow{position:relative}
.is-arrow::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:2px;background:var(--border-strong)}
.is-arrow::before{content:"";position:absolute;right:3px;top:calc(50% - 5px);border:solid var(--faint);border-width:0 2px 2px 0;width:8px;height:8px;transform:rotate(-45deg)}
.is-step-btn{width:100%;height:100%;text-align:left;font:inherit;color:var(--text);border-radius:14px;padding:13px 12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;position:relative;transition:transform .15s,box-shadow .15s}
.is-entry .is-step-btn{background:var(--b-entry);border:1.5px solid color-mix(in srgb,var(--c-entry) 35%,transparent)}
.is-gap .is-step-btn{background:var(--b-gap);border:1.5px solid color-mix(in srgb,var(--c-gap) 35%,transparent)}
.is-impact .is-step-btn{background:var(--b-impact);border:1.5px solid color-mix(in srgb,var(--c-impact) 35%,transparent)}
.is-control .is-step-btn{background:var(--b-control);border:1.5px solid color-mix(in srgb,var(--c-control) 35%,transparent)}
.is-step-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.is-step-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.is-step-btn[aria-expanded="true"]{box-shadow:0 0 0 2px currentColor inset}
.is-entry .is-step-btn[aria-expanded="true"]{color:var(--c-entry)}.is-gap .is-step-btn[aria-expanded="true"]{color:var(--c-gap)}.is-impact .is-step-btn[aria-expanded="true"]{color:var(--c-impact)}.is-control .is-step-btn[aria-expanded="true"]{color:var(--c-control)}
.is-step-btn small{font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.is-entry small{color:var(--c-entry)}.is-gap small{color:var(--c-gap)}.is-impact small{color:var(--c-impact)}.is-control small{color:var(--c-control)}
.is-step-btn b{font-size:1rem;line-height:1.3;color:var(--text);padding-right:16px}
.is-more{position:absolute;top:9px;right:10px;font-weight:900;font-size:1.1rem;line-height:1;color:var(--faint);transition:transform .2s}
.is-step-btn[aria-expanded="true"] .is-more{transform:rotate(45deg)}
.is-details{margin-top:10px}
.is-detail{border-radius:14px;padding:14px 16px;margin-bottom:8px;border-left:5px solid}
.is-detail.is-entry{background:var(--b-entry);border-color:var(--c-entry)}.is-detail.is-gap{background:var(--b-gap);border-color:var(--c-gap)}.is-detail.is-impact{background:var(--b-impact);border-color:var(--c-impact)}.is-detail.is-control{background:var(--b-control);border-color:var(--c-control)}
.is-detail small{font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.is-detail p{margin:6px 0 0;font-size:1rem;line-height:1.55}
.js-issue .is-detail{display:none}
.js-issue .is-detail.open{display:block;animation:isIn .25s ease}
@keyframes isIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.is-sum{margin:12px 0;font-size:1.02rem;line-height:1.6;color:var(--muted)}
.is-lesson{background:rgba(242,193,78,.14);border-left:5px solid var(--gold);border-radius:12px;padding:12px 16px}
.is-lesson small,.is-tip small{font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#a16207}
:root[data-theme="dark"] .is-lesson small{color:var(--gold)}
.is-lesson p{margin:4px 0;font-size:1.08rem;font-weight:800;line-height:1.4}
.is-lesson span{font-size:.82rem;font-weight:700;color:var(--muted)}
.is-quiz{margin-top:16px}
.is-q{margin:0 0 8px;font-weight:800;font-size:1.05rem}
.is-opts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.is-opt{width:100%;text-align:left;font:inherit;font-size:1rem;color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:12px;padding:11px 14px 11px 40px;cursor:pointer;position:relative;line-height:1.4}
.is-opt::before{content:"";position:absolute;left:14px;top:50%;margin-top:-8px;width:16px;height:16px;border-radius:50%;border:2px solid var(--faint)}
.is-opt:hover:not([disabled]){border-color:var(--accent)}
.is-opt:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.is-opt[disabled]{cursor:default;opacity:.62}
.is-opt.ok{opacity:1;border-color:#059669;background:rgba(16,185,129,.12)}
.is-opt.ok::before{background:#059669;border-color:#059669}
.is-opt.bad{opacity:1;border-color:#dc2626;background:rgba(239,68,68,.1)}
.is-opt.bad::before{background:#dc2626;border-color:#dc2626}
.is-fb{margin:10px 0 0;font-size:1rem;line-height:1.55}
.is-fb:empty{display:none}
.is-fb b{font-weight:800}
.is-fb .is-best{display:block;margin-top:6px}
.is-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.is-tip{background:var(--navy);color:#e2e8f0;border-radius:var(--r);padding:22px 24px;margin:22px 0 8px;box-shadow:var(--shadow-sm)}
.is-tip small{color:var(--gold)}
.is-tip p{margin:8px 0 0;font-size:1.05rem;line-height:1.6}
.is-h{margin:22px 4px 10px}
.is-labs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.is-lab{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;padding:16px!important;border-top:4px solid var(--acc)!important}
.is-lab b{font-size:1.02rem}.is-lab span{font-size:.88rem;color:var(--muted);line-height:1.45}
.is-lab .arr{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;margin-top:4px}
.is-sources{margin-top:18px;padding:14px 18px!important}
.is-sources summary{cursor:pointer;font-weight:800}
.is-src-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}
.is-src-grid h3{font-size:.95rem;margin:10px 0 4px}.is-src-grid ul{margin:0;padding-left:18px;font-size:.9rem;line-height:1.6}
.is-back{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media (max-width:760px){
 .is-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .is-chain{grid-template-columns:1fr}
 .is-arrow{height:20px}
 .is-arrow::after{left:50%;right:auto;top:3px;bottom:3px;width:2px;height:auto}
 .is-arrow::before{left:calc(50% - 4px);right:auto;top:auto;bottom:3px;transform:rotate(45deg)}
 .is-stat{display:none}
 .is-tile small{letter-spacing:.04em}
 .is-labs,.is-src-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.is-tile,.is-step-btn,.is-bar span,.is-more{transition:none}.js-issue .is-detail.open{animation:none}}
