.int-view-tabs{display:flex;gap:3px;width:max-content;max-width:100%;padding:3px;margin:0 0 8px;border:1px solid var(--line);border-radius:10px;background:#171a18}
.int-view-tabs button{border:0;border-radius:7px;background:transparent;color:#b9bfbb;padding:7px 18px;font:inherit;font-size:13px;cursor:pointer}
.int-view-tabs button[aria-pressed=true]{background:var(--accent);color:#052b1e;font-weight:600}
.int-view-tabs button:focus-visible,.room3d-tools button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.room3d-host{width:100%;max-width:660px;background:#252a27;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-sizing:border-box}
.room3d-host[hidden]{display:none}
.room3d-host>p{padding:0 12px}
.room3d-host>.dl{margin:0 12px 12px}
.room3d-stage{position:relative;width:100%;height:390px;min-height:260px;background:#e7e8e4}
.room3d-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:grab}
.room3d-stage canvas:active{cursor:grabbing}
.room3d-stage canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.room3d-badge{position:absolute;top:10px;left:10px;border-radius:20px;padding:5px 10px;background:rgba(28,43,35,.8);color:white;font-size:11px;pointer-events:none}
.room3d-tools{display:flex;flex-wrap:wrap;gap:6px;padding:10px 10px 0}
.room3d-tools .dl{font-size:12px;padding:6px 9px;cursor:pointer}
.room3d-note{font-size:12px;line-height:1.45;color:#d7ddd9;margin:10px 0 4px}
.room3d-help{font-size:11px;line-height:1.45;color:#a9b6ad;margin:0 0 12px}
.room3d-loading{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:20px;color:#e3ece7}
.room3d-loading>span:last-child{font-size:13px;line-height:1.6;color:#a9b6ad}
.room3d-view.room3d-expanded{position:fixed;inset:12px;z-index:100000;width:auto;max-width:none;display:flex;flex-direction:column;padding:12px;background:#202622;box-shadow:0 0 0 100vmax #000b}
.room3d-view.room3d-expanded .room3d-stage{flex:1;min-height:0;height:auto;border-radius:10px;overflow:hidden}
.room3d-view>p{padding:0 12px}
.room3d-form{padding:16px;color:#e2e9e5;font-size:13px;line-height:1.5}
.room3d-form [hidden]{display:none!important}
.room3d-fields{border:0;padding:0;margin:0;min-width:0}
.room3d-fields legend{font-size:16px;font-weight:600;padding:0;margin-bottom:12px}
.room3d-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.room3d-modes label{position:relative;cursor:pointer;min-width:0}
.room3d-modes input{position:absolute;opacity:0;width:1px;height:1px}
.room3d-modes span{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #526258;border-radius:9px;text-align:center;padding:3px 7px;box-sizing:border-box;line-height:1.3}
.room3d-modes input:checked+span{border-color:var(--accent);background:#103f2e;color:#81f1bb}
.room3d-modes input:focus-visible+span{outline:2px solid white;outline-offset:2px}
.room3d-form input,.room3d-form select{font:inherit;color:inherit;box-sizing:border-box;max-width:100%}
.room3d-form input[type=text],.room3d-form select{width:100%;background:#171e1a;border:1px solid #526258;border-radius:7px;padding:9px;margin:4px 0 0}
.room3d-form input:focus-visible,.room3d-form select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.room3d-description{min-height:38px;margin:12px 0;color:#becbc3}
.room3d-source{display:flex;align-items:center;gap:10px;margin:12px 0}
.room3d-source img{width:66px;height:52px;object-fit:cover;border-radius:6px}
.room3d-source small,.room3d-saved small{color:#a9b6ad;font-size:11px}
.room3d-dimension-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.room3d-dimension-fields label{min-width:0}
.room3d-dimension-fields input::placeholder{font-size:11px;color:#87988d}
.room3d-upload{display:block;padding:10px;border:1px dashed #61786b;border-radius:8px;margin:12px 0 8px}
.room3d-upload input{display:block;margin-top:7px;width:100%;font-size:12px}
.room3d-upload input::file-selector-button{border:1px solid #526258;border-radius:5px;padding:5px 8px;background:#273e32;color:#d9e9df;cursor:pointer}
.room3d-optional{display:flex;align-items:center;gap:6px;margin:12px 0}
.room3d-photos{display:flex;flex-wrap:wrap;gap:8px}
.room3d-photos>div{position:relative;width:90px;height:68px}
.room3d-photos img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.room3d-photos button{position:absolute;right:2px;top:2px;border:0;border-radius:50%;width:25px;height:25px;background:#101d16e8;color:white;font-size:18px;cursor:pointer}
.room3d-build.dl{background:var(--accent);color:#052b1e;font-weight:600;font-size:13px;margin-top:8px}
.room3d-form :disabled{opacity:.6;cursor:wait}
.room3d-fields:disabled .room3d-modes label{cursor:wait}
.room3d-status{font-size:12px;color:#b9cabf;margin:10px 0 0}
.room3d-status:empty{display:none}
.room3d-error{color:#ffb4ab}
.room3d-saved{display:block;margin-top:16px;padding-top:12px;border-top:1px solid #46544c}
.room3d-saved small{display:block;margin-top:4px}
@media(max-width:600px){.room3d-stage{height:310px}.int-view-tabs button{padding:8px 20px}.room3d-tools .dl{min-height:36px}}
@media(max-width:420px){.room3d-form{padding:12px}.room3d-modes{gap:4px}.room3d-modes span{font-size:12px;padding:4px}.room3d-dimension-fields{grid-template-columns:1fr}.room3d-description{min-height:0}}
