:root{--green:#4A7C59;--green-d:#2f5a3c;--gold:#E9C46A;--cream:#FAF7F0;--brown:#8B5E3C;--red:#D62828;--ink:#2b2418}
*{font-family:'Vazirmatn',sans-serif}
body{background:var(--cream);color:var(--ink);
background-image:radial-gradient(circle at 20% 10%,rgba(233,196,106,.18),transparent 40%),radial-gradient(circle at 90% 80%,rgba(74,124,89,.12),transparent 45%);min-height:100vh}
.display{font-family:'Lalezar','Vazirmatn',sans-serif;letter-spacing:0}
.wool{background-color:var(--brown);background-image:radial-gradient(circle at 10px 10px,rgba(255,255,255,.09) 6px,transparent 7px),radial-gradient(circle at 25px 22px,rgba(255,255,255,.07) 8px,transparent 9px);background-size:34px 30px}
.card{background:#fff;border-radius:1.1rem;box-shadow:0 2px 0 rgba(139,94,60,.08),0 8px 24px -12px rgba(43,36,24,.25);border:1px solid #efe6d4}
.btn{background:var(--green);color:#fff;border-radius:.8rem;padding:.55rem 1.1rem;font-weight:700;transition:.15s}
.btn:hover{background:var(--green-d);transform:translateY(-1px)}
.btn2{background:#fff;color:var(--brown);border:1.5px solid #e2d3b5;border-radius:.8rem;padding:.45rem .9rem;font-weight:700}
.btn2:hover{background:#fff8e8}
.inp{width:100%;border:1.5px solid #e6dcc6;border-radius:.7rem;padding:.45rem .7rem;background:#fffdf8;outline:none}
.inp:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(74,124,89,.15)}
.tab{white-space:nowrap;padding:.6rem 1rem;border-radius:.8rem;font-weight:700;color:#6b5a44}
.tab.on{background:var(--green);color:#fff}
.bob{animation:bob 2.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
.rise{animation:rise .5s ease both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.toast{animation:toast 2.2s ease both}
@keyframes toast{0%{opacity:0;transform:translate(-50%,20px)}15%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
table.t{width:100%;border-collapse:collapse;font-size:.85rem}
table.t th{background:#f6efdf;color:var(--brown);padding:.45rem;font-weight:700;position:sticky;top:0}
table.t td{border-bottom:1px solid #f0e8d8;padding:.35rem .45rem;text-align:center}
.tinp{width:4.5rem;border:1px solid #e6dcc6;border-radius:.4rem;padding:.15rem .3rem;text-align:center}
input[type=range]{accent-color:var(--green)}
.print-only{display:none}
@media print{
  .no-print{display:none!important}
  .print-only{display:block}
  body{background:#fff}
  .card{box-shadow:none;border:1px solid #ccc}
}