#root{min-height:100vh}:root{color:#132018;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#173f2b;border:0;border-radius:999px;padding:.72rem 1rem;font-weight:700;box-shadow:0 8px 20px #173f2b24}button:hover{transform:translateY(-1px)}button.ghost{color:#31523d;box-shadow:none;background:#efe7d8;padding:.45rem .8rem}button.primary{background:#b35c23}input,select{color:#132018;background:#fffdf8;border:1px solid #d6cbb7;border-radius:12px;outline-color:#b35c23;width:100%;padding:.62rem .72rem}label{color:#536154;gap:.4rem;font-size:.83rem;font-weight:700;display:grid}main{width:min(1220px,100vw - 32px);margin:0 auto;padding:42px 0 56px}.hero{grid-template-columns:1fr 300px;align-items:end;gap:28px;margin-bottom:24px;display:grid}.eyebrow{color:#b35c23;text-transform:uppercase;letter-spacing:.16em;margin:0 0 10px;font-size:.78rem;font-weight:800}h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.3rem,6vw,5.4rem);line-height:.92}h2{letter-spacing:-.02em;margin:0;font-size:1.18rem}p{color:#617064;margin:0}.lede{max-width:760px;margin-top:18px;font-size:1.08rem;line-height:1.55}.hero-card,.panel,.warnings{background:#fffdf8db;border:1px solid #40534224;border-radius:26px;box-shadow:0 18px 48px #3f2f1a14}.hero-card{gap:8px;padding:26px;display:grid}.hero-card span,.hero-card small{color:#657266;font-weight:700}.hero-card strong{letter-spacing:-.07em;color:#173f2b;font-size:3rem}.panel{margin-bottom:18px;padding:22px}.controls{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;display:grid}.price-controls{grid-template-columns:repeat(4,minmax(170px,1fr))}code{color:#173f2b;background:#f3eadb;border-radius:8px;padding:.08rem .35rem}.warnings{color:#8a5315;background:#fff5de;gap:6px;margin-bottom:18px;padding:14px 18px;font-weight:700;display:grid}.section-head{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th{color:#667263;text-align:left;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem}th,td{border-bottom:1px solid #eadfcd;padding:10px 8px}td:nth-child(4),td:nth-child(5),td:nth-child(6){font-variant-numeric:tabular-nums;font-weight:700}.level-table table{min-width:760px}.level-table td{font-variant-numeric:tabular-nums}.level-table td:not(:first-child){font-weight:700}.current-level{outline-offset:-2px;background:#f4ead9;outline:2px solid #b35c233d}tr.ruin{background:#ffe8e4}.grid{grid-template-columns:.9fr 1.35fr;gap:18px;display:grid}.stats dl{gap:10px;margin:18px 0 0;display:grid}.stats dl div{border-bottom:1px solid #eadfcd;justify-content:space-between;gap:18px;padding-bottom:10px;display:flex}dt{color:#687567}dd{font-variant-numeric:tabular-nums;color:#173f2b;margin:0;font-weight:850}.curve{width:100%;height:auto;margin-top:12px}.curve line{stroke:#d8cbb5;stroke-width:1px}.curve polyline{fill:none;stroke:#173f2b;stroke-width:4px;stroke-linejoin:round;stroke-linecap:round}.curve text{fill:#647164;font-size:13px;font-weight:700}.curve .kelly-line{stroke:#b35c23;stroke-width:2px;stroke-dasharray:4 4}.curve .selected-line{stroke:#2769a2;stroke-width:2px;stroke-dasharray:2 5}.empty-chart{color:#657266;place-items:center;min-height:260px;font-weight:700;display:grid}.exports{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exports div{flex:340px}.toast{color:#fff;background:#132018;border-radius:16px;padding:14px 18px;font-weight:800;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 40px #00000038}@media (width<=900px){.hero,.grid{grid-template-columns:1fr}.controls,.price-controls{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){main{width:min(100vw - 20px,1220px);padding-top:22px}.controls,.price-controls{grid-template-columns:1fr}.section-head{flex-direction:column}.button-row{justify-content:flex-start}}
