*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body{background:linear-gradient(#fdf6ee,#f0e2d2)}#app,#app canvas{position:fixed;inset:0}.hidden{display:none!important}#hover-label{color:#5a4a42;pointer-events:none;white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%,-100%);box-shadow:0 2px 10px #5a4a422e}#floor-switcher{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border-radius:999px;gap:6px;padding:6px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #5a4a4229}#floor-switcher button{color:#7a6a60;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}#floor-switcher button:hover{background:#5a4a4214}#floor-switcher button.active{color:#fdf6ee;background:#5a4a42}#info-card{background:#fffffff0;border-radius:16px;width:260px;padding:18px;position:fixed;top:22px;right:22px;box-shadow:0 6px 24px #5a4a4233}#info-card h2{color:#4a3f39;margin-bottom:2px;font-size:18px}#info-card .dept-meta{color:#9a8a80;margin-bottom:10px;font-size:12px}#info-card p{color:#6a5a50;font-size:13px;line-height:1.5}#info-card .swatch{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}#error-banner{color:#fff;z-index:10;background:#b23a48;padding:12px 20px;font-size:14px;position:fixed;top:0;left:0;right:0}.demo-pill{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#5a4a42;z-index:6;background:#ffffffd9;border:none;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;position:fixed;top:22px;left:22px;box-shadow:0 4px 18px #5a4a4229}.demo-pill:hover{background:#fffffff5}.demo-pill.active{color:#fff7f0;background:#e07a5f}.demo-panel-body{z-index:6;background:#fffffff0;border-radius:16px;width:240px;max-width:calc(100vw - 44px);max-height:calc(100vh - 130px);padding:10px;position:fixed;top:64px;left:22px;overflow-y:auto;box-shadow:0 6px 24px #5a4a4233}.demo-dept{letter-spacing:.08em;text-transform:uppercase;color:#9a8a80;margin:10px 8px 4px;font-size:11px;font-weight:700}.demo-dept:first-child{margin-top:2px}.demo-entry{text-align:left;color:#5a4a42;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.demo-entry:hover{background:#5a4a4214}.demo-entry.soon{color:#b8aca4;cursor:default}.demo-entry.soon:hover{background:0 0}.demo-soon-tag{color:#b8aca4;white-space:nowrap;background:#5a4a4212;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.demo-entry.running{color:#fff7f0;background:#e07a5f}.demo-entry.running:hover{background:#e07a5f}.story-exit{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#5a4a42;z-index:5;background:#ffffffd9;border:none;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;position:fixed;top:64px;left:22px;box-shadow:0 2px 10px #5a4a422e}.story-exit:hover{color:#e07a5f}.story-rail{z-index:5;width:22px;height:min(320px,52vh);position:fixed;top:50%;right:16px;transform:translateY(-50%)}.story-rail-track,.story-rail-fill{border-radius:999px;width:3px;position:absolute;left:50%;transform:translate(-50%)}.story-rail-track{background:#5a4a422e;top:0;bottom:0}.story-rail-fill{background:#e07a5f;height:0%;top:0}.story-dot{cursor:pointer;background:0 0;border:none;width:16px;height:16px;padding:0;position:absolute;left:50%;transform:translate(-50%,-50%)}.story-dot:after{content:"";background:#ffffffeb;border-radius:50%;width:8px;height:8px;margin:4px;transition:background .15s,box-shadow .15s,transform .15s;display:block;box-shadow:0 0 0 2px #5a4a4240}.story-dot.reached:after{background:#e07a5f;box-shadow:0 0 0 2px #e07a5f59}.story-dot.current:after{transform:scale(1.3)}.story-caption{z-index:5;background:#fffffff0;border-radius:16px;max-width:min(340px,100vw - 44px);padding:14px 18px;display:grid;position:fixed;bottom:22px;left:22px;box-shadow:0 6px 24px #5a4a4233}.story-caption-layer{opacity:0;grid-area:1/1;transition:opacity .2s}.story-caption-layer.visible{opacity:1}.story-caption-layer h3{color:#4a3f39;margin-bottom:2px;font-size:14px}.story-caption-layer p{color:#6a5a50;font-size:12.5px;line-height:1.45}
