:root{--text:#2a2c24;--text-muted:#816c61;--bg:#fff;--bg-panel:#ebe9f4;--border:#a89b9d;--lavender:#cfcfea;--accent:#816c61;--accent-2:#575a4b;--accent-contrast:#fff;--copay:#816c61;--pap:#575a4b;--danger:#9c4a3a;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;-webkit-text-size-adjust:100%;font-size:18px;line-height:1.4}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);background-image:radial-gradient(circle at 50% -10%,#cfcfea8c,#0000 55%);background-repeat:no-repeat}#root{min-height:100vh}.app{max-width:600px;margin:0 auto;padding:1.25rem 1rem 3rem}.hero{flex-direction:column;justify-content:center;align-items:stretch;transition:min-height .45s,padding .45s;display:flex}.hero--idle{min-height:62vh}.hero--active{min-height:0;padding-top:.5rem}.header{text-align:center;margin-bottom:1.5rem}.logo{flex-direction:column;align-items:center;display:inline-flex}.logo__text{font-family:var(--font-display);color:var(--accent);letter-spacing:-.01em;opacity:0;margin:0;font-size:2.6rem;font-weight:600;animation:.6s ease-out forwards rise-in;transform:translateY(10px)}.hero--active .logo__text{font-size:1.9rem}.logo__line{width:70%;max-width:220px;height:6px;margin-top:.5rem;display:block}.logo__line line{stroke:var(--accent-2);stroke-width:3px;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200px;animation:.7s ease-out .35s forwards draw-line}.tagline{color:var(--text-muted);opacity:0;margin:.6rem 0 0;font-size:1.05rem;animation:.5s ease-out .55s forwards rise-in}.search-box{opacity:0;animation:.5s ease-out .75s forwards rise-in;position:relative}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}@keyframes draw-line{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.logo__text,.tagline,.search-box{opacity:1;animation:none;transform:none}.logo__line line{stroke-dashoffset:0;animation:none}.search-input{animation:none}}.search-form{flex-direction:column;gap:.7rem;display:flex}.search-input-wrap{position:relative}.search-input{border:1.5px solid var(--border);background:var(--bg);width:100%;min-width:0;min-height:3rem;color:var(--text);border-radius:14px;flex:1;padding:.85rem 1rem;font-size:1.15rem;animation:2.6s ease-in-out infinite ambient-glow}.search-input:focus{border-color:var(--accent);outline:none;animation:none;box-shadow:0 0 0 4px #cfcfea99}@keyframes ambient-glow{0%,to{box-shadow:0 0 #cfcfea00}50%{box-shadow:0 0 18px 4px #cfcfeaa6}}.search-button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:14px;width:100%;min-height:3rem;padding:.85rem 1.25rem;font-size:1.1rem;font-weight:700;box-shadow:0 2px 8px #2a2c242e}.search-button:active{opacity:.85}.suggestions{z-index:10;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;max-height:16rem;margin:0;padding:.4rem;list-style:none;position:absolute;top:3.4rem;left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #2a2c2426}.suggestion{cursor:pointer;border-radius:10px;padding:.7rem .8rem;font-size:1.05rem}.suggestion__generic{color:var(--text-muted);font-size:.95rem}.suggestion--active,.suggestion:hover{background:var(--bg-panel)}.filters{background:var(--bg-panel);border-radius:18px;flex-direction:column;gap:1rem;margin-top:1.25rem;padding:1.1rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-label{color:var(--accent-2);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1.5px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;min-height:2.5rem;padding:.6rem .9rem;font-size:.95rem;font-weight:600}.chip--active{background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-contrast)}.filter-note{color:var(--text-muted);margin:0;font-size:.9rem}.sort-toggle{color:var(--text);align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.sort-toggle input{width:1.25rem;height:1.25rem;accent-color:var(--accent-2)}.results{margin-top:1.5rem}.status-text{text-align:center;color:var(--text-muted);font-size:1.1rem}.results-heading{color:var(--text-muted);margin:0 0 1rem;font-size:1rem}.results-heading strong{color:var(--text)}.error-text{color:var(--danger)}.card-list{flex-direction:column;gap:1rem;display:flex}.card{border:1.5px solid var(--border);background:var(--bg);border-radius:18px;flex-direction:column;gap:.5rem;padding:1.1rem;display:flex;box-shadow:0 2px 10px #2a2c240f}.badge{text-transform:uppercase;letter-spacing:.03em;color:#fff;border-radius:999px;align-self:flex-start;padding:.25rem .6rem;font-size:.85rem;font-weight:700;display:inline-block}.badge--copay_card{background:var(--copay)}.badge--PAP{background:var(--pap)}.badge--foundation_grant{background:var(--lavender);color:var(--text)}.card__title{color:var(--text);margin:0;font-size:1.3rem;font-weight:800}.card__manufacturer{color:var(--text-muted);margin:0;font-size:.95rem}.card__savings{color:var(--accent-2);margin:0;font-size:1.15rem;font-weight:700}.card__eligibility{color:var(--text);margin:0;font-size:1rem}.card__cta{text-align:center;background:var(--accent);color:var(--accent-contrast);border-radius:14px;min-height:3rem;margin-top:.25rem;padding:.85rem;font-size:1.1rem;font-weight:700;line-height:1.3rem;text-decoration:none;display:block;box-shadow:0 2px 8px #2a2c2426}.card__cta:active{opacity:.85}.card__copy{text-align:center;background:var(--bg);border:1.5px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:14px;min-height:2.75rem;padding:.75rem;font-size:1rem;font-weight:600;display:block}.card__copy:active{background:var(--bg-panel)}.card__verified,.card__link-status{color:var(--text-muted);margin:0;font-size:.8rem}.card__link-status--broken{color:var(--danger);font-weight:600}.request-form{border:1.5px dashed var(--border);text-align:center;background:var(--bg-panel);border-radius:18px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.request-confirmation{text-align:center;color:var(--accent-2);font-size:1.1rem;font-weight:600}
