:root{--ink:#2b2730;--muted:#6c6673;--paper:#faf7f4;--line:#ddd5ce;--panel:#fff;--accent:#b5174f;--accent-soft:#fbdde7;--lit:#f5aec4;--lit-ink:#6b1533;--lit-glow:#ea6f98;color:var(--ink);background:var(--paper);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.layout{grid-template:auto minmax(0,1fr) auto/minmax(0,3fr) minmax(280px,2fr);gap:16px;height:100dvh;padding:20px 24px;display:grid}.header{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}#prompt{color:var(--muted);margin:0;font-size:clamp(1.1rem,2vw,1.6rem)}#session-button{border:1px solid var(--accent);background:var(--accent);color:#fff;min-height:48px;font:inherit;cursor:pointer;border-radius:6px;flex:none;padding:0 20px}#session-button[hidden]{display:none}#session-button:disabled{opacity:.6;cursor:wait}body[data-state=active] #session-button{color:var(--accent);background:#fff}.map-panel,.side-panel{min-height:0}.map-panel{background:#eee;border:1px solid #111;border-radius:24px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:20px;display:grid}.brand{flex-direction:column;align-items:flex-start;display:flex}.brand img{width:clamp(120px,13vw,170px);height:auto;display:block}.floor-name{color:#000;margin:6px 0 0;font-family:Arial Black,futura-pt,Futura,Hiragino Sans,sans-serif;font-size:clamp(56px,8vw,104px);font-weight:900;line-height:1}.floor-tabs{gap:6px;margin-top:14px;display:flex}.floor-tab{color:#111;min-width:44px;min-height:34px;font:inherit;background:0 0;border:1px solid #111;border-radius:17px;font-weight:700}.floor-tab[aria-current=true]{color:#fff;background:#111}button.floor-tab{cursor:pointer;min-height:44px}span.floor-tab{justify-content:center;align-items:center;display:inline-flex}.map{min-width:0;height:100%}.map svg{width:100%;height:100%;display:block}.floor-outside{fill:#eee}.floor{fill:#fff}.wall,.line{fill:none;stroke:#c6a15e;stroke-miterlimit:10}.lift,.fixture,.fixture-shape{fill:#decdac}.shelf path{fill:#decdac;transition:fill .9s}.shelf text{fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:2px;font-size:8.5px;font-weight:700}.shelf.lit>path{fill:var(--lit)}.shelf.lit text{fill:var(--lit-ink)}.shelf.stroked path{fill:none;stroke:#decdac;transition:stroke .9s}.shelf.stroked.lit>path{fill:none;stroke:var(--lit)}.spot rect,.spot>path{fill:#111;transition:fill .9s}.spot.service rect,.spot.service>path{fill:#7d7d7d}.spot text{fill:#fff;text-anchor:middle;font-weight:600;transition:fill .9s}.spot>path.fixture-shape,.spot.service>path.fixture-shape{fill:#decdac}.spot.lit rect,.spot.lit>path,.spot.lit>path.fixture-shape{fill:var(--lit)}.spot.lit text{fill:var(--lit-ink)}.lit-glow{animation:.9s ease-out both glow-rise,2s ease-in-out .9s infinite alternate glow-breathe}.lit-glow path,.lit-glow rect{fill:var(--lit-glow);stroke:var(--lit-glow);transition:none}.shelf.stroked .lit-glow path{fill:none}@keyframes glow-rise{0%{opacity:0}to{opacity:1}}@keyframes glow-breathe{0%{opacity:1}to{opacity:.6}}@media (prefers-reduced-motion:reduce){.shelf path,.spot rect,.spot>path,.spot text{transition:none}.lit-glow{opacity:.9;animation:none}}.here circle{fill:#1d6fa5;stroke:#fff;stroke-width:1.2px}.here text{fill:#1d6fa5;font-size:7px;font-weight:700}.side-panel{flex-direction:column;gap:12px;display:flex;overflow:hidden}.handoff{border-left:5px solid var(--accent);background:var(--accent-soft);margin:0;padding:12px 16px;font-size:1.15rem;font-weight:600}.cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--line);background:var(--panel);border-radius:6px;grid-template-columns:auto 1fr;column-gap:12px;padding:12px 14px;display:grid}.card-number{background:var(--accent);color:#fff;text-align:center;border-radius:50%;grid-row:span 5;width:36px;height:36px;font-size:1.2rem;font-weight:700;line-height:36px}.card-brand{color:var(--muted);font-size:.85rem}.card-name{font-size:1.2rem;font-weight:600}.card-meta,.card-price{font-size:.95rem}.card-description{color:var(--muted);margin-top:3px;font-size:.9rem}.card.has-image{grid-template-columns:auto 1fr auto}.card.has-image>div:not(.card-number){grid-column:2}.card-image{object-fit:contain;background:#fff;border-radius:4px;grid-area:1/3/span 5;align-self:start;width:104px;height:104px}.info{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:12px 14px;overflow:auto}.info[hidden]{display:none}.info-title{margin:0 0 6px;font-size:1.2rem}.info-lines{margin:0;padding-left:1.2em;font-size:.95rem}.info-lines li+li{margin-top:4px}.caption{margin-top:auto;font-size:1.05rem}.caption p{margin:6px 0 0}.caption-user{color:var(--muted)}.footer{color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:16px;font-size:.95rem;display:flex}@media (orientation:portrait){.map-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.layout{grid-template:auto minmax(0,1fr) minmax(0,1fr) auto/minmax(0,1fr)}}
