:root{--bg: #fffaf2;--bg-soft: #f6ecdc;--border: #e7d8bf;--border-strong: #d8c3a0;--text: #2b2419;--muted: #6b5d47;--brand: #a8480a;--brand-dark: #7c3406;--accent: #1a6b38;--accent-tint: #fff3df;--warn: #8a5800;--slate: #4a4030;--radius: 18px;--radius-sm: 12px;--maxw: 780px;--shadow: 0 2px 10px rgba(120, 80, 30, .07);--font: ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:19px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.wide{max-width:1060px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--brand-dark);color:#fff;padding:14px 20px;border-bottom-right-radius:var(--radius-sm);font-weight:800}.skip-link:focus{left:0}:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a{color:var(--brand);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.15;color:var(--text);letter-spacing:-.01em}h1{font-size:2.4rem;font-weight:800;margin:0 0 .6rem}h2{font-size:1.65rem;font-weight:800;margin:2.2rem 0 .7rem}h3{font-size:1.25rem;font-weight:700;margin:1.5rem 0 .4rem}p{margin:0 0 1.1rem}ul,ol{padding-left:1.4rem}li{margin:.4rem 0}small{color:var(--muted)}.site-header{border-bottom:2px solid var(--border-strong);background:var(--bg);position:sticky;top:0;z-index:10}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;min-height:52px;font-weight:900;font-size:1.35rem;color:var(--text);letter-spacing:-.02em}.brand span{color:var(--brand)}.site-nav{display:flex;flex-wrap:wrap}.site-nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 12px;margin-left:4px;color:var(--text);font-weight:700;font-size:1.02rem;border-radius:var(--radius-sm)}.site-nav a:hover{color:var(--brand);background:var(--bg-soft);text-decoration:none}.site-footer{border-top:2px solid var(--border-strong);background:var(--bg-soft);margin-top:3.5rem}.site-footer .container{padding-top:1.8rem;padding-bottom:2.2rem}.site-footer nav{display:flex;flex-wrap:wrap}.site-footer nav a{color:var(--muted);margin-right:6px;font-size:1rem;display:inline-flex;align-items:center;min-height:48px;padding:0 12px 0 0}.site-footer p{color:var(--muted);font-size:.95rem;margin-top:1rem}main{padding:2rem 0 1.2rem}.hero{padding:.6rem 0 1.6rem;border-bottom:2px solid var(--border-strong);margin-bottom:1.8rem}.hero .eyebrow{display:inline-block;font-weight:800;font-size:.95rem;letter-spacing:.01em;color:var(--brand-dark);background:var(--accent-tint);border:2px solid var(--border-strong);border-radius:999px;padding:7px 16px;margin-bottom:1rem}.hero h1{font-size:clamp(2.4rem,8vw,3rem)}.hero .lede{margin-bottom:0}.card-grid{display:grid;gap:18px;grid-template-columns:1fr;margin:1.4rem 0}@media(min-width:640px){.card-grid{grid-template-columns:1fr 1fr}}.card{display:block;border:2px solid var(--border-strong);border-radius:var(--radius);padding:22px;background:#fff;color:var(--text);box-shadow:var(--shadow);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.card:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 8px 20px #78461e24;transform:translateY(-2px)}.card h2,.card h3{margin:0 0 .35rem;font-size:1.3rem;font-weight:800;color:var(--brand-dark)}.card p{margin:0;color:var(--muted);font-size:1.02rem}.tool{border:2px solid var(--border-strong);border-radius:var(--radius);padding:24px;margin:1.4rem 0 1.8rem;background-color:var(--bg-soft);box-shadow:var(--shadow)}.field{margin-bottom:18px}.field label,.field .field-label{display:block;font-weight:800;margin-bottom:8px;font-size:1.05rem;letter-spacing:0;color:var(--slate)}.field .hint{display:block;color:var(--muted);font-size:.92rem;font-weight:500;margin-top:4px;text-transform:none;letter-spacing:0}.field input,.field select,.field textarea{width:100%;min-height:56px;padding:12px 16px;font-size:1.1rem;font-weight:600;font-family:inherit;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text)}.field input[type=number]{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.row{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:560px){.row{grid-template-columns:1fr 1fr}}.row3{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:560px){.row3{grid-template-columns:1fr 1fr 1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;font-size:1.12rem;font-weight:800;letter-spacing:.01em;font-family:inherit;background:var(--brand);color:#fff;border:0;border-radius:999px;cursor:pointer;box-shadow:0 4px 0 var(--brand-dark);transition:transform .1s ease,box-shadow .1s ease,background .12s ease}.btn:hover{background:var(--brand-dark);box-shadow:0 2px 0 var(--brand-dark);transform:translateY(2px)}.btn.secondary{background:#fff;color:var(--brand);border:2px solid var(--brand);box-shadow:0 4px 0 var(--border-strong)}.btn.secondary:hover{background:var(--bg-soft);color:var(--brand-dark);box-shadow:0 2px 0 var(--border-strong)}.result{margin-top:22px}.result .headline{font-family:var(--font);font-size:clamp(1.9rem,7vw,2.9rem);font-weight:900;line-height:1.12;color:var(--accent);font-variant-numeric:tabular-nums;background:var(--accent-tint);border:3px solid var(--brand);border-radius:var(--radius);padding:26px 24px;text-align:center;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow)}.result .headline small{display:block;font-family:var(--font);font-size:1.02rem;color:var(--muted);font-weight:700;margin-top:10px;line-height:1.4}table.breakdown{width:100%;border-collapse:collapse;margin-top:16px;font-size:1.02rem}table.breakdown th,table.breakdown td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--border)}table.breakdown td:last-child,table.breakdown th:last-child{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-weight:700}table.breakdown tr.total td{font-weight:800;border-top:2px solid var(--text)}.note,.disclaimer{border-left:6px solid var(--brand);background:var(--bg-soft);padding:16px 20px;border-radius:var(--radius-sm);margin:1.4rem 0;font-size:1.02rem}.disclaimer{border-left-color:var(--warn)}.disclaimer strong{color:var(--warn)}.note a,.disclaimer a,.reco a{color:var(--brand-dark)}details.faq{border:2px solid var(--border-strong);border-radius:var(--radius-sm);padding:4px 18px;margin:10px 0;background:#fff}details.faq summary{font-weight:800;font-size:1.08rem;cursor:pointer;padding:14px 0;min-height:28px}details.faq[open] summary{border-bottom:2px solid var(--border);margin-bottom:10px}.ad-slot,.reco{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);padding:16px;text-align:center;color:var(--muted);font-size:.92rem;margin:1.6rem 0}.reco{text-align:left;border-style:solid;background:var(--bg-soft)}.ad-slot:has(ins.adsbygoogle[data-ad-status=unfilled]){min-height:0;display:none}.byline{color:var(--muted);font-size:.98rem;margin:0 0 1.4rem}.items{margin:6px 0 12px}.item-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#fff;border:2px solid var(--border-strong);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:10px;font-size:1.02rem}.item-row .item-meta{color:var(--muted);font-size:.92rem;font-family:var(--mono);font-variant-numeric:tabular-nums}.item-row button{min-height:48px;min-width:48px;background:#fff;border:2px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;font-size:1.3rem;font-weight:800;color:var(--text)}.item-row button:hover{border-color:var(--brand);color:var(--brand);background:var(--bg-soft)}.shoplist{background:#fff;border:3px solid var(--border-strong);border-radius:var(--radius);padding:30px;margin:1.4rem 0;overflow-wrap:anywhere;box-shadow:var(--shadow)}.shoplist .sl-title{font-size:1.6rem;font-weight:900;letter-spacing:.02em}.shoplist .sl-sub{color:var(--muted);font-size:.98rem;margin-bottom:14px}.shoplist table{width:100%;border-collapse:collapse;margin-top:12px;font-size:1.02rem}.shoplist th,.shoplist td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left}.shoplist td.num,.shoplist th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono);font-weight:700}.shoplist tr.total td{font-weight:900;border-top:2px solid var(--text)}.shoplist .sl-note{margin-top:16px;color:var(--muted);font-size:.92rem}@media(max-width:480px){.shoplist{padding:18px}}@media print{.site-header,.site-footer,.no-print,.ad-slot,.reco,.tool-meta,.byline,.disclaimer{display:none!important}body{font-size:12pt;background:#fff}main{padding:0}.shoplist{border:none;padding:0;margin:0;box-shadow:none}a{color:#000;text-decoration:none}}.lede{font-size:1.2rem;color:var(--muted)}.tool-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--muted);margin-bottom:1.2rem}.tool-meta span{font-weight:700;letter-spacing:.01em;color:var(--brand-dark);background:var(--accent-tint);border:2px solid var(--border-strong);border-radius:999px;padding:5px 14px}.tool .tool-section{font-size:1.35rem;font-weight:800;margin:1.8rem 0 .5rem}
