:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(20px,5.333333vw,40px);line-height:1.6;color:#30383f;background:#fff;color-scheme:light;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #f86720;outline-offset:-2px}[hidden]{display:none!important}.app{height:100vh;height:100dvh;min-height:280px;width:100%;max-width:750px;margin:auto;display:flex;flex-direction:column;overflow:hidden;background:#fff}.browser-header{flex-shrink:0;height:46px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;background:#fff}.browser-header h1{font-size:16px;font-weight:500;margin:0;text-align:center}.browser-header button{height:46px;font-size:12px}.browser-header #back{font-size:32px}.map-header{flex-shrink:0;background:#fff;border-bottom:.025rem solid #e8e8e8;padding:0 .8rem}.legend{display:flex;align-items:center;justify-content:center;overflow-x:auto;white-space:nowrap;padding:.6rem 0;scrollbar-width:none}.legend::-webkit-scrollbar,.selected::-webkit-scrollbar{display:none}.legend.many{justify-content:flex-start}.legend-item{display:flex;align-items:center;margin:0 .35rem;color:#777;font-size:.5rem;white-space:nowrap}.legend-dot{box-sizing:content-box;width:.6rem;height:.6rem;margin-right:.2rem;border:.025rem solid #00000040;border-radius:50%;flex-shrink:0}.stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#f6f6f6}#map{position:absolute;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.minimap{position:absolute;top:0;left:0;background:#000b;pointer-events:none;opacity:0;z-index:1}.reset{position:absolute;right:.8rem;top:.5rem;min-height:1.6rem;display:flex;align-items:center;justify-content:center;line-height:1.2;padding:.2rem .55rem;border-radius:.8rem;background:#0009;color:#fff;font-size:.6rem;z-index:2}.reset:after{content:"";position:absolute;inset:-8px}.booking{position:relative;flex-shrink:0;width:calc(100% - 1.6rem);margin:0 .8rem max(.8rem,env(safe-area-inset-bottom));z-index:3;background:transparent}.activity{background:#fff;border-radius:.8rem;margin-bottom:.6rem;padding:.8rem 0;box-shadow:0 1px 8px #00000012}.activity h2{color:#30383f;font-size:.7rem;font-weight:500;line-height:1;margin:0;padding:0 .8rem;overflow-wrap:anywhere}.activity p{color:#60686f;font-size:.6rem;line-height:1;margin:0 .8rem;padding:.4rem 0}.selected{display:flex;overflow-x:auto;margin-top:.5rem;padding-left:.8rem;white-space:nowrap;scrollbar-width:none}.seat-chip{display:flex;align-items:center;gap:.15rem;flex-shrink:0;min-width:4rem;margin-right:.4rem;padding:.25rem;border-radius:.15rem;background:#f6f6f6;color:#313233;font-size:.6rem}.seat-chip span:first-child{flex:1;text-align:left;padding-right:.15rem;border-right:.05rem solid #eeeeef}.seat-chip .remove{width:.6rem;line-height:1;font-size:.8rem;font-weight:300}.seat-change{display:flex;gap:.4rem;align-items:center;justify-content:space-between;padding:.35rem .8rem 0;border-top:.025rem solid #eee;font-size:.6rem}.seat-change #old-seats{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#60686f}.seat-change button{flex-shrink:0;padding:.2rem .4rem;color:#fff;background:#f86720;border-radius:.4rem;font-size:.6rem}.seat-change button:disabled{background:#aaa}.confirm{display:block;width:100%;line-height:2.2rem;padding:0;background:#f86720;color:#f8f8f8;border-radius:.8rem;font-size:.8rem;text-align:center}.confirm:disabled{opacity:.65}.state{background:#f6f6f6;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;z-index:4}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.65rem;width:120px;height:120px;border-radius:5px;background:#0009;color:#fff;font-size:16px}.spinner{display:block;width:28px;height:28px;border:3px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{width:min(90%,400px);padding:20px;font-size:14px;background:#fff;border-radius:12px}.error h2{font-size:17px;margin:0 0 12px}.error p{color:#60686f;line-height:1.6}.error button{font-size:14px;padding:12px;color:#df631e}.toast{position:fixed;z-index:10;left:50%;top:45%;transform:translate(-50%,-50%);background:#000c;color:#fff;border-radius:8px;padding:12px 18px;max-width:85vw;width:max-content;font-size:14px;line-height:1.5;text-align:center;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap}dialog{width:min(92vw,430px);border:0;padding:20px;border-radius:16px;background:#fff;color:#30383f;font-size:14px}dialog::backdrop{background:#0007}dialog h2{font-size:17px;margin:0}dialog p{line-height:1.7;overflow-wrap:anywhere}.dialog-primary{width:100%;border-radius:10px;padding:12px;margin-top:16px;background:#f86720;color:#fff}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
