*{box-sizing:border-box;margin:0}:root{--bg: #f3f1ed;--card: #fff;--ink: #222;--muted: #777;--accent: #5e4b45;--line: #e6e2db;--topbar: 48px;--tabbar: calc(56px + env(safe-area-inset-bottom)) }html{-webkit-text-size-adjust:100%}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink);padding-bottom:var(--tabbar);-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font-family:inherit}.topbar{height:var(--topbar);display:flex;align-items:center;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scheme-switch{margin-left:auto;display:flex;gap:2px;background:#f0eeea;padding:2px;border-radius:8px;flex:none}.scheme-switch button{border:0;background:transparent;min-width:36px;height:30px;border-radius:6px;font-size:14px;color:#555}.scheme-switch button.active{background:var(--accent);color:#fff;font-weight:600}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tabbar a{display:flex;align-items:center;justify-content:center;font-size:15px;color:#666}.tabbar a.active{color:var(--accent);font-weight:600;box-shadow:inset 0 3px 0 var(--accent)}#error{background:#fde8e8;color:#9b1c1c;padding:12px 16px;white-space:pre-wrap;font-size:13px}.cover{padding:20px 16px 24px}.hero h1{font-size:24px;letter-spacing:1px}.hero .sub{color:var(--muted);margin-top:4px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0 20px}.stats div{background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 1px 6px #0000000d}.stats dt{font-size:12px;color:var(--muted)}.stats dd{font-size:18px;font-weight:600;margin-top:2px}.entries{display:grid;gap:14px}.entry{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column}.entry:active{transform:scale(.99)}.preview{height:240px;background:#faf9f6;display:flex;align-items:center;justify-content:center;padding:10px;pointer-events:none}.preview svg{max-height:100%}#thumb-3d{padding:0;background:#dbe7f2;height:300px}.entry-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px;border-top:1px solid #eee}.entry-label strong{font-size:17px;white-space:nowrap}.entry-label span{color:var(--muted);font-size:12px;text-align:right}.sheet{padding:10px 10px 16px}.sheet-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 4px 8px}.sheet-bar h2{font-size:15px;font-weight:600}.zoom{display:flex;align-items:center;gap:4px;background:#fff;border-radius:8px;padding:3px;box-shadow:0 1px 6px #00000014}.zoom button{width:36px;height:32px;border:0;border-radius:6px;background:#f2efe9;font-size:18px;color:#333}.zoom span{min-width:34px;text-align:center;font-size:13px;color:#555}.stage{--zoom: 1;--stage-h: calc(100dvh - var(--topbar) - var(--tabbar) - 110px);background:var(--card);border-radius:10px;box-shadow:0 2px 10px #0000000f;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:var(--stage-h)}.stage>div{width:calc(100% * var(--zoom));padding:6px}.stage svg{display:block;width:100%;height:auto}.stage:not(.zoomed) svg{max-height:calc(var(--stage-h) - 12px)}.stage.zoomed{touch-action:pan-x pan-y}.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:#fff;padding:4px;border-radius:10px;box-shadow:0 1px 6px #0000000f}.tabs button{border:0;background:transparent;height:38px;border-radius:7px;font-size:15px;color:#444}.tabs button[aria-selected=true]{background:var(--accent);color:#fff;font-weight:600}.page-model #view3d{position:fixed;top:var(--topbar);left:0;right:0;bottom:var(--tabbar);touch-action:none}.floor-switch{position:fixed;top:calc(var(--topbar) + 10px);left:10px;right:10px;z-index:5;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:#fffffff0;padding:4px;border-radius:10px;box-shadow:0 2px 10px #0000001f}.floor-switch button{border:0;background:transparent;height:36px;border-radius:7px;font-size:14px;color:#444}.floor-switch button.active{background:var(--accent);color:#fff;font-weight:600}@media (min-width: 900px){:root{--topbar: 56px;--tabbar: 0px}.topbar{padding:0 20px}.brand{font-size:17px}.scheme-switch{margin-left:12px}.tabbar{position:static;height:auto;padding:0;margin-left:auto;display:flex;gap:4px;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.tabbar a{padding:6px 14px;border-radius:6px;font-size:14px}.tabbar a:hover{background:#f2efe9}.tabbar a.active{background:var(--accent);color:#fff;box-shadow:none}.cover{max-width:1280px;margin:0 auto;padding:32px 20px 48px}.hero h1{font-size:32px}.stats{grid-template-columns:repeat(6,1fr);gap:12px}.entries{grid-template-columns:repeat(3,1fr);gap:20px}.preview,#thumb-3d{height:380px}.sheet{max-width:1100px;margin:0 auto;padding:16px}.stage{--stage-h: calc(100vh - var(--topbar) - 140px)}.floor-switch{right:auto}.floor-switch button{padding:0 16px}}.details{margin-top:12px;background:var(--card);border-radius:10px;padding:10px;box-shadow:0 2px 10px #0000000f}.details h3{font-size:14px;font-weight:600;margin:2px 4px 8px}.details-grid{display:grid;grid-template-columns:1fr;gap:10px}.detail svg{display:block;width:100%;height:auto}@media (min-width: 600px){.details-grid{grid-template-columns:1fr 1fr}}.eye-view{position:fixed;right:12px;bottom:calc(var(--tabbar) + 14px);z-index:5;height:40px;padding:0 16px;border:0;border-radius:20px;background:#fffffff0;color:var(--accent);font-size:15px;font-weight:600;box-shadow:0 2px 10px #00000026}.eye-view[hidden]{display:none}.light-toggle{position:fixed;right:12px;bottom:calc(var(--tabbar) + 64px);z-index:5;height:40px;padding:0 16px;border:0;border-radius:20px;background:#fffffff0;color:#b3261e;font-size:15px;font-weight:600;box-shadow:0 2px 10px #00000026}.light-toggle[aria-pressed=true]{background:#c62f22;color:#fff3d6}.light-toggle[hidden]{display:none}.tour-btn{position:fixed;right:12px;bottom:calc(var(--tabbar) + 114px);z-index:5;height:40px;padding:0 16px;border:0;border-radius:20px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;box-shadow:0 2px 10px #0003}.tour-btn[hidden],.floor-switch[hidden]{display:none}.tour-bar{position:fixed;left:10px;right:10px;top:calc(var(--topbar) + 10px);z-index:6;background:#fffffff0;border-radius:12px;padding:10px 12px;box-shadow:0 2px 12px #00000026}.tour-bar[hidden]{display:none}.tour-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-room strong{font-size:18px}.tour-room span{margin-left:8px;color:var(--muted);font-size:13px}.tour-exit{border:0;background:#f2efe9;color:#333;height:32px;padding:0 12px;border-radius:8px;font-size:14px}.tour-hint{margin:4px 0 8px;font-size:12px;color:var(--muted)}.tour-rooms{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tour-rooms button{flex:none;border:0;background:#f2efe9;color:#444;height:30px;padding:0 12px;border-radius:15px;font-size:13px}.tour-rooms button.active{background:var(--accent);color:#fff}@media (min-width: 900px){.tour-bar{right:auto;width:420px}}.tour-group{flex:none;align-self:center;font-size:12px;font-weight:600;color:var(--accent);padding:0 2px 0 6px}
