:root{
  --bg: #FBF4EE;
  --accent: #8B2B0E;
  --accent-2: #F0C24A;
  --muted: #7a5b4a;
  --card: #fff;
}
*{box-sizing:border-box}
body{font-family:system-ui,Segoe UI,Roboto,Arial;margin:0;background:var(--bg);color:#3b2a23}
.app-header{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(90deg,#fbeddb,#f8e4d6)}
.logo{height:48px;border-radius:6px}
.container{display:flex;flex-wrap:wrap;padding:12px;gap:12px}
.controls{flex:1 1 360px;min-width:300px;background:var(--card);padding:12px;border-radius:10px;box-shadow:0 6px 20px rgba(139,43,14,0.06)}
.canvas-area{flex:1 1 640px;min-width:320px}
.canvas-wrapper{background:#fff;border-radius:8px;padding:10px;box-shadow:0 8px 30px rgba(0,0,0,0.06)}
.row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.row.small label{min-width:150px}
label{display:flex;flex-direction:column;font-size:13px;color:var(--muted)}
input[type="number"], input[type="text"], select{padding:6px;border:1px solid #e6dcd4;border-radius:6px;background:#fff}
.btn{padding:8px 12px;border-radius:8px;border:none;cursor:pointer;background:#ddd}
.btn.primary{background:var(--accent);color:#fff}
.results{white-space:pre-wrap;margin-top:8px;color:#412a20}
.legend{font-size:12px;color:var(--muted);margin-top:6px}
.footer{padding:10px;text-align:center;color:var(--muted)}
@media (max-width:900px){.container{flex-direction:column}.canvas-area{order:2}}
