:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#173c40;background:#e9eeeb;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}.app{height:100dvh;min-height:600px;display:grid;grid-template-rows:58px minmax(0,1fr) auto;background:#e9eeeb}.top{display:flex;align-items:center;gap:14px;background:#143e43;color:white;padding:0 18px;box-shadow:0 2px 12px #173c4020;z-index:5}.brand{font-size:21px;font-weight:800;white-space:nowrap;letter-spacing:.05em}.brand small{font-size:11px;letter-spacing:.12em;margin-left:8px;color:#a4cec7}.top .project{background:#ffffff19;border:1px solid #ffffff3b;color:white;border-radius:7px;padding:7px 10px;min-width:140px;max-width:250px}.top .project::placeholder{color:#b8d0cc}.spacer{flex:1}.top button,.top label.action{background:#ffffff16;color:white;border:1px solid #ffffff39;border-radius:7px;padding:8px 12px;font-size:13px;white-space:nowrap}.top button:hover,.top label.action:hover{background:#ffffff2c}.top .accent{background:#e7af5b;border-color:#e7af5b;color:#173c40;font-weight:700}.layout{min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 280px}.side{background:#f9fbf9;overflow:auto;border-right:1px solid #d5dfda;padding:16px 15px 28px}.right{border-right:0;border-left:1px solid #d5dfda}.section{margin-bottom:21px}.section h2{font-size:12px;letter-spacing:.1em;color:#64817e;margin:0 0 10px;font-weight:800}.toolgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.tool{border:1px solid #d6e2dc;background:white;border-radius:9px;min-height:44px;font-size:13px;color:#204a4e;display:flex;align-items:center;justify-content:center;gap:6px}.tool:hover,.chip:hover{border-color:#4b908b}.tool.active{background:#196b70;color:white;border-color:#196b70;box-shadow:0 2px 7px #14666c33}.tool .icon{font-size:16px}.field{display:block;margin:10px 0;font-size:13px;color:#55736f}.field span{display:block;margin-bottom:5px;font-weight:700}.field input:not([type=checkbox]):not([type=range]),.field select{width:100%;border:1px solid #cadbd3;border-radius:7px;background:white;color:#173c40;padding:8px;font-size:14px}.field input[type=range]{width:100%;accent-color:#196b70}.row{display:flex;align-items:center;gap:8px}.row .field{flex:1}.check{display:flex;gap:8px;align-items:center;font-size:13px;margin:10px 0;cursor:pointer}.check input{accent-color:#196b70}.button{border:1px solid #b8d0c8;border-radius:8px;background:white;color:#235259;padding:9px 10px;font-size:13px;font-weight:700}.button:hover{background:#edf7f3}.button.wide{width:100%;margin:4px 0}.button.danger{color:#ad4d48;border-color:#edc8c3}.hint{color:#6a837f;font-size:12px;line-height:1.55;margin:9px 0}.chiplist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chip{background:white;border:1px solid #d4e0d9;border-radius:8px;color:#254f52;padding:9px 5px;font-size:12px;min-height:38px}.chip.active{background:#e0f0ed;border-color:#328481;font-weight:800}.canvaswrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#d8e2df}.canvaswrap svg{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.canvaswrap[data-tool=pan] svg{cursor:grab}.canvaswrap[data-tool=pan].dragging svg{cursor:grabbing}.canvaswrap[data-tool=select] svg{cursor:default}.canvasbar{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:8px;pointer-events:none}.canvasbar>*{pointer-events:auto}.floorsel{background:#fff;border:1px solid #c9d9d3;border-radius:9px;box-shadow:0 5px 15px #264f4a1c;display:flex;align-items:center;gap:7px;padding:5px 7px;font-size:13px;font-weight:700}.floorsel select{border:0;background:transparent;padding:6px;color:#1a5255}.floorbutton{border:0;background:#eaf3f0;border-radius:6px;color:#256469;padding:6px 9px;font-weight:700}.canvasfoot{position:absolute;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}.canvasfoot>*{pointer-events:auto}.status{max-width:min(530px,65%);background:#143e43e9;color:#fff;border-radius:8px;padding:10px 13px;font-size:13px;line-height:1.4;box-shadow:0 4px 12px #204b4b24}.zoom{display:flex;background:#fff;border:1px solid #c9d9d3;border-radius:9px;box-shadow:0 5px 15px #264f4a1c;overflow:hidden;align-items:center}.zoom button{border:0;background:white;color:#21595e;font-weight:800;padding:9px 12px}.zoom button:hover{background:#e9f4f0}.zoom span{font-size:12px;color:#627c78;min-width:49px;text-align:center}.empty{border:1px dashed #bad1c9;border-radius:11px;padding:18px 14px;color:#5b7975;text-align:center;font-size:13px;line-height:1.6}.properties{padding-top:2px}.minirow{display:flex;gap:6px;margin:6px 0}.minirow>*{flex:1}.divider{height:1px;background:#e1eae6;margin:15px 0}.flooritem{font-size:13px;color:#50736f;background:#eaf3f0;border-radius:8px;padding:8px 10px}.mobilebar{display:none}kbd{background:#dceae4;border-radius:4px;padding:1px 5px;font:12px monospace}@media(max-width:900px){.layout{grid-template-columns:205px minmax(0,1fr) 230px}.side{padding:13px 10px}.brand small{display:none}.top{gap:7px;padding:0 10px}.top button{padding:8px}}@media(max-width:690px){.app{height:100dvh;min-height:0;grid-template-rows:54px minmax(0,1fr) 220px auto}.top .project{min-width:80px;width:100px}.top button{font-size:12px}.layout{display:contents}.canvaswrap{grid-row:2}.side{grid-row:3;border-top:1px solid #ccd9d3;border-right:0;display:block;padding:10px;overflow:auto}.side.left .section{margin-bottom:12px}.toolgrid{display:flex;overflow:auto}.tool{min-width:90px}.chiplist{display:flex;overflow:auto}.chip{min-width:88px}.side.right{display:none}.canvasbar{top:8px;left:8px;right:8px}.canvasfoot{bottom:8px;left:8px;right:8px}.status{font-size:12px;max-width:70%}.mobilebar{display:block;grid-row:3;position:absolute;right:7px;bottom:8px;z-index:7}.mobilebar button{background:#165e64;color:white;border:0;border-radius:8px;padding:9px}.app.showproperties .left{display:none}.app.showproperties .right{display:block}.app.showproperties .mobilebar button{background:#e7af5b;color:#173c40}}
.furniture-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(53vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 5px 2px;scrollbar-color:#9dbcb3 #edf3ef;scrollbar-width:thin}
.catalog-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:105px;padding:7px 5px 8px;border:1px solid #d4e0d9;border-radius:9px;background:#fff;color:#254f52;text-align:center;font-size:12px;line-height:1.3}
.catalog-item:hover{border-color:#4b908b;background:#f5faf7}.catalog-item.active{border-color:#328481;background:#e0f0ed;box-shadow:inset 0 0 0 1px #328481;font-weight:800}
.catalog-art{height:65px;width:100%;display:flex;align-items:center;justify-content:center}.catalog-art img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.catalog-label{min-height:2.5em;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}
.catalog-item:focus-visible{outline:3px solid #e7af5b;outline-offset:1px}.canvaswrap.space-pan svg{cursor:grab!important}.canvaswrap.space-pan.dragging svg{cursor:grabbing!important}
@media(max-width:690px){.furniture-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:175px;overflow-y:auto}.catalog-item{min-height:98px}.catalog-art{height:55px}}

.room-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:8px 0 12px}.room-mode{min-height:42px;padding:7px 3px;border:1px solid #d6e2dc;border-radius:8px;background:#fff;color:#204a4e;font-size:13px;font-weight:700;white-space:nowrap}.room-mode:hover{border-color:#4b908b}.room-mode.active{background:#196b70;border-color:#196b70;color:#fff}.room-mode:focus-visible{outline:2px solid #e7af5b;outline-offset:2px}

.site-footer{background:#143e43;padding:8px 16px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 18px}.footer-links a{color:#d9eae6;font-size:12px;text-decoration:none}.footer-links a:hover,.footer-links a:focus-visible{text-decoration:underline}#google-status:empty{display:none}#google-status{margin:4px 0 8px}@media(max-width:690px){.site-footer{grid-row:4;padding:6px 10px}.footer-links{gap:3px 12px}.footer-links a{font-size:11px}}

.minirow .button.active{background:#196b70;border-color:#196b70;color:#fff}
.top .project{max-width:230px;min-width:150px}.top #building-select{max-width:180px;min-width:120px;border:1px solid #ffffff3b;border-radius:7px;background:#ffffff19;color:white;padding:7px;font-size:13px}.top #building-select option{color:#173c40;background:white}.top label.action{cursor:pointer}.top [data-action=add-building]{font-size:21px;line-height:1;padding:5px 10px}
@media(max-width:900px){.top{overflow-x:auto;scrollbar-width:thin}.top .project{flex:0 0 145px}.top #building-select{flex:0 0 125px}.top button,.top label.action{flex-shrink:0}}
@media(max-width:690px){.top .spacer{display:none}.top .project{flex:0 0 108px;min-width:108px}.top #building-select{flex:0 0 110px;min-width:110px}}
