.ab-page{--ab-amber:#fbbf24;--ab-amber-dim:rgba(251,191,36,.12);--ab-bone:#e8dcc0;--ab-green:#34d399;--ab-red:#f87171;max-width:1080px;margin:18px auto 56px;padding:0 16px;font-family:space grotesk,system-ui,sans-serif;color:var(--text)}.ab-wrap{display:flex;flex-direction:column;gap:18px}.ab-hero{padding:6px 2px 2px}.ab-eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-amber);margin-bottom:8px}.ab-hero h1{font-size:clamp(26px,4.4vw,40px);line-height:1.08;font-weight:700;margin:0 0 12px;letter-spacing:-.02em}.ab-lede{font-size:16px;line-height:1.55;color:var(--text-2);max-width:72ch;margin:0}.ab-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px 20px 18px}.ab-shead{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ab-shead .ab-n{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;font-size:12.5px;font-weight:700;color:var(--ab-amber);background:var(--card-2);border:1px solid var(--border-2);border-radius:8px;padding:0 7px;font-variant-numeric:tabular-nums}.ab-shead h2{font-size:19px;font-weight:600;margin:0;letter-spacing:-.01em}.ab-lead{font-size:14.5px;color:var(--text-2);margin:0 0 14px;line-height:1.5}.ab-fine{font-size:12.5px;color:var(--muted);margin:14px 0 0;line-height:1.5}.ab-fine a,.ab-lede a{color:var(--ab-amber);text-decoration:none;border-bottom:1px solid rgba(251,191,36,.35)}.ab-recipes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ab-rec{display:flex;align-items:center;gap:9px;border:1px solid var(--border-2);background:var(--card-2);color:var(--text-2);font-size:14px;font-weight:600;padding:10px 13px;border-radius:10px;cursor:pointer;user-select:none;transition:border-color .15s,color .15s}.ab-rec input{accent-color:var(--ab-amber);width:16px;height:16px}.ab-rec.on{border-color:var(--ab-amber);color:var(--text)}.ab-rec .cost{margin-left:auto;font-size:12.5px;color:var(--ab-amber);font-variant-numeric:tabular-nums}.ab-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.ab-field{display:flex;flex-direction:column;gap:5px}.ab-field>span{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ab-field input{width:100%;box-sizing:border-box;background:var(--card-2);border:1px solid var(--border-2);border-radius:10px;padding:11px 13px;font-size:16px;color:var(--text);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.ab-field input:focus{border-color:var(--ab-amber);box-shadow:0 0 0 3px var(--ab-amber-dim)}.ab-field em{font-style:normal;font-size:11.5px;color:var(--muted);line-height:1.35}.ab-out-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ab-tileout{background:var(--card-2);border:1px solid var(--border-2);border-radius:12px;padding:13px 14px;min-width:0}.ab-tileout.hi{border-color:rgba(251,191,36,.45);background:var(--ab-amber-dim)}.ab-tileout .k{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ab-tileout .v{font-size:22px;font-weight:700;margin:3px 0 2px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}.ab-tileout .f{font-size:11px;color:var(--muted);line-height:1.35}.ab-hints{margin-top:14px;display:flex;flex-direction:column;gap:9px}.ab-hint{font-size:13.5px;line-height:1.5;border-radius:10px;padding:11px 14px;border:1px solid var(--border-2);background:var(--card-2);color:var(--text-2)}.ab-hint.warn{border-color:rgba(251,191,36,.4);background:rgba(251,191,36,8%)}.ab-hint b{color:var(--text)}.ab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ab-tile{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:14px 15px}.ab-tile h3{font-size:14.5px;font-weight:600;margin:0 0 7px}.ab-tile p{font-size:13.5px;line-height:1.5;color:var(--text-2);margin:0}.ab-foot{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:8px}.ab-src,.ab-disc{font-size:12px;line-height:1.55;color:var(--muted)}.ab-src b{color:var(--text-2)}@media(max-width:820px){.ab-out-grid{grid-template-columns:repeat(2,1fr)}.ab-grid{grid-template-columns:1fr}.ab-fields{grid-template-columns:1fr}}@media(max-width:560px){.ab-recipes{grid-template-columns:1fr}.ab-out-grid{grid-template-columns:1fr}.ab-card{padding:16px 15px}}