/* ── Grow Simulator ───────────────────────────────────────────── */

.an-sim {
	--s-line: var(--an-line, #DEDEDA);
	--s-dim: var(--an-text-2, #52565A);
	--s-accent: var(--an-accent, #B4501C);
	--s-bad: #B23A2B;
	max-width: var(--an-max, 1240px);
	margin: 0 auto;
	padding: 34px 20px 72px;
	color: var(--an-text, #16181A);
	font-family: var(--an-font-ui, -apple-system, system-ui, sans-serif);
}

.an-sim-head { max-width: 72ch; margin-bottom: 26px; }
.an-sim-eyebrow { display:block; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--s-accent); margin-bottom:6px; }
.an-sim-head h1 { margin:0 0 10px; font-size:clamp(26px,4vw,40px); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
.an-sim-head p { margin:0; color:var(--s-dim); line-height:1.6; }

.an-sim-body { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:28px; align-items:start; }
@media (max-width:860px){ .an-sim-body{ grid-template-columns:1fr; } }

.an-sim-stage {
	border:1px solid var(--s-line); border-radius:14px;
	background:linear-gradient(180deg, var(--an-surface,#fff) 0%, var(--an-sunk,#EAEAE6) 100%);
	padding:16px; min-height:440px; display:flex; flex-direction:column;
}
.an-sim-stage canvas { flex:1; width:100%; min-height:360px; display:block; }

.an-sim-scrubwrap { display:flex; align-items:center; gap:12px; padding-top:12px; border-top:1px solid var(--s-line); }
.an-sim-scrubwrap input[type=range]{ flex:1; }
.an-sim-scrubwrap button {
	padding:7px 16px; border:1px solid var(--s-line); border-radius:8px;
	background:var(--an-surface,#fff); color:inherit; font:inherit; font-size:14px; cursor:pointer; min-width:78px;
}
.an-sim-scrubwrap button:hover{ border-color:var(--s-accent); color:var(--s-accent); }
.an-sim-day { font-size:13px; color:var(--s-dim); font-variant-numeric:tabular-nums; white-space:nowrap; }

.an-sim-panel { border:1px solid var(--s-line); border-radius:14px; background:var(--an-surface,#fff); padding:20px 22px; }
.an-sim-panel label { display:block; font-size:12px; font-weight:600; color:var(--s-dim); margin:14px 0 5px; }
.an-sim-panel label b { float:right; font-variant-numeric:tabular-nums; color:var(--an-text,#16181A); }
.an-sim-panel select, .an-sim-panel input[type=range]{ width:100%; }
.an-sim-panel select {
	padding:9px 11px; border:1px solid var(--s-line); border-radius:8px;
	background:var(--an-bg,#F4F4F2); color:inherit; font:inherit; font-size:14.5px;
}

.an-sim-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0 12px; }
.an-sim-stats div { border:1px solid var(--s-line); border-radius:10px; padding:12px 14px; }
.an-sim-stats b { display:block; font-size:26px; line-height:1.05; font-variant-numeric:tabular-nums; }
.an-sim-stats span { font-size:11.5px; color:var(--s-dim); }

.an-sim-limit {
	margin:0 0 6px; padding:10px 12px; border-radius:8px;
	background:var(--an-sunk,#EAEAE6); font-size:13.5px; line-height:1.45;
}
.an-sim-limit.is-bad { background:color-mix(in srgb, var(--s-bad) 12%, transparent); color:var(--s-bad); font-weight:600; }

.an-sim-ctl { margin-top:4px; }

.an-sim-table { width:100%; border-collapse:collapse; margin-top:18px; font-size:13.5px; }
.an-sim-table th, .an-sim-table td { text-align:left; padding:7px 8px; border-bottom:1px solid var(--s-line); }
.an-sim-table thead th { font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--s-dim); font-weight:600; }
.an-sim-table tr.is-limit td { color:var(--s-bad); font-weight:600; }
.an-sim-na { color:var(--an-text-3,#82878C); font-style:italic; }

.an-sim-bar {
	display:inline-block; width:44px; height:5px; border-radius:3px; margin-right:7px;
	background:linear-gradient(90deg, var(--s-accent) var(--w,0%), var(--s-line) var(--w,0%));
	vertical-align:middle;
}

.an-sim-note { margin:16px 0 0; font-size:12.5px; line-height:1.55; color:var(--an-text-3,#82878C); }

@media (prefers-reduced-motion: reduce) { .an-sim-stage canvas { transition:none; } }
