:root{--bg:#f6f8f7;--surface:#fff;--text:#1c2a26;--muted:#566660;--border:#d5dfdb;--health:#15b8a6;--health-deep:#0b7469;--health-light:#e8f8f5;--health-line:#15b8a680;--primary:var(--health-deep);--primary-dark:var(--health-deep);--danger:#b3261e;--warn-bg:#fff4d6;--radius:12px;color:var(--text);accent-color:var(--health-deep);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3,h4{margin:0 0 .4rem;line-height:1.25}h2{font-size:1.4rem}h3{font-size:1.15rem}h4{margin-top:1.25rem;font-size:1rem}p{margin:0 0 .6rem}:focus-visible{outline:3px solid var(--health-deep);outline-offset:2px}.site-header :focus-visible{outline-color:#fff}.container{width:100%;max-width:760px;margin:0 auto;padding:0 16px}.app{flex-direction:column;min-height:100vh;display:flex}main{flex:1;padding-top:24px;padding-bottom:32px}.site-header{background:var(--health-deep);color:#fff;border-bottom:4px solid var(--health);padding:24px 0}.site-header h1{font-size:1.8rem}.tagline{margin:0}.brand-nav{letter-spacing:.02em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin:0 0 6px;font-size:.85rem;font-weight:600;display:flex}.brand-nav a,.brand-nav span{color:#fff;text-decoration:none}.brand-nav a:hover{text-decoration:underline}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0 0 10px;display:flex}.footer-logo{width:auto;height:36px;display:block}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:20px 0;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.muted,.hint{color:var(--muted)}.hint{margin-bottom:.3rem;font-size:.9rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar h2{margin:0}.btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:8px;min-height:44px;padding:10px 16px;font-weight:600}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.88)}.btn-secondary{color:var(--primary-dark);border-color:var(--primary);background:#fff}.btn-secondary:hover{background:var(--health-light)}.btn-danger{background:var(--danger);color:#fff}.btn-quiet{color:var(--muted);border-color:var(--border);background:0 0}.btn-quiet-danger{color:var(--danger);border-color:var(--danger);background:#fff}.supplement-list{margin:0;padding:0;list-style:none}.supplement-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.supplement-head>div{flex:220px;min-width:0}.supplement h3{overflow-wrap:anywhere}.badge{background:var(--health-light);border:1px solid var(--health-line);color:var(--health-deep);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem;font-weight:700;display:inline-block}.details{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0;display:grid}.facts dt{color:var(--muted);font-size:.9rem}.facts dd{margin:0;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.num{text-align:right;white-space:nowrap}.card-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.empty{text-align:center;padding:32px 18px}.demo-panel{background:#fbfdfc;border-style:dashed;margin-top:24px}.notice{border-radius:8px;margin-bottom:16px;padding:12px 16px}.notice-warning{background:var(--warn-bg);border:1px solid #e0b84a}fieldset{border:1px solid var(--border);border-radius:8px;min-width:0;margin:18px 0 0;padding:14px}legend{padding:0 6px;font-weight:700}.field{margin-bottom:14px}.field label{margin-bottom:4px;font-weight:600;display:block}.required{color:var(--danger)}input[type=text]{width:100%;font:inherit;min-height:44px;color:var(--text);background:#fff;border:1px solid #8a9a94;border-radius:8px;padding:10px 12px}.has-error input{border:2px solid var(--danger)}.field-error{color:var(--danger);margin:4px 0 0;font-size:.92rem;font-weight:600}.error-summary{border:1px solid var(--danger);color:var(--danger);background:#fdecea;border-radius:8px;padding:12px 16px;font-weight:600}.grid-2{grid-template-columns:1fr;gap:0 16px;display:grid}.ingredient-rows{margin:0 0 12px;padding:0;list-style:none}.ingredient-row{background:#f6f8f7;border-radius:8px;grid-template-columns:1fr 1fr;gap:0 12px;margin-bottom:10px;padding:12px;display:grid}.ingredient-row>.field:first-child{grid-column:1/-1}.remove-row{grid-column:1/-1;justify-self:start}.form-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}@media (width>=640px){.grid-2{grid-template-columns:1fr 1fr}.ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:start}.ingredient-row>.field:first-child{grid-column:auto}.remove-row{grid-column:auto;margin-top:30px}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wizard h2{outline:none}.stepper{counter-reset:none;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 20px;padding:0;list-style:none;display:grid}.step{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;padding:8px 10px;font-size:.9rem}.step-num{text-align:center;background:var(--border);width:1.5rem;height:1.5rem;color:var(--text);border-radius:50%;margin-right:4px;font-weight:700;line-height:1.5rem;display:inline-block}.step-current{border-color:var(--primary);color:var(--text);font-weight:700}.step-current .step-num,.step-done .step-num{background:var(--primary);color:#fff}.step-link{font:inherit;color:var(--primary-dark);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.method h3{margin-bottom:.3rem}.method-primary{border:2px solid var(--primary)}.other-methods{grid-template-columns:1fr;gap:0 16px;display:grid}.badge-muted{border-color:var(--border);color:var(--muted);background:#eef1f0}.search-form{flex-wrap:wrap;gap:10px;margin:12px 0 8px;display:flex}.search-form input{flex:220px}input[type=search],select{width:100%;font:inherit;min-height:44px;color:var(--text);background:#fff;border:1px solid #8a9a94;border-radius:8px;padding:10px 12px}.has-error select,.has-error input[type=search]{border:2px solid var(--danger)}.checkbox{align-items:center;gap:8px;margin:6px 0;display:flex}.checkbox input{width:20px;height:20px}.results{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.result{text-align:left;width:100%;font:inherit;cursor:pointer;border:1px solid var(--border);min-height:44px;color:var(--text);background:#fff;border-radius:8px;padding:12px 14px;display:block}.result:hover:not(:disabled){border-color:var(--primary);background:var(--health-light)}.result:disabled{opacity:.6;cursor:wait}.result-name{overflow-wrap:anywhere;font-weight:700;display:block}.result-meta{color:var(--muted);font-size:.9rem;display:block}.link-button{font:inherit;cursor:pointer;color:var(--primary-dark);background:0 0;border:0;padding:0;text-decoration:underline}.notice-info{background:var(--health-light);border:1px solid var(--health-line);color:var(--text)}.notice ul{margin:6px 0 0;padding-left:20px}.row-note{color:var(--muted);margin:2px 0 0;font-size:.85rem;display:block}.ingredient-row>.row-note{grid-column:1/-1;margin:0}.unstated{border:1px dashed var(--border);border-radius:8px;margin-top:16px;padding:10px 12px}.unstated summary{cursor:pointer;font-weight:600}.unstated .btn{margin-bottom:10px}.serving-reminder{background:var(--health-light);border-radius:8px;padding:10px 12px}.live-result{color:var(--primary-dark);margin-top:-6px;font-weight:600}.suggestion{background:var(--health-light);border-radius:8px;padding:10px 12px}.summary h3{margin-bottom:0}.form-actions{align-items:center}@media (width>=640px){.stepper{grid-template-columns:repeat(4,1fr)}.other-methods{grid-template-columns:1fr 1fr}}.tabs{border-bottom:2px solid var(--border);gap:8px;margin-bottom:20px;display:flex}.tab{font:inherit;cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:4px solid #0000;margin-bottom:-2px;padding:10px 14px;font-weight:600}.tab-active{color:var(--primary-dark);border-bottom-color:var(--health)}@media (width<=360px){.tabs{gap:2px}.tab{padding:10px 6px;font-size:.95rem}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.section-head h3{margin:0}.block{display:block}.btn-small{min-height:36px;padding:6px 12px;font-size:.9rem}.summary-cards{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.summary-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:12px 14px}.summary-label{color:var(--muted);font-size:.85rem;display:block}.summary-value{color:var(--primary-dark);font-size:1.4rem;font-weight:700;display:block}.picker{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.picker li{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.picker .checkbox{align-items:flex-start;margin:0}.picker-off{background:#f0f3f2}.picker-off strong{color:var(--muted);text-decoration:line-through}.table-scroll{-webkit-overflow-scrolling:touch;margin:12px 0 0;overflow-x:auto}.ingredient-table{table-layout:fixed;width:100%;font-size:.95rem}.ingredient-table th:first-child{width:42%}.ingredient-table th,.ingredient-table td{overflow-wrap:anywhere}.ingredient-table .amount-line,.ingredient-table .num{white-space:normal}.detail-table,.cost-table{min-width:560px;font-size:.95rem}.ingredient-table th,.ingredient-table td{vertical-align:top;padding:8px 4px}.details-toggle{margin-top:2px;font-size:.9rem;display:block}.ingredient-table th[scope=row],.detail-table th[scope=row],.cost-table th[scope=row]{font-weight:600}.amount-line{white-space:nowrap;display:block}.unknown{color:#7a5a00;font-weight:600}.badges{margin-top:4px;display:block}.badges .badge{margin:0 6px 4px 0}.badge-overlap{background:var(--health-light);border-color:var(--health-line);color:var(--primary-dark)}.badge-incomplete{background:var(--warn-bg);color:#6b4e00;border-color:#e0b84a}.row-overlap>th,.row-overlap>td{background:var(--health-light)}.detail-row>td{background:#fafbfa;padding:12px}.row-inside{color:var(--muted)}.cost-table tfoot th,.cost-table tfoot td{border-top:2px solid var(--text);font-weight:700}.plain-list{margin:8px 0 0;padding-left:20px}.basis{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.basis select{width:auto;max-width:100%}.targets{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.target{border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px}.target-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.target-head .btn{margin-left:auto}.target-facts{margin-top:8px}.target-warning{color:#6b4e00;font-weight:600}.target-form{border-top:1px solid var(--border);margin-top:8px;padding-top:12px}.target-fields{grid-template-columns:1fr;gap:0 12px;display:grid}@media (width>=640px){.summary-cards{grid-template-columns:repeat(4,1fr)}.target-fields{grid-template-columns:2fr 1fr 1fr}}@media (width>=900px){.container-wide{max-width:960px}}.explain{margin:8px 0 0}.explain li{margin-bottom:4px;list-style:none}.how-we-calculate summary{cursor:pointer;list-style:none}.how-we-calculate summary h3{display:inline}.how-we-calculate summary:before{content:"▸ "}.how-we-calculate[open] summary:before{content:"▾ "}.summary-cards.three{grid-template-columns:1fr}.summary-note{color:var(--muted);margin-top:2px;font-size:.8rem;display:block}.overlap-list{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.overlap-list li{background:var(--health-light);border:1px solid var(--health-line);color:var(--primary-dark);border-radius:999px;padding:4px 12px;font-weight:600}.preview h2{margin-bottom:12px}.upgrade{border:2px solid var(--primary);background:#fbfdfc;margin-top:24px}.upgrade-list{margin:0 0 16px;padding-left:20px}.upgrade-list li{margin-bottom:6px}.pricing{grid-template-columns:1fr;gap:12px;margin:8px 0;display:grid}.price-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#fff;padding:14px}.price-name{font-weight:700;display:block}.price-amount{color:var(--primary-dark);font-size:1.6rem;font-weight:700;display:block}.price-unit{color:var(--muted);font-size:1rem;font-weight:600}.coming-soon{background:var(--warn-bg);border:1px solid #e0b84a;border-radius:8px;margin:8px 0 0;padding:10px 12px}.dev-switch{border-radius:var(--radius);background:#fff7ed;border:2px dashed #c2410c;margin:0 0 24px;padding:12px 14px}.dev-switch-title{color:#9a3412;letter-spacing:.03em;margin:0 0 4px;font-weight:800}.dev-switch-text{margin:0 0 10px;font-size:.9rem}.dev-switch-buttons{flex-wrap:wrap;gap:8px;display:flex}@media (width>=640px){.summary-cards.three{grid-template-columns:repeat(3,1fr)}.pricing{grid-template-columns:1fr 1fr}}.notice-neutral{border:1px solid var(--border);color:var(--text);background:#f1f4f3;font-size:.95rem}.benefits{grid-template-columns:1fr;gap:4px 20px;margin-bottom:8px;display:grid}.benefits h4{color:var(--primary-dark);margin:12px 0 2px}.benefits p{margin:0}.price-desc{color:var(--muted);text-align:left;margin-top:6px;font-size:.9rem;display:block}@media (width>=640px){.benefits{grid-template-columns:repeat(3,1fr)}}.timing{margin-top:8px}.timing-total{background:var(--health-light);border-radius:8px;padding:10px 12px;font-size:1.05rem}.timing-toggle{margin-top:10px}.badge-period{color:#2f3f86;background:#eef1fb;border-color:#a9b4e0;margin-left:8px}.time-breakdown{margin-top:14px}.time-breakdown h4{margin-top:0}@media (width>=640px){.target-fields{grid-template-columns:1fr 2fr 1fr 1fr}}.target-summary{margin:8px 0 0;font-weight:600}.report-bar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;display:flex}.report-bar .hint{flex:240px;margin:0}.account-bar{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin:0 0 16px;padding:10px 14px}.account-bar-inner{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.account-bar-inner .hint{flex:220px;margin:0}.link-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.file-label{margin:12px 0 6px;font-weight:600;display:block}.import-summary{margin-top:16px}.import-summary ul{margin:6px 0 10px}.backup .card,.privacy .card{margin-bottom:16px}.backup input[type=file]{max-width:100%}
