@font-face{font-family:Ballet;src:url(/fonts/Ballet-Regular-VariableFont_opsz.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Light.ttf)format("truetype");font-weight:300;font-display:swap}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Serif;src:url(/fonts/IBMPlexSerif-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}:root{--primary:#d9728f;--accent:#93c572;--on-primary:#fff;--primary-50:color-mix(in oklab, var(--primary) 6%, white);--primary-100:color-mix(in oklab, var(--primary) 12%, white);--primary-200:color-mix(in oklab, var(--primary) 26%, white);--primary-300:color-mix(in oklab, var(--primary) 50%, white);--primary-500:var(--primary);--primary-700:color-mix(in oklab, var(--primary) 75%, black);--accent-100:color-mix(in oklab, var(--accent) 15%, white);--accent-300:color-mix(in oklab, var(--accent) 55%, white);--accent-500:var(--accent);--accent-700:color-mix(in oklab, var(--accent) 65%, black);--white:#fff;--ink:color-mix(in oklab, var(--primary) 16%, #2b2226);--ink-soft:color-mix(in oklab, var(--primary) 22%, #6e6467);--ink-faint:color-mix(in oklab, var(--primary) 20%, #b5aeb0);--shadow-color:color-mix(in srgb, var(--primary-700) 40%, transparent);--shadow-color-soft:color-mix(in srgb, var(--primary-700) 10%, transparent);--font-display:"Ballet", "Brush Script MT", cursive;--font-body:"IBM Plex Serif", Georgia, serif;--radius-sm:10px;--radius-lg:28px;--shadow-card:0 24px 60px -20px var(--shadow-color), 0 2px 6px var(--shadow-color-soft);--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{background:var(--primary-50);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:400;line-height:1.6}h1,h2,h3{font-family:var(--font-display);color:var(--primary-700);margin:0;font-weight:400;line-height:1.45}h1{font-size:clamp(2.6rem,8vw,3.8rem)}h2{font-size:clamp(2rem,6vw,2.8rem)}h3{font-size:1.8rem}p{margin:0}a{color:var(--accent-700);text-underline-offset:3px}a:hover{color:var(--primary-700)}label{letter-spacing:.04em;color:var(--ink-soft);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--white);border:1.5px solid var(--primary-200);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);padding:12px 16px}input::placeholder,textarea::placeholder{color:var(--ink-faint);font-style:italic}input:hover,select:hover,textarea:hover{border-color:var(--primary-300)}input:focus,select:focus,textarea:focus{border-color:var(--accent-500);box-shadow:0 0 0 4px var(--accent-100);outline:none}button{font:inherit;cursor:pointer}.btn-primary{background:var(--primary-500);width:100%;color:var(--on-primary);letter-spacing:.06em;box-shadow:0 8px 20px -8px color-mix(in srgb, var(--primary) 80%, transparent);transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;border-radius:999px;padding:14px 20px;font-weight:500}.btn-primary:hover{background:color-mix(in oklab, var(--primary) 85%, black);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:3px solid var(--accent-500);outline-offset:3px}.form-error{border-radius:var(--radius-sm);background:var(--primary-100);border:1px solid var(--primary-300);color:var(--primary-700);margin:0;padding:10px 14px;font-size:.9rem}.form-error:empty{display:none}.form-error:not(:empty){animation:.26s both message-in}.form-error.is-success{background:var(--accent-100);border-color:var(--accent-300);color:var(--accent-700)}textarea{resize:vertical;min-height:96px;line-height:1.5}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a6168' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-700)}[aria-invalid=true]{animation:.32s shake;border-color:var(--primary-500)!important}.field-hint{color:var(--ink-soft);margin-top:4px;font-size:.8rem}.optional{letter-spacing:0;color:var(--ink-faint);font-style:italic;font-weight:400}.btn-secondary,.btn-ghost{white-space:nowrap;transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary{border:1.5px solid var(--accent-300);background:var(--accent-100);color:var(--accent-700)}.btn-secondary:hover{background:var(--accent-300);color:var(--accent-700);transform:translateY(-1px)}.btn-ghost{border:1.5px solid var(--primary-200);color:var(--primary-700);background:0 0}.btn-ghost:hover{background:var(--primary-100);color:var(--primary-700)}.btn-danger{background:var(--primary-700)}.btn-danger:hover{background:color-mix(in oklab, var(--primary-700) 80%, black)}.btn-secondary:focus-visible,.btn-ghost:focus-visible{outline:3px solid var(--accent-500);outline-offset:3px}.btn-inline{justify-content:center;align-items:center;gap:8px;width:auto;text-decoration:none;display:inline-flex}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled{opacity:.6;cursor:not-allowed;transform:none}.is-loading{pointer-events:none;position:relative}.is-loading:after{content:"";vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-left:10px;animation:.7s linear infinite spin;display:inline-block}.toast-stack{z-index:100;pointer-events:none;gap:10px;width:min(420px,100% - 32px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--white);box-shadow:0 16px 40px -12px color-mix(in srgb, var(--ink) 50%, transparent);pointer-events:auto;border-radius:14px;align-items:center;gap:10px;padding:12px 18px;font-size:.92rem;animation:.32s cubic-bezier(.2,.8,.2,1) both toast-in;display:flex}.toast.is-success:before{content:"✓";color:var(--accent-300);font-weight:600}.toast.is-error:before{content:"!";color:var(--primary-300);font-weight:600}.toast.is-leaving{animation:.24s both toast-out}dialog{border-radius:var(--radius-lg);background:var(--white);width:min(560px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);box-shadow:0 40px 80px -24px color-mix(in srgb, var(--ink) 45%, transparent);border:none;padding:0}dialog[open]{animation:.28s cubic-bezier(.2,.8,.2,1) both dialog-in}dialog::backdrop{background:color-mix(in srgb, var(--ink) 35%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:.24s both fade-in}.dialog-body{padding:28px 28px 24px}.dialog-title{margin-bottom:18px;font-size:2.2rem}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.chip{background:var(--primary-100);color:var(--primary-700);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;display:inline-flex}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.chip-toggle{border:1.5px solid var(--primary-200);background:var(--white);color:var(--ink-soft);letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);border-radius:999px;align-items:center;gap:6px;margin:0;padding:7px 14px;font-size:.88rem;font-weight:400;display:inline-flex}.chip-toggle:hover{border-color:var(--primary-300)}.chip-toggle input{opacity:0;pointer-events:none;position:absolute}.chip-toggle:has(input:checked){border-color:var(--accent-500);background:var(--accent-100);color:var(--accent-700)}.chip-toggle:has(input:checked):after{content:"✓";font-size:.8em}.chip-toggle:has(input:focus-visible){outline:2px solid var(--accent-500);outline-offset:2px}.chip-toggle:active{transform:scale(.96)}.skeleton{background:linear-gradient(90deg, var(--primary-100) 25%, var(--primary-50) 50%, var(--primary-100) 75%);background-size:200% 100%;border-radius:6px;height:1em;animation:1.4s ease-in-out infinite shimmer;display:block}.petals{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petal{top:-40px;left:var(--x);width:var(--size);height:calc(var(--size) * 1.3);background:linear-gradient(135deg, var(--primary-200), var(--primary-300));opacity:.7;animation:petal-fall var(--duration) linear var(--delay) infinite;border-radius:80% 0;position:absolute}.petal.is-leaf{background:linear-gradient(135deg, var(--accent-100), var(--accent-300))}@keyframes petal-fall{to{transform:translate(var(--drift), 110vh) rotate(540deg)}}.stagger>*{animation:.6s cubic-bezier(.2,.8,.2,1) both rise-in}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:70ms}.stagger>:nth-child(3){animation-delay:.14s}.stagger>:nth-child(4){animation-delay:.21s}.stagger>:nth-child(5){animation-delay:.28s}.stagger>:nth-child(6){animation-delay:.35s}.stagger>:nth-child(7){animation-delay:.42s}.stagger>:nth-child(n+8){animation-delay:.49s}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}@keyframes fade-in{0%{opacity:0}}@keyframes message-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}[data-icon]{align-items:center;gap:.45em;display:inline-flex}.icon-badge{background:var(--primary-100);color:var(--primary-700);border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-badge .icon{width:52%;height:52%}.env-badge{z-index:1000;color:#fff;letter-spacing:.04em;pointer-events:none;background:#b3261e;border-radius:999px;padding:5px 12px;font-size:.75rem;font-weight:600;position:fixed;bottom:12px;left:12px;box-shadow:0 6px 16px -6px #0006}@media print{.env-badge{display:none}}
