*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --c-bg:#F5F0E8;--c-surface:#FFFFFF;--c-surface-alt:#EDE6D8;
  --c-text:#2C2416;--c-text-muted:#6B5D4F;--c-text-light:#9C8F7E;
  --c-primary:#2E7D32;--c-primary-dark:#1B5E20;--c-primary-light:#E8F5E9;
  --c-accent:#FF8F00;--c-accent-light:#FFF8E1;
  --c-danger:#C62828;--c-danger-light:#FFEBEE;
  --c-warn:#F9A825;--c-warn-light:#FFFDE7;
  --c-border:#D7CFC2;--c-shadow:rgba(44,36,22,0.08);
  --radius:10px;--radius-sm:6px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-mono:'SF Mono','Fira Code',Consolas,monospace;
  --max-width:1120px;--header-height:56px;
}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--c-primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}
/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--c-surface);border-bottom:1px solid var(--c-border);height:var(--header-height)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:0.5rem;font-weight:700;font-size:1.15rem;color:var(--c-text)}
.logo:hover{text-decoration:none}
.site-nav{display:flex;gap:1.25rem}
.site-nav a{color:var(--c-text-muted);font-weight:500;font-size:0.9rem}
.site-nav a:hover{color:var(--c-primary)}
/* Layout */
.layout{display:grid;grid-template-columns:1fr 380px;gap:1.5rem;padding-top:1.5rem;padding-bottom:2rem}
@media(max-width:900px){.layout{grid-template-columns:1fr}}
/* Cards */
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}
.card-sticky{position:sticky;top:calc(var(--header-height) + 1rem)}
.card h2{font-size:1.15rem;margin-bottom:0.5rem;color:var(--c-text)}
.card h3{font-size:1rem;margin-top:1.25rem;margin-bottom:0.35rem}
.muted{color:var(--c-text-muted);font-size:0.85rem}
/* Presets */
.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.5rem;margin-top:0.75rem}
.preset-btn{padding:0.6rem 0.75rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface-alt);color:var(--c-text);font-size:0.82rem;font-family:var(--font);cursor:pointer;text-align:left;transition:all 0.15s}
.preset-btn:hover{border-color:var(--c-primary);background:var(--c-primary-light)}
.preset-btn:active{transform:scale(0.98)}
/* Fields */
.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:0.75rem}
.field{display:flex;flex-direction:column;gap:0.25rem}
.field label{font-weight:600;font-size:0.85rem;color:var(--c-text)}
.field input[type="number"],.field select{padding:0.5rem 0.65rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-size:0.9rem;font-family:var(--font);color:var(--c-text);background:var(--c-surface)}
.field input[type=range]{width:100%;accent-color:var(--c-primary)}
.field-hint{font-size:0.75rem;color:var(--c-text-light)}
.range-val{font-size:0.85rem;font-weight:600;color:var(--c-primary)}
/* Results */
.risk-badge{display:inline-block;padding:0.3rem 0.75rem;border-radius:999px;font-weight:700;font-size:0.8rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.03em}
.risk-low{background:var(--c-primary-light);color:var(--c-primary-dark)}
.risk-medium{background:var(--c-warn-light);color:var(--c-warn)}
.risk-high{background:var(--c-danger-light);color:var(--c-danger)}
.result-block{display:flex;justify-content:space-between;align-items:center;padding:0.65rem 0;border-bottom:1px solid var(--c-border)}
.result-block:last-child{border-bottom:none}
.result-label{font-size:0.82rem;color:var(--c-text-muted)}
.result-value{font-weight:600;font-size:0.95rem;text-align:right;max-width:60%}
/* Diagram */
.diagram{width:100%;max-width:300px;margin:1rem auto;display:block;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg)}
.diagram-legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:0.5rem}
.legend-item{display:flex;align-items:center;gap:0.3rem;font-size:0.75rem;color:var(--c-text-muted)}
.legend-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}
/* Warnings */
.warnings-list{list-style:none;padding:0;margin-top:0.75rem}
.warnings-list li{padding:0.5rem 0.75rem;margin-bottom:0.4rem;border-radius:var(--radius-sm);font-size:0.85rem;background:var(--c-warn-light);border-left:3px solid var(--c-warn)}
/* Actions */
.action-row{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.75rem}
.btn{padding:0.55rem 1.1rem;border-radius:var(--radius-sm);font-size:0.85rem;font-weight:600;font-family:var(--font);cursor:pointer;border:1px solid transparent;transition:all 0.15s}
.btn-primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary-dark)}
.btn-primary:hover{background:var(--c-primary-dark);text-decoration:none}
.btn-secondary{background:var(--c-surface-alt);color:var(--c-text);border-color:var(--c-border)}
.btn-secondary:hover{border-color:var(--c-text-muted);text-decoration:none}
.btn-ghost{background:transparent;color:var(--c-text-muted);border-color:transparent}
.btn-ghost:hover{color:var(--c-danger);text-decoration:none}
.toast{margin-top:0.5rem;padding:0.5rem 0.75rem;background:var(--c-primary-light);border-radius:var(--radius-sm);font-size:0.85rem;color:var(--c-primary-dark)}
/* History */
.history-list{margin-top:0.75rem}
.history-item{display:flex;justify-content:space-between;align-items:center;padding:0.6rem 0.75rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);margin-bottom:0.4rem;cursor:pointer;font-size:0.82rem;background:var(--c-surface-alt)}
.history-item:hover{border-color:var(--c-primary)}
.history-item .del-btn{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:0.8rem;padding:0.2rem 0.4rem}
/* Content */
.content-area{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}
.content-area h2{font-size:1.15rem;margin-bottom:0.75rem}
.content-area p{margin-bottom:0.75rem;font-size:0.92rem;color:var(--c-text)}
.content-area strong{color:var(--c-primary-dark)}
/* Footer */
.site-footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding:1.5rem 0;margin-top:2rem;font-size:0.82rem;color:var(--c-text-muted)}
.site-footer p{margin-bottom:0.4rem}
.footer-nav{display:flex;gap:1rem;margin:0.5rem 0}
/* Print */
@media print{.site-header,.site-footer,.action-row,.panel-inputs,.site-nav,.toast{display:none!important}.layout{grid-template-columns:1fr!important}.panel-results .card{break-inside:avoid}.card-sticky{position:static!important}body{background:#fff}}
/* Focus */
:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:2px}
/* Responsive */
@media(max-width:600px){.container{padding:0 0.75rem}.card{padding:1rem}.field-grid{grid-template-columns:1fr}.preset-grid{grid-template-columns:1fr 1fr}.action-row{flex-direction:column}.btn{width:100%;text-align:center}}



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