/* Build questionnaire (draft) — extends style.css tokens */
.q-page{min-height:100vh;display:flex;flex-direction:column}
.qh{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--nav-h);padding:0 var(--gut);background:rgba(22,22,22,.86);border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.qh__logo img{height:26px;width:auto;display:block}
.qh__back{font-size:var(--s-1);text-transform:uppercase;letter-spacing:.14em;color:var(--mute);transition:color .3s}
.qh__back:hover{color:var(--fg)}

.q{flex:1;width:100%;max-width:820px;margin:0 auto;padding:clamp(2rem,1rem + 4vw,4.5rem) var(--gut) 4rem}
.q__title{font-size:var(--s3);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:.6em 0 .4em}
.q__title em{font-style:normal;color:var(--accent-2)}
.q__lede{color:var(--mute);max-width:56ch;margin:0 0 2.4rem;line-height:1.6}

.q__progress{position:sticky;top:var(--nav-h);z-index:10;background:var(--bg);padding:.9rem 0 .6rem;margin-bottom:.4rem}
.q__bar{height:3px;background:var(--line-soft);position:relative;overflow:hidden}
.q__bar span{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);transition:width .6s var(--ease)}
.q__steps{list-style:none;margin:.75rem 0 0;padding:0;display:flex;gap:.25rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.q__steps li{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q__steps li.is-done{color:var(--mute)}
.q__steps li.is-now{color:var(--accent-2)}
.q__count{font-size:var(--s-1);color:var(--mute);letter-spacing:.12em;text-transform:uppercase;margin:.6rem 0 1.8rem}

.qs{animation:qin .5s var(--ease) both}
@keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.qs__kicker{font-size:var(--s-1);text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}
.qs__title{font-size:var(--s2);font-weight:400;letter-spacing:-.02em;margin:.3em 0 .35em}
.qs__intro{color:var(--mute);margin:0 0 2rem;line-height:1.6;max-width:60ch}

.f{border:0;margin:0 0 1.9rem;padding:0;min-width:0}
.f__label{display:block;font-size:var(--s0);color:var(--fg);margin-bottom:.7rem;line-height:1.4;padding:0}
.f__req{color:var(--accent);margin-left:.25em}
.f__opt{color:var(--dim);font-size:var(--s-1);margin-left:.5em;letter-spacing:.08em;text-transform:uppercase}
.f__help{font-size:var(--s-1);color:var(--mute);margin:.55rem 0 0;line-height:1.5}
.f__msg{font-size:var(--s-1);color:#ff8a7a;margin:.5rem 0 0}
.f.is-bad .in,.f.is-bad .chips,.f.is-bad .cards{outline:1px solid #ff8a7a;outline-offset:3px}

.in{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--fg);font:400 var(--s0)/1.4 var(--font);padding:.85em 1em;border-radius:0;transition:border-color .25s}
.in:focus{outline:none;border-color:var(--accent)}
.in::placeholder{color:var(--dim)}
textarea.in{min-height:7.5em;resize:vertical}
select.in{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 1.3em) 55%,calc(100% - .95em) 55%;background-size:.35em .35em;background-repeat:no-repeat;padding-right:2.6em}
input[type=date].in{color-scheme:dark}
.in--other{margin-top:.6rem}

.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:.6em;border:1px solid var(--line);padding:.7em .95em;font-size:var(--s-1);letter-spacing:.04em;color:var(--mute);transition:all .25s var(--ease);line-height:1.3}
.chip span::before{content:"";width:.7em;height:.7em;border:1px solid var(--dim);flex:none;transition:all .25s}
.chip--radio span::before{border-radius:50%}
.chip input:checked+span{border-color:var(--accent);color:var(--fg);background:rgba(0,191,99,.08)}
.chip input:checked+span::before{background:var(--accent);border-color:var(--accent)}
.chip input:focus-visible+span{outline:2px solid var(--accent-2);outline-offset:2px}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.card{position:relative}
.card input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.card div{border:1px solid var(--line);padding:1.3rem 1.2rem;height:100%;transition:all .25s var(--ease)}
.card b{display:block;font-weight:500;font-size:var(--s1);margin-bottom:.4rem}
.card small{color:var(--mute);font-size:var(--s-1);line-height:1.5}
.card input:checked+div{border-color:var(--accent);background:rgba(0,191,99,.08)}
.card input:checked+div b{color:var(--accent-2)}
.card input:focus-visible+div{outline:2px solid var(--accent-2);outline-offset:2px}

.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.dims label{font-size:var(--s-1);color:var(--mute);letter-spacing:.08em;text-transform:uppercase;display:block}
.dims .in{margin-top:.4rem}
.dims__skip{margin-top:.8rem}

.file{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border:1px dashed var(--line);padding:1rem 1.1rem}
.file input{font:inherit;font-size:var(--s-1);color:var(--mute);max-width:100%}
.file input::file-selector-button{font:600 var(--s-1)/1 var(--font);text-transform:uppercase;letter-spacing:.1em;background:transparent;color:var(--fg);border:1px solid var(--line);padding:.8em 1em;margin-right:1em;cursor:pointer}
.file__list{font-size:var(--s-1);color:var(--accent-2);width:100%;margin:0}

.q__err{border:1px solid #ff8a7a;color:#ffb3a8;padding:.9rem 1rem;font-size:var(--s-1);margin:0 0 1.5rem}
.q__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line-soft);padding-top:1.6rem;margin-top:.6rem}
.q__prev{background:none;border:0;color:var(--mute);font:500 var(--s-1)/1 var(--font);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;padding:1em 0}
.q__prev:hover{color:var(--fg)}
.q__prev[hidden]{display:inline-block;visibility:hidden}
.q__alt{margin-top:3rem;font-size:var(--s-1);color:var(--mute);line-height:1.7}
.q__alt a{color:var(--fg);border-bottom:1px solid var(--line)}

.rv{border-top:1px solid var(--line-soft);margin:0 0 1.4rem}
.rv__h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0 .4rem}
.rv__h h3{font-size:var(--s-1);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0;font-weight:500}
.rv__edit{background:none;border:0;color:var(--mute);font:var(--s-1) var(--font);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border-bottom:1px solid var(--line)}
.rv dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.45rem 1.4rem;margin:0;font-size:var(--s-1);line-height:1.5}
.rv dt{color:var(--mute)}
.rv dd{margin:0;color:var(--fg);overflow-wrap:anywhere}
.rv__note{border:1px solid var(--line);padding:1rem 1.1rem;font-size:var(--s-1);color:var(--mute);line-height:1.6;margin:1.6rem 0}
.rv__note b{color:var(--fg);font-weight:500}
.rv__actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.btn--ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.btn--ghost:hover{background:transparent;color:var(--accent-2);border-color:var(--accent-2)}
.q__done{border:1px solid var(--accent);padding:1.2rem;margin-top:1.5rem;line-height:1.6;font-size:var(--s-1)}

@media (max-width:640px){
  .cards{grid-template-columns:1fr}
  .dims{grid-template-columns:1fr 1fr}
  .dims>div:last-child{grid-column:1/-1}
  .q__steps li:not(.is-now){font-size:0;flex:0 0 6px;height:6px;background:var(--line-soft);margin-top:.35rem}
  .q__steps li.is-done:not(.is-now){background:var(--accent)}
  .q__steps li.is-now{flex:1}
  .rv dl{grid-template-columns:1fr;gap:.1rem}
  .rv dd{margin-bottom:.6rem}
  .q__nav .btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.qs{animation:none}.q__bar span{transition:none}}

.f--note .note{border-left:2px solid var(--accent);padding:.8rem 1rem;background:rgba(255,255,255,.03);font-size:var(--s-1);line-height:1.6;color:var(--mute);margin:0}
.f--note .note b{color:var(--fg);font-weight:500}
.send{border:1px solid var(--line);padding:1.2rem 1.2rem 1.4rem;margin:1.8rem 0 0}
.send__h{font-size:var(--s1,1.15rem);margin:0 0 .8rem;font-weight:500}
.send__steps{margin:0 0 1rem;padding-left:1.3rem;line-height:1.6;font-size:var(--s-1);color:var(--mute)}
.send__steps li{margin:.35rem 0}.send__steps b{color:var(--fg);font-weight:500}
.send__alt{font-size:var(--s-1);color:var(--mute);margin:0 0 1rem;line-height:1.5}
.q__dump{width:100%;max-width:100%;box-sizing:border-box;margin-top:.8rem;font-size:.8rem;min-height:9rem}
.q__next{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.q__next p{margin:.2rem 0 .9rem;line-height:1.5}
.q__skip{margin:-.4rem 0 1.6rem;font-size:var(--s-1);color:var(--mute);line-height:1.5}
.q__skip a{color:var(--fg);border-bottom:1px solid var(--accent)}
.q__nav [hidden]{display:none!important}
.send__alt{margin-top:1.2rem}
.send__lnk{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;color:var(--fg);text-decoration:underline;text-underline-offset:3px;cursor:pointer;position:relative}
.send__lnk::after{content:"";position:absolute;inset:-12px -6px}
.send__lnk:hover{color:var(--accent-2)}
.q__done--err{border-color:#ff8a7a}
