.bb-book{--bb-accent:#7a8b65;--bb-on-accent:#fff;--bb-ink:#1c1917;--bb-muted:#6b645c;--bb-line:#e7e2da;--bb-paper:#faf8f5;--bb-card:#fff;background:var(--bb-paper);min-height:100vh;color:var(--bb-ink);font:16px/1.5 var(--bb-font,system-ui, -apple-system, "Segoe UI", sans-serif)}html[data-theme=dark] .bb-book{--bb-ink:#f3efe8;--bb-muted:#a8a096;--bb-line:#35302a;--bb-paper:#161412;--bb-card:#1f1c19}.bb-book *,.bb-book :before,.bb-book :after{box-sizing:border-box}.bb-book button,.bb-book input,.bb-book textarea{font:inherit;color:inherit}.bb-book h1,.bb-book h2,.bb-book h3{letter-spacing:-.01em;margin:0;font-weight:600}.bb-book h2{margin-bottom:1rem;font-size:1.35rem}.bb-book h3{margin:1.5rem 0 .75rem;font-size:1rem}.bb-book small{color:var(--bb-muted);font-size:.8rem;font-weight:400;display:block}.bb-book em{white-space:nowrap;font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.bb-book :focus-visible{outline:2px solid var(--bb-accent);outline-offset:2px}.bb-book .bb-top{justify-content:space-between;align-items:center;gap:1rem;max-width:1040px;margin:0 auto;padding:1.25rem;display:flex}.bb-book .bb-top a{color:inherit;text-decoration:none}.bb-book .bb-brand{align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;display:flex}.bb-book .bb-brand img{object-fit:contain;width:auto;max-width:140px;height:40px}.bb-book .bb-back{color:var(--bb-muted);font-size:.9rem}.bb-book .bb-back:hover{color:var(--bb-ink)}.bb-book .bb-main{max-width:1040px;margin:0 auto;padding:0 1.25rem 4rem}.bb-book .bb-main>h1{margin:.5rem 0 1.5rem;font-size:clamp(1.8rem,4vw,2.5rem)}.bb-book .bb-steps{color:var(--bb-muted);counter-reset:step;flex-wrap:wrap;gap:.35rem 1rem;margin:0 0 1.5rem;padding:0;font-size:.85rem;list-style:none;display:flex}.bb-book .bb-steps li{counter-increment:step;align-items:center;gap:.4rem;display:flex}.bb-book .bb-steps li:before{content:counter(step);border:1px solid var(--bb-line);border-radius:50%;place-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;display:grid}.bb-book .bb-steps li[aria-current]{color:var(--bb-ink);font-weight:600}.bb-book .bb-steps li[aria-current]:before,.bb-book .bb-steps li[data-done]:before{background:var(--bb-accent);border-color:var(--bb-accent);color:var(--bb-on-accent)}.bb-book .bb-steps li[data-done]:before{content:"✓"}.bb-book .bb-cols{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}.bb-book .bb-panel,.bb-book .bb-summary{background:var(--bb-card);border:1px solid var(--bb-line);border-radius:16px;padding:1.5rem}.bb-book .bb-summary{position:sticky;top:1rem}.bb-book .bb-summary dl{gap:.6rem;margin:0;font-size:.95rem;display:grid}.bb-book .bb-summary dl>div{justify-content:space-between;gap:1rem;display:flex}.bb-book .bb-summary dt{font-weight:500}.bb-book .bb-summary dd{text-align:right;color:var(--bb-muted);margin:0}.bb-book .bb-summary .bb-total{border-top:1px solid var(--bb-line);margin-top:.25rem;padding-top:.75rem;font-size:1.15rem}.bb-book .bb-summary .bb-total dd{color:var(--bb-ink);font-variant-numeric:tabular-nums;font-weight:700}@media (max-width:820px){.bb-book .bb-cols{grid-template-columns:1fr}.bb-book .bb-summary{order:-1;padding:1rem 1.25rem;position:static}.bb-book .bb-summary h2{margin-bottom:.5rem;font-size:1rem}}.bb-book .bb-list{gap:.6rem;display:grid}.bb-book .bb-choice{text-align:left;border:1px solid var(--bb-line);cursor:pointer;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.9rem 1rem;transition:border-color .15s,background .15s;display:flex}.bb-book .bb-choice:hover{border-color:var(--bb-accent)}.bb-book .bb-choice[data-on]{border-color:var(--bb-accent);box-shadow:inset 0 0 0 1px var(--bb-accent);background:color-mix(in srgb, var(--bb-accent) 8%, transparent)}.bb-book .bb-axis{border:0;margin:0 0 1.25rem;padding:0}.bb-book .bb-axis legend{text-transform:uppercase;letter-spacing:.08em;color:var(--bb-muted);margin-bottom:.5rem;padding:0;font-size:.8rem}.bb-book .bb-pills,.bb-book .bb-times{flex-wrap:wrap;gap:.5rem;display:flex}.bb-book .bb-times{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.bb-book .bb-pill{border:1px solid var(--bb-line);cursor:pointer;text-align:center;background:0 0;border-radius:999px;padding:.6rem 1rem;transition:border-color .15s,background .15s,color .15s}.bb-book .bb-pill:hover{border-color:var(--bb-accent)}.bb-book .bb-pill[aria-checked=true]{background:var(--bb-accent);border-color:var(--bb-accent);color:var(--bb-on-accent)}.bb-book .bb-pill[aria-checked=true] small{color:inherit;opacity:.85}.bb-book .bb-week{grid-template-columns:auto repeat(7,minmax(0,1fr)) auto;align-items:stretch;gap:.35rem;display:grid}.bb-book .bb-day{border:1px solid var(--bb-line);cursor:pointer;text-align:center;background:0 0;border-radius:12px;padding:.5rem .1rem}.bb-book .bb-day strong{font-size:1.15rem;display:block}.bb-book .bb-day[aria-pressed=true]{background:var(--bb-accent);border-color:var(--bb-accent);color:var(--bb-on-accent)}.bb-book .bb-day[aria-pressed=true] small{color:inherit}.bb-book .bb-day:disabled,.bb-book .bb-arrow:disabled{opacity:.35;cursor:not-allowed}.bb-book .bb-arrow{cursor:pointer;background:0 0;border:0;padding:0 .4rem;font-size:1.5rem}.bb-book .bb-field{margin-bottom:1rem;font-size:.9rem;font-weight:500;display:block}.bb-book .bb-field input,.bb-book .bb-field textarea{background:var(--bb-paper);border:1px solid var(--bb-line);border-radius:10px;width:100%;margin-top:.35rem;padding:.7rem .85rem;font-weight:400;display:block}.bb-book .bb-field input:focus,.bb-book .bb-field textarea:focus{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 25%, transparent);outline:none}.bb-book .bb-nav{justify-content:space-between;gap:.75rem;margin-top:1.75rem;display:flex}.bb-book .bb-btn,.bb-book .bb-btn-ghost{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.75rem 1.4rem;font-weight:600;text-decoration:none;display:inline-block}.bb-book .bb-btn{background:var(--bb-accent);color:var(--bb-on-accent)}.bb-book .bb-btn:disabled{opacity:.45;cursor:not-allowed}.bb-book .bb-btn-ghost{border-color:var(--bb-line);color:var(--bb-ink);background:0 0}.bb-book .bb-muted{color:var(--bb-muted);font-weight:400}.bb-book .bb-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:1rem 0 0;padding:.7rem .9rem;font-size:.9rem}.bb-book .bb-done{text-align:center;max-width:560px;margin:2rem auto 0}.bb-book .bb-done .bb-badge{background:var(--bb-accent);width:56px;height:56px;color:var(--bb-on-accent);border-radius:50%;place-items:center;margin-bottom:1rem;font-size:1.6rem;display:inline-grid}.bb-book .bb-done .bb-summary{text-align:left;margin:1.5rem 0;position:static}
