/* MT3W-0..2R / MITSUMOTARO 3D CUSTOM SHOP — workshop-style interior */
.mt3c-interior-modal{position:fixed;inset:0;z-index:186;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 22%,rgba(53,46,74,.72),rgba(10,11,18,.96) 66%);backdrop-filter:blur(5px);overflow:hidden;touch-action:auto}
.mt3c-interior-modal.hidden,.mt3c-interior-modal .hidden{display:none!important}
.mt3c-room{width:min(1180px,100%);height:min(760px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);min-height:0;display:flex;flex-direction:column;overflow:hidden;border:2px solid #d5b57b;border-radius:20px;background:#f4ead5;box-shadow:0 22px 85px rgba(0,0,0,.68),0 0 0 5px rgba(213,181,123,.13);color:#3f3024;font-family:system-ui,-apple-system,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
.mt3c-room-header{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:10px 16px;background:linear-gradient(90deg,#6d452a,#8c5a34 58%,#59402f);color:#fff6e4;border-bottom:1px solid #c99c5d}
.mt3c-room-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f1d49a;color:#5e3d25;font-size:24px;box-shadow:inset 0 0 0 2px rgba(91,57,30,.18)}
.mt3c-room-header small{display:block;margin-bottom:2px;color:#e7cfac;font-size:9px;font-weight:900;letter-spacing:.15em}
.mt3c-room-header h2{margin:0;font-size:clamp(18px,2.4vw,25px);line-height:1.15}
.mt3c-room-close{margin-left:auto;width:38px;height:38px;flex:0 0 38px;border:1px solid #c9a97a;border-radius:50%;background:#5f4431;color:#fff6e4;font:900 24px/1 system-ui;cursor:pointer}
.mt3c-room-close:hover{background:#76553d}
.mt3c-room-content{flex:1 1 auto;height:0;min-height:0;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);grid-template-rows:minmax(0,1fr);gap:10px;padding:10px;background:#ddcba9;overflow:hidden}
.mt3c-room-scene{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden;border:5px solid #7b4d2d;border-radius:13px;background:linear-gradient(#d8e6df 0 46%,#caa574 46% 49%,#b88755 49% 100%);box-shadow:inset 0 0 0 2px #e6c990}
.mt3c-room-window{position:absolute;left:5%;top:6%;width:31%;height:34%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border:8px solid #815232;background:linear-gradient(#9fd3eb,#eaf5f2)}
.mt3c-room-window i{border:1px solid rgba(102,77,52,.34)}
.mt3c-room-window:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-15px;height:15px;background:#765034;border-radius:3px}
.mt3c-room-shelf{position:absolute;right:4.5%;top:12%;width:31%;height:12%;display:flex;align-items:center;justify-content:space-around;border:5px solid #815232;border-top:12px solid #8f5d37;background:#e8d1a8;font-size:clamp(23px,3vw,37px);filter:drop-shadow(0 4px 3px rgba(70,44,24,.22))}
.mt3c-room-wall-sign{position:absolute;right:5%;top:30%;padding:8px 12px;border:4px solid #795033;border-radius:7px;background:#fff1cf;color:#72503a;font-size:clamp(9px,1.4vw,14px);font-weight:900;letter-spacing:.08em;transform:rotate(-1deg)}
.mt3c-room-bench{position:absolute;left:4%;bottom:9%;width:27%;height:17%;border-top:12px solid #8c5a34;background:linear-gradient(90deg,#775036 0 6%,transparent 6% 47%,#775036 47% 53%,transparent 53% 94%,#775036 94% 100%)}
.mt3c-room-bench i{position:absolute;top:-35px;width:30px;height:29px;border-radius:4px;background:#7b68d8;box-shadow:42px 4px 0 #55c7aa,84px -2px 0 #f0c779}
.mt3c-room-floor{position:absolute;left:-5%;right:-5%;bottom:-3%;height:38%;z-index:0;background:repeating-linear-gradient(90deg,rgba(111,73,43,.23) 0 2px,transparent 2px 86px),linear-gradient(#c09161,#ad784a);transform:perspective(450px) rotateX(63deg);transform-origin:center bottom}
.mt3c-room-exhibit{position:absolute;left:50%;bottom:7%;z-index:2;width:45%;height:22%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:none}
.mt3c-room-exhibit>span{margin-bottom:4px;padding:3px 8px;border-radius:999px;background:#fff1cd;border:2px solid #8b5b38;color:#754b2f;font-size:10px;font-weight:900}
.mt3c-room-exhibit>div{width:76%;height:18px;border-radius:50%;background:#6c4831;box-shadow:0 8px 0 #4f3424,0 13px 22px rgba(66,40,20,.35)}
.mt3c-room-exhibit>b{margin-top:7px;color:#755139;font-size:10px;letter-spacing:.12em}
.mt3c-viewer{position:absolute;z-index:4;left:25%;right:22%;top:9%;bottom:20%;touch-action:none;cursor:grab;user-select:none}
.mt3c-viewer:active{cursor:grabbing}
.mt3c-viewer-canvas{display:block;width:100%;height:100%}
.mt3c-viewer-loading{position:absolute;z-index:6;left:50%;top:48%;transform:translate(-50%,-50%);padding:9px 12px;border:1px solid #d2b57f;border-radius:9px;background:rgba(255,249,233,.94);color:#705239;font-size:12px;font-weight:800;box-shadow:0 8px 28px rgba(67,43,24,.16)}
.mt3c-viewer-loading.hidden{display:none!important}.mt3c-viewer-loading[data-state="error"]{color:#9d2e35;background:#fff0ef;border-color:#d78f92}
.mt3c-view-controls{position:absolute;z-index:7;left:50%;bottom:3%;transform:translateX(-50%);display:flex;gap:7px;align-items:center}
.mt3c-view-controls button{min-width:42px;height:36px;padding:0 11px;border:1px solid #8c6847;border-radius:9px;background:rgba(255,246,224,.94);color:#5f412d;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 4px 13px rgba(73,46,24,.18)}
.mt3c-view-controls button:first-child,.mt3c-view-controls button:last-child{font-size:21px;padding:0;width:42px}
.mt3c-room-panel{height:100%;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #d6bb8d;border-radius:12px;background:linear-gradient(#fffaf0,#f5ead7);box-shadow:inset 0 1px 0 #fff}
.mt3c-panel-kicker{color:#7862bd;font-size:10px;font-weight:900;letter-spacing:.15em}
.mt3c-room-panel h3{margin:5px 0 9px;color:#5a3e2a;font-size:clamp(22px,3vw,31px);line-height:1.18}
.mt3c-room-panel p{margin:0;color:#5c5146;font-size:13px;line-height:1.7}
.mt3c-intro-steps{display:grid;gap:7px;margin:16px 0 12px}
.mt3c-intro-steps span{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #ddc69c;border-radius:10px;background:#fffdf7;font-size:12px;font-weight:800;color:#594a3d}
.mt3c-intro-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#58cbb0,#8b70d8);color:#fff;font-size:12px}
.mt3c-phase-note{margin:0 0 14px!important;padding:10px 11px;border-left:3px solid #826aca;border-radius:0 9px 9px 0;background:#f0ebff;color:#5c4b7a!important;font-size:11px!important}
.mt3c-room-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px}
.mt3c-room-actions button{min-height:42px;padding:0 15px;border-radius:10px;font:900 12px/1 system-ui;cursor:pointer}
.mt3c-primary{border:1px solid #5f9f8c;background:linear-gradient(135deg,#63d6b8,#8d72dc);color:#fff;box-shadow:0 7px 17px rgba(101,97,178,.17)}
.mt3c-primary:disabled{opacity:.5;cursor:default;filter:saturate(.45)}
.mt3c-secondary{border:1px solid #c6a77c;background:#fff8e8;color:#674a32}
.mt3c-help{margin-bottom:12px!important;color:#6c5a4c!important;font-size:11px!important}
.mt3c-option-groups{display:grid;gap:9px}
.mt3c-option-group{margin:0;padding:9px 10px 10px;border:1px solid #ddc79d;border-radius:11px;background:#fffdf8}
.mt3c-option-group legend{padding:0 5px;color:#684830;font:900 12px/1.2 system-ui}
.mt3c-option-row{display:flex;gap:6px;flex-wrap:wrap}
.mt3c-option-row button{flex:1 1 98px;min-height:38px;padding:6px 8px;border:1px solid #d5c0a0;border-radius:9px;background:#f8efdf;color:#5f4b3a;font:800 11px/1.25 system-ui;cursor:pointer}
.mt3c-option-row button small{display:block;margin-top:2px;color:#8a7867;font-size:9px;font-weight:700}
.mt3c-option-row button.is-active{border-color:#7761c8;background:linear-gradient(135deg,#e6faf3,#ece6ff);color:#4f3d75;box-shadow:inset 0 0 0 1px rgba(119,97,200,.13)}
.mt3c-option-row button.is-active small{color:#66558d}
.mt3c-estimate{margin-top:12px;padding:11px 12px;border:1px solid #c8b8de;border-radius:11px;background:linear-gradient(135deg,#f5fbf8,#f1edff)}
.mt3c-estimate-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid #dbd2e8}
.mt3c-estimate-title span{color:#604b3b;font-size:12px;font-weight:900}.mt3c-estimate-title strong{color:#6550b0;font-size:21px;font-weight:900}
.mt3c-estimate-lines{display:grid;gap:4px;padding:8px 0 6px}.mt3c-estimate-lines div{display:flex;justify-content:space-between;gap:10px;color:#66584d;font-size:10px;font-weight:700}.mt3c-estimate-lines b{color:#4c3f37}.mt3c-estimate small{display:block;color:#8b7e73;font-size:9px;line-height:1.4}
.mt3c-custom-actions{margin-top:10px}
@media(max-width:760px){
 .mt3c-interior-modal{padding:max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}
 .mt3c-room{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);border-radius:14px}
 .mt3c-room-header{padding:7px 9px}.mt3c-room-mark{width:34px;height:34px;font-size:20px}.mt3c-room-header h2{font-size:17px}.mt3c-room-header small{font-size:8px}.mt3c-room-close{width:35px;height:35px;flex-basis:35px}
 .mt3c-room-content{grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(180px,38dvh,285px) minmax(0,1fr);gap:6px;padding:6px}
 .mt3c-room-scene{border-width:4px}.mt3c-room-panel{height:100%;padding:10px;scrollbar-gutter:auto}.mt3c-room-panel h3{font-size:22px}.mt3c-room-panel p{font-size:12px;line-height:1.55}
 .mt3c-viewer{left:19%;right:17%;top:5%;bottom:17%}.mt3c-room-window{width:27%;height:30%}.mt3c-room-shelf{width:27%;font-size:22px}.mt3c-room-bench{width:24%;height:15%}.mt3c-room-wall-sign{font-size:8px}
 .mt3c-view-controls{bottom:2%}.mt3c-view-controls button{height:34px}.mt3c-room-actions{display:grid;grid-template-columns:1fr}.mt3c-room-actions button{width:100%;min-height:43px}.mt3c-option-row button{min-height:40px;flex-basis:88px}
}
@media(max-height:520px) and (orientation:landscape){
 .mt3c-room{height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}
 .mt3c-room-header{padding:4px 8px}.mt3c-room-content{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:minmax(0,1fr);gap:5px;padding:5px}.mt3c-room-panel{padding:8px}.mt3c-viewer{top:3%;bottom:17%}.mt3c-room-panel h3{font-size:18px}.mt3c-intro-steps{margin:8px 0}.mt3c-intro-steps span{padding:6px 8px}.mt3c-phase-note{margin-bottom:8px!important}.mt3c-option-groups{gap:5px}.mt3c-option-group{padding:6px 7px}.mt3c-estimate{margin-top:7px;padding:7px}
}
@media(prefers-reduced-motion:reduce){.mt3c-room-actions button,.mt3c-option-row button{transition:none}}

/* Visible, lightweight invitation to rotate the floating showroom model. */
.mt3c-viewer-hint{position:absolute;z-index:6;left:50%;bottom:13%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100% - 16px);padding:6px 12px;border:1px solid rgba(111,84,51,.48);border-radius:99px;background:rgba(255,249,234,.90);box-shadow:0 5px 14px rgba(75,45,20,.14);color:#62422f;font-size:11px;font-weight:900;line-height:1.3;white-space:nowrap;pointer-events:none;user-select:none}
.mt3c-viewer-hint small{display:block;font-size:9px;color:#866c55;font-weight:700}
.mt3c-hint-gesture{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:linear-gradient(135deg,#e5dcff,#c9f4e8);color:#5b49a4;font-size:21px;animation:mt3c-orbit-invite 2.7s ease-in-out infinite}
@keyframes mt3c-orbit-invite{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@media(max-width:760px){.mt3c-viewer-hint{bottom:14%;gap:5px;padding:4px 9px;font-size:10px}.mt3c-viewer-hint small{font-size:8px}.mt3c-hint-gesture{width:23px;height:23px;flex-basis:23px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.mt3c-hint-gesture{animation:none}}

/* Always-visible motion status + switch. The version proves which JS/CSS is loaded. */
.mt3c-enable-motion{position:absolute;z-index:8;right:10px;top:10px;max-width:calc(100% - 20px);padding:7px 11px;border:1px solid #8872bd;border-radius:999px;background:rgba(250,245,255,.96);box-shadow:0 5px 15px rgba(55,33,72,.16);color:#51407c;font:800 11px/1.4 system-ui;cursor:pointer}
.mt3c-enable-motion[aria-pressed="false"]{border-color:#a99582;color:#74543b;background:rgba(255,250,242,.97)}
.mt3c-enable-motion:focus-visible{outline:3px solid #7c68d1;outline-offset:3px}
@media(max-width:760px){.mt3c-enable-motion{right:5px;top:6px;font-size:9px;padding:5px 8px}}
