:root{--ink:#102824;--green:#123b35;--mint:#bfe8d7;--lime:#d8f47c;--paper:#f5f3ec;--line:#d8ddd7;--muted:#6d7b77;--white:#fff;--danger:#a63b31;--shadow:0 24px 60px rgba(19,49,44,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans KR",sans-serif}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,5vw);border-bottom:1px solid rgba(16,40,36,.12);background:rgba(245,243,236,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;text-transform:uppercase;font:600 11px/1.2 "DM Sans";letter-spacing:1.6px}.brand-mark{width:38px;height:38px;background:var(--green);color:var(--lime);display:grid;place-items:center;border-radius:50%;font:700 19px "DM Sans"}.brand b{font-size:12px}.status{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:#c18c32;box-shadow:0 0 0 4px rgba(193,140,50,.14)}.dot.ok{background:#3aa76d;box-shadow:0 0 0 4px rgba(58,167,109,.14)}.dot.error{background:#cb5144}.hero{max-width:1180px;margin:auto;padding:88px 24px 54px}.eyebrow{font:700 11px "DM Sans";letter-spacing:3px;color:#477369}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.04;letter-spacing:-4px;margin:20px 0}.hero h1 em{font-style:normal;color:#7ca48d}.hero>p:last-child{max-width:590px;color:var(--muted);line-height:1.8}.workspace{max-width:1180px;margin:auto;padding:0 24px 80px;display:grid;grid-template-columns:1.07fr .93fr;gap:24px;align-items:start}.panel{background:#fff;border-radius:4px;box-shadow:var(--shadow)}.form-panel{padding:38px}.panel-heading{display:flex;gap:18px;align-items:start;margin-bottom:32px}.panel-heading>span{font:700 11px "DM Sans";color:#709189;border:1px solid #b9c9c4;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.panel-heading h2{font-size:22px;margin:0 0 7px}.panel-heading p{color:var(--muted);font-size:13px;margin:0}.route-grid{display:grid;grid-template-columns:1fr 42px 1fr;align-items:end;margin-bottom:26px}.swap{margin:0 auto 11px;border:0;background:var(--paper);width:32px;height:32px;border-radius:50%;font-size:17px;color:var(--green);cursor:pointer}label{display:block}label>span{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:#53635f}input,select{width:100%;border:1px solid var(--line);background:#fbfcfa;border-radius:3px;padding:13px 12px;font:500 14px inherit;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus{border-color:#5c897c;box-shadow:0 0 0 3px rgba(92,137,124,.12)}label small{font-size:10px;color:#9b6331}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.suffix{position:relative}.suffix input{padding-right:44px}.suffix b{position:absolute;right:12px;top:14px;color:#84908d;font-size:12px}details{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}summary{font-size:13px;font-weight:700;cursor:pointer}summary span{float:right;color:var(--muted);font-weight:400}.cost-grid{margin-top:20px}.primary,.save{width:100%;border:0;cursor:pointer;border-radius:3px;font:700 14px inherit}.primary{display:flex;justify-content:space-between;background:var(--green);color:#fff;padding:17px 20px;margin-top:28px}.primary b{color:var(--lime);font-size:18px}.result-panel{background:var(--green);color:#fff;padding:38px;position:sticky;top:100px}.light>span{border-color:#79928d;color:#b9d4cc}.light p{color:#9fb5af}.empty-result{text-align:center;padding:70px 0 90px;color:#a9bbb6}.empty-result h3{color:#fff;margin:24px 0 8px}.empty-result p{font-size:13px}.radar{position:relative;width:112px;height:112px;margin:auto;border:1px solid #486b65;border-radius:50%;display:grid;place-items:center}.radar:before,.radar:after{content:"";position:absolute;border:1px solid #486b65;border-radius:50%;inset:18px}.radar:after{inset:38px}.radar b{color:var(--lime);font:500 25px "DM Sans";z-index:2}.result.hidden,.empty-result.hidden{display:none}.route-summary{border-top:1px solid #496b64;padding-top:22px}.route-summary strong,.route-summary small{display:block;margin-top:8px}.route-summary strong{font-size:22px}.route-summary small{color:#a9bcb6}.badge{display:inline-block;background:var(--mint);color:var(--green);font-size:10px;font-weight:700;padding:5px 8px;border-radius:20px}.badge.warn{background:#f7d591;color:#60410c}.price-card{background:var(--lime);color:var(--green);padding:24px;margin:24px 0 0}.price-card span,.price-card small{display:block}.price-card span{font-size:12px;font-weight:700}.price-card strong{display:block;font:700 38px "DM Sans";letter-spacing:-1px;margin:8px 0}.price-card small{font-size:10px}.invoice-total{display:flex;justify-content:space-between;align-items:center;background:#0d2f2a;padding:18px 22px}.invoice-total span{font-size:12px}.invoice-total b{font:700 22px "DM Sans"}.metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #496b64;border-left:1px solid #496b64;margin-top:24px}.metrics div{padding:16px;border-right:1px solid #496b64;border-bottom:1px solid #496b64}.metrics span,.metrics b{display:block}.metrics span{font-size:10px;color:#9fb5af}.metrics b{font:600 16px "DM Sans";margin-top:6px}.factor-box{margin-top:24px}.factor-box h3{font-size:12px}.factor-box #factorList{display:grid;grid-template-columns:1fr 1fr;gap:8px}.factor-box p{margin:0;background:#204a43;padding:10px;font-size:10px;color:#b8ccc6}.factor-box b{float:right;color:#fff}.decision{margin-top:18px;border-left:3px solid var(--mint);padding:12px 14px;background:#173f38;font-size:12px;line-height:1.6}.decision.warn{border-color:#f7d591}.save{background:#fff;color:var(--green);padding:14px;margin-top:18px}.save-message{text-align:center;font-size:11px;color:#b8ccc6}.principles{max-width:1180px;margin:0 auto 100px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccd4cf;border:1px solid #ccd4cf}.principles div{background:var(--paper);padding:30px}.principles span{font:700 11px "DM Sans";color:#7a958e}.principles h3{margin:30px 0 8px;font-size:16px}.principles p{font-size:12px;line-height:1.7;color:var(--muted)}footer{background:#0d2f2a;color:#a9bcb6;padding:34px max(28px,5vw);display:flex;align-items:center;gap:22px;font-size:11px}footer span{font:700 14px "DM Sans";color:#fff}footer p{margin-right:auto}footer a{color:var(--lime)}@media(max-width:860px){.workspace{grid-template-columns:1fr}.result-panel{position:static}.hero{padding-top:58px}.hero h1{letter-spacing:-2px}.principles{grid-template-columns:1fr}}@media(max-width:560px){.form-panel,.result-panel{padding:25px}.field-grid{grid-template-columns:1fr}.route-grid{grid-template-columns:1fr 34px 1fr}.hero{padding-left:18px;padding-right:18px}.workspace{padding-left:12px;padding-right:12px}.price-card strong{font-size:32px}footer{align-items:flex-start;flex-direction:column}footer p{margin:0}}
