.passmap-slot{position:relative;overflow:hidden;background:#04060f}.passmap{position:absolute;inset:0;overflow:hidden;background:#04060f;color:var(--text);--passmap-top: 12px}.passmap--expanded{position:fixed;z-index:100;--passmap-top: max(12px, env(safe-area-inset-top))}.passmap__view{position:absolute;inset:0}.passmap__canvas{display:block;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.passmap__canvas.is-dragging{cursor:grabbing}.passmap__marks{position:absolute;inset:0;overflow:hidden;pointer-events:none;font-size:10.5px;font-weight:800;line-height:1.25}.passmap__marks>*{position:absolute;top:0;left:0;will-change:transform}.passmap__marks span{position:absolute;padding:2px 7px;border:.5px solid rgba(255,255,255,.16);border-radius:999px;background:#0009;color:#fffffff2;white-space:nowrap;transform:translate(-50%,-50%)}.passmap__marks b{font-weight:800;color:#ffc76b}.passmap__tick i{position:absolute;top:-3.5px;left:-3.5px;width:7px;height:7px;border:1px solid rgba(0,0,0,.7);border-radius:50%;background:#fff}.passmap__marks.is-crowded .passmap__tick span{display:none}.passmap__event{z-index:2;--tint: #fff}.passmap__event--peak{--tint: var(--gold)}.passmap__event--brightest,.passmap__event--leavesShadow{--tint: #ffc76b}.passmap__event--entersShadow{--tint: #adb8ff}.passmap__event button{position:absolute;top:-13px;left:-13px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1.5px solid var(--tint);border-radius:50%;background:#0f0f12eb;color:var(--tint);box-shadow:0 0 6px #00000080;pointer-events:auto}.passmap__event .passmap__caption{top:26px}.passmap__event .passmap__caption b{color:var(--tint)}.passmap__event .passmap__callout{top:-32px;padding:5px 10px;border-color:#ffffff3d;background:#080814f0;font-size:11.5px;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .15s}.passmap__event.is-above .passmap__caption{top:-26px}.passmap__event.is-above .passmap__callout{top:32px}.passmap__event.is-open{z-index:5}.passmap__event.is-covered{display:none}.passmap__event.is-open .passmap__callout,.passmap__event button:hover~.passmap__callout,.passmap__event button:focus-visible~.passmap__callout{opacity:1}.passmap__place{z-index:3}.passmap__place i{position:absolute;top:-8px;left:-8px;width:16px;height:16px;border:2.5px solid #fff;border-radius:50%;background:var(--teal);box-shadow:0 0 8px #0009}.passmap__craft{z-index:4}.passmap__craft:before{content:"";position:absolute;top:-17px;left:-17px;width:34px;height:34px;border-radius:50%;background:#ffc76b47;transition:opacity .25s}.passmap__craft i{position:absolute;top:-6.5px;left:-6.5px;width:13px;height:13px;border:2px solid var(--gold);border-radius:50%;background:#fff;box-shadow:0 0 12px var(--gold);transition:background .25s,border-color .25s,box-shadow .25s}.passmap__craft.is-dark:before,.passmap__craft.is-down:before{opacity:0}.passmap__craft.is-dark i{border-color:#bfbfbf;background:#737373;box-shadow:0 0 10px #000000e6}.passmap__craft.is-down i{border-color:#fffc;background:#ffffff8c;box-shadow:0 0 8px #000c}.passmap__chip,.passmap__legend,.passmap__hint{position:absolute;display:flex;align-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0009;pointer-events:none}.passmap__chip{top:var(--passmap-chip-top, var(--passmap-top));left:12px;gap:7px;max-width:calc(100% - 76px);padding:6px 12px;font-size:.78rem;font-weight:800;white-space:nowrap}.passmap__chip svg{flex:none;color:#ffc76b}.passmap__chip.is-dark svg{color:#adb8ff}.passmap__chip.is-down svg{color:#fff9}.passmap__chip span{overflow:hidden;text-overflow:ellipsis}.passmap__chip time{font-variant-numeric:tabular-nums;color:var(--soft)}.passmap__buttons{position:absolute;top:var(--passmap-top);right:12px;display:grid;gap:8px}.passmap__buttons button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#0009;transition:border-color .2s,color .2s}.passmap__buttons button:hover{border-color:var(--teal);color:var(--teal)}.passmap__legend{left:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:12px;padding:6px 12px;font-size:.68rem;font-weight:700;white-space:nowrap}.passmap__legend li{display:flex;align-items:center;gap:6px}.passmap__legend i{flex:none}.passmap__legend .is-sunlit{width:16px;height:4px;border-radius:2px;background:linear-gradient(90deg,#db8024,#fff7d1)}.passmap__legend .is-shadow{width:16px;height:3px;background:repeating-linear-gradient(90deg,#adb8ff 0 4px,transparent 4px 6px)}.passmap__legend .is-horizon{width:10px;height:10px;border:1.5px solid rgba(255,255,255,.85);border-radius:50%}.passmap__hint{top:50%;left:50%;padding:10px 18px;background:#000000c7;font-size:.9rem;font-weight:800;white-space:nowrap;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s}.passmap__hint.is-shown{opacity:1}.passmap__empty{position:absolute;left:50%;bottom:64px;max-width:calc(100% - 32px);padding:8px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0009;font-size:.82rem;text-align:center;color:var(--soft);transform:translate(-50%);pointer-events:none}.passmap-card{display:grid;gap:14px}.passmap-card .passmap-slot{height:clamp(340px,58vh,560px);border:1px solid var(--stroke);border-radius:24px}.passmap-card__wait{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--faint)}.passmap-card__scrub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.passmap-card__scrub input{width:100%;accent-color:var(--gold)}.passmap-card__scrub output{min-width:5.2em;font-weight:800;font-variant-numeric:tabular-nums;text-align:right;color:var(--soft)}.passmap-card__scrub .ghost{padding:.7em 1.1em;font-size:.86rem}@media(max-width:560px){.passmap__legend{gap:9px;padding:5px 10px;font-size:.62rem}}
