*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;line-height:1.6;color:#2b2418;background:#faf6ee;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
.container{max-width:960px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:#3a2f1f;color:#faf6ee;border-bottom:3px solid #c9a24a}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-wrap:wrap;gap:10px}
.brand{font-size:1.25rem;font-weight:700;color:#f5d78e;text-decoration:none;letter-spacing:.02em}
.site-nav{display:flex;gap:18px;flex-wrap:wrap}
.site-nav a{color:#e8dfc8;text-decoration:none;font-size:.95rem;padding:4px 2px;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a:focus{color:#f5d78e;border-bottom-color:#f5d78e}
.site-nav a.ext{color:#c9a24a}

/* Hero */
.hero{padding:48px 0 24px}
.hero h1{font-size:2.4rem;line-height:1.2;margin:0 0 14px;color:#3a2f1f}
.lede{font-size:1.15rem;max-width:720px;color:#5a4d36}

/* Generator */
.generator{background:#fff;border:1px solid #e3d9c2;border-radius:12px;padding:28px;margin:24px 0;box-shadow:0 2px 12px rgba(60,40,10,.06)}
.input-row{margin-bottom:16px}
.input-label{display:block;font-weight:600;margin-bottom:6px;color:#3a2f1f}
.input-wrap{display:flex;gap:10px;flex-wrap:wrap}
input[type=number]{font-size:1.1rem;padding:10px 14px;border:2px solid #c9a24a;border-radius:8px;background:#fff8e7;width:140px;font-family:inherit}
input[type=number]:focus{outline:none;border-color:#8a6a1e;box-shadow:0 0 0 3px rgba(201,162,74,.25)}
.hint{font-size:.85rem;color:#7a6a4a;margin:6px 0 0}

.btn{font-family:inherit;font-size:1rem;padding:10px 18px;border-radius:8px;border:2px solid transparent;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s}
.btn.primary{background:#c9a24a;color:#1a1408}
.btn.primary:hover{background:#b8922f}
.btn.ghost{background:transparent;color:#3a2f1f;border-color:#c9a24a}
.btn.ghost:hover{background:#fff8e7}

.presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 18px}
.presets-label{font-size:.9rem;color:#5a4d36;margin-right:4px}
.chip{background:#f3ecd4;border:1px solid #d9c99a;color:#3a2f1f;padding:6px 14px;border-radius:20px;cursor:pointer;font-size:.9rem;font-family:inherit}
.chip:hover,.chip:focus{background:#e8dfc8;border-color:#c9a24a}

.controls{margin:10px 0 18px}
.compare-row{margin-top:10px}
.hidden{display:none!important}

.error-box{background:#fde8e8;border:1px solid #d9534f;color:#7a1a1a;padding:10px 14px;border-radius:8px;margin:12px 0;font-size:.95rem}

/* Result */
.result{margin-top:20px}
.empty-state{background:#f7f0de;border:2px dashed #c9a24a;border-radius:10px;padding:28px;text-align:center;color:#5a4d36}
.empty-state p{margin:0}

.capsule-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #e3d9c2;flex-wrap:wrap;gap:8px}
.capsule-header h2{margin:0;font-size:1.6rem;color:#3a2f1f}
.capsule-year{font-size:1rem;color:#7a6a4a;font-style:italic}

.capsule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.capsule-card{background:#fff8e7;border:1px solid #e3d9c2;border-radius:10px;padding:18px;cursor:pointer;transition:box-shadow .15s}
.capsule-card:hover,.capsule-card:focus-within{box-shadow:0 4px 16px rgba(60,40,10,.1)}
.capsule-card h3{margin:0 0 8px;font-size:1.1rem;color:#3a2f1f;display:flex;align-items:center;gap:6px}
.capsule-card h3 .cat-icon{font-size:1.2rem}
.capsule-card ul{margin:0;padding-left:20px}
.capsule-card li{margin-bottom:6px;font-size:.95rem}
.capsule-card li strong{color:#3a2f1f}
.capsule-card .note{font-size:.85rem;color:#7a6a4a;margin-top:10px;font-style:italic}
.capsule-card .details{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed #d9c99a;font-size:.9rem;color:#5a4d36}
.capsule-card.expanded .details{display:block}

/* Compare */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}
.compare-col h3{margin-top:0}
@media(max-width:680px){.compare-grid{grid-template-columns:1fr}}

/* Actions */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #e3d9c2}

/* Content blocks */
.content-block{margin:36px 0;padding:28px;background:#fff;border-radius:10px;border:1px solid #e3d9c2}
.content-block h2{margin-top:0;color:#3a2f1f;font-size:1.4rem}
.content-block p{color:#4a3e28}
.content-block ul{padding-left:22px}
.content-block li{margin-bottom:8px;color:#4a3e28}
.content-block dl{margin:0}
.content-block dt{font-weight:700;color:#3a2f1f;margin-top:14px}
.content-block dd{margin:4px 0 0;color:#4a3e28}

/* Footer */
.site-footer{background:#3a2f1f;color:#e8dfc8;margin-top:60px;padding:28px 0}
.footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.footer-brand{font-weight:700;color:#f5d78e}
.footer-note,.footer-links,.footer-meta{font-size:.85rem;color:#c9b88a}
.footer-inner a{color:#f5d78e;text-decoration:none}
.footer-inner a:hover{text-decoration:underline}

/* Print */
@media print{body{background:#fff;color:#000}.site-header,.site-footer,.actions,.presets,.controls,.content-block{display:none!important}.generator{border:none;box-shadow:none}.capsule-card{break-inside:avoid}}

/* Focus */
:focus-visible{outline:3px solid #c9a24a;outline-offset:2px}


/* Factory-injected deployment helpers. The AI owns the site design above this block. */
.ad-unit {
  width: min(100%, 720px);
  min-height: 120px;
  margin: 24px auto;
  display: block;
}

.legal-page {
  width: min(900px, calc(100% - 32px));
  margin: 40px auto;
}

.factory-fallback-nav {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: 0.95rem;
}

.factory-fallback-nav a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
