/* D5 Console. A prompt line, numbered choices, a mono grid. Geist Mono. */
:root{--bg:#0B0B0E;--ink:#EDEDF2;--dim:rgba(237,237,242,.64);--faint:rgba(237,237,242,.46);--hair:rgba(255,255,255,.14);--v:#A78BFA;--pink:#FF8FB8;--mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--gutter:clamp(1rem,4vw,3rem)}
body{background-color:var(--bg);background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.2px);background-size:22px 22px;color:var(--ink);font-family:var(--mono);font-size:.95rem;line-height:1.55}
.bar{display:flex;justify-content:space-between;gap:1rem;padding:.9rem var(--gutter);border-bottom:1px solid var(--hair);background:rgba(11,11,14,.9);font-size:.84rem;color:var(--dim)}
.crumbs{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.wordmark{color:var(--ink);font-weight:600}
.sep{color:var(--faint)}
.crumbs b{color:var(--ink);font-weight:600}
main{padding:clamp(2rem,6vh,4.5rem) var(--gutter) 4rem}
.box{max-width:760px;margin:0 auto;padding:clamp(1.3rem,3.5vw,2.4rem);border:1px solid var(--hair);background:rgba(11,11,14,.92)}
.box+.box{margin-top:1.4rem}
.box__head{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:700;letter-spacing:-.02em}
.box__head::before,.q::before,.booking .h2::before{content:"# ";color:var(--v)}
.box__lede{margin-top:.6rem;color:var(--dim);max-width:60ch}
.progress{height:2px;background:var(--hair);margin:1.4rem 0 1.8rem}
.progress__fill{background:var(--v)}
.q{display:block;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;line-height:1.35;margin-bottom:1rem}
.qualify-step.active{animation:in .2s ease both}
.field{display:flex;align-items:flex-start;gap:.6rem}
.field::before{content:">";color:var(--v);padding-top:.55rem;font-weight:600}
.field input,.field textarea{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px dashed transparent;border-radius:0;color:var(--ink);font-size:1.02rem;padding:.5rem 0;caret-color:var(--v)}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field textarea{resize:none;min-height:3.4em;field-sizing:content}
.field input:focus,.field textarea:focus{border-bottom-color:var(--hair)}
.field--select{display:block}
.field--select::before{content:none}
.field.is-invalid input,.field.is-invalid textarea{border-bottom-color:var(--pink)}
.field-error{font-size:.84rem;color:var(--pink);margin-top:.5rem;flex-basis:100%}
.field-error::before{content:"! "}
.opts{display:grid;gap:2px}
.opt{display:flex;gap:.8rem;align-items:baseline;width:100%;text-align:left;background:none;border:1px solid transparent;padding:.55rem .7rem;color:var(--ink);font-size:.98rem}
.opt .k{color:var(--v);font-weight:600;flex:none}
.opt:hover,.opt:focus-visible{border-color:var(--hair);outline:none}
.opt.is-picked{border-color:var(--v);background:rgba(167,139,250,.08)}
.consent{font-size:.84rem;color:var(--dim);margin-top:1rem}
.consent input{accent-color:var(--v)}
.nav{margin-top:1.6rem}
.back,.continue{background:none;border:0;padding:.5rem 0;color:var(--dim);font-weight:500}
.back::before,.continue::before{content:"[ ";color:var(--faint)}
.back::after{content:" ]";color:var(--faint)}
.continue{color:var(--ink);font-weight:700}
.continue::after{content:" \21B5 ]";color:var(--faint)}
.back:hover,.continue:hover{color:var(--v)}
.continue:disabled{opacity:.6}
.fine{margin-top:1.4rem;font-size:.84rem;color:var(--faint)}
.fine::before{content:"// "}
.booking .h2{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:700;margin-bottom:.4rem}
.booking .fine{margin:0 0 1.4rem}
.cal-month{font-size:1.1rem;font-weight:700}
.cal-nav button{border-radius:0;border-color:var(--hair);color:var(--ink);width:36px;height:36px}
.cal-tz{font-size:.84rem;color:var(--faint)}
.cal-wd{font-size:.78rem;color:var(--faint);opacity:1}
.cal-grid{gap:2px}
.cal-day{aspect-ratio:1.1;border:1px solid var(--hair);color:var(--ink)}
.cal-day.is-off{border-color:rgba(255,255,255,.06);opacity:.35}
.cal-day.is-open:hover{border-color:var(--v)}
.cal-day.is-selected{background:var(--v);color:#0B0B0E;border-color:var(--v);font-weight:700}
.cal-day.is-today:not(.is-selected){color:var(--v)}
.cal-slot{border-color:var(--hair);color:var(--ink);font-size:.9rem}
.cal-slot::before{content:"[ "}
.cal-slot::after{content:" ]"}
.cal-slot:hover{border-color:var(--v)}
.cal-slot.is-picked{background:var(--v);color:#0B0B0E;border-color:var(--v);font-weight:700}
.cal-when{color:var(--dim)}
.cal-when b{color:var(--ink)}
.cal-book{background:var(--v);color:#0B0B0E;border:0;padding:.8rem 1.3rem;font-weight:700}
.cal-note{font-size:.88rem;color:var(--dim)}
.status{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;padding:1rem var(--gutter) calc(1rem + 56px);border-top:1px solid var(--hair);font-size:.82rem;color:var(--faint);background:rgba(11,11,14,.9)}
.status__r{margin-left:auto}
@media (max-width:640px){.bar__r{display:none}}
