:root{color-scheme:light;font-family:system-ui,'Noto Sans KR',sans-serif;color:#302b3b;background:#f8f5ff}*{box-sizing:border-box}body{margin:0}header{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px max(18px,calc((100vw - 1080px)/2));border-bottom:1px solid #e6dfef}header nav{display:flex;gap:16px;flex-wrap:wrap}a{color:#694299;text-decoration-thickness:1px;text-underline-offset:4px}.brand{font-size:22px;text-decoration:none}main{max-width:1080px;margin:auto;padding:32px 20px 70px}h1{font-family:serif;font-size:38px;font-weight:500;line-height:1.4;margin:8px 0 20px}h2{font-size:24px;margin:0 0 18px}h3{font-size:17px;margin:0 0 10px}p{line-height:1.85}.eyebrow{color:#795ba1;font-size:14px;letter-spacing:.05em}.lead{font-size:19px}.hint,small{font-size:14px;color:#766c80;line-height:1.8}.card{background:#fff;border:1px solid #e0d7ed;border-radius:22px;padding:28px;margin:26px 0;overflow-wrap:anywhere}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0}button,.file{background:#6b43b6;color:white;border:1px solid #6b43b6;border-radius:13px;padding:13px 18px;min-height:46px;font:inherit;cursor:pointer;display:inline-block}.quiet{background:#f6f1ff;color:#64418f;border-color:#d9c8ed}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{font:inherit;width:100%;display:block;padding:12px;margin:8px 0 18px;border:1px solid #cfc2dd;border-radius:11px;background:#fff;color:#302b3b}input[type=file]{font-size:14px;border:0;padding:8px 0;margin:6px 0 0;color:inherit;max-width:100%}input[type=checkbox]{width:auto;display:inline;margin:0 6px 0 0}.check{font-size:14px}input:focus,textarea:focus,button:focus-visible,summary:focus-visible{outline:3px solid #bda4e7;outline-offset:2px}label{display:block}canvas{max-width:100%;height:auto;display:block;max-height:750px;object-fit:contain;margin:auto;border-radius:14px;background:#f1edf7}#preview{margin-top:18px}.measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.measures>section{background:#faf8fe;border-radius:15px;padding:20px}.measures strong{font-size:27px;color:#6b43a6;font-weight:600}.measures p{font-size:15px}.error{color:#882a45;background:#fff0f3;padding:14px;border-radius:12px}.status{color:#65448d}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}summary{cursor:pointer;color:#67428e;line-height:1.8}details[open]>summary{margin-bottom:18px}#concepts details{padding:18px 0;border-bottom:1px solid #e8e0f0}#results:focus{outline:none}footer{color:#7b7088;text-align:center;font-size:14px;margin-top:30px}
@media(max-width:640px){main{padding:22px 14px 44px}header{padding:18px 14px;align-items:flex-start}.brand{font-size:18px}header nav{font-size:13px;gap:10px}h1{font-size:30px}.card{padding:22px 17px;border-radius:19px}.measures,.grid{grid-template-columns:1fr}.actions button{flex:1 1 150px}.file{max-width:100%}.lead{font-size:17px}}
[hidden]{display:none!important}
header{position:relative}.service-menu summary{font-size:14px}.service-menu-links{position:absolute;right:14px;top:76px;z-index:30;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;background:#fff;border:1px solid #ddd1eb;border-radius:16px;padding:18px;box-shadow:0 12px 30px #44315a20;width:min(480px,calc(100vw - 28px));max-height:75vh;overflow:auto}.service-menu-links strong{grid-column:1/-1;color:#785195;font-size:14px;margin:12px 0 4px}.service-menu-links a{padding:8px;font-size:14px;text-decoration:none;line-height:1.6}.service-menu-links a[aria-current=page]{color:#fff;background:#7046b7;border-radius:9px}
