/* Author: Sriram Varadhan */
button.icon-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:46px;min-width:46px;height:46px;min-height:46px;padding:10px;margin:4px;border-radius:12px;vertical-align:middle;box-shadow:0 2px 5px #16385b12;transition:background .15s,box-shadow .15s}
button.icon-action svg.action-icon{background:transparent;border:0;max-height:none;pointer-events:none;display:block;flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
button.icon-action .action-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
button.icon-action:hover,button.icon-action:focus-visible{box-shadow:0 3px 10px #16385b30;outline:2px solid #85abe1;outline-offset:2px}
button.icon-action::after{content:attr(title);position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:7px 10px;border-radius:7px;background:#142943;color:white;white-space:normal;min-width:100px;width:max-content;max-width:230px;font:13px/1.35 system-ui;box-shadow:0 3px 12px #0002;z-index:12000;pointer-events:none;opacity:0;visibility:hidden}
button.icon-action:hover::after,button.icon-action:focus-visible::after{opacity:1;visibility:visible}
.journey-steps button.icon-action{width:100%;height:64px;min-height:64px;margin:0}.journey-steps button.icon-action svg.action-icon{background:transparent;border:0;max-height:none;pointer-events:none;width:25px;height:25px}.journey-steps span.action-label{display:block;border:0;border-radius:0;padding:0}
#shareCard{max-width:760px;padding:20px;background:#f6f9ff;border:1px solid #d8e4f2;border-radius:16px}#shareThumbnail{display:block;width:100%;max-width:480px;height:auto;border-radius:12px;margin-bottom:16px}#shareMessage{display:block;box-sizing:border-box;width:100%;max-width:720px;min-height:130px;padding:12px;border:1px solid #b7c8dc;border-radius:10px;font:15px/1.5 system-ui;background:white}#copyStatus{margin:8px 0;color:#195e49;font-weight:600}#copyStatus:empty{display:none}
@media(hover:none),(pointer:coarse){button.icon-action{width:auto;height:auto;min-height:46px}button.icon-action .action-label{position:static;width:auto;height:auto;margin:0;clip-path:none;white-space:normal;font-size:13px}button.icon-action::after{display:none}.journey-steps button.icon-action{flex-direction:column;height:auto;min-height:82px}.journey-steps span.action-label{width:auto;height:auto}.building-toolbar button.icon-action{padding:7px}}

.journey-steps button.icon-action::before{content:attr(data-step-number);position:absolute;top:5px;left:7px;font:600 10px/18px system-ui;border:1px solid currentColor;border-radius:50%;width:18px;height:18px;opacity:.8}

/* Milestones and saved properties must remain identifiable without hovering. */
.journey-steps button.icon-action{flex-direction:column;height:auto;min-height:106px;padding:25px 8px 12px;gap:8px}
.journey-steps button.icon-action .action-label,#projectList button.icon-action .action-label,.building-walk button.icon-action .action-label{position:static;width:auto;height:auto;margin:0;clip-path:none;white-space:normal;font-size:13px;line-height:1.35}
#projectList button.icon-action,.building-walk button.icon-action{width:auto;height:auto;min-height:46px}
#projectList{list-style:none;padding:0;display:grid;gap:8px}
#projectList button.icon-action{justify-content:flex-start;padding:12px 16px;text-align:left}

.building-stage{position:relative}
.room-navigation{position:absolute;right:22px;bottom:22px;display:grid;grid-template-columns:52px 52px 52px;gap:5px;padding:10px;border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 4px 20px #10294b33;z-index:2}
.room-navigation[hidden]{display:none}
.room-navigation button{width:52px;height:48px;padding:0;margin:0;border-radius:12px;font:28px/1 system-ui;background:#285fa8;color:white;border:1px solid #fff}
.room-navigation button:hover,.room-navigation button:focus-visible{background:#163d74;outline:2px solid #70b7ff}
.room-navigation [data-walk=forward]{grid-column:2}
.room-navigation [data-walk=left]{grid-row:2;grid-column:1}
.room-navigation [data-walk=back]{grid-row:2;grid-column:2}
.room-navigation [data-walk=right]{grid-row:2;grid-column:3}
.room-navigation span{grid-column:1/4;text-align:center;font:12px/1.4 system-ui;color:#18304d}
@media(max-height:500px){.room-navigation{right:8px;bottom:8px;grid-template-columns:44px 44px 44px;padding:5px;gap:3px}.room-navigation button{width:44px;height:38px}}

.stair-setup{padding:16px;border:1px solid #c9d7ec;border-radius:14px;margin:16px 0;background:#f5f8fd}.stair-setup button.icon-action{width:auto;height:auto}.stair-setup button.icon-action .action-label{position:static;width:auto;height:auto;clip-path:none;white-space:normal;margin:0}.stair-directions{grid-column:1/4;display:grid;gap:5px}.room-navigation .stair-travel{width:100%;height:auto;min-height:44px;font:600 13px/1.3 system-ui;padding:8px;background:#6434a0}.building-stage .room-navigation{max-width:230px}

.building-expanded:not(.marking-stairs) .stair-setup{display:none}.building-expanded.marking-stairs .stair-setup{padding:8px;margin:0 0 8px}.building-expanded.marking-stairs .stair-setup h3,.building-expanded.marking-stairs .stair-setup>p:not(.stair-status),.building-expanded.marking-stairs .stair-list,.building-expanded.marking-stairs [data-action=connect-stairs]{display:none}.building-expanded.marking-stairs .stair-status{margin:4px}.building-expanded.marking-stairs .stair-setup [data-action=cancel-stairs]{float:right}.building-expanded>details>p.building-action-status{display:block!important;font-size:13px;line-height:1.3;padding:6px;margin:4px 0}
