:root{--ink:#294e52;--muted:#667f80;--line:#dce5df;--accent:#2f7888;--paper:#fffefa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(120deg,#eaf4ed,#faf8f1 55%,#eff5f8);font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}main{max-width:1260px;margin:auto;padding:34px 24px 48px}a{color:var(--accent)}.intro>a{font-size:13px;text-decoration:none}.intro h1{font-size:30px;line-height:1.35;margin:12px 0}.intro p{color:var(--muted);margin:0 0 26px}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:24px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:22px;margin-bottom:16px;box-shadow:0 3px 10px #244b4510}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-size:19px;margin:0 0 12px}h3{font-size:16px;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #c6d8d3;border-radius:9px;background:white;color:var(--ink);padding:10px 15px}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.quiet{border:0;background:none;padding:4px 0;font-size:13px;color:var(--accent);align-self:flex-start}.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}.hint{font-size:13px;color:var(--muted);margin:0 0 12px}.rates{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end}.rates>label:last-child{grid-column:1/-1}.rates label{font-size:13px}.equals{padding-bottom:9px}input[type=number],select{width:100%;min-width:0;border:1px solid #ccdcd5;border-radius:8px;background:white;color:var(--ink);padding:8px 10px;margin-top:5px}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid #2f7888;outline-offset:2px}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;vertical-align:middle;margin:0 8px 0 0}.skill{padding:13px 0;border-top:1px solid var(--line)}.skill:first-child{border-top:0}.skill-toggle{font-weight:600;display:flex;align-items:center}.skill-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:9px}.skill-fields[hidden]{display:none}.skill-fields label{font-size:12px;color:var(--muted)}.help{font-size:13px;color:var(--muted);padding:14px 22px}.help p{margin:10px 0}.help summary,footer summary{cursor:pointer;color:var(--accent)}.actions{display:flex;gap:10px}#inputStatus{font-size:14px;color:#a34c39;min-height:20px;margin:8px 0}.total{background:#245c65;color:white;border:0}.total h2{color:#d3e8e5;font-size:15px;font-weight:500}.total-number{font-size:36px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.total-rmb{font-size:21px;margin-top:5px}.total small{color:#d3e8e5;font-size:12px}.totals-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:15px;border-top:1px solid #ffffff38}.totals-grid span{display:block;font-size:12px;color:#d3e8e5}.totals-grid b{font-size:24px}.cost-line{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:14px}.cost-line strong{text-align:right}.item-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.item-top>b{white-space:nowrap}.item-level{font-size:12px;color:var(--muted);margin:2px 0 13px}.item details{border-top:1px dashed var(--line);padding-top:10px;margin-top:12px;font-size:13px}.item summary{cursor:pointer;color:var(--accent)}.step{padding:7px 0;border-bottom:1px solid #ecf0ea}.step:last-child{border:0}.step small{display:block;color:var(--muted)}.extra{background:#eff5ef;border-radius:8px;padding:9px 12px;margin-top:10px;font-size:13px}.empty{color:var(--muted)}#result:focus{outline:none}footer{font-size:12px;color:var(--muted);margin-top:30px}footer p{max-width:950px}#result[aria-busy=true]{opacity:.65}@media(min-width:1000px){.total{position:relative}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.intro h1{font-size:26px}main{padding:24px 16px}.panel{padding:18px}.total-number{font-size:32px}.actions{position:sticky;bottom:10px;z-index:2;background:#faf8f1;padding:8px;border-radius:12px;box-shadow:0 2px 14px #245b4526}.actions .primary{flex:1}}@media(max-width:390px){.skill-fields{gap:6px}.skill-fields label{font-size:11px}.total-number{font-size:28px}}
