/* IsoCity-inspired compact dark chrome; original game identity and DOM controls. */
body.view3d{--gold:#8db8dc;--panel2:#253041;--line:#364252;--dim:#96a5b8;--txt:#e2e8ef}
.view3d #topbar{height:58px;background:#151d29f5;border-bottom:1px solid #5f7c9c55;box-shadow:0 5px 22px #07101c33;gap:15px}
.view3d #topbar .brand{color:#d9c194;letter-spacing:.1em;font-size:12px}
.view3d .glass{background:#182231ed;border:1px solid #63789155;border-radius:9px;box-shadow:0 8px 24px #07101c38;backdrop-filter:blur(14px)}
.view3d #toolbar{left:12px;top:72px;bottom:68px;max-height:none;width:220px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start;scrollbar-width:thin;scrollbar-color:#536479 transparent}
.view3d .tg{grid-column:1/-1;font-size:10px;font-weight:600;letter-spacing:.08em;color:#8fabc6;padding:13px 2px 3px;border-bottom:1px solid #3c4a5b77;margin-bottom:2px}
.view3d .tg:first-child{padding-top:1px}
.view3d .tbtn{position:relative;min-height:80px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:5px 3px 6px;text-align:center;background:linear-gradient(150deg,#293648,#202b3b);border:1px solid #53657b55;border-radius:7px;box-shadow:inset 0 1px #d9e6fa08;font-size:10.5px;line-height:1.3;transition:background .15s,border-color .15s}
.view3d .tbtn .tool-preview{width:66px;height:56px;object-fit:cover;display:block;mix-blend-mode:screen;border-radius:3px;pointer-events:none}
.view3d .tbtn [style*="margin-left"]{margin-left:0!important;color:#91a9c2!important;font-size:9px!important}
.view3d .tbtn i{font-size:21px;width:auto;height:28px}
.view3d .tbtn:hover{background:#34465b;border-color:#9eb9d0}
.view3d .tbtn.on{background:linear-gradient(145deg,#2d4f69,#223b52);border-color:#8ec0e4;color:#e7f3ff;box-shadow:0 0 0 1px #78b9e426}
.view3d .tbtn:focus-visible,.view3d button:focus-visible{outline:2px solid #e5c891;outline-offset:2px}
.view3d #tb-toggle{left:211px;top:69px;z-index:27}
.view3d #side{top:72px;right:12px;bottom:68px;width:310px}
.view3d #side-toggle{right:311px;top:69px}
.view3d #tabs{padding:3px;border-bottom:1px solid #43536877;gap:1px}.view3d .tab{font-size:10px;border-radius:5px}.view3d .tab.on{background:#30465c;color:#d2e5f8;border-bottom-color:#8fb8dc}
.view3d #panel{padding:14px;font-size:12px}.view3d #panel h3{color:#9eb7ce;letter-spacing:.05em}.view3d .row{border-bottom-color:#39465688;padding:6px 0}
.view3d .sbtn,.view3d button.act{background:#263447;border:1px solid #60748c66;box-shadow:none}.view3d .sbtn.on{background:#a8c5df;color:#192c3d;border-color:#d5e9fa}
.view3d input[type=text],.view3d input[type=number],.view3d select{background:#131d2b;border-color:#495d73;color:#e2e8ef}
.view3d #hint{bottom:14px;left:12px;max-width:calc(100% - 570px);padding:10px 12px;font-size:10px;line-height:1.5}
.view3d #toast{top:72px}.view3d #crest{border-color:#c5ac7a}
#selection3d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#camera3d{position:absolute;bottom:14px;right:12px;z-index:23;display:flex;align-items:center;gap:5px;padding:8px 10px;white-space:nowrap}
#camera3d button,#camera3d a{font-family:inherit;font-size:12px;color:#d9e6f0;background:#29394c;border:1px solid #66819b66;border-radius:5px;padding:6px 10px;cursor:pointer;text-decoration:none}
#camera3d button:hover{background:#3c536d}.view-label{font:9px 'Segoe UI',sans-serif;letter-spacing:.12em;color:#9ebbd3;margin-right:8px}
#model-panel{position:absolute;left:50%;top:80px;transform:translateX(-50%);width:min(420px,90vw);max-height:calc(100vh - 120px);overflow:auto;padding:22px;border-radius:12px;z-index:80;line-height:1.6;font-size:13px}
#model-panel h2{font-size:21px;color:#dae7f0}#model-panel label{display:block;margin:12px 0}#model-panel input[type=file]{width:100%}#model-panel small{color:#a9b9c9}#model-close{width:auto;float:right}
body.view3d.tb-collapsed #toolbar{width:66px;padding:7px;grid-template-columns:1fr}
body.view3d.tb-collapsed #toolbar .tg{display:none}body.view3d.tb-collapsed #toolbar .tbtn{min-height:46px;padding:2px}body.view3d.tb-collapsed #toolbar .tool-preview{width:48px;height:42px}
body.view3d.tb-collapsed #tb-toggle{left:63px}body.view3d.side-collapsed #side-toggle{right:12px}
@media(max-width:1100px){#camera3d .view-label{display:none}.view3d #toolbar{width:186px}.view3d #tb-toggle{left:177px}.view3d #side{width:280px}.view3d #side-toggle{right:281px}.view3d #topbar{gap:9px}.view3d #topbar .brand{max-width:85px}.view3d .stat b{font-size:12px}}
@media(max-width:760px){.view3d #toolbar{width:136px;gap:4px;padding:6px}.view3d #tb-toggle{left:127px}.view3d .tbtn{min-height:68px;font-size:9px}.view3d .tbtn .tool-preview{width:49px;height:43px}.view3d #side{width:min(260px,45vw)}.view3d #side-toggle{right:min(261px,45vw)}.view3d #hint{bottom:68px;max-width:calc(100% - 165px)}#camera3d{right:8px;bottom:8px}.view3d #topbar .stat:nth-of-type(n+6){display:none}.view3d #topbar .brand{display:none}}
@media(prefers-reduced-motion:reduce){.view3d .tbtn{transition:none}}
.recipe-line{font-size:10px;color:#a5b6c8;line-height:1.6;padding:5px 0;border-bottom:1px solid #38465755}
