*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#FAF8F5;--surface:#FFFFFF;--text:#2C2418;--text-light:#5C4F3C;--text-muted:#8A7D6B;--accent:#6B8F3C;--accent-dark:#4A6B24;--accent-light:#E8F0D8;--warm:#8B5E3C;--warm-light:#F0E8DE;--border:#D6CFC4;--radius:8px;--shadow:0 2px 8px rgba(44,36,24,.08);--font:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--max-width:1200px}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
.container{max-width:var(--maxwidth);margin:0 auto;padding:0 20px}
img,svg{max-width:100%;height:auto}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
a{color:var(--accent-dark);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
.site-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;gap:24px;padding:12px 20px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.logo:hover{text-decoration:none}
.logo-text{font-size:.85rem;line-height:1.3}
.logo-text strong{font-size:.95rem}
.site-nav{margin-left:auto;display:flex;gap:20px;font-size:.9rem}
.site-nav a{color:var(--text-light);padding:4px 0}
.site-nav a:hover{color:var(--accent-dark)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:4px;padding:4px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px}
@media(max-width:768px){
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px}
  .site-nav.open{display:flex}
}
.checker-section{padding:40px 0}
.checker-layout{display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start}
@media(max-width:900px){
  .checker-layout{grid-template-columns:1fr}
}
.checker-inputs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:72px}
.checker-inputs h2{font-size:1.2rem;margin-bottom:4px}
.input-hint{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px;color:var(--text)}
.field input,.field select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;font-family:var(--font);background:var(--surface);color:var(--text)}
.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.field-hint{font-size:.75rem;color:var(--text-muted);display:block;margin-top:2px}
.btn-primary{width:100%;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}
.btn-primary:hover{background:var(--accent-dark)}
.btn-primary:focus{outline:2px solid var(--accent);outline-offset:2px}
.btn-secondary{padding:8px 16px;background:var(--warm-light);color:var(--warm);border:1px solid var(--border);border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .15s}
.btn-secondary:hover{background:var(--border)}
.btn-secondary:focus{outline:2px solid var(--accent);outline-offset:1px}
.saved-stacks{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}
.saved-stacks h3{font-size:.9rem;margin-bottom:8px}
.saved-stacks .empty-state{font-size:.8rem;color:var(--text-muted)}
.saved-stacks ul{list-style:none}
.saved-stacks li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);font-size:.8rem}
.saved-stacks li:last-child{border-bottom:none}
.saved-stacks .load-btn{background:none;border:none;color:var(--accent-dark);cursor:pointer;font-size:.8rem;text-decoration:underline;padding:0}
.saved-stacks .del-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:0;margin-left:8px}
.results-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}
.results-empty svg{margin-bottom:16px;opacity:.5}
.results-empty h2{font-size:1.1rem;color:var(--text-light);margin-bottom:8px}
.result-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.result-header h2{font-size:1.3rem}
.result-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}
.badge-ready{background:var(--accent-light);color:var(--accent-dark)}
.badge-close{background:#FFF3CD;color:#856404}
.badge-waiting{background:#F8D7DA;color:#842029}
.gauge-wrap{position:relative;width:200px;margin:0 auto 24px}
.gauge{width:100%}
.gauge-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);text-align:center}
.gauge-label span{display:block;font-size:1.6rem;font-weight:700;color:var(--accent-dark);line-height:1}
.gauge-label small{font-size:.75rem;color:var(--text-muted)}
.result-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center}
.detail-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:4px}
.detail-value{display:block;font-size:1.05rem;font-weight:600}
.result-factors{margin-bottom:24px}
.result-factors h3{font-size:.95rem;margin-bottom:8px}
.result-factors ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.result-factors li{font-size:.85rem;padding:6px 10px;border-radius:6px}
.factor-good{background:var(--accent-light);color:var(--accent-dark)}
.factor-bad{background:#F8D7DA;color:#842029}
.factor-neutral{background:var(--warm-light);color:var(--text-light)}
.result-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.result-note{background:var(--accent-light);border-left:3px solid var(--accent);padding:12px 16px;border-radius:0 var(--radius) var(--radius) 0;font-size:.85rem;margin-bottom:16px}
.reference-section{padding:48px 0;background:var(--surface);border-top:1px solid var(--border)}
.section-intro{font-size:.9rem;color:var(--text-light);margin-bottom:20px;max-width:700px}
.reference-section h2,.visual-guide-section h2,.checklist-section h2,.mistakes-section h2{font-size:1.3rem;margin-bottom:8px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}
th{background:var(--warm-light);font-weight:600;color:var(--text-light);white-space:nowrap}
tr:hover td{background:var(--bg)}
.table-footnote{font-size:.75rem;color:var(--text-muted);margin-top:12px}
.visual-guide-section{padding:48px 0;border-top:1px solid var(--border)}
.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
@media(max-width:640px){.comparison-grid{grid-template-columns:1fr}}
.comparison-card{border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.comparison-card.green{background:#FEF9F0}
.comparison-card.seasoned{background:var(--accent-light)}
.comparison-card h3{font-size:1rem;margin-bottom:12px}
.wood-visual{width:100px;margin:0 auto 16px}
.comparison-card ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.comparison-card li{font-size:.85rem;padding-left:20px;position:relative}
.comparison-card li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%}
.comparison-card.green li::before{background:#C62828}
.comparison-card.seasoned li::before{background:var(--accent)}
.tip-box{background:var(--warm-light);border-radius:var(--radius);padding:16px 20px}
.tip-box h3{font-size:.9rem;margin-bottom:6px}
.tip-box p{font-size:.85rem;color:var(--text-light)}
.checklist-section{padding:48px 0;background:var(--surface);border-top:1px solid var(--border)}
.checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}
@media(max-width:640px){.checklist-grid{grid-template-columns:1fr}}
.checklist-card{border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.checklist-card h3{font-size:.95rem;margin-bottom:12px;color:var(--warm)}
.checklist{list-style:none;display:flex;flex-direction:column;gap:8px}
.checklist li{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.4}
.checklist input[type=checkbox]{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}
.stacking-diagram{text-align:center;margin-bottom:24px}
.stacking-diagram h3{font-size:.9rem;margin-bottom:12px}
.diagram{max-width:400px;width:100%}
.diagram-caption{font-size:.8rem;color:var(--text-muted);margin-top:8px}
.mistakes-section{padding:48px 0;border-top:1px solid var(--border)}
.mistakes-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:24px}
@media(max-width:768px){.mistakes-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.mistakes-grid{grid-template-columns:1fr}}
.mistake-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.mistake-card h3{font-size:.9rem;margin-bottom:8px;color:var(--warm)}
.mistake-card p{font-size:.85rem;color:var(--text-light);line-height:1.5}
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:24px 0;margin-top:0}
.footer-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}
.footer-brand{display:flex;flex-direction:column;gap:2px}
.footer-brand strong{color:var(--text)}
.footer-links{display:flex;gap:16px;margin-left:auto}
.footer-year{margin-left:16px}
@media(max-width:640px){
  .footer-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .footer-links{margin-left:0}
  .footer-year{margin-left:0}
}




/* 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;
}
