:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;color:#173b36;background:#f3eee2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 83% 0%,#d6e5dc 0 14%,transparent 35%),#f3eee2}button,input{font:inherit}button{cursor:pointer}main{width:min(1180px,calc(100% - 40px));margin:auto}.masthead{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #173b36;font-size:12px;letter-spacing:.14em}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#f3eee2;background:#173b36;font-family:Georgia,serif;font-size:18px}.date{color:#5f726c;letter-spacing:0}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;padding:78px 0 58px}.eyebrow{margin:0 0 14px;color:#e35c3f;font-weight:800;letter-spacing:.2em;font-size:12px}h1{margin:0;font-family:Georgia,Songti SC,serif;font-weight:400;font-size:clamp(48px,7vw,94px);line-height:.96;letter-spacing:-.055em}h1 em{color:#e35c3f;font-style:italic}.intro{max-width:410px;margin:0;color:#50635e;line-height:1.9;font-size:15px;border-left:1px solid #173b36;padding-left:24px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:#173b36;color:#f8f2e7}.numbers div{padding:26px 32px;border-right:1px solid #59706a;display:flex;align-items:baseline;gap:12px}.numbers div:last-child{border:0}.numbers strong{font:400 42px/1 Georgia,serif}.numbers span{color:#b8c8c3;font-size:12px}.numbers .alert strong{color:#ff9b7f}.planner,.results{padding:72px 0;border-bottom:1px solid #173b36}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.section-head>div{display:flex;align-items:center;gap:16px}.section-head span{color:#e35c3f;font:italic 18px Georgia,serif}h2{margin:0;font:400 32px Georgia,Songti SC,serif}.section-head>p{margin:0;color:#62736e;font-size:13px}.add{border:0;border-bottom:1px solid #173b36;color:#173b36;background:transparent;padding:8px 2px;font-weight:700}.hint{color:#71807c;font-size:13px;margin:0 0 28px 48px}.table-head,.edit-row{display:grid;grid-template-columns:.65fr 1fr 1fr 1.35fr 38px;gap:12px;align-items:center}.table-head{padding:0 18px 8px;color:#74847f;font-size:11px;letter-spacing:.08em}.edit-row{background:#ffffff73;border-top:1px solid #c3c5b9;padding:13px 18px}.edit-row:last-of-type{border-bottom:1px solid #c3c5b9}.edit-row label>span{display:none}input{width:100%;border:0;border-bottom:1px solid #95a09a;border-radius:0;padding:11px 6px;background:transparent;color:#173b36;outline:none}input:focus{border-color:#e35c3f;box-shadow:0 2px 0 -1px #e35c3f}.remove{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#7c8884;font-size:24px}.remove:hover{background:#e8d8cd;color:#c7472e}.validation{margin:12px 0 0;color:#b33722;font-size:13px}.actions{display:flex;gap:18px;align-items:center;margin-top:24px}.save{border:0;background:#e35c3f;color:#fff;padding:14px 24px;font-weight:750}.clear{border:0;background:transparent;color:#65736f;text-decoration:underline}.actions span{margin-left:auto;color:#78847f;font-size:11px}.result-list{border-top:1px solid #173b36}.stock-card{display:grid;grid-template-columns:110px minmax(230px,1.6fr) .65fr .8fr .8fr;align-items:stretch;min-height:128px;border-bottom:1px solid #aeb6b0;background:#ffffff38}.size-block{position:relative;display:flex;flex-direction:column;justify-content:center;padding:18px 24px;background:#d2dfd7;overflow:hidden}.size-block small,.metric small,.balance small{color:#61736d;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.size-block strong{font:400 42px Georgia,serif;max-width:70px;overflow:hidden;text-overflow:ellipsis}.size-block i{position:absolute;right:-3px;bottom:-12px;color:#173b3614;font:italic 70px Georgia,serif}.range{display:flex;flex-direction:column;justify-content:center;padding:22px 34px}.range p{display:flex;align-items:center;gap:10px;margin:0 0 12px;font:18px Georgia,serif}.range b{height:1px;min-width:28px;flex:1;background:#94a29d;position:relative}.range b:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#173b36}.range small{color:#71807c}.metric,.balance{display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;gap:5px;padding:20px;border-left:1px solid #c6cbc5}.metric small,.balance small{width:100%}.metric strong,.balance strong{font:400 29px Georgia,serif}.metric .date-value{font-size:19px}.metric span,.balance span{font-size:11px}.balance{background:#dce7df}.shortage .size-block,.shortage .balance{background:#f0c2ae}.shortage .balance strong{color:#a83220}.invalid{opacity:.58}.legend{display:flex;gap:24px;margin-top:18px;color:#75827e;font-size:11px}.legend span:last-child{margin-left:auto}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.enough{background:#a8c3b2}.dot.low{background:#e39172}footer{min-height:150px;display:flex;justify-content:space-between;align-items:center;color:#687873}footer span{font-weight:800;font-size:11px;letter-spacing:.16em}footer p{font:italic 17px Georgia,serif}@media(max-width:760px){main{width:min(100% - 24px,580px)}.masthead{height:62px}.date{display:none}.hero{grid-template-columns:1fr;gap:28px;padding:50px 0 38px}h1{font-size:clamp(46px,15vw,70px)}.intro{border-left:0;border-top:1px solid #173b36;padding:18px 0 0}.numbers{grid-template-columns:1fr}.numbers div{padding:16px 20px;border-right:0;border-bottom:1px solid #59706a}.numbers strong{font-size:32px}.planner,.results{padding:48px 0}.hint{margin-left:0}.table-head{display:none}.edit-row{grid-template-columns:repeat(2,1fr) 32px;padding:16px 10px;gap:12px 8px}.edit-row label:nth-child(4){grid-column:span 2}.edit-row label>span{display:block;font-size:10px;color:#73817d}.remove{grid-column:3;grid-row:1;align-self:end}.actions{flex-wrap:wrap}.actions span{width:100%;margin:0}.stock-card{grid-template-columns:80px 1fr 1fr}.size-block{grid-row:span 2;padding:15px}.range{grid-column:span 2;padding:18px}.metric,.balance{padding:16px;border-top:1px solid #c6cbc5}.stock-card .metric:nth-of-type(3){border-left:0}.legend{flex-wrap:wrap}.legend span:last-child{width:100%;margin:0}footer{min-height:110px}footer p{font-size:14px}}
