:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;background:#f0f4fa;color:#1e293b;min-height:100vh}.page{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.page-header{text-align:center;margin-bottom:2.5rem}.logo-text{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#4f8ef7,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.subtitle{margin-top:.35rem;color:#64748b;font-size:.95rem}.layout{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.layout{grid-template-columns:1fr}}.panel{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 2px 12px #00000012}.panel-title{font-size:1rem;font-weight:700;color:#334155;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.field-group{margin-bottom:1.1rem}.field-group label{display:block;font-size:.83rem;font-weight:600;color:#475569;margin-bottom:.4rem}.input-wrap{display:flex;align-items:center;border:1.5px solid #e2e8f0;border-radius:9px;overflow:hidden;transition:border-color .15s}.input-wrap:focus-within{border-color:#4f8ef7;box-shadow:0 0 0 3px #4f8ef726}.input-wrap input{flex:1;border:none;outline:none;padding:.6rem .85rem;font-size:.95rem;background:transparent;color:#1e293b;min-width:0}.input-wrap input::placeholder{color:#b0bac8}.input-wrap input[type=number]::-webkit-inner-spin-button,.input-wrap input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.unit{padding:0 .8rem;font-size:.82rem;color:#94a3b8;font-weight:500;background:#f8fafc;border-left:1.5px solid #e2e8f0;height:100%;display:flex;align-items:center;white-space:nowrap}.error-list{background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;padding:.85rem 1rem .85rem 1.4rem;margin-bottom:1.1rem;list-style:disc}.error-list li{font-size:.82rem;color:#be123c;line-height:1.7}.btn-calc{width:100%;padding:.78rem;background:linear-gradient(135deg,#4f8ef7,#6366f1);color:#fff;border:none;border-radius:10px;font-size:.97rem;font-weight:700;cursor:pointer;letter-spacing:.3px;transition:opacity .15s,transform .1s;margin-top:.4rem}.btn-calc:hover{opacity:.9}.btn-calc:active{transform:scale(.98)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;color:#94a3b8;gap:.75rem;text-align:center;line-height:1.7}.empty-icon{font-size:3rem;opacity:.5}.result-cards{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.75rem}.result-card{border-radius:12px;padding:1rem 1.1rem;background:#f8fafc;border:1.5px solid #e2e8f0;display:flex;flex-direction:column;gap:.4rem}.result-card.highlight{grid-column:1 / -1;background:linear-gradient(135deg,#eef4ff,#ede9fe);border-color:#c7d7fd}.result-card.safe{background:#f0fdf4;border-color:#bbf7d0}.result-card.danger{background:#fff7ed;border-color:#fed7aa}.result-label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.result-value{font-size:1.15rem;font-weight:800;color:#1e293b;word-break:break-all}.result-card.safe .result-value{color:#15803d}.result-card.danger .result-value{color:#c2410c}.result-card.highlight .result-value{color:#4338ca;font-size:1.3rem}.chart-title{font-size:.88rem;font-weight:700;color:#475569;margin-bottom:.85rem}.chart-wrap{margin-top:.5rem}.chart-tooltip{background:#1e293b;border-radius:8px;padding:.55rem .85rem;box-shadow:0 4px 12px #0003}.tooltip-label{font-size:.75rem;color:#94a3b8;margin-bottom:.2rem}.tooltip-value{font-size:.9rem;font-weight:700;color:#f1f5f9}
