.b{--surface:#14171a;--line:color-mix(in srgb, var(--color-bone) 14%, transparent);--line-strong:color-mix(in srgb, var(--color-bone) 28%, transparent);--dim:color-mix(in srgb, var(--color-bone) 55%, transparent);--faint:color-mix(in srgb, var(--color-bone) 32%, transparent);--hit:48px;background:var(--color-ink);min-height:100dvh;color:var(--color-bone);flex-direction:column;display:flex}.b-shell{flex-direction:column;flex:1;width:100%;max-width:520px;margin-inline:auto;display:flex}.b-top{z-index:20;background:var(--color-ink);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex;position:sticky;top:0}.b-back{min-height:44px;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-bone);align-items:center;gap:6px;padding-right:4px;font-size:.8125rem;font-weight:800;display:inline-flex}.b-back svg{width:11px;height:11px}.b-top-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.875rem;font-weight:800}.b-top-right{align-items:center;gap:12px;margin-left:auto;display:flex}.b-main{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.b-foot{padding:12px 16px calc(16px + env(safe-area-inset-bottom));background:var(--color-ink);border-top:1px solid var(--line);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.b-hero{font-family:var(--font-display);letter-spacing:-.035em;text-transform:uppercase;white-space:pre-line;text-wrap:balance;font-size:2.5rem;font-weight:900;line-height:.95}.b-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.375rem;font-weight:900;line-height:1.05}.b-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:.6875rem}.b-label[data-tone=neon]{color:var(--color-neon)}.b-label[data-tone=faint]{color:var(--faint)}.b-label[data-tone=red]{color:var(--color-red)}.b-body{font-size:1rem;line-height:1.45}.b-muted{color:var(--dim);font-size:.875rem;line-height:1.4}.b-muted[data-size=sm]{font-size:.8125rem}.b-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.b-btn{min-height:var(--hit);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;text-align:center;cursor:pointer;border:1px solid;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9375rem;font-weight:800;transition:background-color .14s,color .14s,border-color .14s;display:flex}.b-btn[data-variant=primary]{background:var(--color-neon);border-color:var(--color-neon);color:var(--color-ink)}.b-btn[data-variant=secondary]{border-color:var(--line-strong);color:var(--color-bone);background:0 0}.b-btn[data-variant=danger]{border-color:var(--color-red);color:var(--color-bone);background:0 0}.b-btn:disabled{opacity:.35;cursor:not-allowed}.b-btn:not(:disabled):active{opacity:.8}@media (hover:hover){.b-btn[data-variant=primary]:not(:disabled):hover{background:var(--color-red);border-color:var(--color-red);color:var(--color-bone)}.b-btn[data-variant=secondary]:not(:disabled):hover{border-color:var(--color-bone)}}.b-reason{color:var(--dim);text-align:center;font-size:.8125rem;line-height:1.4}.b-choice{border:1px solid var(--line);background:var(--surface);width:100%;min-height:56px;color:var(--color-bone);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background-color .14s,border-color .14s,color .14s;display:flex}.b-choice[aria-checked=true]{background:var(--color-neon);border-color:var(--color-neon);color:var(--color-ink)}.b-choice .b-choice-text{flex-direction:column;flex:1;gap:2px;display:flex}.b-choice .b-choice-name{font-family:var(--font-display);letter-spacing:.06em;font-size:.9375rem;font-weight:800}.b-choice .b-choice-desc{color:var(--dim);font-size:.875rem;line-height:1.35}.b-choice[aria-checked=true] .b-choice-desc{color:color-mix(in srgb, var(--color-ink) 72%, transparent)}.b-choice .b-choice-index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--faint);font-size:.6875rem}.b-choice[aria-checked=true] .b-choice-index{color:var(--color-ink)}.b-chip{min-height:var(--hit);border:1px solid var(--line);background:var(--surface);min-width:84px;color:var(--color-bone);font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 12px;font-size:.9375rem;line-height:1.2;display:flex}.b-chip[aria-checked=true]{background:var(--color-neon);border-color:var(--color-neon);color:var(--color-ink)}.b-field{flex-direction:column;gap:4px;display:flex}.b-input{min-height:var(--hit);border:1px solid var(--line);background:var(--surface);width:100%;color:var(--color-bone);font-size:1rem;font-family:var(--font-sans);padding:12px}.b-input::placeholder{color:var(--faint)}.b-input[aria-invalid=true]{border-color:var(--color-red)}textarea.b-input{resize:vertical;min-height:88px}.b-error-text{color:var(--color-red);font-size:.8125rem;line-height:1.4}.b-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;padding:16px;display:flex}.b-card[data-tone=neon]{border-color:var(--color-neon);background:0 0}.b-divider{background:var(--line);height:1px;margin:12px 0}.b-banner{border:1px solid var(--color-red);color:var(--color-red);padding:12px;font-size:.875rem;line-height:1.4}.b-banner[data-tone=neon]{border-color:var(--color-neon);color:var(--color-neon)}.b-list{flex-direction:column;gap:8px;display:flex}.b-row{gap:8px;display:flex}.b-row>*{flex:1}.b-wrap{flex-wrap:wrap;gap:8px;display:flex}.b-strip{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.b-strip::-webkit-scrollbar{display:none}.b-strip>*{scroll-snap-align:start;flex:none}.b-kv{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.b-kv dt{flex-shrink:0;width:92px;padding-top:3px}.b-kv dd{flex:1;margin:0;font-size:.9375rem;line-height:1.4}.b-step-row{gap:12px;display:flex}.b-step-row .n{width:24px;color:var(--color-neon);flex-shrink:0;padding-top:4px}.b-step-row .t{flex:1;font-size:.9375rem;line-height:1.4}.b-spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite b-spin}@keyframes b-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.b-spinner{animation-duration:2s}.b-btn,.b-choice{transition-duration:.01ms}}
