/*! * FormForge v1.0.1 * Copyright (c) 2026 RitualForge Labs * Distributed under the license terms supplied with this product. */ .ff-form{--ff-bg:oklch(1 0 0);--ff-surface:oklch(.97 0 0);--ff-text:oklch(.20 .01 250);--ff-muted:oklch(.43 .01 250);--ff-rule:oklch(.86 .01 250);--ff-accent:oklch(.55 .15 68);--ff-on-accent:oklch(1 0 0);--ff-error:oklch(.48 .19 28);--ff-focus:oklch(.58 .17 210);color:var(--ff-text);font:400 16px/1.5 ui-sans-serif,system-ui,sans-serif}.ff-form.ff-theme-dark{--ff-bg:oklch(.13 0 0);--ff-surface:oklch(.19 .01 68);--ff-text:oklch(.95 .006 68);--ff-muted:oklch(.74 .015 68);--ff-rule:oklch(.32 .02 68);--ff-accent:oklch(.72 .16 68);--ff-on-accent:oklch(.10 0 0);--ff-error:oklch(.72 .17 28);--ff-focus:oklch(.82 .12 185)}.ff-form *,.ff-form *::before,.ff-form *::after{box-sizing:border-box}.ff-form button,.ff-form input,.ff-form select,.ff-form textarea{font:inherit}.ff-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ff-progress{margin:0 0 30px}.ff-progress ol{display:flex;list-style:none;margin:0;padding:0}.ff-progress li{border-bottom:3px solid var(--ff-rule);color:var(--ff-muted);display:flex;flex:1;gap:9px;min-width:0;padding:0 8px 12px}.ff-progress li:first-child{padding-left:0}.ff-progress li span{align-items:center;border:1px solid var(--ff-rule);border-radius:50%;display:flex;flex:0 0 28px;font-size:.75rem;font-weight:800;height:28px;justify-content:center}.ff-progress li strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-progress li.is-current{border-color:var(--ff-accent);color:var(--ff-text)}.ff-progress li.is-current span,.ff-progress li.is-complete span{background:var(--ff-accent);border-color:var(--ff-accent);color:var(--ff-on-accent)}[data-ff-step]{animation:ff-enter 220ms cubic-bezier(.25,1,.5,1)}[data-ff-step][hidden],[data-ff-success][hidden],[data-ff-show-if][hidden]{display:none!important}.ff-form fieldset{border:0;margin:0;padding:0}.ff-form legend,[data-ff-step-heading]{color:var(--ff-text);font-size:clamp(1.55rem,4vw,2.35rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:0 0 8px;text-wrap:balance}.ff-step-intro{color:var(--ff-muted);margin:0 0 28px;max-width:64ch}.ff-fields{display:grid;gap:18px}.ff-row{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.ff-field{display:grid;gap:7px}.ff-field>span,.ff-field>label{font-size:.88rem;font-weight:700}.ff-hint{color:var(--ff-muted);font-size:.8rem}.ff-form input:not([type=checkbox]):not([type=radio]),.ff-form select,.ff-form textarea{background:var(--ff-bg);border:1px solid var(--ff-rule);border-radius:8px;color:var(--ff-text);min-height:48px;padding:10px 12px;width:100%}.ff-form textarea{min-height:120px;resize:vertical}.ff-form input[type=file]{padding:8px}.ff-check{align-items:flex-start;display:flex;gap:10px}.ff-check input{flex:0 0 auto;height:22px;margin:1px 0 0;width:22px}.ff-form input:focus-visible,.ff-form select:focus-visible,.ff-form textarea:focus-visible,.ff-form button:focus-visible,.ff-form a:focus-visible,.ff-error-summary:focus-visible,[data-ff-success]:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}.ff-form [aria-invalid=true]{border-color:var(--ff-error)!important}.ff-field-error{color:var(--ff-error);font-size:.82rem;font-weight:700;margin:0}.ff-field-error[hidden]{display:none}.ff-error-summary{background:color-mix(in oklch,var(--ff-error) 9%,var(--ff-bg));border:1px solid var(--ff-error);border-radius:10px;margin-bottom:24px;padding:16px}.ff-error-summary[hidden]{display:none}.ff-error-summary strong{display:block;margin-bottom:6px}.ff-error-summary ul{margin:0;padding-left:20px}.ff-error-summary a{color:var(--ff-text)}.ff-actions{align-items:center;border-top:1px solid var(--ff-rule);display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.ff-actions button{background:var(--ff-accent);border:1px solid var(--ff-accent);border-radius:8px;color:var(--ff-on-accent);cursor:pointer;font-weight:800;min-height:46px;padding:10px 17px}.ff-actions button[data-ff-prev],.ff-actions .ff-secondary{background:transparent;border-color:var(--ff-rule);color:var(--ff-text);margin-right:auto}.ff-actions button:hover{filter:brightness(.96)}.ff-review{display:grid;gap:0;margin:24px 0}.ff-review div{border-bottom:1px solid var(--ff-rule);display:grid;gap:16px;grid-template-columns:minmax(100px,.6fr) 1.4fr;padding:12px 0}.ff-review dt{color:var(--ff-muted)}.ff-review dd{margin:0;overflow-wrap:anywhere}.ff-success{background:var(--ff-surface);border:1px solid var(--ff-rule);border-radius:12px;padding:32px}.ff-success h2{margin-top:0}@keyframes ff-enter{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:640px){.ff-progress li strong{display:none}.ff-progress li{justify-content:center;padding-inline:4px}.ff-row{grid-template-columns:1fr}.ff-actions{align-items:stretch;flex-direction:column-reverse}.ff-actions button,.ff-actions button[data-ff-prev]{margin:0;width:100%}.ff-review div{grid-template-columns:1fr;gap:3px}}@media(prefers-reduced-motion:reduce){.ff-form *,[data-ff-step]{animation-duration:.01ms!important;transition-duration:.01ms!important}}