:root{color-scheme:light;font-family:Inter,Segoe UI,Yu Gothic UI,Hiragino Sans,Meiryo,sans-serif;--bg: #f6f7fb;--panel: #ffffff;--panel-strong: #eef1f6;--ink: #1e2430;--muted: #687386;--line: #d9dee8;--line-strong: #b9c1ce;--accent: #2775d1;--accent-ink: #ffffff;--green: #0f8f6d;--coral: #d45d4c;--amber: #c68413;--shadow: 0 14px 36px rgba(35, 44, 64, .12)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{background:var(--bg);color:var(--ink);overflow:hidden}button,input,select{font:inherit}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(39,117,209,.28);outline-offset:2px}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:800}.brand strong{display:block;line-height:1.1;white-space:nowrap}.alpha-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#2775d11f;color:#145da8;font-size:10px;font-weight:700;vertical-align:2px}.brand span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:8px;min-width:0}.icon-button,.text-button,.tool-button,.toggle-button,.view-switch button,.segmented button,.template-list button{min-height:36px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:background .14s ease,border-color .14s ease,transform .14s ease}.icon-button:hover,.text-button:hover,.tool-button:hover,.toggle-button:hover,.view-switch button:hover,.segmented button:hover,.template-list button:hover{border-color:var(--line-strong);background:#f9fafc}.icon-button:active,.text-button:active,.tool-button:active,.toggle-button:active,.view-switch button:active,.segmented button:active,.template-list button:active{transform:translateY(1px)}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:8px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:110px;padding:0 12px;border-radius:8px;white-space:nowrap}.text-button.danger{color:#93362e}.icon-button svg,.text-button svg,.tool-button svg,.toggle-button svg,.view-switch svg{width:18px;height:18px;stroke-width:2.1;flex:0 0 auto}.view-switch{display:inline-grid;grid-template-columns:repeat(3,minmax(66px,1fr));min-width:218px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.view-switch button{min-width:0;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-width:0 1px 0 0;border-radius:0;white-space:nowrap}.view-switch button:last-child{border-right:0}.view-switch button.is-active{background:#2775d11a;color:#145da8;font-weight:700}#app{display:flex;flex-direction:column}.alpha-note{margin-left:14px;padding-left:14px;border-left:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.4;max-width:360px}@media(max-width:1180px){.alpha-note{display:none}}.topbar{flex:0 0 auto}.workspace{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:284px minmax(430px,1fr) minmax(430px,1fr);gap:1px;background:var(--line)}.workspace[data-view-mode=plan],.workspace[data-view-mode=three]{grid-template-columns:284px minmax(0,1fr)}.workspace[data-view-mode=plan] .three-pane,.workspace[data-view-mode=three] .plan-pane{display:none}.workspace[data-view-mode=plan] .plan-pane,.workspace[data-view-mode=three] .three-pane{grid-column:2}.workspace[data-panel=hidden] .tool-panel{display:none}.workspace[data-panel=hidden]{grid-template-columns:minmax(430px,1fr) minmax(430px,1fr)}.workspace[data-panel=hidden] .plan-pane{grid-column:1}.workspace[data-panel=hidden] .three-pane{grid-column:2}.workspace[data-view-mode=plan][data-panel=hidden],.workspace[data-view-mode=three][data-panel=hidden]{grid-template-columns:minmax(0,1fr)}.workspace[data-view-mode=plan][data-panel=hidden] .plan-pane,.workspace[data-view-mode=three][data-panel=hidden] .three-pane{grid-column:1}.tool-panel{min-width:0;overflow:auto;background:var(--panel);padding:16px}.tool-section+.tool-section{margin-top:18px}.tool-section h2{margin:0 0 10px;font-size:13px;letter-spacing:0;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool-button{height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px}.tool-button.is-active,.segmented button.is-active{background:#2775d11a;border-color:#2775d185;color:#145da8;font-weight:700}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.roof-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.roof-picker button{padding:8px 4px;font-size:12px}.furniture-picker{display:grid;gap:8px}.furniture-category{border:1px solid var(--line);border-radius:8px;background:#fbfcfe}.furniture-category summary{min-height:34px;display:flex;align-items:center;padding:7px 10px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.furniture-category[open] summary{border-bottom:1px solid var(--line)}.furniture-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.furniture-items button{min-height:32px;min-width:0;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.furniture-items button:hover{border-color:var(--line-strong);background:#f9fafc}.furniture-items button.is-active{background:#2775d11a;border-color:#2775d185;color:#145da8;font-weight:700}.pane-left{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.floor-tabs{display:inline-flex;align-items:center;gap:4px}.floor-tab{min-width:34px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;font-weight:700}.floor-tab:hover{border-color:var(--line-strong);background:#f9fafc}.floor-tab.is-active{background:#2775d11f;border-color:#2775d18c;color:#145da8}.floor-tab.floor-tab-ghost{color:var(--muted);font-weight:600}.segmented button,.template-list button{min-width:0;padding:8px 10px;border-radius:8px}.template-list{display:grid;gap:8px}.template-details{border:1px solid var(--line);border-radius:8px;background:#fbfcfe}.template-details summary{min-height:38px;display:flex;align-items:center;padding:8px 10px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.template-details[open] summary{border-bottom:1px solid var(--line)}.template-details .template-list{padding:10px}.template-details:not([open]) .template-list{display:none}.about-text{padding:10px;font-size:12px;color:var(--muted);line-height:1.6}.about-text p{margin:0 0 8px}.about-text p:last-child{margin-bottom:0}.feedback-address{-webkit-user-select:all;user-select:all;font-weight:700;color:var(--ink)}.feedback-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}.feedback-link:hover{border-color:var(--line-strong);background:#f9fafc}.shortcut-list{display:grid;gap:7px;padding:10px;font-size:12px;color:var(--ink)}.shortcut-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:baseline}.shortcut-row>span:first-child{color:var(--muted);white-space:nowrap}.shortcut-list kbd{display:inline-block;min-width:18px;padding:1px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:#fff;font-family:inherit;font-size:11px;text-align:center}.properties-panel{border:1px solid var(--line);border-radius:8px;background:#fbfcfe;min-height:104px;padding:12px}.empty-state{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.property-grid{display:grid;gap:10px}.property-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.property-grid input,.property-grid select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);min-height:34px;padding:7px 9px}.property-grid input:disabled,.property-grid select:disabled,.property-grid .prop-button:disabled{background:#eef1f4;color:#8a919b;cursor:not-allowed;opacity:1}.property-grid .two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.property-grid label.check{display:flex;flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-size:13px}.property-grid .prop-button{min-height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px}.property-grid .prop-button:hover{border-color:var(--line-strong);background:#f9fafc}.property-grid label.check input{width:auto;min-height:0}.property-grid label.placement-lock{padding-bottom:9px;border-bottom:1px solid var(--line);color:#74480d;font-weight:600}.plan-pane,.three-pane{min-width:0;min-height:0;position:relative;background:#f9fafc}.plan-pane{display:grid;grid-template-rows:46px minmax(0,1fr)}.pane-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px 6px 14px;border-bottom:1px solid var(--line);background:#fff}.pane-actions{display:inline-flex;align-items:center;gap:8px}.toggle-button{min-width:86px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border-radius:8px;white-space:nowrap}.toggle-button.is-active{background:#2775d11a;border-color:#2775d185;color:#145da8;font-weight:700}.pane-bar strong,.three-overlay strong{font-size:14px}.pane-bar span,.three-overlay span{margin-left:8px;color:var(--muted);font-size:12px}#planCanvas,#threeCanvas{display:block;width:100%;height:100%}#planCanvas{cursor:crosshair;background:#fff}#threeCanvas{cursor:grab}#threeCanvas:active{cursor:grabbing}.three-pane{overflow:hidden;background:#e9edf3}.three-overlay{position:absolute;z-index:2;top:12px;left:12px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 24px);padding:9px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.68);background:#ffffffd1;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.three-overlay-row{display:inline-flex;align-items:center}.three-settings{gap:8px}.mini-toggle{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:12px}.mini-toggle svg{width:14px;height:14px;stroke-width:2.1}.mini-toggle:hover{border-color:var(--line-strong);background:#f9fafc}.mini-toggle.is-active{background:#2775d11a;border-color:#2775d185;color:#145da8;font-weight:700}.settings-divider{width:1px;height:20px;background:var(--line)}.floor-visibility:empty+.settings-divider,.settings-divider:has(+.floor-visibility:empty){display:none}.floor-visibility{display:inline-flex;align-items:center;gap:4px}.floor-visibility:empty{display:none}.light-select-label{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.light-select-label svg{width:14px;height:14px;stroke-width:2.1;flex:0 0 auto}.light-select-label select{min-height:28px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px}@media(max-width:1180px){.workspace{grid-template-columns:248px minmax(360px,1fr);grid-template-rows:minmax(420px,1fr) minmax(360px,.86fr)}.workspace[data-view-mode=plan],.workspace[data-view-mode=three]{grid-template-columns:248px minmax(360px,1fr);grid-template-rows:minmax(0,1fr)}.tool-panel{grid-row:1 / 3}.three-pane{grid-column:2}.workspace[data-view-mode=plan] .tool-panel,.workspace[data-view-mode=three] .tool-panel{grid-row:1}}@media(max-width:760px){body{overflow:auto}#app{min-height:100%;height:auto}.topbar{height:auto;align-items:flex-start;flex-direction:column}.top-actions{width:100%;overflow-x:auto;padding-bottom:2px}.view-switch{min-width:204px;grid-template-columns:repeat(3,68px)}.workspace{height:auto;min-height:calc(100vh - 112px);grid-template-columns:1fr;grid-template-rows:auto 62vh 58vh}.workspace[data-view-mode=plan],.workspace[data-view-mode=three]{grid-template-columns:1fr;grid-template-rows:auto minmax(68vh,1fr)}.tool-panel{grid-row:auto;max-height:none}.plan-pane,.three-pane{grid-column:auto}.workspace[data-view-mode=plan] .plan-pane,.workspace[data-view-mode=three] .three-pane{grid-column:1;grid-row:2;height:68vh}}
