:root{--ink:#263238;--muted:#788186;--line:#e3e7e6;--bg:#f4f5f2;--accent:#245b5a;--pale:#edf3f0;--white:#fff;font-family:'Segoe UI','Malgun Gothic',sans-serif;color:var(--ink);font-size:13px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:9px 13px;transition:background .15s}button:hover{background:#f0f4f2;border-color:#b5c8c1}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}button.primary:hover{background:#194b4a}input,textarea{border:1px solid #d8dfdc;border-radius:5px;padding:10px;outline:none;min-width:0;background:#fff;color:var(--ink)}input:focus,textarea:focus,button:focus-visible{outline:2px solid #7ba8a0;outline-offset:2px}label{display:block;font-size:12px;margin:16px 0 7px;color:#52615f}h1,h2,p{margin-top:0}h2{font-size:18px;letter-spacing:-.6px}small,.muted{color:var(--muted);font-size:11px;line-height:1.7}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#83908c}.brand-mark{width:46px;height:46px;display:grid;grid-template-columns:18px 23px;grid-template-rows:25px 16px;gap:3px;background:#273336;padding:1px;margin-bottom:24px}.brand-mark i:nth-child(1){background:#e1bd36}.brand-mark i:nth-child(2){background:#e8e9e2}.brand-mark i:nth-child(3){background:#3971a3}.brand-mark i:nth-child(4){background:#c55043}.brand-mark.small{width:30px;height:30px;grid-template-columns:11px 14px;grid-template-rows:16px 9px;gap:2px;margin:0}.topbar{height:82px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);gap:20px}.identity{display:flex;align-items:center;gap:12px;min-width:230px}.identity strong{font-size:15px;display:block;letter-spacing:-.5px}.identity span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.project-title{display:flex;flex-direction:column;align-items:center;min-width:200px}.project-title input{border:0;text-align:center;padding:3px;font-size:13px;background:transparent;width:290px}.project-title span{font-size:10px;color:#6b8179;margin-top:5px}.top-actions{display:flex;gap:7px}.top-actions button{font-size:11px}.workspace{display:grid;grid-template-columns:220px minmax(400px,1fr) 266px;min-height:calc(100vh - 114px)}.left-panel,.right-panel{background:#fff}.left-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.right-panel{border-left:1px solid var(--line)}.panel-heading{padding:26px 22px 16px}.panel-heading h2{margin:8px 0 0;font-size:17px}.panel-heading h2 span{float:right;color:#9ca6a1;font-size:11px;margin-top:3px}.panel-heading p{font-size:11px;color:#7b8883;margin:10px 0 0}#face-list{padding:0 12px}.corner-group{margin:6px 0 12px}.corner-label{font-size:10px;font-weight:600;color:#8a9590;margin:10px 10px 5px}.face-button{display:flex;align-items:center;gap:9px;width:100%;border:1px solid transparent;text-align:left;background:transparent;padding:9px 10px;margin:2px 0}.face-button.active{background:var(--pale);border-color:#dce8e1;color:#1e5850}.face-button .face-icon{width:17px;height:23px;border:1.5px solid #9ca9a3;display:inline-block;flex:none;background:linear-gradient(90deg,transparent 45%,#c9d0cc 45%,#c9d0cc 52%,transparent 52%),linear-gradient(transparent 60%,#c9d0cc 60%,#c9d0cc 65%,transparent 65%)}.face-button span:last-child{margin-left:auto;font-size:10px;color:#8b9891}.mini-plan{border-top:1px solid var(--line);margin:14px 22px;padding-top:20px}.mini-plan svg{width:100%;display:block;margin:7px 0}.mini-plan small{font-size:10px}.left-bottom{margin-top:auto;padding:15px 20px 20px}.left-bottom button{width:100%;font-size:11px}.left-bottom textarea{width:100%;font-size:11px;resize:vertical}.canvas-section{display:flex;flex-direction:column;min-width:0}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid var(--line);gap:8px}.tabs{display:flex;gap:3px;background:#e8ece7;padding:4px;border-radius:7px}.tabs button{border:0;background:transparent;font-size:12px;padding:8px 14px;color:#78857e}.tabs button.active{background:white;color:#2e4840;box-shadow:0 1px 4px #22332512}.history-buttons{display:flex;gap:4px}.history-buttons button{padding:4px 9px;font-size:20px;background:transparent}.canvas-meta{display:flex;align-items:center;justify-content:space-between;padding:19px 24px 13px;gap:10px}.canvas-meta>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.canvas-meta strong{font-size:12px}.canvas-meta span:not(.live-dot){font-size:10px;color:#8b9691}.canvas-meta button{font-size:10px;background:transparent;padding:6px 8px}.live-dot{width:6px;height:6px;border-radius:50%;background:#6b9980}#canvas-wrap{margin:0 20px;position:relative;overflow:hidden;flex:1;min-height:480px;height:calc(100vh - 295px);border:1px solid #dce1dc;border-radius:4px;background-color:#e8ebe5;background-image:radial-gradient(#c5cec5 .7px,transparent .7px);background-size:16px 16px}#canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none}.canvas-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 21px;gap:10px;font-size:10px;color:#809087}.zoom-controls{display:flex;align-items:center;gap:4px;flex:none}.zoom-controls button{padding:4px 8px;font-size:11px;background:transparent}.zoom-controls span{width:42px;text-align:center;font-size:10px}.drawing-note{padding:0 22px 15px;font-size:9px;color:#98a29c}.app-footer{height:32px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-top:1px solid var(--line);font-size:9px;color:#8b9790;background:#fafbf9;letter-spacing:.5px}.app-footer b{color:#c5ccc5;padding:0 10px}.property-body{padding:0 22px 25px}.section-label{font-size:11px;font-weight:600;margin:20px 0 10px}.selected-info{padding:11px;background:#f5f6f2;font-size:11px;border-radius:5px;line-height:1.9;color:#617069}.palette{display:flex;flex-wrap:wrap;gap:7px}.color-button{width:39px;height:37px;padding:4px;position:relative;border:1px solid #d6dcd8;border-radius:5px}.color-button i{display:block;width:100%;height:100%;border-radius:2px;border:1px solid #00000010}.color-button.active{outline:2px solid #3f7770;outline-offset:1px}.color-button.active:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 3px #000;font-size:18px}.palette.compact{gap:5px}.compact .color-button{width:25px;height:26px;padding:3px}.segment{display:flex;gap:6px}.segment button{flex:1;font-size:11px}.segment button.active{background:var(--pale);border-color:#8faea2;color:#245b50}.unit-input{display:flex;align-items:center;border:1px solid #d8dfdc;border-radius:5px;background:white}.unit-input input{border:0;width:100%;background:transparent;font-variant-numeric:tabular-nums}.unit-input span{font-size:11px;color:#93a098;padding-right:12px}.inline-presets{display:flex;gap:5px;margin-top:6px}.inline-presets button{font-size:10px;flex:1;padding:5px;background:#f7f8f5;border:0;color:#7a8b80}.full{width:100%;margin-top:18px}.tip{background:#f5f6f0;border-left:2px solid #c4ceae;padding:12px;color:#7b866b;font-size:11px;line-height:1.9;margin:20px 0}.text-button{border:0;background:none;color:#9b7e75;font-size:10px;padding:6px 0}.danger{color:#ad4d42;font-size:11px}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#f2f3ed,#e5ebe4)}.login-card{width:min(440px,90vw);background:white;padding:45px;border:1px solid #dbe2d9;box-shadow:0 20px 90px #2b403015;border-radius:8px}.login-card h1{font-size:28px;letter-spacing:-1.5px;margin:12px 0 18px}.login-card p{line-height:1.9;color:#7a8780;font-size:13px}.login-card input,.login-card button{width:100%}.login-card button{margin-top:14px;padding:13px;display:flex;justify-content:space-between}.login-card small{display:block;margin-top:14px;font-size:10px}#login-error{font-size:11px;color:#a6493e;margin:12px 0 0}dialog{border:1px solid #dce2d9;border-radius:10px;padding:32px;max-width:560px;width:90vw;box-shadow:0 20px 100px #1e302033;color:var(--ink)}dialog::backdrop{background:#172c2455;backdrop-filter:blur(3px)}dialog h2{margin:10px 0 20px}dialog p,dialog li{font-size:13px;line-height:2;color:#6c7c72}dialog ol{padding-left:22px}dialog li{padding-left:4px;margin:10px 0}dialog button{margin:8px 5px 0 0}.dialog-close{position:absolute;right:14px;top:10px;border:0;font-size:23px;padding:3px 8px}.check{font-size:13px;display:flex;align-items:center;gap:10px;margin:20px 0}.check input{accent-color:var(--accent)}#toast{position:fixed;bottom:42px;left:50%;transform:translateX(-50%);padding:12px 22px;color:white;background:#283e35f5;border-radius:7px;box-shadow:0 5px 20px #0002;z-index:30;display:none;max-width:85vw;font-size:12px}#print-root{display:none}.svg-label{font-family:'Segoe UI','Malgun Gothic',sans-serif}.sheet-caption{font-size:11px;color:#89978f}.svg-cell{cursor:pointer}.svg-line{cursor:pointer}
@media(min-width:1700px){.workspace{grid-template-columns:240px minmax(500px,1fr) 290px}.topbar{height:90px}#canvas-wrap{min-height:600px}.property-body{padding:0 26px 25px}.color-button{width:43px;height:40px}}
@media(max-width:1100px){.workspace{grid-template-columns:170px minmax(340px,1fr) 230px}.topbar{padding:0 16px}.identity{min-width:180px}.identity strong{font-size:13px}.top-actions button{padding:8px;font-size:10px}.project-title input{width:230px}.panel-heading,.property-body{padding-left:15px;padding-right:15px}.color-button{width:33px;height:32px}.canvas-toolbar{padding:12px}.tabs button{padding:7px 9px}.mini-plan{margin:14px}.canvas-meta{padding:16px}.canvas-meta span#selection-summary{display:none}}
@media(max-width:800px){.topbar{height:auto;min-height:94px;flex-wrap:wrap;padding:12px;gap:10px}.identity{min-width:150px}.project-title{align-items:flex-end;min-width:140px;margin-left:auto}.project-title input{width:180px;font-size:11px}.top-actions{width:100%;justify-content:flex-end}.workspace{display:flex;flex-wrap:wrap}.left-panel{width:100%;border-right:0;border-bottom:1px solid var(--line)}.left-panel .panel-heading,.mini-plan,.left-bottom{display:none}#face-list{display:flex;overflow:auto;padding:7px;gap:6px}.corner-group{display:contents}.corner-label{display:none}.face-button{white-space:nowrap;min-width:130px;margin:0}.canvas-section{width:100%}#canvas-wrap{height:52vh;min-height:350px;margin:0 10px}.right-panel{width:100%;border-left:0;border-top:1px solid var(--line)}.right-panel .property-body{display:block;max-width:500px;margin:auto}.right-panel .panel-heading{text-align:center}.canvas-footer{padding:10px}.app-footer span:last-child{display:none}.palette .color-button{width:40px;height:38px}.palette.compact .color-button{width:30px;height:30px}.drawing-note{padding-left:12px}}
@page{size:A3 landscape;margin:10mm}
@media print{body{background:white}body>*{display:none!important}body>#print-root{display:block!important}.print-sheet{width:399mm;height:276mm;break-after:page;page-break-after:always;overflow:hidden;font-family:'Malgun Gothic',sans-serif;display:flex;flex-direction:column}.print-sheet:last-child{break-after:auto;page-break-after:auto}.print-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #999;padding:0 0 3mm;font-size:11pt}.print-head strong{font-size:15pt}.print-sheet>svg{display:block;flex:1;min-height:0;width:100%}.print-foot{border-top:1px solid #aaa;padding:2mm 0;font-size:8pt;display:flex;justify-content:space-between}.print-note{font-size:8pt;margin:0 0 2mm;white-space:pre-wrap}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
.face-button .face-icon{background:#f7f8f4;display:grid;place-items:center;font-size:8px;color:#718779;font-weight:700}.corner-label{letter-spacing:.3px}
#canvas-wrap{flex:0 0 auto;height:max(420px,calc(100vh - 295px));min-height:0}#canvas{position:absolute;inset:0}@media(max-width:800px){#canvas-wrap{height:52vh;min-height:350px}}
.perspective-controls{margin:0 20px 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;background:#fff;border:1px solid #e0e6e1;border-radius:6px}.perspective-controls button{font-size:10px;padding:6px 8px}.perspective-presets,.perspective-options,.perspective-exports{display:flex;align-items:center;gap:5px}.perspective-presets button.active{background:#245b5a;color:white;border-color:#245b5a}.perspective-options label{font-size:10px;margin:0 5px;display:flex;align-items:center;gap:4px;white-space:nowrap}.perspective-options input{accent-color:#245b5a}.perspective-exports{margin-left:auto}.tabs button{padding-left:10px;padding-right:10px}@media(max-width:800px){.perspective-controls{margin:0 10px 10px}.perspective-exports{margin-left:0}}
.topbar{height:100px}.design-switch{display:flex;gap:5px;margin:4px 0}.design-switch select{max-width:235px;min-width:130px;border:1px solid #dbe3de;border-radius:4px;padding:4px 6px;font:inherit;font-size:10px;color:#496455;background:white}.design-switch button{font-size:10px;padding:4px 7px}#library-dialog{max-width:900px}#design-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:52vh;overflow:auto;padding:3px}.design-card{text-align:left;padding:12px;background:#f8faf7}.design-card.active{border:2px solid #37796b;background:#f0f6f1}.design-card svg{width:100%;height:110px;background:white;border:1px solid #eef1eb}.design-card strong{display:block;font-size:12px;margin:10px 0 5px}.design-card small{display:block}.design-copy{border-top:1px solid #dce3da;margin-top:20px;padding-top:5px}.design-copy input{width:65%}.design-copy button{font-size:11px}@media(max-width:800px){.topbar{height:auto}.design-switch select{max-width:170px}#design-gallery{grid-template-columns:1fr}.design-copy input{width:100%}}
#design-gallery{max-height:55vh}.design-card{padding:9px}.design-card svg{height:75px}.design-card strong{font-size:11px;margin:6px 0 2px}.design-card small{font-size:10px}
.login-screen{background:radial-gradient(ellipse at 20% 20%,#e5f4fd,transparent 55%),linear-gradient(130deg,#f7f9fb,#edf2f5);padding:32px 16px}.login-card{width:min(460px,100%);padding:36px 42px 32px;border-color:#e1e9ed;border-radius:16px;box-shadow:0 24px 90px #123b6014}.login-logo{display:block;width:176px;height:auto;object-fit:contain;margin:0 auto 25px}.login-card .eyebrow{display:block;color:#6c8595;font-size:10px;letter-spacing:2px}.login-card h1{font-size:27px;margin:12px 0}.login-card p{color:#74818a}.login-card label{margin-top:25px}.login-card input{padding:14px;font-size:16px;letter-spacing:3px}.login-card input::placeholder{font-size:12px;letter-spacing:0}.login-card button{background:#087cba;border-color:#087cba;font-weight:600}.login-card button:disabled{opacity:.6;cursor:wait}.login-card small{text-align:center;color:#93a0a8}.header-logo{object-fit:contain;width:64px;height:50px;flex:none}.identity{gap:10px}@media(max-width:500px){.login-card{padding:28px 25px}.login-logo{width:150px}.login-card h1{font-size:24px}.header-logo{width:48px;height:38px}}
.sheet-controls{display:flex;gap:6px;padding:0 24px 10px}.sheet-controls button{font-size:11px}.sheet-controls button.active{background:#245b5a;color:white}.face-button{font-size:10px}.face-button span:last-child{margin-left:auto;white-space:nowrap}
