:root{--ink:#20372d;--green:#345a45;--green-dark:#254433;--light:#edf3ed;--muted:#71796f;--line:#e3e6dc;--paper:#fffefa;--bg:#f5f5ee;--gold:#aa7941;--radius:16px;font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,svg:focus-visible{outline:3px solid #90b794;outline-offset:3px}button{border:0;background:none;color:inherit}button,input{transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--light)}[hidden]{display:none!important}.site-header{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fffefa}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand svg{width:39px;height:39px;fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.brand>span{font-size:23px;letter-spacing:1px;font-weight:650}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:500;margin-top:4px}.header-right{display:flex;gap:12px;align-items:center}.privacy{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-right:12px}.dot{width:5px;height:5px;border-radius:50%;background:#678565}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 19px;border-radius:9px;font-size:13px;font-weight:600;white-space:nowrap}.button.small{padding:9px 12px;font-size:12px}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-dark)}.button.outline{border:1px solid #cbd4c7;background:var(--paper)}.button.ghost{background:#eff1e9}.text-button{font-size:12px;color:var(--green);padding:7px 6px;border-radius:6px;white-space:nowrap}.icon-button{width:28px;height:28px;display:grid;place-items:center;font-size:20px;border-radius:6px;color:#687365}main{max-width:1680px;margin:auto;padding:36px 42px 0}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:29px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--green);margin:0 0 12px;font-weight:500}h1{font-size:32px;letter-spacing:-1.2px;margin:0;font-weight:650;display:flex;align-items:center;gap:12px}.version{font-size:10px;font-weight:500;letter-spacing:.6px;border:1px solid #cbd8c9;border-radius:20px;padding:4px 8px;color:var(--green)}.intro-copy{font-size:13px;color:var(--muted);margin:13px 0 0;line-height:1.7}.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding-bottom:1px}.intro-actions>span{font-size:11px;color:var(--muted)}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr) 230px;gap:16px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.setup{padding:23px 19px 18px}.panel-heading{display:flex;align-items:center;gap:9px;margin-bottom:21px}h2{font-size:15px;font-weight:650;margin:0;letter-spacing:-.4px}.step{font-size:10px;color:#91a18d;font-weight:600;letter-spacing:1px}.field-label{display:block;font-size:11px;font-weight:600;color:#6c776b;margin-bottom:9px}.setup input:not([type=checkbox]){width:100%;background:#fff;border:1px solid #dfe4d9;border-radius:8px;padding:11px 12px;font-size:12px;color:var(--ink)}#projectName{margin-bottom:23px}.core-heading{display:flex;justify-content:space-between;align-items:baseline}.tag{font-size:9px;letter-spacing:.5px;color:#8a7b65;background:#f4f0e5;border-radius:4px;padding:3px 5px}.number-field{display:flex;align-items:center;position:relative}.number-field input{font-size:28px!important;font-weight:600;padding:11px 40px 11px 14px!important;font-variant-numeric:tabular-nums;height:58px}.number-field>span{position:absolute;right:15px;font-size:12px;color:var(--muted)}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.preset{min-width:0;border:1px solid var(--line);border-radius:6px;font-size:10px;padding:7px 4px;color:#737e70}.preset.selected{background:var(--light);border-color:#bbcebb;color:var(--green)}.help{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0 0}.help b{font-weight:600;color:#51634e}.divider{height:1px;background:var(--line);margin:23px 0}.divider+.panel-heading{margin-bottom:9px}.small-copy{font-size:11px;color:var(--muted);line-height:1.75;margin:0 0 13px}.metric-list{display:flex;flex-direction:column;gap:3px}.metric-button{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;border-radius:8px;padding:9px 10px;text-align:left;gap:7px;font-size:11px;min-height:36px}.metric-button .measure-hint{font-size:9px;color:#9a9f95;white-space:nowrap;font-variant-numeric:tabular-nums}.metric-button.active{background:var(--light);color:var(--green);border-color:#d5e1d1;font-weight:600}.metric-button.reference{color:var(--gold);background:#f7f4eb;margin-bottom:5px}.metric-button.reference.active{border-color:#ded0b1}.metric-button.done .measure-hint{color:var(--green)}.metric-group{font-size:9px;color:#969e90;letter-spacing:.6px;margin:13px 0 5px 10px}.tip{display:flex;gap:9px;margin-top:23px;padding:11px;background:#f5f5ed;border-radius:8px}.tip svg{width:18px;height:18px;fill:none;stroke:#8c9578;stroke-width:1.4;flex-shrink:0}.tip p{font-size:10px;line-height:1.8;margin:0;color:#828775}.photo-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;border-bottom:1px solid var(--line);gap:5px}.tabs{display:flex;gap:2px;background:#f1f3ec;border-radius:8px;padding:3px}.tab{padding:8px 17px;border-radius:6px;font-size:12px;color:#87917f;min-width:77px}.tab.selected{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #263d2420;font-weight:600}.tab span{font-size:9px;color:#688764;margin-left:3px}.photo-actions{display:flex;align-items:center;gap:4px}.active-guide{display:flex;align-items:center;gap:10px;padding:18px 20px;min-height:84px}.guide-badge{flex-shrink:0;padding:5px 7px;background:#f5f0e5;color:var(--gold);font-size:10px;border-radius:5px}.guide-badge.measure{background:var(--light);color:var(--green)}.active-guide strong{font-size:12px}.active-guide p{font-size:10px;color:var(--muted);line-height:1.5;margin:6px 0 0}.active-guide>span:last-child{margin-left:auto;font-size:10px;color:#8a967f;white-space:nowrap}.stage{height:clamp(440px,56vh,680px);background:#eef0e9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(#d4dacf 1px,transparent 1px);background-size:16px 16px}.empty-state{text-align:center;max-width:350px;padding:30px}.photo-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;background:#e3e9df;border-radius:18px;transform:rotate(-5deg)}.photo-icon svg{width:35px;fill:none;stroke:#84977d;stroke-width:1.4;transform:rotate(5deg)}.empty-state h3{font-size:17px;font-weight:500;letter-spacing:-.5px;margin:0 0 11px}.empty-state p{font-size:11px;color:#8a9482;margin:0 0 24px;line-height:1.6}.empty-state small{display:block;font-size:9px;color:#939b8d;margin-top:17px;line-height:1.8}.empty-state .primary{font-size:12px;padding:12px 18px}#photoSvg{width:100%;height:100%;touch-action:none;cursor:crosshair;user-select:none;outline-offset:-3px}#photoSvg.pan{cursor:grab}#photoSvg.dragging{cursor:grabbing}.image-label{position:absolute;bottom:10px;left:12px;background:#fffefadc;color:#62705b;font-size:9px;border-radius:4px;padding:4px 7px;max-width:75%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:none}#dropOverlay{position:absolute;inset:6px;border:2px dashed #66835c;display:grid;place-items:center;background:#edf4e5e8;border-radius:10px;color:var(--green);font-size:18px;pointer-events:none}.canvas-controls{padding:10px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}.control-group{display:flex;align-items:center;gap:5px}.control-group #zoomLabel{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:32px;text-align:center}.check-label{font-size:10px;display:flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.check-label input{accent-color:var(--green);width:12px;height:12px}.correction-bar{padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.correction-bar>span{font-size:9px;color:#89917f;line-height:1.7}.correction-bar b{font-weight:600;color:#6f7b64;margin-right:4px}.correction-bar button{font-size:10px}.notice{font-size:10px;color:#8b9184;line-height:1.7;background:#f8f8f2;padding:10px 17px;border-top:1px solid var(--line)}.preview{padding:23px 20px}.preview .panel-heading{margin-bottom:28px}.live-label{font-size:12px;color:#60735a;margin-bottom:14px}.live-value{display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums;min-height:57px}.live-value>span{font-size:42px;letter-spacing:-2px;line-height:1.1;font-weight:500}.live-value>small{font-size:12px;color:#829177}.preview>.small-copy{margin-top:12px;margin-bottom:22px;min-height:36px}.scale-card{background:var(--light);border-radius:10px;padding:15px 13px;display:flex;flex-direction:column;gap:10px}.scale-card>span{font-size:10px;color:#74866a}.scale-card strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.scale-card small{font-size:9px;line-height:1.7;color:#8a9880}.photo-info{font-size:10px;padding:10px 0 20px;border-bottom:1px solid var(--line);margin:12px 0 22px}.photo-info div{display:flex;justify-content:space-between;gap:10px;padding:8px 0}.photo-info dt{color:#8b9481}.photo-info dd{margin:0;color:#566c4c;font-variant-numeric:tabular-nums}.quality-note h3{font-size:11px;font-weight:600;margin:0 0 11px}.quality-note p{font-size:10px;color:#8b9382;line-height:1.85;margin:0 0 12px}.quality-note b{font-weight:600}.results-link{font-size:11px;color:var(--green);text-decoration:none;display:block;margin-top:26px;padding-top:17px;border-top:1px solid var(--line)}.results{margin-top:22px;padding:26px 27px 14px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.results-heading .eyebrow{font-size:9px;color:#8a9980;margin-bottom:9px}.results-heading h2{font-size:19px;font-weight:600}.results-heading p:last-child{font-size:11px;color:var(--muted);margin:11px 0 0;line-height:1.6}.result-actions{display:flex;gap:8px}.table-wrap{overflow:auto;max-height:460px;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#f2f4ed;font-size:10px;color:#7c8970;font-weight:500;padding:13px 16px;z-index:1}td{padding:12px 16px;border-top:1px solid #eef0e7;color:#64725b;font-variant-numeric:tabular-nums}td.target{font-weight:650;color:var(--green)}tr.missing td{color:#9ea497}tr.reference-row td{background:#faf8f0;color:#8c744e}tr[data-result-view]{cursor:pointer}tr[data-result-view]:hover td{background:#f2f5ec}.status-tag{font-size:9px;background:#f1f4eb;color:#758967;border-radius:4px;padding:3px 6px}.status-tag.missing{background:#f4f4ef;color:#9a9f91}.table-footnote{font-size:10px;color:#909983;line-height:1.7;margin:14px 0 0}footer{max-width:1680px;margin:0 auto;padding:27px 42px 32px;display:flex;justify-content:space-between;color:#8f9984;font-size:10px}footer span:last-child{font-size:8px;letter-spacing:1.5px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#294c3cf5;box-shadow:0 4px 25px #23422220;color:#fff;font-size:12px;padding:14px 20px;border-radius:10px;z-index:20;max-width:90%;line-height:1.7;white-space:normal;text-align:center}
@media(min-width:1550px){.workspace{grid-template-columns:260px minmax(0,1fr) 250px}.metric-button{font-size:12px}.stage{height:640px}.setup{padding:24px}}
@media(max-width:1150px){main{padding:30px 25px 0}.site-header{padding:0 25px}.workspace{grid-template-columns:220px minmax(0,1fr)}.preview{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:20px;align-items:start}.preview .panel-heading{grid-column:1/-1;margin-bottom:18px}.live-label{grid-column:1;grid-row:2}.live-value{grid-column:1;grid-row:3}.preview>.small-copy{grid-column:1;grid-row:4;margin-bottom:0}.scale-card{grid-column:2;grid-row:2/5}.photo-info{grid-column:3;grid-row:2/5;margin:0;padding:0;border:0}.quality-note{grid-column:1/3;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.quality-note h3{margin-bottom:7px}.quality-note p{display:inline;font-size:10px}.quality-note p+p{margin-left:8px}.results-link{grid-column:3;margin-top:20px}.privacy{font-size:10px}.stage{height:550px}}
@media(max-width:760px){.site-header{padding:0 17px;height:76px}.brand>span{font-size:20px}.brand svg{width:30px}.brand small{font-size:7px;letter-spacing:1.7px}.header-right{gap:5px}.header-right .button{padding:8px;font-size:10px}.privacy{display:none}main{padding:26px 16px 0}.intro{display:block;margin-bottom:20px}h1{font-size:27px}.intro-copy{font-size:11px}.intro-actions{margin-top:16px;flex-direction:row;align-items:center;justify-content:space-between}.eyebrow{font-size:10px}.workspace{display:flex;flex-direction:column;gap:12px}.setup,.photo-panel,.preview{width:100%}.setup{padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.setup>.panel-heading:first-child{grid-column:1/-1;margin-bottom:16px}.setup>.field-label{grid-column:1;grid-row:2}.setup>#projectName{grid-column:1;grid-row:3;align-self:start;margin:0;min-width:0;height:51px}.core-heading{grid-column:2;grid-row:2}.number-field{grid-column:2;grid-row:3}.number-field input{height:51px;font-size:25px!important}.presets{grid-column:2;grid-row:4}.help{grid-column:1/-1;margin-top:14px}.divider{grid-column:1/-1;margin:16px 0}.divider+.panel-heading{grid-column:1;white-space:nowrap}.setup>.small-copy{grid-column:2;font-size:10px;line-height:1.6;margin:0 0 10px}.metric-list{grid-column:1/-1;display:flex;flex-direction:row;overflow:auto;gap:5px;padding-bottom:4px}.metric-group{display:none}.metric-button{width:auto;flex-shrink:0;min-height:37px;border-color:var(--line);white-space:nowrap;padding:7px 9px;font-size:10px;gap:8px}.metric-button.reference{margin:0}.metric-button .measure-hint{font-size:8px}.tip{display:none}.active-guide{padding:14px;min-height:79px}.active-guide p{font-size:10px}.stage{height:430px}.photo-toolbar{padding:9px 12px}.tab{padding:8px 13px;min-width:70px}.photo-actions .text-button{font-size:11px}.canvas-controls{padding:9px;flex-wrap:wrap;gap:5px}.canvas-controls .text-button{font-size:10px;padding:6px 3px}.canvas-controls .button{font-size:10px;padding:7px}.control-group{gap:3px}.correction-bar{padding:9px 12px}.desktop-only{display:none}.notice{padding:9px 12px;font-size:9px}.preview{padding:18px;grid-template-columns:1fr 1fr}.preview .panel-heading{margin-bottom:16px}.scale-card{grid-column:2;grid-row:2/5}.photo-info{grid-column:1/-1;grid-row:5;display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:14px;padding-top:10px;gap:12px}.photo-info div{flex-direction:column;gap:8px;font-size:10px;padding:7px 0}.quality-note{grid-column:1/-1;grid-row:6;margin-top:12px}.quality-note p{display:block;margin-bottom:6px}.quality-note p+p{margin-left:0}.results-link{grid-column:1/-1;grid-row:7;margin-top:8px;padding-top:12px}.live-value>span{font-size:37px}.results{margin-top:17px;padding:21px 16px 15px}.results-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:16px}.results-heading h2{font-size:18px}.results-heading p:last-child{font-size:10px}.table-wrap{max-height:390px}th,td{padding:11px 12px}footer{padding:22px 18px;font-size:9px;gap:12px}footer span:last-child{font-size:7px;letter-spacing:.6px}}
@media print{body{background:white}.site-header{height:65px;padding:0 15px}.header-right,.intro-actions,.setup,.preview,.photo-toolbar,.canvas-controls,.correction-bar,.notice,.result-actions,.image-label,footer,.toast{display:none!important}main{padding:20px 15px}.intro{margin-bottom:18px}.intro-copy{font-size:11px}.workspace{display:block}.photo-panel{border:1px solid #ccc}.stage{height:350px;background:white}.active-guide{min-height:50px;padding:10px}.results{padding:18px 0;border:0}.table-wrap{max-height:none;overflow:visible;border:0}table{white-space:normal;font-size:10px}th{position:static}td,th{padding:7px 10px}thead{display:table-header-group}tr{break-inside:avoid}.results-heading{margin-bottom:12px}.table-footnote{font-size:9px}}

.metric-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:4px 0 13px}.metric-categories button{font-size:10px;padding:8px 3px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}.metric-categories button.selected{background:var(--green);border-color:var(--green);color:white}.path-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--light);padding:10px 17px;border-top:1px solid #dde8d8}.path-controls span{font-size:10px;line-height:1.65;color:var(--green)}
@media(max-width:760px){.metric-categories{grid-column:1/-1;margin-bottom:10px}.metric-categories button{font-size:11px;padding:9px 3px}.path-controls{padding:10px 12px}.path-controls .button{padding:9px 10px}.path-controls span{font-size:9px}}
@media print{.metric-categories,.path-controls{display:none!important}}

.anatomy-panel{padding:17px;background:#f8f9f2;border-bottom:1px solid var(--line)}.anatomy-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.anatomy-heading strong{font-size:13px}.anatomy-heading span{font-size:10px;color:var(--muted)}.anatomy-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:13px}.anatomy-modes button{border:1px solid #c7d7c2;background:var(--paper);border-radius:8px;font-size:11px;padding:11px 5px;color:var(--green)}.ai-key-row{display:flex;align-items:center;gap:9px}.ai-key-row label{font-size:10px;white-space:nowrap}.ai-key-row input{flex:1;min-width:0;border:1px solid #d4dece;border-radius:7px;padding:9px 10px;font-size:11px;background:#fff;color:var(--ink)}.ai-key-row .text-button{font-size:10px}.ai-billing{font-size:9px;color:#819174;line-height:1.8;margin:10px 0}.ai-settings summary{font-size:10px;color:var(--green);cursor:pointer}.ai-settings>div{display:flex;gap:14px;margin-top:10px}.ai-settings label{display:flex;align-items:center;gap:7px;font-size:10px}.ai-settings select{max-width:180px;border:1px solid var(--line);background:white;border-radius:5px;padding:6px;color:var(--ink);font-size:10px}.ai-status-row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:12px;font-size:10px;line-height:1.7;color:var(--green)}.reference-switches{padding:9px 14px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#f6f8ef}.reference-switches>span{font-size:9px;color:var(--muted);margin-right:4px}.reference-switches button{font-size:10px;padding:6px 8px;border-radius:5px}.reference-switches button.selected{background:var(--green);color:white}#photoSvg.reference-mode{cursor:default}#photoSvg.reference-mode.pan{cursor:grab}.reference-switches #downloadReferenceBtn{margin-left:auto;font-size:9px}
@media(max-width:760px){.photo-actions{gap:1px}.photo-actions .text-button{font-size:10px;padding:7px 4px}.anatomy-panel{padding:13px}.anatomy-modes{gap:5px}.anatomy-modes button{font-size:10px;padding:10px 3px}.ai-key-row{flex-wrap:wrap;gap:6px}.ai-key-row label{width:100%}.ai-settings>div{gap:8px;flex-wrap:wrap}.ai-settings label{font-size:9px}.reference-switches{padding:8px 10px}.reference-switches button{font-size:9px;padding:6px}}
@media print{.anatomy-panel,.reference-switches{display:none!important}}

.metric-list{max-height:510px;overflow-y:auto;scrollbar-width:thin}
@media(max-width:760px){.metric-list{max-height:none;overflow-y:hidden;overflow-x:auto}}

.free-reference-panel{padding:14px;background:#edf4e8;border:1px solid #d6e4cc;border-radius:10px;margin-bottom:13px}.free-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.free-heading strong{font-size:12px}.free-heading span{font-size:9px;color:var(--green);background:#dcebd4;border-radius:4px;padding:4px 7px}.free-reference-panel p{font-size:10px;line-height:1.8;color:#718269;margin:9px 0 12px}.reference-import-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.reference-import-row label{font-size:10px;color:#64765b}.reference-import-row select{flex:1;min-width:90px;border:1px solid #ccdac4;border-radius:6px;background:white;color:var(--ink);font-size:11px;padding:9px}.reference-prep-row{display:flex;gap:13px;margin-top:9px}.reference-prep-row .text-button{font-size:10px}.free-reference-panel #referenceImportStatus{font-size:10px;color:var(--green);margin-bottom:0}.paid-image-tools>summary{font-size:10px;color:#819176;cursor:pointer;padding:7px 0}.paid-image-tools[open]>summary{margin-bottom:10px}.free-reference-panel textarea{width:100%;min-height:115px;border:1px solid var(--line);border-radius:6px;margin-top:9px;padding:10px;font-size:11px;line-height:1.7;font-family:inherit;color:var(--ink)}
@media(max-width:760px){.free-reference-panel{padding:11px}.reference-import-row{gap:6px}.reference-import-row label{width:100%}.reference-import-row .button{font-size:10px;padding:10px}.free-heading strong{font-size:11px}.free-reference-panel p{font-size:9px}}

.face-shortcuts{display:flex;gap:5px;margin:6px 0 10px}.face-shortcuts button{flex:1;border:1px solid #cad8c6;border-radius:6px;padding:9px 3px;font-size:11px;color:var(--green);background:var(--light)}
@media(max-width:760px){.face-shortcuts{grid-column:1/-1}.metric-list{flex-direction:column;max-height:420px;overflow-y:auto;overflow-x:hidden;width:100%}.metric-list .metric-group{display:block}.metric-list .metric-button{width:100%;flex-shrink:0;white-space:normal;font-size:12px;min-height:42px}}

/* 사진 작업 메뉴: 텍스트 링크처럼 보이지 않도록 명확한 버튼으로 구분 */
.photo-actions{gap:7px}
.toolbar-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:8px;font-size:11px;font-weight:650;line-height:1;white-space:nowrap;box-shadow:0 1px 2px #263d2414}
.toolbar-action.anatomy-action{background:#eef3e9;border-color:#cad9c4;color:var(--green)}
.toolbar-action.anatomy-action:hover:not(:disabled),.toolbar-action.anatomy-action[aria-expanded="true"]{background:#dfead9;border-color:#aebfa7}
.toolbar-action.upload-action{background:var(--green);border-color:var(--green);color:#fff}
.toolbar-action.upload-action:hover:not(:disabled){background:var(--green-dark)}
.toolbar-action.delete-action{background:#fff8f5;border-color:#dfc7bd;color:#974b39}
.toolbar-action.delete-action:hover:not(:disabled){background:#f8e8e2;border-color:#c99d8e}

@media(max-width:760px){
  .photo-toolbar{align-items:stretch;flex-wrap:wrap;padding:10px 12px;gap:9px}
  .photo-toolbar .tabs{width:100%}
  .photo-toolbar .tab{flex:1}
  .photo-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .toolbar-action{width:100%;min-height:40px;padding:9px 5px;font-size:10px}
}

/* 사진 아래 조작부: 크기·위치·계측 기능을 묶어서 설명 */
.canvas-controls{align-items:flex-end;justify-content:flex-start;gap:14px;flex-wrap:wrap;padding:12px 15px}
.canvas-controls .control-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.canvas-controls .control-group.measure-controls{margin-left:auto}
.control-label{font-size:9px;font-weight:650;letter-spacing:.2px;color:#778472}
.control-buttons{display:flex;align-items:center;gap:5px}
.canvas-control-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:7px 10px;border:1px solid #d4dccf;border-radius:7px;background:#fff;color:#52664d;font-size:10px;font-weight:600;white-space:nowrap}
.canvas-control-button:hover:not(:disabled){background:var(--light);border-color:#bccbb7}
.control-symbol{font-size:16px;font-weight:500;line-height:1}
.canvas-controls .zoom-badge{display:inline-flex;align-items:center;justify-content:center;min-width:49px;height:34px;padding:0 8px;border-radius:7px;background:#f1f3ec;color:#61705c;font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}
.fit-button{background:#f7f8f3}
.move-button{min-width:112px;background:#eff3eb;border-color:#c7d4c1;color:var(--green)}
.move-button.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 0 0 3px #dce8d8}
.measure-controls .check-label{min-height:34px;padding:7px 9px;border:1px solid #d4dccf;border-radius:7px;background:#fff;color:#657161}

@media(max-width:760px){
  .canvas-controls{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px;padding:12px}
  .canvas-controls .control-group,.canvas-controls .control-group.measure-controls{width:100%;margin-left:0}
  .control-buttons{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .size-controls .control-buttons{grid-template-columns:1fr 58px 1fr 1.25fr}
  .position-controls .control-buttons{grid-template-columns:1fr}
  .canvas-control-button,.move-button{width:100%;min-width:0;min-height:40px;padding:8px 5px;font-size:10px}
  .canvas-controls .zoom-badge{width:100%;min-width:0;height:40px}
  .measure-controls .check-label{min-height:40px;justify-content:center}
}

/* 첫 사용 순서: 코어 크기와 기준선을 먼저 완료하도록 안내 */
.start-guide{margin:-5px 0 20px;padding:13px;border:1px solid #dfc38e;border-radius:11px;background:#fff8e9;box-shadow:0 2px 9px #805b1810}
.start-guide>strong{display:block;margin-bottom:10px;color:#835d27;font-size:11px}
.start-guide ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.start-guide li{display:flex;align-items:center;gap:8px;color:#665d4d;font-size:10px;line-height:1.45}
.start-guide li span{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;background:#bd8642;color:#fff;font-size:10px;font-weight:700}
.start-guide li b{font-weight:600}
.start-guide p{margin:11px 0 0;padding-top:10px;border-top:1px solid #ead9b7;color:#8a6330;font-size:9px;line-height:1.65;font-weight:600}
.start-guide.complete{border-color:#bcd2b8;background:#eef6eb}
.start-guide.complete>strong,.start-guide.complete p{color:var(--green)}
.start-guide.complete li span{background:#6e9469}
.start-guide.complete p{border-top-color:#d2e2ce}
.metric-lock-message{margin:0 0 11px;padding:9px 10px;border-radius:7px;background:#fff5df;color:#8a6330;font-size:9px;line-height:1.65;font-weight:600}
.metric-lock-message.complete{background:#edf5ea;color:var(--green)}
.metric-button:disabled{opacity:.48;background:#f5f5f0;color:#94998f;border-color:transparent}
.metric-button:disabled .measure-hint{color:#a69d8b}
.active-guide.reference-first{background:#fff9ec;border-bottom:1px solid #ead8b2;box-shadow:inset 4px 0 #c18b43}
.active-guide.reference-first strong{color:#805a27;font-size:13px}

@media(max-width:760px){
  .setup>.start-guide{grid-column:1/-1;grid-row:2;margin:0 0 16px}
  .setup>.field-label{grid-row:3}
  .setup>#projectName{grid-row:4}
  .core-heading{grid-row:3}
  .number-field{grid-row:4}
  .presets{grid-row:5}
  .setup>.help{grid-row:6}
  .setup>.divider{grid-row:7}
  .setup>.divider+.panel-heading{grid-row:8}
  .metric-lock-message{grid-column:2;grid-row:8;margin:0 0 9px;font-size:9px}
  .active-guide.reference-first strong{font-size:12px}
}

/* 형태 변환: ChatGPT에서 참고 이미지를 만드는 순서를 한눈에 표시 */
.free-reference-panel{padding:16px}
.free-heading strong{font-size:13px;color:var(--ink)}
.free-heading span{font-weight:650}
.free-reference-panel .reference-intro{margin:10px 0 15px;color:#62725b;font-size:11px;line-height:1.75}
.free-reference-panel .reference-intro b{color:var(--green);font-weight:700}
.reference-steps{list-style:none;margin:0 0 15px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reference-steps li{display:flex;align-items:flex-start;gap:8px;padding:10px;background:#fffefa;border:1px solid #d7e2d2;border-radius:8px}
.reference-steps li>span{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:50%;background:var(--green);color:#fff;font-size:10px;font-weight:700}
.reference-steps p{margin:0;color:var(--ink)!important;font-size:10px!important;line-height:1.45!important}
.reference-steps b{display:block;font-weight:650}
.reference-steps small{display:block;margin-top:4px;color:#7a8774;font-size:9px;line-height:1.55}
.reference-prep-row{display:grid;grid-template-columns:1fr 1.65fr 1fr;gap:7px;margin:0}
.reference-prep-row .button,.reference-import-row .button{width:100%;min-height:39px;padding:9px 10px;font-size:10px;text-decoration:none}
.reference-import-row{display:block;margin-top:7px}
.reference-import-row .button{font-size:11px}
.chatgpt-link{color:var(--green)}

@media(max-width:760px){
  .free-reference-panel{padding:12px}
  .reference-steps{grid-template-columns:1fr}
  .reference-prep-row{grid-template-columns:1fr}
  .reference-prep-row .button,.reference-import-row .button{min-height:42px}
}

/* 도구 전환 메뉴 */
.app-mode-tabs{display:flex;gap:7px;margin:-6px 0 20px;padding:5px;width:max-content;max-width:100%;background:#e9ede4;border:1px solid #dce2d7;border-radius:11px}
.app-mode-tabs button{display:flex;align-items:center;gap:8px;min-width:132px;padding:11px 16px;border-radius:8px;color:#788473;font-size:12px;font-weight:650}
.app-mode-tabs button span{font-size:9px;color:#9ba597}
.app-mode-tabs button.selected{background:var(--paper);color:var(--green);box-shadow:0 2px 7px #20372d14}
.app-mode-tabs button.selected span{color:var(--gold)}

/* 작품 비교 */
.compare-page{display:flex;flex-direction:column;gap:16px}
.compare-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px}
.compare-heading .eyebrow{font-size:9px;margin-bottom:8px}
.compare-heading h2{font-size:21px;margin-bottom:9px}
.compare-heading p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.compare-warning{display:flex;align-items:flex-start;gap:10px;max-width:400px;padding:12px 14px;border-radius:9px;background:#f6f1e5;color:#77684e;font-size:10px;line-height:1.65}
.compare-warning b{flex:0 0 auto;color:#8f6736}
.compare-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.compare-upload-panel{padding:22px 18px}
.compare-upload-panel .panel-heading{margin-bottom:15px}
.compare-photo-slot{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcf7;margin-bottom:10px}
.compare-slot-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.compare-slot-title b{font-size:12px}
.compare-slot-title span{font-size:9px;color:#8a9683;background:#edf2e9;padding:3px 6px;border-radius:4px}
.compare-photo-slot img{display:block;width:100%;height:105px;object-fit:contain;border-radius:7px;background:#e8ece4;margin-bottom:9px}
.compare-photo-slot p{min-height:31px;margin:0 0 10px;color:#7d8878;font-size:9px;line-height:1.65;word-break:break-all}
.compare-photo-slot>div:last-child{display:flex;align-items:center;gap:8px}
.compare-photo-slot .button{flex:1;padding:9px 7px;font-size:10px}
.compare-remove{color:#9a5748;font-size:9px}
.compare-help{margin-top:18px;padding:12px 13px;border-radius:9px;background:var(--light)}
.compare-help b{font-size:10px;color:var(--green)}
.compare-help ol{margin:8px 0 0;padding-left:18px;color:#73806d;font-size:9px;line-height:1.9}
.compare-work-panel{overflow:hidden}
.compare-view-toolbar{display:flex;align-items:center;gap:5px;padding:11px 14px;border-bottom:1px solid var(--line);background:#fbfcf7;overflow-x:auto}
.compare-view-toolbar>span{flex:0 0 auto;margin-right:4px;color:#7a8675;font-size:9px;font-weight:650}
.compare-view-toolbar button{flex:0 0 auto;padding:8px 10px;border:1px solid #d7ded2;border-radius:7px;background:#fff;color:#667361;font-size:10px}
.compare-view-toolbar button.selected{background:var(--green);border-color:var(--green);color:white}
.compare-stage{position:relative;background:#eef0e9;overflow:hidden}
#compareCanvas{display:block;width:100%;aspect-ratio:4/3;max-height:660px;touch-action:none;cursor:grab;outline-offset:-4px}
#compareCanvas.dragging{cursor:grabbing}
.compare-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;pointer-events:none}
.compare-empty b{font-size:15px;font-weight:600;color:#5c6957}
.compare-empty span{font-size:10px;color:#879080}
.compare-drag-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 10px;border-radius:20px;background:#20372dcf;color:#fff;font-size:9px;pointer-events:none;white-space:nowrap}
.compare-controls{display:flex;flex-direction:column;gap:12px;padding:16px 18px 12px;border-top:1px solid var(--line)}
.compare-control-group{padding:12px 13px;border:1px solid #dde3d9;border-radius:9px;background:#fbfcf8}
.compare-control-group h3{margin:0 0 11px;color:#294c3c;font-size:11px}
.compare-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.compare-controls label>span{display:block;margin-bottom:8px;color:#64715f;font-size:10px;font-weight:650}
.compare-controls label>div{display:flex;align-items:center;gap:9px}
.compare-controls input[type=range]{width:100%;accent-color:var(--green)}
.compare-controls output{min-width:38px;color:var(--green);font-size:10px;font-variant-numeric:tabular-nums;text-align:right}
.compare-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 18px 13px}
.compare-status{margin:0;padding:10px 17px;border-top:1px solid var(--line);background:#f7f8f3;color:#71806b;font-size:9px;line-height:1.65}

@media(max-width:900px){
  .compare-layout{grid-template-columns:1fr}
  .compare-upload-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .compare-upload-panel>.panel-heading,.compare-help{grid-column:1/-1}
  .compare-photo-slot{margin:0}
}
@media(max-width:760px){
  .app-mode-tabs{width:100%;margin-bottom:14px}
  .app-mode-tabs button{flex:1;min-width:0;justify-content:center;padding:11px 8px}
  .compare-heading{display:block;padding:19px}
  .compare-heading h2{font-size:18px}
  .compare-warning{margin-top:14px;max-width:none}
  .compare-upload-panel{display:block;padding:16px}
  .compare-upload-panel>.panel-heading{margin-bottom:13px}
  .compare-photo-slot{margin-bottom:9px}
  .compare-help{margin-top:13px}
  .compare-view-toolbar{padding:9px 10px}
  .compare-view-toolbar>span{display:none}
  #compareCanvas{min-height:360px;object-fit:contain}
  .compare-controls{gap:10px;padding:14px}
  .compare-control-grid{grid-template-columns:1fr;gap:12px}
  .compare-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 13px}
  .compare-actions .button{width:100%}
  .compare-actions .button:last-child{grid-column:1/-1}
}

@media print{.app-mode-tabs,.compare-page{display:none!important}}

/* 실물 크기 제작 도안 */
.pattern-page{display:flex;flex-direction:column;gap:16px}
.pattern-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px}
.pattern-heading .eyebrow{font-size:9px;margin-bottom:8px}
.pattern-heading h2{font-size:21px;margin-bottom:9px}
.pattern-heading p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.pattern-print-tip{display:flex;align-items:flex-start;gap:10px;max-width:410px;padding:12px 14px;border-radius:9px;background:#fff4df;color:#78674d;font-size:10px;line-height:1.65}
.pattern-print-tip b{flex:0 0 auto;color:#94642b}
.pattern-layout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:16px;align-items:start}
.pattern-settings{padding:22px 19px}
.pattern-settings .panel-heading{margin-bottom:17px}
.pattern-field{display:block;margin-bottom:15px}
.pattern-field>span{display:block;margin-bottom:7px;color:#667360;font-size:10px;font-weight:650}
.pattern-field select{width:100%;padding:10px 11px;border:1px solid #d7ded2;border-radius:8px;background:#fff;color:var(--ink);font-size:11px}
.pattern-range{display:flex;align-items:center;gap:9px}
.pattern-range input{width:100%;accent-color:var(--green)}
.pattern-range output{min-width:38px;text-align:right;color:var(--green);font-size:10px}
.pattern-check{display:flex;align-items:center;gap:8px;margin:10px 0;color:#687464;font-size:10px}
.pattern-check input{accent-color:var(--green)}
.pattern-info-card{display:flex;flex-direction:column;gap:7px;margin-top:17px;padding:13px;border-radius:9px;background:var(--light)}
.pattern-info-card span{font-size:9px;color:#7a8973}.pattern-info-card strong{font-size:13px;color:var(--green)}.pattern-info-card small{font-size:9px;line-height:1.55;color:#7a8674}
.pattern-help{margin-top:16px;padding:12px 13px;border-radius:9px;background:#f7f6ee}
.pattern-help b{font-size:10px;color:#6b735f}
.pattern-help ol{margin:8px 0 0;padding-left:18px;color:#7b8274;font-size:9px;line-height:1.8}
.pattern-work{overflow:hidden}
.pattern-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);background:#fbfcf7}
.pattern-toolbar>span{color:#71806b;font-size:10px}
.pattern-toolbar>div{display:flex;gap:6px}
.pattern-preview-shell{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:650px;padding:24px;overflow:auto;background:#e9ece5;background-image:linear-gradient(45deg,#dfe4dc 25%,transparent 25%),linear-gradient(-45deg,#dfe4dc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dfe4dc 75%),linear-gradient(-45deg,transparent 75%,#dfe4dc 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
#patternSvg{display:block;width:min(100%,730px);height:auto;background:#fff;box-shadow:0 7px 28px #263d2430;cursor:grab;touch-action:none;user-select:none;outline-offset:-4px}
#patternSvg.dragging{cursor:grabbing}
.pattern-preview-shell.landscape #patternSvg{width:min(100%,900px)}
.pattern-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px;text-align:center;background:#eef0e9e8}
.pattern-empty b{font-size:15px;color:#566551}.pattern-empty span{max-width:380px;color:#7d8878;font-size:10px;line-height:1.6}.pattern-empty .button{margin-top:5px}
.pattern-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 17px 12px;border-top:1px solid var(--line)}
.pattern-actions .button{padding:11px 16px;font-size:11px}
.pattern-status{margin:0;padding:10px 17px;border-top:1px solid var(--line);background:#f7f8f3;color:#71806b;font-size:9px;line-height:1.65}

@media(max-width:980px){.pattern-layout{grid-template-columns:1fr}.pattern-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:0 13px}.pattern-settings>.panel-heading,.pattern-info-card,.pattern-help{grid-column:1/-1}.pattern-check{align-self:center}}
@media(max-width:760px){
  .pattern-heading{display:block;padding:19px}.pattern-heading h2{font-size:18px}.pattern-print-tip{margin-top:14px;max-width:none}
  .pattern-settings{display:block;padding:16px}.pattern-toolbar{align-items:flex-start;flex-direction:column}.pattern-toolbar>div{width:100%;display:grid;grid-template-columns:1.3fr 1fr}.pattern-toolbar .button{width:100%;padding:9px 6px;font-size:9px}
  .pattern-preview-shell{min-height:470px;padding:12px}.pattern-actions{display:grid;grid-template-columns:1fr}.pattern-actions .button{width:100%}
}

@media print{
  body.pattern-printing{background:#fff}
  body.pattern-printing .site-header,body.pattern-printing .intro,body.pattern-printing .app-mode-tabs,body.pattern-printing #measureMode,body.pattern-printing #compareMode,body.pattern-printing .pattern-heading,body.pattern-printing .pattern-settings,body.pattern-printing .pattern-toolbar,body.pattern-printing .pattern-actions,body.pattern-printing .pattern-status,body.pattern-printing footer{display:none!important}
  body.pattern-printing main{max-width:none;margin:0;padding:0}
  body.pattern-printing #patternMode{display:block!important;margin:0;padding:0}
  body.pattern-printing .pattern-layout,body.pattern-printing .pattern-work{display:block;border:0;margin:0;padding:0;overflow:visible}
  body.pattern-printing .pattern-preview-shell{display:block;min-height:0;padding:0;margin:0;background:#fff;overflow:visible}
  body.pattern-printing .pattern-preview-shell:not(.landscape){width:210mm;height:297mm}
  body.pattern-printing .pattern-preview-shell.landscape{width:297mm;height:210mm}
  body.pattern-printing #patternSvg{width:100%!important;height:100%!important;max-width:none;box-shadow:none}
  body.pattern-printing .pattern-empty{display:none!important}
}

/* 털 색상표 · 털결 방향표 전환 */
.palette-tool-tabs{display:flex;gap:6px;padding:5px;border:1px solid #d8e0d3;border-radius:10px;background:#e9eee5}
.palette-tool-tabs button{flex:1;padding:10px 12px;border-radius:7px;color:#6f7e69;font-size:11px;font-weight:700}
.palette-tool-tabs button.selected{background:#fff;color:var(--green);box-shadow:0 2px 7px #294c3c17}
.fur-flow-tool{padding:18px}
.fur-flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}
.fur-flow-heading strong{font-size:13px;color:var(--ink)}
.fur-flow-heading p{margin:5px 0 0;color:#6f7c6a;font-size:10px;line-height:1.6}
.fur-flow-heading>span{flex:0 0 auto;padding:6px 9px;border-radius:14px;background:#e4efde;color:var(--green);font-size:8px;font-weight:700}
.fur-flow-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:12px}
.fur-flow-settings{padding:13px;border:1px solid #d8e0d3;border-radius:10px;background:#fbfcf8}
.fur-photo-card{padding:10px;border:1px solid #dce3d7;border-radius:9px;background:#fff}
.fur-photo-card img{display:block;width:100%;height:105px;margin-bottom:8px;object-fit:contain;border-radius:7px;background:#e8ece5}
.fur-photo-card p{min-height:30px;margin:0 0 8px;color:#788474;font-size:9px;line-height:1.55;word-break:break-all}
.fur-photo-card>div{display:flex;gap:5px}.fur-photo-card .button{flex:1;padding:8px 5px;font-size:8px;white-space:normal}
.fur-flow-field{display:block;margin-top:13px}
.fur-flow-field>span{display:block;margin-bottom:6px;color:#657260;font-size:9px;font-weight:700}
.fur-flow-field>div{display:flex;align-items:center;gap:8px}.fur-flow-field input{width:100%;accent-color:var(--green)}.fur-flow-field output{min-width:31px;text-align:right;color:var(--green);font-size:9px}
.fur-auto-button{width:100%;margin-top:14px;padding:10px;font-size:10px}
.fur-edit-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}
.fur-edit-buttons .button{padding:8px 4px;font-size:8px;line-height:1.3}
.fur-edit-buttons .button.selected{background:var(--green);border-color:var(--green);color:#fff}
.fur-edit-buttons .button:last-child{grid-column:1/-1}
.fur-flow-note{margin:12px 0 0;padding:10px;border-radius:8px;background:#f3f0e6;color:#7f755f;font-size:8px;line-height:1.65}
.fur-flow-work{overflow:hidden;border:1px solid #d8e0d3;border-radius:10px;background:#fff}
.fur-flow-stage{position:relative;background:#e9ece5;overflow:hidden}
#furFlowCanvas{display:block;width:100%;height:auto;aspect-ratio:3/2;cursor:grab;touch-action:none;outline-offset:-4px}
#furFlowCanvas.adding{cursor:crosshair}#furFlowCanvas:active{cursor:grabbing}
.fur-flow-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;background:#eef1ebeb;pointer-events:none}
.fur-flow-empty b{font-size:14px;color:#566551}.fur-flow-empty span{font-size:9px;color:#7d8878}
.fur-flow-actions{display:flex;justify-content:flex-end;gap:7px;padding:11px 13px;border-top:1px solid #e1e5de}
.fur-flow-actions .button{padding:9px 12px;font-size:9px}
.fur-flow-status{margin:0;padding:9px 13px;border-top:1px solid #e1e5de;background:#f7f8f3;color:#71806b;font-size:8px;line-height:1.55}

@media(max-width:900px){.fur-flow-layout{grid-template-columns:1fr}.fur-flow-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.fur-photo-card,.fur-auto-button,.fur-edit-buttons,.fur-flow-note{grid-column:1/-1}}
@media(max-width:760px){.palette-tool-tabs button{padding:9px 5px;font-size:9px}.fur-flow-tool{padding:13px}.fur-flow-heading{display:block}.fur-flow-heading>span{display:inline-block;margin-top:8px}.fur-flow-settings{display:block;padding:10px}.fur-flow-stage{min-height:330px}#furFlowCanvas{min-height:330px;object-fit:contain}.fur-flow-actions{display:grid;grid-template-columns:1fr 1fr}.fur-flow-actions .button{width:100%}}
@media print{.fur-flow-tool{display:none!important}}

/* 털 색상표 · 고양이 안구 공통 */
.palette-page,.eye-page{display:flex;flex-direction:column;gap:16px}
.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 28px}
.tool-heading .eyebrow{font-size:9px;margin-bottom:8px}.tool-heading h2{font-size:21px;margin-bottom:9px}.tool-heading p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.tool-tip{display:flex;align-items:flex-start;gap:10px;max-width:430px;padding:12px 14px;border-radius:9px;background:#f5efe1;color:#71644f;font-size:10px;line-height:1.65}.tool-tip b{flex:0 0 auto;color:#8a6232}.eye-tip{background:#edf2e9;color:#64725e}.eye-tip b{color:var(--green)}
.source-card{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcf7}.source-card img{display:block;width:100%;height:125px;object-fit:contain;border-radius:7px;background:#e7ebe3;margin-bottom:9px}.source-card p{min-height:33px;margin:0 0 10px;color:#7a8675;font-size:9px;line-height:1.65;word-break:break-all}.source-card>div{display:flex;gap:5px}.source-card .button{flex:1;padding:8px 5px;font-size:9px;white-space:normal;line-height:1.3}.source-card .single-upload{width:100%;padding:10px 8px;font-size:10px;font-weight:700}

/* 털 색상표 */
.palette-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:16px;align-items:start}.palette-settings{padding:22px 18px}.palette-settings .panel-heading{margin-bottom:14px}.palette-auto{width:100%;margin-top:10px;padding:11px;font-size:11px}.palette-part-heading{margin-top:22px!important}.palette-small{margin:-4px 0 10px;color:#7e8879;font-size:9px;line-height:1.6}.palette-part-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.palette-part-buttons button{padding:9px 5px;border:1px solid #d5ddd0;border-radius:7px;background:#fff;color:#677461;font-size:10px}.palette-part-buttons button.selected{background:var(--green);border-color:var(--green);color:#fff}.palette-guide{margin-top:15px;padding:12px;border-radius:9px;background:var(--light)}.palette-guide b{font-size:10px;color:var(--green)}.palette-guide ol{margin:7px 0 0;padding-left:18px;color:#74816f;font-size:9px;line-height:1.8}.palette-work{overflow:hidden}.palette-stage{position:relative;background:#e9ece5;overflow:hidden}.palette-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1100/760;cursor:crosshair}.palette-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;background:#edf0e9e8;pointer-events:none}.palette-empty b{font-size:15px;color:#566551}.palette-empty span{font-size:10px;color:#7d8878}.palette-click-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:7px 11px;border-radius:20px;background:#20372ddb;color:#fff;font-size:9px;white-space:nowrap;pointer-events:none}.palette-status,.eye-status{margin:0;padding:10px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f8f3;color:#71806b;font-size:9px;line-height:1.65}.palette-results{padding:20px}.palette-result-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.palette-result-heading span{display:block;margin-bottom:5px;color:#9a794e;font-size:8px;letter-spacing:1.3px}.palette-result-heading h3{margin:0;font-size:14px}.palette-result-heading small{color:#879181;font-size:9px}.blend-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.blend-row{display:grid;grid-template-columns:55px minmax(0,1fr) 55px;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fbfcf7}.blend-row.empty{opacity:.65}.blend-swatch{width:55px;height:55px;border:1px solid #daddd4;border-radius:10px}.blend-row>div b,.blend-row>div span{display:block}.blend-row>div b{font-size:11px}.blend-row>div span{margin-top:5px;color:#758071;font-size:9px}.blend-row label{display:flex;align-items:center}.blend-row input{width:38px;padding:7px 3px;border:1px solid var(--line);border-radius:6px;text-align:center;font-size:11px}.blend-row label span{font-size:10px;color:#687461}.part-result-heading{margin-top:21px}.part-color-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.part-color-card{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.part-color-card.empty{opacity:.65}.part-swatch{flex:0 0 42px;height:42px;border:1px solid #daddd4;border-radius:9px}.part-color-card b,.part-color-card span{display:block}.part-color-card b{font-size:10px}.part-color-card div span{margin-top:4px;color:#7a8575;font-size:8px}.palette-save-row{display:flex;justify-content:flex-end;margin-top:16px}.palette-save-row .button{padding:11px 17px;font-size:11px}

/* 고양이 안구 */
.eye-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.eye-settings{padding:22px 18px}.eye-settings .panel-heading{margin-bottom:14px}.eye-control-heading{margin-top:21px!important}.eye-field{display:block;margin-bottom:13px}.eye-field>span{display:block;margin-bottom:7px;color:#657260;font-size:10px;font-weight:650}.eye-field>div{display:flex;align-items:center;gap:8px}.eye-field input{width:100%;accent-color:var(--green)}.eye-field output{min-width:48px;text-align:right;color:var(--green);font-size:9px}.eye-color-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:13px}.eye-color-buttons button{padding:9px 5px;border:1px solid #d5ddd0;border-radius:7px;background:#fff;color:#667361;font-size:9px}.eye-color-buttons button.selected{background:var(--green);border-color:var(--green);color:#fff}.eye-view-save{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:13px}.eye-view-save .button{font-size:8px;white-space:normal;line-height:1.35;padding:8px 4px}.eye-view-save .text-button{font-size:9px}.eye-work{overflow:hidden}.eye-stage{position:relative;background:#1f2522;overflow:hidden}.eye-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1100/760;cursor:grab;touch-action:none;outline-offset:-4px}.eye-stage canvas.dragging{cursor:grabbing}.eye-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;background:#252b27e8;color:#fff;pointer-events:none}.eye-empty b{font-size:15px}.eye-empty span{font-size:10px;color:#c9d0c7}.eye-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:7px 11px;border-radius:20px;background:#fffefae8;color:#294c3c;font-size:9px;white-space:nowrap;pointer-events:none}.eye-results{padding:20px}.eye-color-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.eye-color-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.eye-color-card.empty{opacity:.65}.eye-swatch{flex:0 0 39px;height:39px;border:1px solid #daddd4;border-radius:50%}.eye-color-card b,.eye-color-card span{display:block}.eye-color-card b{font-size:9px}.eye-color-card div span{margin-top:4px;color:#7a8575;font-size:8px}.eye-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.eye-actions .button{padding:11px 16px;font-size:11px}

@media(max-width:1050px){.palette-layout,.eye-layout{grid-template-columns:1fr}.palette-settings,.eye-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.palette-settings>.panel-heading:first-child,.source-card,.palette-auto,.palette-part-heading,.palette-small,.palette-part-buttons,.palette-guide,.eye-settings>.panel-heading:first-child,.eye-settings>.source-card,.eye-control-heading,.eye-color-buttons,.eye-view-save{grid-column:1/-1}.blend-list{grid-template-columns:1fr}.part-color-list{grid-template-columns:repeat(3,1fr)}.eye-color-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .app-mode-tabs{overflow-x:auto;justify-content:flex-start}.app-mode-tabs button{flex:0 0 auto;min-width:104px;font-size:10px}
  .tool-heading{display:block;padding:19px}.tool-heading h2{font-size:18px}.tool-tip{margin-top:14px;max-width:none}
  .palette-settings,.eye-settings{display:block;padding:16px}.palette-results,.eye-results{padding:15px}.palette-stage canvas,.eye-stage canvas{min-height:360px;object-fit:contain}.blend-list{grid-template-columns:1fr}.blend-row{grid-template-columns:52px minmax(0,1fr) 55px}.part-color-list{grid-template-columns:1fr 1fr}.palette-result-heading{align-items:flex-start}.palette-result-heading small{max-width:110px;text-align:right;line-height:1.5}.eye-color-list{grid-template-columns:1fr 1fr}.eye-actions{display:grid;grid-template-columns:1fr}.eye-actions .button,.palette-save-row .button{width:100%}.palette-save-row{display:block}
}
@media print{.palette-page,.eye-page{display:none!important}}

/* 이번 업데이트: 삭제 버튼, 배합 설명, 안구 실물 출력 */
.button.danger-outline{border-color:#d8b8ae;background:#fff;color:#9a5644}
.button.danger-outline:hover:not(:disabled){border-color:#bd8374;background:#fff6f3;color:#7d3f31}
.compare-view-toolbar button:disabled{opacity:.42;cursor:not-allowed}
.pattern-toolbar>div{flex-wrap:wrap}
.blend-row{align-items:start}
.blend-row>div span{line-height:1.45}
.blend-row>div .blend-recipe{margin-top:8px;color:#8a6840;font-size:8px;line-height:1.5}
.blend-recipe strong{display:inline;color:#684f32}
.eye-print-controls{display:grid;grid-template-columns:minmax(180px,1fr) 120px 105px auto;align-items:end;gap:10px;margin-top:18px;padding:14px;border:1px solid #d9e0d5;border-radius:10px;background:#f5f8f2}
.eye-print-controls>div{min-width:0}
.eye-print-controls label{display:block;margin-bottom:6px;color:#657260;font-size:9px;font-weight:700}
.eye-print-controls input,.eye-print-controls select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d1d9cd;border-radius:7px;background:#fff;color:var(--ink);font-size:10px}
.eye-print-controls .button{padding:10px 13px;font-size:10px;white-space:nowrap}
.eye-print-controls small{grid-column:1/-1;color:#7a8675;font-size:8px;line-height:1.55}
.eye-print-sheet{display:none}

@media(max-width:760px){
  .pattern-toolbar>div{grid-template-columns:1fr 1fr!important}
  .pattern-toolbar #patternRemovePhoto{grid-column:1/-1}
  .eye-print-controls{grid-template-columns:1fr 1fr}
  .eye-print-controls>div,.eye-print-controls .button,.eye-print-controls small{grid-column:1/-1}
}

@media print{
  body.eye-printing>*{display:none!important}
  body.eye-printing>#eyePrintSheet{display:block!important;width:190mm;min-height:277mm;margin:0;background:#fff;color:#1d2b24;font-family:Arial,sans-serif}
  body.eye-printing #eyePrintSheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:15mm;margin-bottom:8mm;padding-bottom:4mm;border-bottom:.3mm solid #c8cec7}
  body.eye-printing #eyePrintSheet h1{margin:0 0 2mm;font-size:15pt}
  body.eye-printing #eyePrintSheet p{margin:0;color:#56645c;font-size:8pt;line-height:1.55}
  body.eye-printing .eye-print-ruler{position:relative;flex:0 0 5cm;width:5cm;height:4mm;margin-top:2mm;border-top:.35mm solid #111}
  body.eye-printing .eye-print-ruler:before,body.eye-printing .eye-print-ruler:after{content:"";position:absolute;top:-1mm;width:.35mm;height:2mm;background:#111}
  body.eye-printing .eye-print-ruler:before{left:0}
  body.eye-printing .eye-print-ruler:after{right:0}
  body.eye-printing .eye-print-ruler span{display:block;margin-top:2mm;text-align:center;font-size:7pt}
  body.eye-printing .eye-print-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5mm}
  body.eye-printing .eye-print-dot{box-sizing:border-box;width:var(--eye-print-size);height:var(--eye-print-size);border:.25mm solid #777;border-radius:50%;object-fit:cover;break-inside:avoid}
}
