#wrapper.fp-page { width: 100%; max-width: 900px; margin: 0 auto; padding: 1rem 1rem 3rem; }
.fp-form, .fp-plan { scroll-margin-top: 130px; }

.fp-q { margin: 0 0 1.25rem; padding: 1rem 1.1rem; background: var(--hud-panel); border: 1px solid var(--hud-border); border-left: 3px solid var(--hud-orange); }
.fp-q legend { float: left; width: 100%; margin: 0 0 .6rem; padding: 0; font-family: "Orbitron", sans-serif; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--hud-text); }
.fp-num { font-family: "Share Tech Mono", monospace; color: var(--hud-orange); margin-right: .6rem; }
.fp-hint { clear: both; margin: 0 0 .5rem; color: var(--hud-muted); font-size: .9rem; }
.fp-opts { clear: both; display: flex; flex-wrap: wrap; gap: .5rem; }
.fp-opt { position: relative; margin: 0; cursor: pointer; }
.fp-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fp-opt span {
    display: inline-block; padding: .45rem .9rem; border: 1px solid rgba(25, 179, 230, .5); color: var(--hud-cyan);
    font-family: "Share Tech Mono", monospace; font-size: .95rem; letter-spacing: .03em;
    clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.fp-opt span small { color: var(--hud-muted); }
.fp-opt:hover span { border-color: var(--hud-orange); color: var(--hud-orange); }
.fp-opt input:checked + span { background: var(--hud-orange); border-color: var(--hud-orange); color: #0a0a0c; }
.fp-opt input:checked + span small { color: #0a0a0c; }
.fp-opt input:focus-visible + span { outline: 2px solid var(--hud-cyan); outline-offset: 2px; }
.fp-opt input:disabled + span { opacity: .35; cursor: not-allowed; text-decoration: line-through; }

.fp-error { color: #ff5c5c; font-family: "Share Tech Mono", monospace; }
.fp-btn {
    display: inline-block; padding: .55rem 1.2rem; border: 1px solid var(--hud-cyan); background: transparent; color: var(--hud-cyan);
    font-family: "Orbitron", sans-serif; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.fp-btn:hover { color: var(--hud-orange); border-color: var(--hud-orange); }
.fp-btn-main { background: var(--hud-orange); border-color: var(--hud-orange); color: #0a0a0c; }
.fp-btn-main:hover { background: #ff8a2b; color: #0a0a0c; }
.fp-btn-quiet { border-color: rgba(180, 177, 172, .4); color: var(--hud-muted); }

.fp-plan { margin-top: 2.5rem; }
.fp-plan-head h2 { font-size: 1.2rem; color: var(--hud-orange); letter-spacing: .15em; text-transform: uppercase; margin: 0 0 .4rem; }
.fp-note { padding: .6rem .8rem; border-left: 3px solid var(--hud-cyan); background: rgba(25, 179, 230, .08); color: var(--hud-text); font-size: .92rem; }
.fp-progress { height: 6px; background: rgba(255, 113, 0, .15); margin: 1rem 0 .3rem; }
.fp-progress span { display: block; height: 100%; width: 0; background: var(--hud-orange); transition: width .3s; }
.fp-count { font-family: "Share Tech Mono", monospace; color: var(--hud-muted); font-size: .85rem; }

.fp-leg { margin: 1.5rem 0; }
.fp-leg h3 { display: flex; align-items: center; gap: .75rem; font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; color: var(--hud-cyan); margin: 0 0 .6rem; }
.fp-leg h3 small { font-family: "Share Tech Mono", monospace; color: var(--hud-muted); letter-spacing: .05em; }
.fp-leg h3::after { content: ""; flex: 1; height: 1px; background: rgba(25, 179, 230, .35); }
.fp-steps { list-style: none; margin: 0; padding: 0; }
.fp-step { display: flex; gap: .8rem; align-items: flex-start; padding: .7rem .8rem; margin-bottom: .5rem; background: var(--hud-panel); border: 1px solid rgba(255, 113, 0, .25); }
.fp-step input { flex: none; width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--hud-orange); cursor: pointer; }
.fp-step > div { min-width: 0; flex: 1; }
.fp-step a { color: var(--hud-text); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--hud-border); }
.fp-step a:hover { color: var(--hud-orange); }
.fp-step p { margin: .2rem 0 0; color: var(--hud-muted); font-size: .92rem; }
.fp-min { flex: none; font-family: "Share Tech Mono", monospace; font-size: .8rem; color: var(--hud-muted); white-space: nowrap; }
.fp-step.done { opacity: .55; }
.fp-step.done a { text-decoration: line-through; }

.fp-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }
.fp-mentor { margin-top: 2rem; padding: 1.25rem; background: var(--hud-panel); border: 1px solid var(--hud-border); border-top: 3px solid var(--hud-orange); }
.fp-mentor h3 { font-size: 1rem; color: var(--hud-orange); text-transform: uppercase; letter-spacing: .1em; margin: 0 0 .5rem; }

@media (max-width: 480px) {
    .fp-q { padding: .85rem; }
    .fp-q legend { font-size: .9rem; }
    .fp-opt span { padding: .4rem .7rem; font-size: .88rem; }
    .fp-step { flex-wrap: wrap; }
    .fp-min { width: 100%; padding-left: 2rem; }
    .fp-actions .fp-btn { flex: 1 1 auto; text-align: center; }
}
