.wand{background:radial-gradient(circle at top right, #6ba36829, transparent 32%), radial-gradient(circle at bottom left, #f5b04124, transparent 28%), linear-gradient(180deg, #fff9f1 0%, var(--brand-cream) 42%, #fff3e6 100%);min-height:100dvh;color:var(--brand-espresso);font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif}.wand-shell{max-width:1120px;padding:20px 20px 72px;padding-top:max(20px, env(safe-area-inset-top));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(72px, calc(40px + env(safe-area-inset-bottom)));padding-left:max(20px, env(safe-area-inset-left));margin:0 auto}.wand-header{margin:4px 0 24px}.wand-header .app-brand{margin-bottom:14px}.wand h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4.5vw,2.7rem);line-height:1.05}.wand-lede{max-width:38rem;color:var(--brand-taupe-text);margin:10px 0 0;font-size:1.05rem;line-height:1.55}.wand-grid{gap:18px;display:grid}@media (min-width:920px){.wand-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:start}.wand-result{max-height:calc(100dvh - 32px);position:sticky;top:16px;overflow:auto}}.wand-card{border:1px solid color-mix(in srgb, var(--brand-line) 85%, #d8c4a8);background:linear-gradient(180deg, #ffffffb8, transparent 48%), color-mix(in srgb, var(--brand-card) 94%, white);border-radius:22px;padding:20px;box-shadow:inset 0 1px #ffffffb3,0 14px 36px #2b10170d}.wand-card h2{letter-spacing:-.03em;margin:0 0 4px;font-size:1.25rem}.wand-form{flex-direction:column;gap:4px;display:flex}.wand-row{gap:12px;display:grid}@media (min-width:560px){.wand-row{grid-template-columns:1fr 1fr}}.wand-field{flex-direction:column;gap:6px;min-width:0;display:flex}.wand-label,.wand-legend{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-taupe-text);font-size:.72rem;font-weight:700}.wand-fieldset{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.wand-field input,.wand-field select{border:1px solid var(--brand-line);width:100%;min-height:44px;font:inherit;color:inherit;background:#fff;border-radius:12px;padding:8px 12px;transition:border-color .14s,box-shadow .14s}.wand-field input:hover,.wand-field select:hover{border-color:color-mix(in srgb, var(--brand-espresso) 28%, var(--brand-line))}.wand-field input:focus-visible,.wand-field select:focus-visible{border-color:var(--brand-coral-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-coral) 35%, white);outline:none}.wand-hint{color:var(--brand-taupe-text);margin:0;font-size:.9rem;line-height:1.45}.wand-result-top{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:10px;display:flex}.wand-result-top h2{margin:0}.wand-summary{background:color-mix(in srgb, var(--brand-sage) 12%, white);color:var(--brand-espresso);border-radius:12px;margin:0 0 14px;padding:10px 12px;font-size:.95rem;line-height:1.45}.wand-copy{background:var(--brand-coral-text);min-height:42px;color:var(--brand-cream);font:inherit;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:.9rem;font-weight:700;transition:transform .14s,filter .14s}.wand-copy:hover{filter:brightness(1.06);transform:translateY(-1px)}.wand-copy:disabled{opacity:.45;cursor:not-allowed;transform:none}.wand-copy:focus-visible{outline:2px solid var(--brand-espresso);outline-offset:3px}.wand-warnings{background:color-mix(in srgb, var(--brand-amber) 28%, white);color:var(--brand-espresso);border-radius:14px;margin:0 0 14px;padding:12px 14px}.wand-warnings p{margin:0;font-size:.92rem;line-height:1.4}.wand-warnings p+p{margin-top:6px}.wand-group+.wand-group{margin-top:18px}.wand-group h3{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-amber-text);margin:0 0 4px;font-size:.72rem;font-weight:700}.wand-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wand-line{border-top:1px solid var(--brand-line);grid-template-columns:4.6rem 1fr;gap:2px 12px;padding:12px 0;display:grid}.wand-line:first-child{border-top:0}.wand-qty{font-variant-numeric:tabular-nums;letter-spacing:-.02em;grid-row:span 2;align-self:center;font-size:1.12rem;font-weight:700}.wand-line-label{font-weight:600;line-height:1.3}.wand-line-note{color:var(--brand-taupe-text);margin:0;font-size:.86rem;line-height:1.4}.wand-missing{color:var(--brand-taupe-text);margin:0}@media (prefers-reduced-motion:reduce){.wand-copy,.wand-field input,.wand-field select{transition:none}}
