:root{color-scheme:light;--background:#ffffff;--canvas:#fffef8;--card:#ffffff;--card-soft:#fff9db;--border:rgba(15,17,19,0.12);--text:#101113;--muted:rgba(16,17,19,0.7);--accent:#ffd54a;--accent-strong:#ffcc1a;--accent-text:#101113}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top,var(--canvas) 0,var(--background) 55%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,select{font:inherit}.page-shell{width:min(calc(100% - 24px),clamp(360px,50vw,760px));margin:0 auto;padding:16px 14px 36px;box-sizing:border-box}.hero-card,.planner-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px 16px;box-shadow:none}.planner-card+.planner-card{margin-top:14px}.hero-card{justify-content:center;gap:8px;margin-bottom:14px;text-align:center}.brand-block,.hero-card{display:flex;flex-direction:column;align-items:center}.brand-block{gap:2px;width:100%}.brand-logo{width:min(100%,320px);max-width:320px;height:auto;display:block;flex:0 0 auto;filter:none}.hero-content{display:flex;flex-direction:column;align-items:center;gap:4px;align-content:center;text-align:center;width:100%;margin-top:-2px}.hero-card h1{margin:0;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.12;letter-spacing:-.02em}.hero-copy{max-width:52ch;color:var(--muted);line-height:1.45;margin:0;font-size:clamp(.92rem,1.25vw,1.02rem)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;color:rgba(16,17,19,.6);font-size:.8rem;font-weight:700}.planner-shell{width:100%;display:block}.section-heading{font-size:1.05rem;font-weight:700;margin-bottom:18px}.objective-hint{margin:-8px 0 16px;font-size:.9rem;color:var(--muted);line-height:1.4}.subsection-heading{font-size:.95rem;font-weight:700;margin:18px 0 10px;color:var(--muted)}.slot-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:8px}.slot-grid label{display:grid;grid-gap:6px;gap:6px;font-size:.82rem;color:var(--muted)}.slot-grid input{width:100%;background:#ffffff;border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--text)}.slot-scale{margin-top:8px}.meta-panel{margin:-4px 0 16px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#fffef8;font-size:.88rem;color:var(--muted);line-height:1.5}.meta-panel p{margin:0 0 8px}.meta-panel p:last-child{margin-bottom:0}.meta-quotas{word-break:break-word}.meta-warnings{margin:8px 0 0;padding-left:18px;color:#7a1d1d}.input-grid{display:grid;grid-gap:14px;gap:14px}@media (min-width:520px){.input-grid{grid-template-columns:1fr 1fr}}.input-grid .span-two{grid-column:1/-1}.input-grid label{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:.95rem}.input-grid input,.input-grid select{width:100%;background:#ffffff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text)}.input-grid input:focus,.input-grid select:focus{outline:3px solid rgba(255,213,74,.4);outline-offset:1px}.primary-button{width:100%;margin-top:18px;border:0;border-radius:14px;padding:14px 16px;background:linear-gradient(180deg,var(--accent) 0,var(--accent-strong) 100%);color:var(--accent-text);font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.7;cursor:progress}.checkbox-row{display:grid;grid-gap:10px;gap:10px;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.92rem;cursor:pointer}.checkbox-label input{width:18px;height:18px;accent-color:var(--accent-strong)}.planner-results .metric-card{display:flex;flex-direction:column;min-height:118px}.progress-track{margin-top:10px;height:8px;border-radius:999px;background:rgba(16,17,19,.08);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd54a,#ffb300);transition:width .35s ease}.progress-budget{background:linear-gradient(90deg,#7cb342,#558b2f)}.metric-foot{margin-top:8px;font-size:.82rem;color:var(--muted)}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--card-soft);border:1px solid var(--border);text-transform:capitalize}.cell-title{font-weight:600;max-width:280px}.cell-muted{color:var(--muted);font-size:.85rem;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tier-pill{display:inline-block;padding:3px 8px;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:capitalize;border:1px solid var(--border)}.tier-best{background:rgba(76,175,80,.2);color:#1b5e20;border-color:rgba(76,175,80,.45)}.tier-better{background:rgba(129,199,132,.25);color:#33691e}.tier-worse{background:rgba(255,183,77,.35);color:#e65100}.tier-worst{background:rgba(239,154,154,.45);color:#b71c1c}.empty-state,.error-banner{margin-top:18px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);color:var(--muted);background:#ffffff}.error-banner{color:#7a1d1d;border-color:rgba(122,29,29,.25);background:rgba(255,230,230,.6)}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.metric-card{background:#ffffff;border:1px solid var(--border);border-radius:16px;padding:16px}.metric-card span{display:block;color:var(--muted);margin-bottom:8px}.metric-card strong{font-size:1.1rem}.table-wrapper{overflow-x:auto}.panel-block{margin-top:18px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#ffffff}.panel-block h3{margin:0 0 10px;font-size:.95rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.status-chip{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.78rem}.status-filled{background:rgba(76,175,80,.16)}.status-partial{background:rgba(255,193,7,.18)}.status-empty{background:rgba(244,67,54,.12)}.status-extra{background:rgba(100,181,246,.16)}.recipe-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.recipe-card{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fffef8}.recipe-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.recipe-head span{font-size:.78rem}.neutral-list,.recipe-head span{color:var(--muted)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--border);font-size:.94rem}th{color:var(--muted);font-weight:600}@media (max-width:960px){.planner-shell{grid-template-columns:1fr}}.product-link{color:#0d47a1;text-decoration:underline;text-underline-offset:3px;font-weight:600}.product-link:hover{color:#1565c0}.slot-alt-row td{background:rgba(16,17,19,.03);font-size:.9rem}.slot-alt-row .cell-alt{padding-left:20px;border-left:3px solid var(--accent-strong)}.alt-badge{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--card-soft);border:1px solid var(--border);color:var(--muted);vertical-align:middle}.field-hint{display:block;margin-top:6px;font-size:.82rem;color:var(--muted);line-height:1.35}.alt-count-label{display:grid;grid-gap:8px;gap:8px;width:100%;margin-top:10px;color:var(--muted);font-size:.95rem}.alt-count-label input{width:100%;max-width:120px;background:#ffffff;border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:var(--text)}.breadcrumb{margin-bottom:18px;font-size:.92rem;color:var(--muted)}.breadcrumb a{color:#0d47a1;text-decoration:underline;text-underline-offset:2px}.product-detail-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 16px 50px rgba(15,17,19,.08);max-width:820px}.product-detail-header h1{margin:0 0 8px;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2}.product-brand{margin:0 0 12px;color:var(--muted);font-size:1rem}.product-meta-line{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:baseline;margin:0;font-size:.95rem}.product-price{font-weight:700;font-size:1.1rem}.product-section{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.product-section h2{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--muted)}.taxonomy-path{margin:0;line-height:1.5;word-break:break-word}.product-dl{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 16px;gap:8px 16px;margin:12px 0 0;font-size:.94rem}.product-dl dt{margin:0;color:var(--muted)}.product-dl dd{margin:0}.product-nutrition{grid-template-columns:140px 1fr}.flag-list{margin:0;padding-left:20px}.product-pre{margin:0;padding:14px 16px;border-radius:12px;background:rgba(16,17,19,.04);border:1px solid var(--border);font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}@media (max-width:640px){.page-shell{width:calc(100% - 24px);padding:14px 12px 32px}.hero-card,.planner-card{padding:16px 14px;border-radius:16px}.metric-grid{grid-template-columns:1fr}.brand-logo{max-width:min(100%,300px)}}