.panel{padding:30px 28px;gap:20px;max-height:100dvh;overflow-y:auto;scrollbar-width:thin}
.display.antique-indicator{position:relative;display:block;flex:none;margin:0;width:280px;max-width:100%;height:auto;padding:0 0 4px;border:0;border-radius:0;background:none;box-shadow:none}
.indicator-art{display:block;width:100%;height:auto;overflow:visible}
.dial-tick{stroke:#977343;stroke-width:1;opacity:.75}.dial-tick.major{stroke:#79542e;stroke-width:2}
.dial-number{fill:#665036;text-anchor:middle;dominant-baseline:middle;font-family:'Fraunces',Georgia,serif;font-size:25px;font-weight:700;transition:fill .2s}
.dial-number.is-current{fill:#0b715c}.dial-inscription{fill:#96774b;text-anchor:middle;font-family:'Manrope',sans-serif;font-size:9px;font-weight:600;letter-spacing:2px}
#elevator-needle{transform-origin:160px 182px;transform-box:view-box;transform:rotate(-45deg);transition:transform 320ms cubic-bezier(.25,.82,.32,1.12)}
.is-jump #elevator-needle{transition:none}
.indicator-caption{width:82%;margin:-2px auto 0;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px;border:1px solid #b49760;border-radius:4px;background:linear-gradient(115deg,#c8ac70,#eddbad 44%,#d2b880);box-shadow:inset 0 1px 0 #fff2cb,0 3px 9px #70502616}
.display .code{display:flex;align-items:center;justify-content:center;width:32px;height:34px;flex:none;border-radius:3px;border:1px solid #6d5437;background:#f8efd9;box-shadow:inset 0 1px 4px #5a3b251c;font-size:24px;color:#3f5740}
.indicator-caption-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.indicator-caption-copy>span:first-child{font-size:12px;font-weight:700;color:#4a3826;line-height:1.2}
.display .dir{display:block;font-size:9px;letter-spacing:1.3px;color:#705632;line-height:1.2}
.arrival-light{width:6px;height:6px;flex:none;margin-left:2px;border:1px solid #416248;border-radius:50%;background:#1a765b;box-shadow:0 0 5px #24886455}.is-travelling .arrival-light{background:#b18c35;border-color:#94712c;box-shadow:none}
.buttons{width:224px;max-width:100%;gap:9px}.btn{min-height:48px;gap:14px;border-radius:5px}.btn .k{width:48px;height:48px;font-size:22px;flex:none;border-width:2px;box-shadow:inset 0 1px 1px #fff8e4,0 2px 4px #5a3b251c;transition:transform .12s,box-shadow .18s,border-color .18s,color .18s}.btn .l{width:auto;font-size:13px;color:#63543e}
.btn:hover .k{border-color:#9f804b;box-shadow:inset 0 1px 1px #fff8e4,0 3px 7px #5a3b2530}.btn:active .k{transform:translateY(1px);box-shadow:inset 0 2px 5px #5a3b2530}.btn[data-requested] .k{border-color:#997137;color:#8d5d22}.btn[aria-current="true"] .k{border-color:#0b7f66;box-shadow:inset 0 1px 1px #fff8e4,0 0 0 2px #0b7f6618,0 2px 7px #1d745626}
.btn:focus-visible{outline:2px solid #0b7f66;outline-offset:5px}.btn:focus-visible .k{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:860px){.panel{position:relative;max-height:none;height:auto;flex-direction:column;align-items:center;gap:12px;padding:18px 16px 22px;overflow:visible}.panel .brand{font-size:16px;letter-spacing:3px}.display.antique-indicator{width:240px}.buttons{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.btn{flex-direction:column;justify-content:flex-start;gap:6px;min-width:0}.btn .k{width:44px;height:44px;font-size:19px}.btn .l{max-width:none;width:100%;font-size:11px;line-height:1.3;text-align:center}.display .dir{display:block}.indicator-caption-copy>span:first-child{font-size:12px}main{padding-top:28px}}
@media(max-width:440px){.buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}.display.antique-indicator{width:234px}.btn .l{font-size:12px}.btn .k{width:44px;height:44px}.panel .brand{font-size:16px;letter-spacing:2.5px}}
@media(prefers-reduced-motion:reduce){#elevator-needle,.dial-number,.btn .k{transition:none}.floor{animation:none}}
