/* SOS console on /sos */
.sos {
    --sos-red: #ff3b3b;
    position: relative; margin: 0 0 2.5rem; padding: 1rem 1.25rem 1.5rem;
    background:
        radial-gradient(120% 80% at 100% 0, rgba(255, 59, 59, .12), transparent 60%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px),
        var(--hud-panel);
    border: 1px solid rgba(255, 59, 59, .5); border-top: 3px solid var(--sos-red);
    box-shadow: 0 0 28px rgba(255, 59, 59, .18);
    clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.sos [hidden] { display: none !important; }

.sos-alert {
    display: flex; align-items: center; gap: 1rem; margin: 0 0 1.2rem; padding: 1rem 1.3rem;
    background:
        linear-gradient(90deg, rgba(255, 59, 59, .3), rgba(255, 59, 59, .08) 75%),
        repeating-linear-gradient(-45deg, rgba(255, 59, 59, .09) 0 10px, transparent 10px 20px);
    border: 1px solid rgba(255, 59, 59, .55); border-left: 6px solid var(--sos-red);
    box-shadow: inset 0 0 22px rgba(255, 59, 59, .22), 0 0 18px rgba(255, 59, 59, .18);
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
.sos-alert-icon { flex: none; width: 2.8rem; height: 2.8rem; color: var(--sos-red); filter: drop-shadow(0 0 6px var(--sos-red)); }
.sos-alert p { margin: 0; }
.sos-alert-head {
    font-family: "Orbitron", sans-serif; font-weight: 700; font-size: clamp(1.1rem, 2.8vw, 1.55rem);
    letter-spacing: .08em; text-transform: uppercase; line-height: 1.2;
    color: #ff6b6b; text-shadow: 0 0 12px rgba(255, 59, 59, .7);
}
.sos-alert-text { margin-top: .25rem !important; color: var(--hud-text); font-size: 1.02rem; }
.sos-alert-text b { color: #fff; text-transform: uppercase; letter-spacing: .05em; }
.sos-alert-text a { color: #fff; font-weight: 700; text-decoration: underline; }
.sos-beacon { flex: none; width: .8rem; height: .8rem; border-radius: 50%; background: var(--sos-red); box-shadow: 0 0 10px var(--sos-red); }
@media (prefers-reduced-motion: no-preference) {
    .sos-beacon { animation: sos-pulse 1.2s ease-in-out infinite; }
    .sos-alert { animation: sos-alarm 1.6s ease-in-out infinite; }
    @keyframes sos-alarm { 50% { border-color: var(--sos-red); box-shadow: inset 0 0 34px rgba(255, 59, 59, .4), 0 0 26px rgba(255, 59, 59, .35); } }
    .sos-alert-icon { animation: sos-pulse 1.6s ease-in-out infinite; }
    @keyframes sos-pulse { 50% { opacity: .25; box-shadow: 0 0 2px var(--sos-red); } }
    .sos-stage { animation: sos-in .22s ease-out; }
    @keyframes sos-in { from { opacity: 0; transform: translateY(6px); } }
}

.sos-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin-bottom: 1.2rem; }
.sos-tag, .sos-sub, .sos-steps, .sos-btn, .sos-plat, .sos-back, .sos-form label {
    font-family: "Orbitron", sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.sos-tag { color: var(--sos-red); font-size: .72rem; }
.sos-steps { display: flex; gap: .4rem; margin: 0; padding: 0; list-style: none; font-size: .6rem; color: var(--hud-muted); }
.sos-steps li { display: flex; align-items: center; gap: .35rem; padding: .2rem .55rem .2rem .25rem; border: 1px solid rgba(255, 255, 255, .12); }
.sos-steps li span { display: grid; place-items: center; width: 1.1rem; height: 1.1rem; background: rgba(255, 255, 255, .08); color: var(--hud-text); }
.sos-steps li.on { color: var(--hud-orange); border-color: var(--hud-orange); }
.sos-steps li.on span { background: var(--hud-orange); color: #0a0a0c; }
.sos-steps li.done { color: var(--hud-cyan); }
.sos-live { margin-left: auto; display: inline-flex; align-items: center; gap: .4rem; color: var(--hud-muted); font-size: .8rem; }
.sos-live i { width: .5rem; height: .5rem; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 6px #3ddc84; }
.sos-live b { color: var(--hud-text); }

.sos-stage { display: none; }
.sos[data-stage="1"] .sos-stage-1, .sos[data-stage="2"] .sos-stage-2 { display: block; }
.sos[data-stage="3"] .sos-stage-3 { display: grid; }
#wrapper .sos-q { margin: 0 0 1rem; font-family: "Orbitron", sans-serif; font-size: 1.35rem; color: var(--hud-text); text-transform: uppercase; overflow-wrap: normal; }
.sos-hint { margin: -.6rem 0 1rem; color: var(--hud-muted); }

.sos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.sos-tile {
    display: grid; align-content: start; gap: .35rem; padding: 1rem; min-height: 9rem; text-align: left; cursor: pointer;
    background: rgba(255, 255, 255, .03); color: var(--hud-text); border: 1px solid var(--hud-border);
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
    transition: border-color .15s, background .15s, transform .15s;
}
.sos-tile svg { width: 2.1rem; height: 2.1rem; fill: none; stroke: var(--hud-cyan); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: .3rem; }
.sos-tile[data-rescue="1"] svg { stroke: var(--sos-red); }
.sos-tile-l { font-family: "Orbitron", sans-serif; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; color: var(--hud-orange); }
.sos-tile-s { font-size: .82rem; color: var(--hud-muted); line-height: 1.35; }
.sos-tile:hover, .sos-tile:focus-visible { border-color: var(--sos-red); background: rgba(255, 59, 59, .08); transform: translateY(-2px); outline: none; }

.sos-plats { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.sos-plat {
    flex: 1 1 9rem; padding: 1.1rem 1rem; font-size: .85rem; cursor: pointer;
    background: rgba(255, 255, 255, .03); color: var(--hud-orange); border: 1px solid var(--hud-border);
}
.sos-plat:hover { border-color: var(--hud-orange); background: rgba(255, 113, 0, .1); }
.sos-plat[aria-pressed="true"] { background: var(--hud-orange); color: #0a0a0c; border-color: var(--hud-orange); }
.sos-plats-sm .sos-plat { flex: 1 1 5rem; padding: .5rem; font-size: .66rem; }
.sos-back { background: none; border: 0; padding: .3rem 0; color: var(--hud-cyan); font-size: .66rem; cursor: pointer; }
.sos-back:hover { color: var(--hud-orange); }

.sos-stage-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); grid-template-areas: "head head" "panel rescue" "alt rescue"; gap: 1rem 2rem; align-items: start; }
.sos[data-rescue="0"] .sos-stage-3 { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "panel" "alt"; }
.sos-head { grid-area: head; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; border-bottom: 1px solid rgba(255, 59, 59, .35); }
#wrapper .sos-head .sos-q { margin: 0 0 .5rem; color: var(--sos-red); }
.sos-panel { grid-area: panel; }
.sos-rescue { grid-area: rescue; padding: 1rem; background: rgba(0, 0, 0, .25); border: 1px solid rgba(25, 179, 230, .35); }
.sos-alt { grid-area: alt; }
.sos-sub { margin: 0 0 .6rem; color: var(--hud-cyan); font-size: .68rem; }

.sos-check { margin: 0; padding: 0; list-style: none; counter-reset: sos; }
.sos-check li { counter-increment: sos; margin-bottom: .5rem; }
.sos-check label { display: flex; gap: .7rem; align-items: flex-start; padding: .55rem .7rem; background: rgba(255, 255, 255, .03); border-left: 2px solid var(--hud-orange); cursor: pointer; font-weight: normal; margin: 0; }
.sos-check label::before { content: counter(sos); flex: none; font-family: "Orbitron", sans-serif; color: var(--hud-orange); font-size: .8rem; width: 1rem; }
.sos-check input { flex: none; order: 3; margin: .2rem 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: var(--hud-orange); }
.sos-check span { color: var(--hud-text); line-height: 1.45; }
.sos-check b { color: var(--hud-orange); }
.sos-check label:has(input:checked) { border-left-color: #3ddc84; }
.sos-check label:has(input:checked) span { opacity: .5; text-decoration: line-through; }

.sos-form { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .8rem; margin-bottom: .9rem; }
.sos-form label { display: grid; gap: .25rem; margin: 0; font-size: .58rem; color: var(--hud-muted); font-weight: normal; }
.sos-form input[type="text"], .sos-form select {
    width: 100%; min-width: 0; padding: .5rem .6rem; font-family: "Exo 2", sans-serif; font-size: .95rem; letter-spacing: 0; text-transform: none;
    background: #08090b; color: var(--hud-text); border: 1px solid rgba(255, 255, 255, .15);
}
.sos-form input[type="text"]:focus, .sos-form select:focus { border-color: var(--hud-orange); outline: none; }
.sos-form .sos-o2 { grid-column: 1 / -1; display: flex; align-items: center; gap: .5rem; font-size: .62rem; color: var(--hud-text); cursor: pointer; }
.sos-o2 input { width: 1.1rem; height: 1.1rem; accent-color: var(--sos-red); }

.sos-msg { position: relative; margin-bottom: .9rem; }
.sos-msg pre {
    margin: 0 0 .6rem; padding: .8rem .9rem; white-space: pre-wrap; overflow-wrap: anywhere;
    font-family: "Share Tech Mono", ui-monospace, monospace; font-size: .85rem; line-height: 1.5;
    color: var(--hud-cyan); background: #050507; border: 0; border-left: 3px solid var(--hud-cyan); border-radius: 0;
}
.sos-how { margin: 0 0 1rem; padding-left: 1.2rem; color: var(--hud-muted); font-size: .9rem; }
.sos-how li { margin-bottom: .3rem; }
.sos-how b { color: var(--hud-text); }

.sos-btn {
    display: inline-block; padding: .7rem 1.1rem; font-size: .66rem; text-decoration: none; text-align: center; cursor: pointer;
    background: var(--hud-orange); color: #0a0a0c; border: 1px solid var(--hud-orange);
    clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.sos-btn:hover { background: #ff8a2b; color: #0a0a0c; text-decoration: none; }
.sos-btn.ok { background: #3ddc84; border-color: #3ddc84; }
.sos-btn-ghost { background: transparent; color: var(--hud-orange); }
.sos-btn-ghost:hover { background: rgba(255, 113, 0, .12); color: var(--hud-orange); }
.sos-ctas { display: flex; flex-wrap: wrap; gap: .6rem; }
.sos-ctas .sos-btn, .sos-msg .sos-btn { flex: 1 1 12rem; }

.sos-alt { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; padding: .8rem 1rem; border: 1px dashed rgba(255, 255, 255, .18); color: var(--hud-muted); font-size: .9rem; }
.sos-alt > div { flex: 1 1 14rem; }
.sos-alt b { color: var(--hud-text); }
.sos-alt img { flex: none; width: 96px; height: auto; }
.sos-alt-links { border: 0; padding: 0; }
.sos-alt-links > .sos-btn { flex: 1 1 11rem; }

@media (max-width: 760px) {
    .sos-stage-3, .sos[data-rescue="0"] .sos-stage-3 { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "panel" "rescue" "alt"; }
    .sos-live { margin-left: 0; }
}
@media (max-width: 560px) {
    .sos-alert { gap: .75rem; padding: .85rem .9rem; }
    .sos-alert-icon { width: 2.2rem; height: 2.2rem; }
    .sos { padding: .8rem .8rem 1.2rem; }
    .sos-grid { grid-template-columns: 1fr 1fr; gap: .5rem; }
    .sos-tile { min-height: 0; padding: .75rem; }
    .sos-tile svg { width: 1.7rem; height: 1.7rem; }
    .sos-tile-l { font-size: .72rem; }
    .sos-tile-s { font-size: .76rem; }
    .sos-form { grid-template-columns: minmax(0, 1fr); }
    #wrapper .sos-q { font-size: 1.1rem; }
    .sos-rescue { padding: .8rem; }
}

/* guide text under the full-width console: centre it instead of pinning it left */
#md-wrapper.guide-body { margin: 0 auto; }
.gr-report { margin: 2rem auto 1rem; }
