@charset "UTF-8";
:root{font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;color:#3d423b;background:#f5f2ec;font-synthesis:none;--green:#526655;--muted:#92958a;--line:#e8e5dc;--paper:#fbfaf6;--radius:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:default;opacity:.35}button, a, input{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #72896b;outline-offset:4px}button{transition:background .16s,color .16s,transform .16s}button:hover:not(:disabled){filter:brightness(.96)}svg{width:20px;height:20px;flex-shrink:0}.header{height:86px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fcfaf6}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:-.8px}.brand small{font-size:10px;display:block;color:#929287;font-weight:400;letter-spacing:.8px;margin-top:5px}.brand-icon{width:41px;height:45px;color:#64775c;display:grid;place-items:center}.brand-icon svg{width:35px;height:35px}.header-actions{display:flex;align-items:center;gap:12px}.save-status{display:flex;align-items:center;gap:7px;color:#81897c;font-size:11px;margin-right:16px}.save-status i,.editor-footer i{height:5px;width:5px;border-radius:50%;background:#8a9e7d;display:inline-block}.save-status.error{color:#a46546}.save-status.error i{background:#bd7e5e}.button{min-height:40px;padding:0 15px;border:1px solid #e1e2d8;border-radius:8px;font-size:12px;display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#fafbf6}.button.subtle{background:transparent}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.wide{width:100%;margin-top:12px}.photo-button{background:#536851;border-color:#536851;color:#fff}.photo-button svg{width:16px;height:16px}.workspace{height:calc(100dvh - 86px);min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) 338px;padding:22px;gap:0}.stage{position:relative;min-width:0;overflow:hidden;border-radius:20px 0 0 20px;background:#f2eee6;border:1px solid #e6e2d8;border-right:0}.scene-heading{position:absolute;z-index:2;top:28px;left:30px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#929382;font-weight:600}.room-name{display:block;margin:11px 0 0;padding:0;font-size:23px;font-weight:500;letter-spacing:-1px;pointer-events:auto}.edit-name{font-size:17px;margin-left:10px;color:#a6aa9b}.scene-heading p{font-size:11px;color:#97998c;margin-top:9px;letter-spacing:.2px}.scene-top-actions{position:absolute;right:22px;top:23px;display:flex;gap:6px;z-index:2}.icon-button{border:1px solid #e2e1d7;background:#fcfaf5b3;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:16px;color:#828875}.canvas-wrap{position:absolute;inset:30px 0 37px}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.scene-bottom{position:absolute;bottom:80px;left:0;right:0;text-align:center;pointer-events:none}.mode-switch{background:#ffffffc7;border:1px solid #e1dfd5;display:inline-flex;padding:4px;border-radius:50px;pointer-events:auto;box-shadow:0 4px 14px #766c4f07}.mode-switch button{font-size:11px;padding:9px 20px;border-radius:30px;color:#8c8d7f}.mode-switch button.active{background:#62765d;color:#fff}.scene-bottom p{font-size:10px;letter-spacing:.2px;color:#9b9c91;margin:12px 0 0}.view-controls{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;background:#fdfbf7e6;border:1px solid #e0ddd1;padding:4px 7px;border-radius:12px;box-shadow:0 3px 9px #756e5310}.rotate-button{font-size:24px;color:#79836e;width:34px;height:35px;line-height:1}.direction-buttons{display:flex;gap:2px}.direction-buttons button{font-size:10px;padding:9px 11px;white-space:nowrap;border-radius:6px;color:#929886}.direction-buttons button.active{background:#e8eddf;color:#55644d;font-weight:600}.zoom-controls{position:absolute;bottom:24px;right:23px;display:flex;align-items:center;border:1px solid #e2dfd4;border-radius:8px;background:#fcfaf5}.zoom-controls button{width:33px;height:34px;color:#7b836f;font-size:19px}.zoom-controls span{height:14px;border-left:1px solid #e4e1d7}.corner-note{position:absolute;bottom:35px;left:26px;font-size:9px;color:#aaa99b;letter-spacing:.2px}.editor{display:flex;min-height:0;flex-direction:column;background:var(--paper);border:1px solid #e3e2d8;border-radius:0 20px 20px 0;overflow:hidden}.editor-heading{padding:28px 23px 23px;display:flex;align-items:center;justify-content:space-between}.editor-heading h1{font-size:19px;margin:9px 0 0;font-weight:500;letter-spacing:-.7px}.editor-heading .icon-button{align-self:flex-end;width:31px;height:31px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 16px;border-bottom:1px solid var(--line);gap:3px}.tabs button{display:flex;flex-direction:column;gap:6px;align-items:center;padding:5px 0 14px;font-size:11px;color:#a0a092;position:relative}.tabs button>span{font-size:21px;font-weight:300;height:24px}.tabs button.active{color:#586e50}.tabs button.active:after{content:"";height:2px;background:#6f8463;position:absolute;bottom:-1px;left:12px;right:12px}.editor-content{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dadccd transparent;padding:23px}.editor-content h2{font-size:13px;font-weight:600;margin:0 0 7px;letter-spacing:-.4px}.description{font-size:10px;line-height:1.8;color:#9b9d8f;margin:0 0 16px}.control-section+.control-section{margin-top:26px;padding-top:23px;border-top:1px solid var(--line)}.theme-card{display:flex;align-items:center;border:1px solid #e3e4d9;border-radius:10px;width:100%;text-align:left;padding:10px;margin:8px 0;gap:12px;background:#fdfcf8;position:relative}.theme-card.active{border-color:#8c9a7c;background:#f1f3e9}.theme-preview{width:64px;height:48px;border-radius:5px;background:var(--wall);position:relative;overflow:hidden;border:1px solid #00000008;flex-shrink:0}.theme-preview:before{content:"";position:absolute;bottom:-12px;left:-10px;width:90px;height:37px;background:var(--floor);transform:skewY(-14deg);border-top:1px solid #0000000c}.theme-preview:after{content:"";position:absolute;bottom:12px;right:10px;width:30px;height:15px;border-radius:2px;background:var(--fabric);box-shadow:0 4px 0 var(--wood),-19px 2px 0 -4px var(--wood)}.theme-card strong{display:block;font-weight:500;font-size:12px;margin-bottom:5px}.theme-card small{font-size:9px;color:#9a9c8e}.theme-check{margin-left:auto;color:#708364;font-size:13px}.segmented{display:flex;gap:5px;border:1px solid #e4e4da;border-radius:9px;padding:4px;background:#f4f4ed}.segmented button{min-height:34px;flex:1;font-size:11px;color:#939785;border-radius:5px}.segmented button.active{background:#fffefa;box-shadow:0 1px 5px #6c765413;color:#586a4f}.segmented.light button{display:flex;align-items:center;justify-content:center;gap:5px}.switch-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0 0;font-size:12px}.switch{width:32px;height:19px;background:#d5d9ca;border-radius:20px;padding:3px}.switch:before{content:"";display:block;background:white;width:13px;height:13px;border-radius:50%;transition:transform .2s}.switch.on{background:#7d916e}.switch.on:before{transform:translateX(13px)}.tip-card{display:flex;align-items:flex-start;gap:10px;margin-top:25px;padding:14px 12px;border-radius:10px;background:#f0f1e8;color:#969c85;font-size:10px;line-height:1.8}.tip-card span{font-size:16px}.tip-card p{margin:0}.editor-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:7px;padding:16px 8px;color:#9ca28e;font-size:9px}.field-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin:17px 0 10px;color:#7d8473}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.swatch{height:28px;width:28px;border-radius:50%;background:var(--color);border:1px solid #00000010;position:relative;margin:auto}.swatch.active{outline:1.5px solid #75846b;outline-offset:3px}.swatch.active:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:13px;text-shadow:0 1px 3px #3338}.custom-color{display:flex;align-items:center;gap:8px;color:#989b8d;font-size:10px;margin-top:14px}.custom-color input{border:0;padding:0;width:25px;height:25px;background:transparent;cursor:pointer}.custom-color input::-webkit-color-swatch-wrapper{padding:0}.custom-color input::-webkit-color-swatch{border:1px solid #dedfd2;border-radius:50%}.select-input,.text-input{width:100%;height:39px;border:1px solid #dedfd3;border-radius:7px;background:#fdfcf7;color:#63705a;padding:0 10px;font-size:12px}.tile-options{display:flex;gap:9px;margin-top:12px}.material-tile{border:1px solid #e0e0d5;flex:1;border-radius:8px;padding:7px;background:#fdfcf8;font-size:10px;color:#8d9281}.material-tile.active{border-color:#849575;color:#58704f}.material-thumb{height:47px;border-radius:4px;display:block;margin-bottom:8px;background:#dcc3a3}.material-thumb.wood{background-image:url('./assets/textures/oak_wood_planks_diff_1k.jpg');background-size:90px}.material-thumb.tile{background:repeating-linear-gradient(90deg,transparent 0 24px,#c4bbaa 24px 25px),repeating-linear-gradient(0deg,#ded8c9 0 24px,#c4bbaa 24px 25px)}.furniture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:20px}.furniture-item{min-height:62px;border:1px solid #e5e5db;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fcfbf7;font-size:9px;color:#929884}.furniture-item span{font-size:21px;line-height:1;color:#939c83}.furniture-item.active{border-color:#849575;background:#f0f3e9;color:#5c724f}.furniture-item.active span{color:#6f815d}.selected-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding-bottom:10px}.selected-label small{font-size:9px;color:#9b9e91}.move-controls{display:flex;gap:6px;margin-top:14px;align-items:center;justify-content:space-between}.move-pad{display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(2,28px);gap:3px}.move-pad button,.small-button{border:1px solid #e0e3d5;background:#f9faf3;border-radius:5px;color:#78856b}.move-pad button:first-child{grid-column:2}.move-pad button:nth-child(2){grid-column:1}.small-button{font-size:10px;padding:9px 12px}.range-row{display:flex;align-items:center;gap:10px;margin:13px 0}.range-row label{font-size:10px;width:32px;color:#88917c}.range-row input{width:100%;accent-color:#7e916e;height:16px}.range-row output{font-size:10px;color:#8e9782;width:35px}.rug-options{display:flex;gap:9px}.rug-option{flex:1;padding:10px 6px 9px;border:1px solid #e3e3d8;border-radius:8px;font-size:10px;background:#fcfbf7;color:#949b88}.rug-option.active{border-color:#869778;background:#f0f2e9;color:#627654}.rug-option i{display:block;width:45px;height:37px;background:#c7bd9f;margin:0 auto 9px;border:2px double #e1d8bf}.rug-option.oval i{border-radius:50%}.rug-option.round i{width:37px;border-radius:50%}.drawer-handle{display:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;z-index:5;background:#f2eee6;transition:opacity .5s}.loading-house{font-size:48px;color:#829174;animation:breathe 1.6s infinite}.loading strong{font-size:16px;font-weight:500}.loading>span:last-child{font-size:12px;color:#9d9f90}.loading.hidden{opacity:0;pointer-events:none}@keyframes breathe{50%{opacity:.4}}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);padding:13px 21px;border-radius:12px;background:#424f40ec;color:#fff;font-size:12px;box-shadow:0 4px 30px #29382420;z-index:30;opacity:0;pointer-events:none;transition:all .2s;max-width:90vw;text-align:center;line-height:1.5}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #e2e3d5;border-radius:20px;padding:33px;max-width:460px;width:calc(100vw - 36px);background:#fcfaf4;color:#505c47;box-shadow:0 20px 80px #323a2933}dialog::backdrop{background:#3c483b55;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:15px;top:13px;width:30px;height:30px;font-size:23px;color:#929a85}.modal-eyebrow{font-size:10px;letter-spacing:2px;color:#97a187}dialog h2{font-size:22px;font-weight:500;margin:14px 0 14px;letter-spacing:-.7px}dialog p{font-size:12px;line-height:1.95;color:#8b957d}dialog .note{font-size:11px;background:#f0f2e7;padding:13px;border-radius:8px;margin-top:18px}dialog ul{padding-left:18px;font-size:12px;color:#88937b;line-height:2.2}.modal-actions{display:flex;gap:8px;margin-top:18px}.modal-actions .button{flex:1}.focus-mode .workspace{grid-template-columns:1fr}.focus-mode .editor{display:none}.focus-mode .stage{border-right:1px solid #e6e2d8;border-radius:20px}
@media(min-width:1600px){.workspace{max-width:1760px;margin:auto;padding:30px;grid-template-columns:minmax(0,1fr) 360px}.header{padding:0 max(34px,calc((100vw - 1692px)/2))}.editor-content{padding:28px}.scene-heading{left:37px;top:34px}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 300px;padding:14px}.corner-note{display:none}.editor-heading{padding:25px 19px 20px}.editor-content{padding:20px}.zoom-controls{bottom:85px;right:17px}.scene-heading{left:22px;top:25px}.room-name{font-size:21px}}
@media(max-width:760px){.header{height:65px;padding:0 17px}.brand{font-size:17px;gap:5px}.brand small{font-size:8px;letter-spacing:.3px;margin-top:3px}.brand-icon{width:30px}.brand-icon svg{width:28px}.header-actions{gap:7px}.save-status{position:absolute;top:76px;right:22px;z-index:3;font-size:9px;margin:0}.button{min-height:35px;font-size:10px;padding:0 10px}.photo-button span{display:none}.photo-button{width:36px;padding:0}.workspace{height:calc(100dvh - 65px);min-height:510px;display:flex;flex-direction:column;padding:0;gap:0}.stage{flex:1;min-height:305px;border:0;border-radius:0}.scene-heading{left:22px;top:25px}.eyebrow{font-size:8px;letter-spacing:1.7px}.room-name{font-size:19px;margin-top:9px}.scene-heading p{font-size:9px;margin-top:7px}.scene-top-actions{top:46px;right:19px}.scene-top-actions .icon-button{width:29px;height:29px;font-size:14px}.canvas-wrap{inset:30px 0 34px}.scene-bottom{bottom:68px}.scene-bottom p{font-size:8px;margin-top:8px}.mode-switch button{padding:7px 15px;font-size:9px}.view-controls{bottom:14px;padding:3px 4px;gap:3px}.direction-buttons button{font-size:9px;padding:9px 10px}.rotate-button{width:31px;height:31px;font-size:23px}.zoom-controls{bottom:71px;right:15px;flex-direction:column}.zoom-controls button{width:29px;height:29px;font-size:17px}.zoom-controls span{height:0;width:12px;border-left:0;border-top:1px solid #e4e1d7}.editor{border:1px solid #e2e2d6;border-bottom:0;border-radius:20px 20px 0 0;flex:0 0 auto;max-height:50dvh;z-index:3;box-shadow:0 -6px 20px #686c4d06;padding-bottom:env(safe-area-inset-bottom)}.drawer-handle{display:grid;place-items:center;width:100%;height:18px;flex-shrink:0}.drawer-handle span{width:32px;height:3px;border-radius:4px;background:#d5dacb}.editor-heading{display:none}.tabs{padding:0 23px}.tabs button{flex-direction:row;justify-content:center;padding:7px 0 14px;font-size:10px;gap:7px}.tabs button>span{font-size:19px;height:20px}.editor-content{display:none;padding:20px 23px}.editor.open .editor-content{display:block}.editor.open{height:43dvh;min-height:240px}.editor-footer{padding:10px 6px;font-size:8px}.editor.open .editor-footer{display:none}.control-section+.control-section{margin-top:19px;padding-top:18px}.theme-card{margin:7px 0;padding:8px;gap:12px}.theme-preview{height:40px;width:60px}.theme-card strong{font-size:11px}.theme-card small{font-size:9px}.theme-card .theme-check{padding-right:7px}.swatches{display:flex;flex-wrap:wrap;gap:14px}.swatch{margin:0}.toast{bottom:95px;font-size:11px;white-space:normal}.focus-mode .workspace{display:flex}.focus-mode .stage{border:0;border-radius:0}.focus-mode .editor{display:none}.furniture-grid{grid-template-columns:repeat(4,1fr)}.furniture-item{min-height:54px}.tip-card{margin-top:18px}.selected-label small{font-size:10px}}
@media(max-height:650px) and (min-width:761px){.header{height:65px}.workspace{height:calc(100dvh - 65px);min-height:430px;padding:12px}.editor-heading{padding:18px}.scene-heading{top:20px}.scene-bottom{bottom:63px}.scene-bottom p{display:none}.view-controls{bottom:14px}.editor-footer{padding:12px}.canvas-wrap{inset:15px 0 25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.mobile-only{display:none}@media(max-width:760px){.mobile-only{display:grid}.canvas-wrap{inset:85px 0 115px}.zoom-controls button{width:34px;height:34px}.scene-top-actions{gap:5px}.scene-top-actions .icon-button{width:30px;height:30px}.swatch:before{content:"";position:absolute;inset:-6px}}
.loading.hidden{visibility:hidden}
