:root{font-family:system-ui,sans-serif;color:#172033;background:#f7f9fc}*{box-sizing:border-box}body{margin:0;background:#edf3f1;color:#183d32}.access-gate{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.access-card{width:min(100%,28rem);display:grid;gap:1rem;padding:1.5rem;border:1px solid #cad7d2;border-radius:.9rem;background:#fff}.access-card label{display:grid;gap:.35rem}.access-card input,.access-card button,.share-dialog button{min-height:2.5rem;padding:.5rem .75rem}.share-dialog{position:relative}.share-dialog [role=dialog]{position:absolute;z-index:10;top:calc(100% + .5rem);right:0;width:20rem;display:grid;gap:.5rem;padding:.75rem;border:1px solid #8cac9f;border-radius:.6rem;background:#fff;box-shadow:0 .5rem 1.5rem #183d322e}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid #cad7d2;background:#fff}.app-header h1{margin:0;font-size:1.15rem;white-space:nowrap}.header-controls,.mode-controls,.history-controls{display:flex;align-items:center;gap:.5rem}.floor-control{display:flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:700}.floor-control select,.header-controls button{min-height:2.25rem;padding:.4rem .65rem;border:1px solid #8cac9f;border-radius:.5rem;background:#fff;color:#183d32}.header-controls button{cursor:pointer}.header-controls button[aria-pressed=true]{border-color:#1c6b54;background:#dcefe8;font-weight:700}.header-controls button:disabled{cursor:not-allowed;opacity:.45}.draft-status{max-width:14rem;color:#52665f;font-size:.75rem;line-height:1.3}.export-panel{display:flex;justify-content:flex-end;gap:.5rem;padding:.5rem 1.5rem 0}.export-panel button{min-height:2.25rem;padding:.4rem .75rem;border:1px solid #1c6b54;border-radius:.5rem;background:#fff;color:#183d32;cursor:pointer}.workspace{flex:1;min-height:1px;display:grid;grid-template-areas:"library canvas properties" "library issues properties";grid-template-columns:16rem minmax(0,1fr) 16rem;grid-template-rows:minmax(0,1fr) auto;gap:1rem;padding:1rem 1.5rem}.library-panel{grid-area:library}.canvas-panel{grid-area:canvas}.properties-panel{grid-area:properties}.workspace>[aria-label="설계 문제"]{grid-area:issues;padding:1rem;border:1px solid #cad7d2;border-radius:.75rem;background:#fff}.workspace>[aria-label="설계 문제"] h2{margin-top:0}.side-panel{border:1px solid #cad7d2;border-radius:.75rem;padding:1rem;background:#f8fbfa}.side-panel h2{margin:0 0 .75rem;font-size:1rem}.side-panel.library-panel{display:flex;flex-direction:column;gap:1.5rem}.library-grid{display:grid;gap:.5rem}.library-grid button{padding:.6rem .75rem;border:1px solid #8cac9f;border-radius:.5rem;background:#fff;color:#183d32;text-align:left;cursor:pointer}.library-grid button:disabled{opacity:.5;cursor:not-allowed}.panel-hint{color:#52665f;font-size:.875rem}.canvas-panel{min-width:0;overflow:auto;border-radius:.75rem}.reference-controls{display:grid;gap:.6rem;margin:0 0 .75rem;padding:.75rem;border:1px solid #cad7d2;border-radius:.75rem;background:#f8fbfa}.sync-error-banner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .85rem;margin:0 1.5rem 1rem;padding:.75rem 1rem;border:1px solid #b45309;border-radius:.6rem;background:#fff7ed;color:#7c2d12}.sync-error-banner p{margin:0}.sync-error-banner button{padding:.4rem .55rem;border:1px solid currentColor;border-radius:.4rem;background:#fff;color:inherit}.collaboration-status{display:grid;gap:.5rem;margin-bottom:.75rem;padding:.65rem .75rem;border:1px solid #cad7d2;border-radius:.75rem;background:#fff}.collaboration-state-labels{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;font-weight:700}.collaboration-state-labels span{padding:.2rem .5rem;border-radius:999px;background:#dcefe8}.collaboration-state-labels [role=alert]{background:#fde8e8;color:#8c2424}.collaborator-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.collaborator-list li{display:flex;align-items:center;gap:.35rem;font-size:.75rem}.collaborator-list small{color:#52665f}.collaborator-color{width:.65rem;height:.65rem;border-radius:50%;box-shadow:0 0 0 1px #66756f}.reference-controls label{display:grid;gap:.25rem;font-size:.8rem;font-weight:700}.reference-controls small,.reference-controls output{color:#52665f;font-size:.75rem}.reference-controls [role=alert]{margin:0;color:#9f2d2d;font-size:.8rem}.scale-point-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.scale-point-grid input,.scale-point-grid button{min-width:0;padding:.4rem}.object-list{margin-bottom:.75rem;padding:.65rem;border:1px solid #cad7d2;border-radius:.75rem;background:#fff}.object-list p{margin:0 0 .5rem;color:#52665f;font-size:.75rem}.object-list ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.object-list button,.detail-tools button{padding:.4rem .55rem;border:1px solid #8cac9f;border-radius:.4rem;background:#fff;color:#183d32}.object-list button[aria-pressed=true]{border-color:#087f5b;background:#dff5ea;font-weight:700}.editor-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.7fr);gap:1rem}.building-preview{min-height:600px;overflow:hidden;border:1px solid #cad7d2;border-radius:.75rem;background:#eef5f2}.properties-panel label{display:grid;gap:.25rem;margin-bottom:.75rem}.properties-panel input{width:100%;padding:.5rem}.properties-panel dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem}.properties-panel dd{margin:0}.detail-tools{display:grid;gap:.55rem;margin-top:1rem;padding:.75rem;border:1px solid #8cac9f;border-radius:.6rem}.detail-tools legend{font-weight:700}.summary-bar{padding:.75rem 1.5rem;border-top:1px solid #cad7d2;background:#183d32;color:#fff}.summary-bar dl{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:0}.summary-bar dl>div{display:flex;gap:.4rem}.summary-bar dt{color:#bcd5cc}.summary-bar dd{margin:0;font-weight:700}@media(max-width:76rem){.app-header{align-items:flex-start;flex-direction:column}.app-header h1{white-space:normal}.header-controls{flex-wrap:wrap}.workspace{grid-template-areas:"library canvas" "properties canvas" "issues issues";grid-template-columns:15rem minmax(0,1fr);grid-template-rows:auto auto auto}}.version-map-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.version-map-comparison>section{min-width:0}@media(max-width:40rem){.version-map-comparison{grid-template-columns:minmax(0,1fr)}}
