/* IMPACT tab (CJ 10/13): asteroid watchlist + impact simulator. Accent: molten orange (UAP is red, SIM is pink). */
:root{--imp:#ff7a1a;--imp2:#ffb27a;--imp-ink:#ffd9bd}
html[data-theme="light"]{--imp:#b84a00;--imp2:#9a3d00;--imp-ink:#5c2400}
#rail button.impact-rail{color:var(--imp2)}#rail button.impact-rail.on{color:var(--m-hi,#fff);border-left-color:var(--imp);background:color-mix(in srgb,var(--imp) 12%,transparent)}
#catstrip button.impact-strip{color:var(--imp2)}#catstrip button.impact-strip.on{color:var(--m-hi,#fff);border-bottom-color:var(--imp)}

.imp{display:flex;flex-direction:column;gap:9px}
.imp .lp-head h2{color:color-mix(in srgb,var(--imp) var(--hue-mix),var(--hue-base));text-shadow:0 0 12px color-mix(in srgb,var(--imp) 50%,transparent)}
.imp-note{font-size:10px;line-height:1.55;letter-spacing:.06em;color:var(--dim);border-left:2px solid var(--line);padding:5px 0 5px 9px}
.imp-note.bad{color:var(--red2);border-left-color:var(--red)}
.imp-h5{font-size:9px;letter-spacing:.26em;color:var(--imp);font-weight:400;margin-top:3px}

/* view switch */
.imp-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2)}
.imp-tabs button{padding:8px 6px;font-size:10px;letter-spacing:.2em;color:var(--dim);transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px}
.imp-tabs button+button{border-left:1px solid var(--line2)}
.imp-tabs button:hover{color:var(--ink);background:var(--hover)}
.imp-tabs button.on{color:var(--m-hi,#fff);background:color-mix(in srgb,var(--imp) 16%,transparent);box-shadow:inset 0 -2px 0 var(--imp)}
.imp-tabs u{text-decoration:none;font-size:9px;letter-spacing:.06em;padding:0 4px;border:1px solid color-mix(in srgb,var(--imp) 55%,transparent);color:var(--imp2)}

/* watchlist */
.imp-src{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.14em;color:var(--mute)}
.imp-src i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ok);box-shadow:0 0 7px var(--ok);animation:imppulse 2s infinite}
.imp-src i.snap{background:var(--warn);box-shadow:0 0 7px var(--warn);animation:none}
@keyframes imppulse{50%{opacity:.35}}
.imp-next{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;text-align:left;padding:9px 11px;border:1px solid color-mix(in srgb,var(--imp) 45%,transparent);background:color-mix(in srgb,var(--imp) 8%,transparent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.imp-next:hover{background:color-mix(in srgb,var(--imp) 14%,transparent)}
.imp-next span{font-size:9px;letter-spacing:.24em;color:var(--imp)}
.imp-next b{font:600 22px/1 var(--hd);letter-spacing:.08em;color:var(--m-hi,#fff);font-variant-numeric:tabular-nums;justify-self:end}
.imp-next em{grid-column:1/-1;font-style:normal;font-size:9.5px;letter-spacing:.1em;color:var(--m-ink2,var(--ink2))}
.imp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.imp-stats div{border:1px solid var(--line2);background:var(--m-wash);padding:6px 8px;display:flex;flex-direction:column;gap:2px}
.imp-stats b{font:600 17px/1 var(--hd);color:var(--cy2);font-variant-numeric:tabular-nums}
.imp-stats span{font-size:9px;letter-spacing:.12em;color:var(--dim)}
.imp-list{display:flex;flex-direction:column;gap:3px}
.ir{border:1px solid var(--line2);border-left:3px solid var(--line);background:var(--m-wash)}
.ir.cl{border-left-color:var(--imp);background:color-mix(in srgb,var(--imp) 7%,transparent)}
.ir.on{border-color:color-mix(in srgb,var(--imp) 50%,transparent)}
.ir.past{opacity:.55}
.ir-b{display:grid;grid-template-columns:1fr auto auto;gap:10px;width:100%;text-align:left;padding:7px 9px;align-items:center}
.ir-b:hover{background:var(--m-wash2)}
.ir-b>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ir-b b{font-size:10.5px;letter-spacing:.08em;color:var(--ink);font-weight:400;white-space:nowrap}
.ir-b em{font-style:normal;font-size:9px;letter-spacing:.08em;color:var(--mute);white-space:nowrap}
.ir-n{flex-direction:row!important;flex-wrap:wrap;align-items:baseline;column-gap:6px!important}
.ir-n em{flex-basis:100%}
.ir-n u{text-decoration:none;font-size:8.5px;letter-spacing:.14em;color:var(--on-accent);background:var(--imp);padding:0 4px}
.ir-d,.ir-s{align-items:flex-end;text-align:right}
.ir-d b{color:var(--cy2);font-variant-numeric:tabular-nums}.ir-d small{font-size:9px;color:var(--dim)}
.ir.cl .ir-d b{color:var(--imp2)}
.ir-s b{color:var(--m-ink2,var(--ink2))}
.ir-x{padding:2px 9px 9px;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:7px}
.ir-x dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:9.5px;letter-spacing:.06em;margin-top:6px}
.ir-x dt{color:var(--dim)}.ir-x dd{color:var(--ink);text-align:right}

/* buttons */
.imp-go{display:flex;flex-direction:column;gap:6px}
.imp-go.row{flex-direction:row}.imp-go.row>button{flex:1}
.imp-go>button{padding:9px 12px;border:1px solid var(--imp);color:var(--m-hi,#fff);background:color-mix(in srgb,var(--imp) 12%,transparent);font-size:10.5px;letter-spacing:.2em;transition:.15s}
.imp-go>button:hover:not(:disabled){background:color-mix(in srgb,var(--imp) 24%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--imp) 32%,transparent)}
.imp-go>button.on{background:color-mix(in srgb,var(--imp) 28%,transparent)}
.imp-go>button.fire{padding:12px;font:700 15px/1 var(--hd);letter-spacing:.4em;color:var(--on-accent);background:linear-gradient(90deg,var(--imp),#ff4a1a);border-color:var(--imp);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.imp-go>button.fire:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 0 26px color-mix(in srgb,var(--imp) 60%,transparent)}
.imp-go>button:disabled{opacity:.4;cursor:not-allowed}

/* simulator */
.imp-pre{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.imp-pre button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 7px;border:1px solid var(--line2);background:var(--m-wash);text-align:left;transition:.15s;min-width:0}
.imp-pre button:hover{background:var(--m-wash2)}
.imp-pre button b{font-size:9.5px;letter-spacing:.08em;color:var(--ink);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.imp-pre button em{font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--mute)}
.imp-pre button.on{border-color:var(--imp);background:color-mix(in srgb,var(--imp) 14%,transparent)}
.imp-pre button.on em{color:var(--imp2)}
.imp-ctl{display:flex;flex-direction:column;gap:8px}
.ic{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline}
.ic>span{font-size:9px;letter-spacing:.2em;color:var(--dim)}
.ic>b{font-size:11px;letter-spacing:.08em;color:var(--m-hi,#fff);font-weight:400;font-variant-numeric:tabular-nums}
.ic input[type=range]{grid-column:1/-1}
.imp-ctl input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--imp),var(--faint))}
.imp-ctl input[type=range]::-webkit-slider-thumb{background:var(--imp2)}
.imp-seg{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);margin-top:3px}
.imp-seg button{padding:6px 2px;font-size:9px;letter-spacing:.06em;color:var(--dim);line-height:1.25}
.imp-seg button+button{border-left:1px solid var(--line2)}
.imp-seg button:hover{color:var(--ink);background:var(--hover)}
.imp-seg button.on{color:var(--m-hi,#fff);background:color-mix(in srgb,var(--imp) 18%,transparent)}
.imp-e{display:flex;align-items:baseline;gap:10px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--imp) 30%,transparent);background:color-mix(in srgb,var(--imp) 6%,transparent)}
.imp-e b{font:600 20px/1 var(--hd);letter-spacing:.04em;color:var(--imp2);font-variant-numeric:tabular-nums}
.imp-e span{font-size:9px;letter-spacing:.14em;color:var(--dim);margin-left:auto;text-align:right}
.imp-tgt{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px dashed var(--line);background:var(--m-wash)}
.imp-tgt.set{border-style:solid;border-color:color-mix(in srgb,var(--imp) 45%,transparent);border-left:3px solid var(--imp)}
.imp-tgt b{font-size:12px;letter-spacing:.14em;color:var(--m-hi,#fff);font-weight:400}
.imp-tgt em{font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--mute)}
.imp-q{display:flex;gap:4px}
.imp-q input{flex:1;min-width:0;background:var(--field);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:11px;letter-spacing:.08em;padding:7px 9px}
.imp-q input:focus{outline:none;border-color:var(--imp)}
.imp-q button{flex:none;font-size:9px;letter-spacing:.12em;padding:0 9px;border:1px solid var(--line2);color:var(--cy2)}
.imp-q button:hover{background:var(--hover)}
.imp-qr{display:flex;flex-direction:column;gap:2px}
.imp-qr:empty{display:none}
.imp-qr button{display:flex;justify-content:space-between;gap:8px;text-align:left;padding:6px 9px;border:1px solid var(--line2);background:var(--m-wash)}
.imp-qr button:hover{background:color-mix(in srgb,var(--imp) 10%,transparent)}
.imp-qr b{font-size:10.5px;letter-spacing:.06em;color:var(--ink);font-weight:400}
.imp-qr em{font-style:normal;font-size:9px;letter-spacing:.08em;color:var(--mute);text-align:right}

/* results */
.imp-res{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--imp) 40%,transparent);background:color-mix(in srgb,var(--imp) 5%,var(--m-wash));margin-top:2px}
.imp-res.ocean{border-color:color-mix(in srgb,#5fb4ff 45%,transparent)}
.imp-stale{font-size:9px;letter-spacing:.14em;color:var(--m-amber-ink,#ffd08a);border:1px solid var(--warn);padding:4px 8px;text-align:center}
.irs-h{display:flex;flex-direction:column;gap:2px}
.irs-h b{font:700 16px/1.1 var(--hd);letter-spacing:.2em;color:var(--imp2)}
.irs-h span{font-size:9.5px;letter-spacing:.14em;color:var(--m-ink2,var(--ink2))}
.irs-g{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.irs-g div{border:1px solid var(--line2);padding:6px 8px;display:flex;flex-direction:column;gap:2px;background:var(--m-wash)}
.irs-g b{font:600 15px/1.1 var(--hd);color:var(--m-hi,#fff);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.irs-g b sup,.imp-e b sup{font-size:.62em}
.irs-g span{font-size:9px;letter-spacing:.12em;color:var(--dim)}
.irs-l{display:flex;flex-direction:column;gap:4px}
.irs-l p{font-size:10px;line-height:1.5;letter-spacing:.04em;color:var(--ink)}
.irs-r{display:flex;flex-direction:column;gap:3px}
.rr{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:start;padding:6px 8px;border:1px solid var(--line2);border-left:3px solid var(--c);background:var(--m-wash)}
.rr>i{width:9px;height:9px;margin-top:2px;border-radius:50%;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 30%,transparent)}
.rr>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.rr b{font-size:10px;letter-spacing:.12em;color:var(--ink);font-weight:400}
.rr em{font-style:normal;font-size:9px;letter-spacing:.08em;color:var(--mute)}
.rr small{font-size:9px;line-height:1.45;letter-spacing:.04em;color:var(--m-ink2,var(--ink2))}
.rr u{text-decoration:none;font-size:10px;letter-spacing:.06em;color:var(--c);white-space:nowrap;font-variant-numeric:tabular-nums}
.irs-c{font-size:9px;line-height:1.5;letter-spacing:.06em;color:var(--mute)}

/* projected ring labels on the globe */
#imp-lbl{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}
#imp-lbl .il{position:absolute;left:0;top:0;display:flex;align-items:baseline;gap:6px;padding:1px 6px 1px 7px;margin:-9px 0 0 6px;white-space:nowrap;background:var(--glass2);border-left:2px solid var(--c);opacity:0;transition:opacity .35s;will-change:transform}
#imp-lbl .il b{font-size:9px;letter-spacing:.14em;color:var(--c);font-weight:400}
#imp-lbl .il i{font-style:normal;font-size:9px;letter-spacing:.06em;color:var(--ink)}
#imp-lbl .il.fl{margin:-20px 0 0 10px}

/* phone fold chip */
#imp-chip{position:fixed;z-index:9;left:var(--g);right:var(--g);top:calc(var(--topy) + var(--toph) + 6px);display:flex;background:var(--glass2);border:1px solid color-mix(in srgb,var(--imp) 45%,transparent);backdrop-filter:blur(8px);box-shadow:var(--m-shadow,var(--shadow))}
#imp-chip[hidden]{display:none}
#imp-chip button[data-ic="open"]{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 12px;text-align:left;min-height:44px}
#imp-chip b{font-size:11px;letter-spacing:.24em;color:var(--imp2);font-weight:600}
#imp-chip span{font-size:9px;letter-spacing:.12em;color:var(--dim)}
#imp-chip button[data-ic="x"]{flex:none;width:48px;font-size:20px;color:var(--dim);border-left:1px solid var(--line2)}
#imp-chip button:hover{background:var(--hover)}

/* light theme: data colors pulled toward ink so they read on paper */
html[data-theme="light"] .rr u,html[data-theme="light"] #imp-lbl .il b{color:color-mix(in srgb,var(--c) 45%,var(--ink))}
html[data-theme="light"] .irs-g b,html[data-theme="light"] .ic>b,html[data-theme="light"] .imp-tgt b,html[data-theme="light"] .imp-next b{color:var(--ink-hi)}
html[data-theme="light"] .imp-go>button{color:var(--ink-hi)}
html[data-theme="light"] .imp-go>button.fire{color:#fff;background:linear-gradient(90deg,#c2540a,#a8321a)}
html[data-theme="light"] .imp-src i{box-shadow:none}

/* phones: real tap targets; panel is the shared bottom sheet */
@media (pointer:coarse){
  .ir-b{min-height:48px}.imp-pre button{min-height:44px}.imp-seg button{min-height:40px}
  .imp-tabs button{min-height:40px}.imp-go>button{min-height:44px}.imp-q button,.imp-q input{min-height:40px}.imp-qr button{min-height:40px}
}
@media (max-width:760px),(max-height:500px) and (pointer:coarse){
  .imp-pre{grid-template-columns:repeat(2,1fr)}
  .imp-stats b{font-size:15px}
  body:has(#imp-chip:not([hidden])) #hud{visibility:hidden}
}
.imp-tabs button:focus-visible,.ir-b:focus-visible,.imp-pre button:focus-visible,.imp-seg button:focus-visible,.imp-go button:focus-visible,.imp-q button:focus-visible,.imp-qr button:focus-visible,.imp-next:focus-visible,#imp-chip button:focus-visible{outline:2px solid var(--cy);outline-offset:1px}

/* CJ 10/14 FIRE fix: hover must never make FIRE look dead (the generic hover rule out-ranked .fire and painted it a dull brown slab),
   a counting state while the rock is inbound, the full-screen strike flash, and the always-on GROUND ZERO label */
.imp-go>button.fire:hover:not(:disabled){background:linear-gradient(90deg,#ff8f3a,#ff5a26);color:var(--on-accent);filter:none;box-shadow:0 0 26px color-mix(in srgb,var(--imp) 60%,transparent)}
.imp-go>button.fire.busy,.imp-go>button.fire.busy:hover{background:repeating-linear-gradient(-45deg,#ff7a1a 0 14px,#ff4a1a 14px 28px);background-size:40px 40px;color:#1a0700;animation:impbusy .6s linear infinite,imppulse2 .8s ease-in-out infinite;cursor:progress}
@keyframes impbusy{to{background-position:40px 0}}
@keyframes imppulse2{50%{box-shadow:0 0 30px color-mix(in srgb,var(--imp) 75%,transparent)}}
html[data-theme="light"] .imp-go>button.fire:hover:not(:disabled){background:linear-gradient(90deg,#d4600f,#b23a1c);color:#fff}
html[data-theme="light"] .imp-go>button.fire.busy{color:#fff}
#imp-flash{position:fixed;inset:0;z-index:7;pointer-events:none;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,250,235,.95) 0,rgba(255,170,70,.55) 9%,rgba(255,90,20,.18) 26%,transparent 55%);animation:impflash .85s ease-out forwards}
#imp-flash.burst{background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.85) 0,rgba(160,220,255,.4) 10%,rgba(255,150,60,.12) 28%,transparent 55%)}
#imp-flash[hidden]{display:none}
@keyframes impflash{0%{opacity:0}8%{opacity:1}100%{opacity:0}}
#imp-lbl .il.gz{margin:16px 0 0 0;padding:2px 8px 2px 8px;border-left-width:3px;background:color-mix(in srgb,var(--glass2) 88%,var(--imp))}
#imp-lbl .il.gz b{font-size:10px;font-weight:600;letter-spacing:.2em}
#imp-lbl .il.gz i{font-size:10px}
@media (prefers-reduced-motion:reduce){.imp-go>button.fire.busy{animation:none}#imp-flash{display:none}}

/* CJ 10/14 onboarding (mirrors ORBITAL): hook + 3 steps + QUICK START, folds to one line after the first FIRE */
.imp-intro{display:flex;flex-direction:column;gap:8px;padding:10px 11px 9px;border:1px solid color-mix(in srgb,var(--imp) 45%,transparent);border-left:3px solid var(--imp);background:linear-gradient(135deg,color-mix(in srgb,var(--imp) 13%,transparent),transparent 70%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.ii-lead{font-size:11px;line-height:1.5;letter-spacing:.02em;color:var(--ink)}
.ii-lead>b:first-child{display:block;font:700 12.5px/1.2 var(--hd);letter-spacing:.18em;color:var(--imp2);margin-bottom:3px}
.ii-steps{list-style:none;display:flex;flex-direction:column;gap:4px}
.ii-steps li{display:flex;align-items:flex-start;gap:8px;font-size:10.5px;line-height:1.4;color:var(--m-ink2,var(--dim))}
.ii-steps i{font:700 11px/18px var(--hd);font-style:normal;width:18px;height:18px;flex:none;text-align:center;color:var(--on-accent);background:var(--imp)}
.ii-steps b{color:var(--m-hi,#fff);font-weight:600;letter-spacing:.12em}
.imp-quick{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 12px 10px;border:1px solid var(--imp);background:linear-gradient(180deg,color-mix(in srgb,var(--imp) 38%,transparent),color-mix(in srgb,var(--imp) 14%,transparent));color:var(--m-hi,#fff);animation:imppulse2 1.6s infinite;transition:.15s}
.imp-quick b{font:400 10px/1 var(--mono);letter-spacing:.3em;color:var(--imp-ink)}
.imp-quick span{font:700 17px/1.15 var(--hd);letter-spacing:.16em}
.imp-quick:hover{background:color-mix(in srgb,var(--imp) 48%,transparent)}
.ii-link{align-self:center;font-size:9px;letter-spacing:.18em;color:var(--dim);padding:4px 8px}
.ii-link:hover{color:var(--m-hi,#fff)}
.imp-intro.sm{flex-direction:row;align-items:center;gap:8px;padding:6px 6px 6px 10px;clip-path:none}
.imp-intro.sm>span{flex:1;font-size:9px;letter-spacing:.16em;color:var(--imp2)}
.imp-intro.sm .ii-link{border:1px solid var(--line);align-self:auto}

/* WATCHLIST vs SIMULATOR: two-line tabs with a plain caption */
.imp-tabs button{flex-direction:column;gap:2px;padding:7px 6px 6px}
.imp-tabs button b{font-weight:400;display:flex;align-items:center;gap:6px}
.imp-tabs button small{font-size:8.5px;letter-spacing:.12em;color:var(--mute)}
.imp-tabs button.on small{color:var(--imp2)}

/* grouped preset cards */
.ipg{display:flex;flex-direction:column;gap:4px;margin-top:2px}
.ipg-h{display:flex;flex-direction:column;gap:1px;padding-left:2px}
.ipg-h b{font-size:9.5px;letter-spacing:.2em;color:var(--imp2);font-weight:400}
.ipg-h span{font-size:8.5px;letter-spacing:.1em;color:var(--mute)}
.imp-pre{grid-template-columns:repeat(2,1fr)}
.imp-pre button{gap:3px;padding:7px 8px}
.imp-pre .pc-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px;width:100%}
.imp-pre .pc-h b{font-size:10px}
.imp-pre .pc-h em{flex:none}
.imp-pre button>u{text-decoration:none;font-size:8px;letter-spacing:.14em;color:var(--imp2);border:1px solid color-mix(in srgb,var(--imp) 40%,transparent);padding:0 4px}
.imp-pre button>small{font-size:9px;line-height:1.35;letter-spacing:.02em;color:var(--m-ink2,var(--dim));text-align:left}
.imp-pre button.on>small{color:var(--ink)}
.imp-pd{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-left:2px solid var(--imp);background:var(--m-wash)}
.imp-pd p{font-size:9.5px;line-height:1.5;letter-spacing:.05em;color:var(--ink)}
.imp-pd small{font-size:8.5px;line-height:1.4;letter-spacing:.08em;color:var(--mute)}
.imp-pd button{align-self:stretch;padding:8px 10px;border:1px solid color-mix(in srgb,var(--imp) 60%,transparent);color:var(--m-hi,#fff);font-size:9.5px;letter-spacing:.14em;background:color-mix(in srgb,var(--imp) 10%,transparent);text-align:left}
.imp-pd button:hover{background:color-mix(in srgb,var(--imp) 22%,transparent)}
.imp-pd button.on{border-color:var(--ok);color:var(--ok)}
.imp-rho{grid-column:1/-1;font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--imp2);margin-top:3px}
.rr .rp{font-size:9.5px;line-height:1.4;letter-spacing:.03em;color:var(--ink);margin:1px 0}

@media (max-width:760px),(max-height:500px) and (pointer:coarse){.imp-intro{padding:8px 9px;gap:6px}.ii-lead{font-size:10.5px}.ii-steps li{font-size:10px}.imp-quick span{font-size:15px}.imp-pre{grid-template-columns:repeat(2,1fr)}}
@media (pointer:coarse){.imp-quick{min-height:56px}.ii-link{min-height:36px}.imp-pd button{min-height:44px}}
@media (prefers-reduced-motion:reduce){.imp-quick{animation:none}}
html[data-theme="light"] .imp-quick,html[data-theme="light"] .imp-pd button{color:var(--ink)}
html[data-theme="light"] .imp-quick b{color:var(--imp)}
html[data-theme="light"] .ii-steps i{color:#fff}
html[data-theme="light"] .imp-pre button>u,html[data-theme="light"] .ipg-h b,html[data-theme="light"] .ii-lead>b:first-child{color:var(--imp)}
:is(.imp-quick,.ii-link,.imp-pd button):focus-visible{outline:2px solid var(--cy);outline-offset:1px}

/* CJ 10/14 master switch (shared .base/.fl/.seg from style.css, like UAP's #uap-master) + the OFF notice */
#impact-master{margin:0 0 2px}
#impact-master .seg{display:grid;grid-template-columns:1fr 1fr}
#impact-master .seg button{min-height:30px}
.imp-off{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--warn) 60%,transparent);background:color-mix(in srgb,var(--warn) 7%,transparent)}
.imp-off b{font-size:10.5px;letter-spacing:.22em;color:var(--warn);font-weight:600}
.imp-off span{font-size:9.5px;line-height:1.45;letter-spacing:.05em;color:var(--m-ink2,var(--dim))}
.imp-quick:disabled{animation:none;opacity:.45;cursor:not-allowed}
@media (pointer:coarse){#impact-master .seg button{min-height:44px}}
#impact-master .seg button:focus-visible{outline:2px solid var(--cy);outline-offset:1px}
