:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:#252d28;background:#f4f2ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid #c9cec5;background:#fffefa;padding:9px 13px;border-radius:7px;color:inherit}button:hover{background:#e8eee1}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#334b35;color:white;border-color:#334b35}button.danger{color:#9b3326}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #91ac6f;outline-offset:2px}input,select,textarea{border:1px solid #c9cec5;border-radius:6px;background:#fffefa;padding:9px;min-width:0;width:100%;color:inherit}input[type=checkbox]{width:auto}label{display:grid;gap:5px;font-size:12px;color:#586151}h1,h2,h3,p{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px solid #d6d9ce;gap:20px;background:#faf9f4}.brand{font-size:23px;letter-spacing:-1px;font-weight:650}.brand span{font-weight:400;color:#7a836f}header small{font-size:11px;letter-spacing:2px;color:#717b66}.actions,.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.intro{padding:26px 32px 20px;display:flex;justify-content:space-between;align-items:end;gap:20px}.intro h1{font-size:28px;letter-spacing:-1.1px;font-weight:500}.intro p{font-size:13px;color:#6c7466;margin-top:9px;line-height:1.7}.badge{font-size:11px;border:1px solid #bbc9b1;padding:6px 10px;border-radius:30px;white-space:nowrap;background:#e6eddf;color:#45613a}.workspace{display:grid;grid-template-columns:282px minmax(0,1fr) 270px;gap:16px;padding:0 24px 24px;align-items:start}.panel,.drawing,.details{background:#fffefa;border:1px solid #d7dbd0;border-radius:10px;overflow:hidden}.panel section{padding:18px;border-bottom:1px solid #e3e6dc}.panel section:last-child{border:0}h2{font-size:14px;font-weight:650;margin-bottom:14px}h3{font-size:12px;margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stack{display:grid;gap:10px}.muted{color:#79816f;font-size:11px;line-height:1.65}.toolbar{padding:13px 16px;border-bottom:1px solid #d7dbd0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.toolbar h2{margin:0}.toolbar label{display:flex;align-items:center}.toolbar select{width:auto}.canvas-scroll{overflow:auto;padding:40px 34px 34px;min-height:370px;background:#e9ece3;background-image:radial-gradient(#cdd3c5 .65px,transparent .65px);background-size:12px 12px}.wall{position:relative;background:#fffefa;box-shadow:0 8px 20px #24351b12;border:1px solid #b4beac;margin:0 auto;min-width:100px;touch-action:none}.wall-label{position:absolute;left:0;right:0;top:-25px;text-align:center;font-size:11px;color:#68715e;pointer-events:none}.floor-label{position:absolute;bottom:-24px;left:0;font-size:10px;color:#68715e;white-space:nowrap}.art{position:absolute;border:2px solid #5c7055;background:#e0e5d7;display:flex;align-items:center;justify-content:center;padding:3px;min-width:4px;min-height:4px;border-radius:0;touch-action:none;overflow:hidden;cursor:grab;box-shadow:2px 3px 4px #21341618}.art:hover{background:#d8e1ca}.art.selected{outline:3px solid #9bb777;outline-offset:3px;z-index:2}.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.art span{font-size:10px;line-height:1.25;overflow:hidden;max-height:100%;background:#fffefaD9;padding:2px 4px;z-index:1;pointer-events:none}.art.has-image span{align-self:end}.canvas-foot{padding:12px 16px;color:#68735d;font-size:11px;line-height:1.6}.empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#87917d;font-size:13px;pointer-events:none;line-height:1.7}.art-list{max-height:260px;overflow:auto;display:grid;gap:6px}.art-row{display:flex;text-align:left;justify-content:space-between;gap:8px;width:100%;font-size:12px;padding:10px}.art-row.selected{background:#e5eddd;border-color:#96ac80}.art-row small{color:#748168;white-space:nowrap}.status{margin:0 24px 14px;padding:9px 13px;background:#e7edde;border-radius:7px;font-size:12px;line-height:1.6}.status.error{background:#f9e7de;color:#963d25}.details{margin-top:16px;padding:16px;overflow:auto}.details h2{margin-bottom:8px}table{border-collapse:collapse;font-size:11px;width:100%;white-space:nowrap}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #e3e6dc}th{color:#6e7962;font-weight:500}.issue{font-size:12px;background:#fff0dd;color:#8a5117;padding:9px;border-radius:5px;margin-top:7px;line-height:1.6}.good{font-size:12px;color:#4f713a;padding:8px 0}.stats{display:flex;gap:22px;padding:12px 0;flex-wrap:wrap}.stats div{font-size:10px;color:#6a765f}.stats strong{display:block;font-size:18px;font-weight:500;color:#31492e;margin-top:4px}.file-label{position:relative;display:inline-block}.file-label input{max-width:100%;font-size:11px}details>summary{font-size:12px;cursor:pointer;padding:5px 0 10px;color:#56664b}footer{padding:0 32px 24px;font-size:11px;color:#77826b;line-height:1.8}#dpi-result{font-size:12px;line-height:1.6}form button[type=submit]{width:100%}@media(max-width:1150px){.workspace{grid-template-columns:250px minmax(0,1fr)}.right{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.right section{border-bottom:0;border-right:1px solid #e3e6dc}}@media(max-width:720px){header{padding:18px;align-items:start;flex-direction:column}.intro{padding:20px;align-items:start}.intro h1{font-size:23px}.workspace{display:flex;flex-direction:column;padding:0 12px 20px}.workspace>*{width:100%}.left{display:block}.right{display:block}.status{margin:0 12px 12px}.canvas-scroll{padding:36px 24px;min-height:240px}.intro .badge{display:none}button{padding:9px 10px}footer{padding:0 18px 20px}}@media print{header,.intro,footer{display:none}}
.center-guide{position:absolute;left:0;right:0;border-top:1px dashed #8ca07d;pointer-events:none;color:#7d916c;font-size:9px;padding-top:3px;z-index:0;white-space:nowrap}
.confirm-dialog{max-width:min(440px,calc(100vw - 32px));padding:26px;border:1px solid #bec9b5;border-radius:12px;background:#fffefa;color:#252d28;box-shadow:0 18px 80px #15240d33}.confirm-dialog::backdrop{background:#18241566}.confirm-dialog h2{font-size:17px;margin-bottom:12px}.confirm-dialog p{font-size:14px;line-height:1.8;margin-bottom:22px}.confirm-dialog .row{justify-content:flex-end}
.selection-tools{padding:12px;background:#f0f4e9;border:1px solid #d0dcc5;border-radius:7px;margin-bottom:18px}.selection-tools h3{margin:6px 0 0}.selection-tools button{font-size:11px}.art.reference{outline-color:#466839}.art.reference::after{content:'기준';position:absolute;top:1px;right:1px;padding:1px 3px;background:#385631;color:white;font-size:8px;z-index:3;pointer-events:none}
