.o1-vibe{--vibe-ink:#f4f1e8;--vibe-muted:#b6b7aa;--vibe-lime:#d4f878;box-sizing:border-box;background:#21251f;color:var(--vibe-ink);padding:clamp(22px,4vw,40px);border:1px solid #424b39;border-radius:24px;min-width:0}
.o1-vibe *{box-sizing:border-box}
.o1-vibe :is(button,input,legend,h4){scroll-margin-block:7rem 2rem}
.o1-vibe .o1-vibe__eyebrow,.o1-vibe .o1-vibe__step{color:var(--vibe-lime);font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;margin:0 0 14px}
.o1-vibe .o1-vibe__title{font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.1;letter-spacing:-.045em;margin:0 0 22px;color:var(--vibe-ink)}
.o1-vibe .o1-vibe__body{min-width:0}
.o1-vibe .o1-vibe__copy{font-size:16px;line-height:1.6;margin:0 0 18px;max-width:45ch;color:var(--vibe-ink)}
.o1-vibe .o1-vibe__meta{display:inline-flex;align-items:center;border:1px solid #505847;border-radius:999px;padding:8px 12px;font-size:12px;line-height:1.4;margin:0 0 28px;color:var(--vibe-muted)}
.o1-vibe .o1-vibe__meta+.o1-vibe__button{display:flex}
.o1-vibe .o1-vibe__fine{color:var(--vibe-muted);font-size:12px;line-height:1.6;margin:20px 0 0;max-width:51ch}
.o1-vibe .o1-vibe__fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.o1-vibe .o1-vibe__question{font-size:21px;font-weight:500;line-height:1.4;letter-spacing:-.025em;padding:0;margin-bottom:20px;color:var(--vibe-ink);max-width:100%}
.o1-vibe .o1-vibe__options{display:grid;gap:10px}
.o1-vibe .o1-vibe__option{display:flex;align-items:center;gap:12px;min-height:56px;padding:13px 15px;background:#292e27;border:1px solid #535e47;border-radius:12px;cursor:pointer;font-size:14px;line-height:1.4;color:var(--vibe-ink)}
.o1-vibe .o1-vibe__option:hover{border-color:#8eaa69;background:#30382b}
.o1-vibe .o1-vibe__option:has(input:checked){border-color:var(--vibe-lime);background:#39452c}
.o1-vibe .o1-vibe__option input{appearance:auto;accent-color:var(--vibe-lime);width:18px;height:18px;min-width:18px;margin:0;cursor:pointer}
.o1-vibe .o1-vibe__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.o1-vibe .o1-vibe__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;background:var(--vibe-lime);border:1px solid var(--vibe-lime);border-radius:999px;color:#20261a;font:inherit;font-weight:600;font-size:14px;line-height:1.4;cursor:pointer;text-align:center;white-space:normal}
.o1-vibe .o1-vibe__button:hover{background:#e2ff9e;border-color:#e2ff9e}
.o1-vibe .o1-vibe__button--quiet{background:transparent;border-color:#6a7560;color:var(--vibe-ink)}
.o1-vibe .o1-vibe__button--quiet:hover{background:#343c2f;border-color:#96ac7b}
.o1-vibe .o1-vibe__button:focus-visible,.o1-vibe .o1-vibe__option:focus-within,.o1-vibe .o1-vibe__fallback:focus-visible{outline:3px solid var(--vibe-lime);outline-offset:4px}
.o1-vibe .o1-vibe__question:focus,.o1-vibe .o1-vibe__result-title:focus{outline:2px solid var(--vibe-lime);outline-offset:6px;border-radius:2px}
.o1-vibe .o1-vibe__result-art{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px}
.o1-vibe .o1-vibe__preview{display:block;width:112px;height:112px;object-fit:contain;border-radius:20px;background:#11140f;border:1px solid #48503e}
.o1-vibe .o1-vibe__look{font-size:13px;line-height:1.5;color:var(--vibe-lime)}
.o1-vibe .o1-vibe__result-title{font-size:28px;line-height:1.2;letter-spacing:-.04em;margin:0 0 12px;font-weight:600;color:var(--vibe-ink)}
.o1-vibe .o1-vibe__quest{font-size:13px;line-height:1.6;color:#d1d5c7;border-left:2px solid #90ab68;padding-left:14px;margin:0 0 4px}
.o1-vibe .o1-vibe__status{color:var(--vibe-lime);font-size:13px;line-height:1.6;margin:14px 0 0}
.o1-vibe .o1-vibe__status:empty{margin:0}
.o1-vibe .o1-vibe__fallback{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:var(--vibe-lime);font-size:13px;line-height:1.5;text-underline-offset:4px}
.o1-vibe [hidden]{display:none!important}
@media(max-width:420px){.o1-vibe{padding:22px 18px}.o1-vibe .o1-vibe__question{font-size:19px}.o1-vibe .o1-vibe__option{padding:12px}.o1-vibe .o1-vibe__actions{gap:8px}.o1-vibe .o1-vibe__button{padding:12px 16px}}
@media(forced-colors:active){.o1-vibe .o1-vibe__option:has(input:checked){outline:2px solid Highlight}.o1-vibe .o1-vibe__button{border:1px solid ButtonText}.o1-vibe .o1-vibe__option:focus-within,.o1-vibe .o1-vibe__button:focus-visible{outline-color:Highlight}}
