.h-full{height:100%}.min-h-full{min-height:100%}.flex{display:flex}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:after,:before{box-sizing:border-box}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}:root{--background:var(--color-paper);--foreground:var(--color-ink)}body,html{margin:0;padding:0;min-height:100%;overflow-x:clip}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.map-chrome-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-chrome-btn:hover:not(:disabled){background:oklch(30% .018 260);border-color:var(--color-accent-border)}.map-chrome-btn:active:not(:disabled){transform:translateY(1px)}.map-chrome-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-chrome-btn:disabled{opacity:.45;cursor:default}.map-chrome-btn--active{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:var(--color-accent)}.map-chrome-btn--icon{width:var(--map-control-size);height:var(--map-control-size);padding:0;flex-shrink:0}.map-chrome-btn--accent{border-color:var(--color-accent-border);color:var(--color-accent)}.map-chrome-btn--danger{border-color:color-mix(in oklch,var(--color-error) 55%,var(--color-rule));background:var(--color-error-dim);color:var(--color-error)}.map-chrome-btn--danger:hover:not(:disabled){border-color:var(--color-error);background:color-mix(in oklch,var(--color-error) 22%,var(--color-paper));color:var(--color-error)}.map-shell{--map-minimap-size:13.75rem;--map-chrome-rail-width:calc(var(--map-minimap-size) + var(--map-control-size) + var(--space-2xs));position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}.map-viewer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:600;transition:left var(--dur-medium) var(--ease-out)}.map-shell--panel-open .map-viewer{left:var(--map-panel-width)}.map-chrome-top-right{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:var(--z-panel-toggle);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2xs);width:var(--map-chrome-rail-width);pointer-events:none}.map-chrome-top-right>*{pointer-events:auto}.map-chrome-stack{flex-direction:column;align-items:stretch;width:100%}.map-chrome-stack,.map-mini-nav{position:relative;display:flex;gap:4px}.map-mini-nav{align-items:center;padding:3px;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);box-shadow:0 1px 0 oklch(0 0 0/.2)}.map-mini-nav__btn{width:1.5rem;height:1.5rem;padding:0;flex-shrink:0;border-radius:var(--radius-sm)}.map-mini-nav__btn--signed-in{border-color:var(--color-accent-border);color:var(--color-accent)}.map-mini-nav__title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:var(--text-xs);font-weight:700;font-style:normal;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-muted);line-height:1;-webkit-user-select:none;user-select:none}.map-games-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:2;display:flex;flex-direction:column;gap:2px;padding:var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 8px 24px oklch(0 0 0/.45)}.map-games-menu__item{display:flex;align-items:center;width:100%;padding:var(--space-2xs) var(--space-xs);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-align:left;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-games-menu__item:hover{background:var(--color-paper-hover);border-color:var(--color-accent-border)}.map-games-menu__item:active{transform:translateY(1px)}.map-games-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-games-menu__item--current{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:var(--color-accent)}.map-games-menu__soon{margin:0;padding:var(--space-2xs) var(--space-xs);font-size:var(--text-xs);font-weight:600;color:var(--color-ink-faint);line-height:1.3}.map-map-card{display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 1px 0 oklch(0 0 0/.2)}.map-layer-bar,.map-region-bar{display:grid;gap:4px}.map-region-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layer-bar{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:4px;border-top:1px solid var(--color-rule-subtle)}.map-layer-bar .map-chrome-btn,.map-region-bar .map-chrome-btn{width:100%;padding:5px 6px;font-size:var(--text-xs);font-weight:700}.map-chrome-brand-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--space-2xs);width:100%;padding-left:3.5mm}.map-brand{flex:0 0 auto;width:120px;max-width:100%;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);overflow:hidden;line-height:0;box-shadow:0 1px 0 rgba(0,0,0,.2)}.map-brand__logo{display:block;width:120px;max-width:100%;height:auto}.map-brand__logo,.map-game-clock{-webkit-user-select:none;user-select:none}.map-game-clock{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:7px 9px;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 1px 0 rgba(0,0,0,.2)}.map-game-clock--pending{min-height:4.25rem}.map-game-clock__title{font-size:.5625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-faint);line-height:1.1}.map-game-clock__row{display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:0}.map-game-clock__row--reset{padding-top:4px;border-top:1px solid var(--color-rule-subtle)}.map-game-clock__glyph{display:flex;color:var(--color-accent);flex-shrink:0}.map-game-clock__day{font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-faint)}.map-game-clock__time{font-family:var(--font-mono);font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum";color:var(--color-ink);line-height:1}.map-game-clock__reset-label{font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-faint)}.map-game-clock__reset{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum";color:var(--color-accent);line-height:1}.map-controls{position:absolute;right:var(--space-sm);bottom:var(--space-sm);top:calc(var(--space-sm) + 12.5rem);z-index:var(--z-controls);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:.25rem;width:var(--map-chrome-rail-width);pointer-events:none}.map-controls>*{pointer-events:auto}.map-controls__row{display:flex;flex-direction:row-reverse;align-items:stretch;gap:var(--space-2xs);width:100%;margin-top:.5rem}.map-rail-btn{width:100%;height:var(--map-control-size);gap:.45rem;padding:0 var(--space-2xs);border-color:var(--color-rule);background:var(--color-paper-2);font-size:var(--text-xs);font-weight:700}.map-rail-btn:hover:not(:disabled){background:var(--color-paper-3);border-color:var(--color-accent-border)}.map-rail-btn__count{color:var(--color-ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-bmc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;height:var(--map-control-size);margin-top:.5rem;padding:0 var(--space-2xs);border:1px solid oklch(70% .16 85/.55);border-radius:var(--radius-md);background:#ffdd00;color:#0d0c22;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;transition:filter var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-bmc-btn:hover{filter:brightness(1.05)}.map-bmc-btn:active{transform:translateY(1px)}.map-bmc-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-bmc-btn__logo{display:block;width:1.125rem;height:1.125rem;flex-shrink:0}.map-zoom-stack{display:grid;grid-template-rows:repeat(5,1fr);gap:var(--space-2xs);height:var(--map-minimap-size)}.map-zoom-stack .map-chrome-btn--icon{width:var(--map-control-size);height:100%;min-height:0}.map-minimap{position:relative;width:var(--map-minimap-size);height:var(--map-minimap-size);border:2px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);overflow:hidden;cursor:crosshair;touch-action:none}.map-minimap__layer{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;transition:opacity var(--dur-medium) var(--ease-out)}.map-minimap__viewport-bounds{position:absolute;top:2px;right:2px;bottom:2px;left:2px;pointer-events:none;z-index:10}.map-minimap__viewport{position:absolute;box-sizing:border-box;border:2px solid var(--color-accent);border-radius:2px;pointer-events:none}.map-panel-toggle{position:absolute;top:var(--space-sm);left:var(--space-sm);z-index:var(--z-panel-toggle);transition:left var(--dur-medium) var(--ease-out)}.map-panel-toggle--open{left:calc(var(--map-panel-width) + var(--space-sm))}.map-panel{position:absolute;left:0;top:0;bottom:0;z-index:var(--z-panel);width:var(--map-panel-width);display:flex;flex-direction:column;border-right:1px solid var(--color-rule);background:var(--color-paper-2);overflow:hidden;transform:translateX(-100%);transition:transform var(--dur-medium) var(--ease-out)}.map-panel--open{transform:translateX(0)}.map-panel__header{flex-shrink:0;padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--color-rule-subtle);background:var(--color-paper-2)}.map-panel__title-row{display:flex;align-items:center;justify-content:space-between;width:100%}.map-panel__title{margin:0 0 var(--space-2xs);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;font-style:normal;color:var(--color-ink);letter-spacing:-.02em}.map-panel__close-btn{display:none;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-bottom:var(--space-2xs);padding:0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-3);color:var(--color-ink-muted);font-size:1.25rem;line-height:1;cursor:pointer}.map-panel__close-btn:hover{background:var(--color-paper);color:var(--color-ink)}.map-panel-backdrop{display:none}.map-panel__footer{flex-shrink:0;padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-rule-subtle);background:var(--color-paper-2)}.map-panel__footer-title{margin-bottom:var(--space-2xs);font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-faint)}.map-panel__footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xs);margin-bottom:var(--space-2xs)}.map-panel__footer-btn{height:2.25rem;padding:0 var(--space-2xs);font-size:var(--text-xs);justify-content:space-between}.map-panel__footer-bmc{margin-top:0;height:2.25rem}@media (min-width:641px){.map-panel__footer{display:none}}.map-panel__search{position:relative;display:block;margin-bottom:var(--space-2xs)}.map-panel__search-input{width:100%;box-sizing:border-box;padding:6px 1.75rem 6px var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm)}.map-panel__search-input::placeholder{color:var(--color-ink-faint)}.map-panel__search-input:focus{outline:2px solid var(--color-focus);outline-offset:-1px}.map-panel__search-input::-webkit-search-cancel-button{appearance:none}.map-panel__search-kbd{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:0 5px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper-2);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:.625rem;line-height:1.4;pointer-events:none}.map-panel__search-input:focus+.map-panel__search-kbd{display:none}.map-panel__progress{display:flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-2xs)}.map-panel__progress-track{flex:1 1;height:4px;overflow:hidden;border-radius:999px;background:var(--color-paper)}.map-panel__progress-fill{height:100%;border-radius:inherit;background:var(--color-accent)}.map-panel__progress-label{flex-shrink:0;font-size:var(--text-xs);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.map-panel__actions{display:flex;gap:var(--space-2xs)}.map-panel__actions+.map-panel__actions{margin-top:var(--space-2xs)}.map-panel__actions .map-chrome-btn{flex:1 1;padding:var(--space-2xs) 0;font-size:var(--text-xs)}.map-panel__mode{display:flex;margin-top:var(--space-2xs);padding:2px;border:1px solid var(--color-rule-subtle);border-radius:var(--radius-sm);background:var(--color-paper)}.map-panel__mode-btn{flex:1 1;padding:3px 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-faint);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-panel__mode-btn:hover{color:var(--color-ink-muted)}.map-panel__mode-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.map-panel__mode-btn--active{background:var(--color-paper-3);color:var(--color-ink)}.map-panel__mode-btn--story.map-panel__mode-btn--active{background:var(--color-story-dim);color:var(--color-story)}.map-panel__mode-btn--online.map-panel__mode-btn--active{background:var(--color-online-dim);color:var(--color-online)}.map-panel__body{flex:1 1;min-height:0;padding:0;overflow-x:hidden;overflow-y:auto}.map-panel__section{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-medium) var(--ease-out)}.map-panel__section--hidden{grid-template-rows:0fr;pointer-events:none}.map-panel__section-clip{min-height:0;overflow:hidden;opacity:1;transition:opacity var(--dur-short) var(--ease-out)}.map-panel__section--hidden .map-panel__section-clip{opacity:0}.map-panel__section-rule{display:block;height:0;margin:4px 8px 0;padding:0;border:0;border-top:1px solid var(--color-rule)}.map-panel__section-title{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;margin:0;padding:4px 8px 3px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-family:var(--font-body);font-weight:700;font-style:normal;text-align:left;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-panel__section-title:active{transform:scale(.99)}.map-panel__section-title-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);line-height:1.25;letter-spacing:-.01em}.map-panel__section-count{flex-shrink:0;font-size:var(--text-xs);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.map-panel__section-title--static{cursor:default}.map-panel__section-title--static:active,.map-panel__section-title--static:hover{background:transparent;transform:none}.map-panel__section-toggle{flex-shrink:0;pointer-events:none}.map-panel__section-title:hover{background:oklch(25% .014 260/.45)}.map-panel__section-title--all-on .map-panel__section-toggle{background:var(--color-accent)}.map-panel__section-title:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.map-panel__section-list{margin:0;padding:0}.map-panel__category-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-medium) var(--ease-out)}.map-panel__category-wrap--hidden{grid-template-rows:0fr;pointer-events:none}.map-panel__category-clip{min-height:0;overflow:hidden}.map-panel__category-body{opacity:1;transform:translateY(0);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.map-panel__category-wrap--hidden .map-panel__category-body{opacity:0;transform:translateY(-4px)}.map-panel__category-row{display:flex;align-items:center;gap:0;min-height:1.375rem}.map-panel__category{display:flex;align-items:center;gap:5px;flex:1 1;min-width:0;padding:1px 4px 1px 8px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-panel__category:hover{background:oklch(25% .014 260/.6)}.map-panel__category:active{transform:scale(.99)}.map-panel__category:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.map-panel__category--enabled{background:oklch(25% .014 260/.4)}.map-panel__category-icon{display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;flex-shrink:0;overflow:hidden}.map-panel__category-icon img{object-fit:contain;transition:opacity var(--dur-short) var(--ease-out),filter var(--dur-short) var(--ease-out)}.map-panel__category-name{flex:1 1;min-width:0;font-size:.75rem;font-weight:500;line-height:1.2;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-short) var(--ease-out)}.map-panel__category--disabled .map-panel__category-name{color:var(--color-ink-faint)}.map-panel__category-count{width:auto;min-width:1.5rem;flex-shrink:0;font-size:.625rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;color:var(--color-ink-muted);transition:color var(--dur-short) var(--ease-out)}.map-panel__live-badge{flex-shrink:0;padding:1px 5px;border-radius:999px;border:1px solid #c9a227;background:oklch(90% .12 95/.22);color:#e6c35c;font-size:.5625rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.map-panel__toggle{position:relative;width:1.625rem;height:.75rem;flex-shrink:0;border-radius:999px;background:var(--color-rule);transition:background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.map-panel__toggle-knob{position:absolute;top:1px;left:1px;width:.625rem;height:.625rem;border-radius:50%;background:var(--color-ink);box-shadow:0 1px 2px oklch(10% 0 0/.4);transform:translateX(0);transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.map-panel__toggle--on .map-panel__toggle-knob{transform:translateX(calc(1.625rem - .625rem - 2px))}.map-panel__info-btn{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0;margin-right:6px;padding:0;border:none;border-radius:3px;background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-body);font-size:.625rem;font-weight:700;font-style:normal;line-height:1;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-panel__info-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-accent-ink)}.map-panel__info-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.map-panel__info-btn--active{background:var(--color-accent);color:var(--color-accent-ink)}.map-panel__info-btn:disabled{opacity:.25;cursor:default}.map-panel__info-panel{display:grid;grid-template-rows:0fr;overflow:hidden;background:var(--color-paper);font-size:var(--text-sm);line-height:1.5;color:var(--color-ink-muted);transition:grid-template-rows var(--dur-short) var(--ease-out)}.map-panel__info-panel--open{grid-template-rows:1fr;border-top:1px solid var(--color-rule-subtle)}.map-panel__info-clip{min-height:0;overflow:hidden}.map-panel__info-panel:not(.map-panel__info-panel--open) .map-panel__info-clip{visibility:hidden}.map-panel__info-inner{padding:var(--space-2xs) var(--space-xs) var(--space-xs);font-size:.6875rem;line-height:1.5;opacity:0;transition:opacity var(--dur-short) var(--ease-out)}.map-panel__info-panel--open .map-panel__info-inner{opacity:1}.gun-van-stock{margin-top:var(--space-2xs)}.gun-van-stock__note{margin:0 0 var(--space-2xs);color:var(--color-ink-muted)}.gun-van-stock__section{margin-top:var(--space-xs)}.gun-van-stock__heading{margin:0 0 4px;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.gun-van-stock__grid{display:flex;flex-direction:column;gap:1px}.gun-van-stock__row{display:grid;grid-template-columns:minmax(0,1.4fr) 2.4rem minmax(4.25rem,auto) minmax(4.25rem,auto);column-gap:6px;align-items:baseline;padding:2px 0}.gun-van-stock__row--head{padding-bottom:3px;margin-bottom:1px;border-bottom:1px solid var(--color-rule-subtle);font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-faint)}.gun-van-stock__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--color-ink)}.gun-van-stock__disc{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted);text-align:right}.gun-van-stock__plus,.gun-van-stock__price{font-family:var(--font-mono);font-size:.625rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.gun-van-stock__price{color:var(--color-ink)}.gun-van-stock__plus{color:#eec64e}.gun-van-stock__row--head span:nth-child(2),.gun-van-stock__row--head span:nth-child(3),.gun-van-stock__row--head span:nth-child(4){text-align:right}.map-panel__mode-tag{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-2xs);padding:2px var(--space-2xs);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.map-panel__mode-tag--story{background:var(--color-story-dim);color:var(--color-story)}.map-panel__mode-tag--online{background:var(--color-online-dim);color:var(--color-online)}.map-panel__empty{margin:var(--space-sm) var(--space-xs);color:var(--color-ink-muted);font-size:var(--text-sm)}.map-panel__search-hits{display:flex;flex-direction:column;padding:0 4px 8px}.map-panel__search-hit{appearance:none;display:flex;align-items:center;gap:var(--space-2xs);width:100%;margin:0;padding:5px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-family:var(--font-body);text-align:left;cursor:pointer}.map-panel__search-hit--active,.map-panel__search-hit:hover{background:var(--color-paper-3)}.map-panel__search-hit:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.map-panel__search-hit-text{display:flex;min-width:0;flex:1 1;flex-direction:column;gap:1px}.map-panel__search-hit-name{font-size:.75rem;font-weight:600}.map-panel__search-hit-cat,.map-panel__search-hit-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-panel__search-hit-cat{font-size:.625rem}.map-panel__search-hit-cat,.map-panel__search-hit.is-collected .map-panel__search-hit-name{color:var(--color-ink-muted)}.map-reset-dialog{position:fixed;inset:0;z-index:calc(var(--z-popup) + 10);display:flex;align-items:center;justify-content:center;padding:var(--space-sm);background:oklch(8% .01 260/.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .28s var(--ease-out),-webkit-backdrop-filter .28s var(--ease-out);transition:background .28s var(--ease-out),backdrop-filter .28s var(--ease-out);transition:background .28s var(--ease-out),backdrop-filter .28s var(--ease-out),-webkit-backdrop-filter .28s var(--ease-out)}.map-reset-dialog.is-peeking{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;animation:none}.map-reset-dialog .map-sheet-dialog--dense{transform:translateX(0);transition:transform .32s var(--ease-out)}.map-reset-dialog.is-peeking .map-sheet-dialog--dense{pointer-events:auto;transform:translateX(calc(50vw - 50% - var(--space-sm)))}@media (prefers-reduced-motion:reduce){.map-reset-dialog .map-sheet-dialog--dense{transition-duration:1ms}}@keyframes map-dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes map-dialog-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes map-sheet-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes map-sheet-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.97)}}@keyframes map-sheet-peek-out{0%{opacity:1;transform:translateX(calc(50vw - 50% - var(--space-sm)))}to{opacity:0;transform:translateX(calc(50vw - 50% - var(--space-sm) + 12px))}}.map-reset-dialog--animated{animation:map-dialog-backdrop-in .2s var(--ease-out)}.map-reset-dialog--animated.is-exiting{animation:map-dialog-backdrop-out .2s var(--ease-in) forwards;pointer-events:none}.map-reset-dialog--animated .map-sheet-dialog{animation:map-sheet-in .2s var(--ease-out)}.map-reset-dialog--animated.is-exiting .map-sheet-dialog{animation:map-sheet-out .2s var(--ease-in) forwards}.map-reset-dialog--animated.is-entered:not(.is-exiting) .map-sheet-dialog--dense,.map-reset-dialog--animated.is-peeking:not(.is-exiting) .map-sheet-dialog--dense{animation:none}.map-reset-dialog--animated.is-exiting.is-peeking .map-sheet-dialog--dense{animation:map-sheet-peek-out .2s var(--ease-in) forwards;transition:none}.map-reset-dialog__card{width:min(100%,22rem);padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 12px 40px oklch(6% .01 260/.55)}.map-reset-dialog__title{margin:0 0 var(--space-2xs);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--color-ink)}.map-reset-dialog__body{margin:0 0 var(--space-sm);font-size:var(--text-sm);line-height:1.45;color:var(--color-ink-muted)}.map-reset-dialog__actions{display:flex;flex-direction:column;gap:var(--space-2xs)}.map-reset-dialog__actions .map-chrome-btn{width:100%;padding:8px var(--space-2xs)}.map-sheet-dialog{position:relative;display:flex;flex-direction:column;width:min(100%,22rem);max-height:min(85dvh,40rem);padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 12px 40px oklch(6% .01 260/.55)}.map-sheet-dialog--wide{width:min(100%,37rem);max-height:min(85dvh,46rem)}.map-sheet-dialog--dense{width:min(100%,50rem);height:min(88dvh,52rem);max-height:min(88dvh,52rem);padding:0;overflow:hidden}.map-sheet-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2xs);margin-bottom:var(--space-2xs);padding-right:1.75rem}.map-sheet-dialog__header .map-reset-dialog__title{margin-bottom:0}.map-sheet-dialog__meta{margin:.2rem 0 0;font-size:var(--text-xs);color:var(--color-ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-sheet-dialog__body{overflow:auto;min-height:0;margin:0 calc(var(--space-sm) * -1) 0;padding:0 var(--space-sm);scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent}.map-sheet-dialog__body::-webkit-scrollbar{width:4px}.map-sheet-dialog__body::-webkit-scrollbar-track{background:transparent}.map-sheet-dialog__body::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:2px}.map-sheet-dialog__body::-webkit-scrollbar-thumb:hover{background:var(--color-ink-faint)}.map-achievements__legend{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2xs);margin:0 0 var(--space-xs);padding:0 .6rem;font-family:var(--font-display);font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-faint)}.map-achievements__group+.map-achievements__group{margin-top:var(--space-sm)}.map-achievements__group-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2xs);margin:0 0 var(--space-2xs);font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}.map-achievements__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.map-achievements__row{display:flex;align-items:flex-start;gap:.7rem;width:100%;padding:.5rem .6rem;border:1px solid var(--color-rule-subtle);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.map-achievements__row:hover{border-color:var(--color-accent-border);background:oklch(30% .018 260)}.map-achievements__row.is-completed{border-color:var(--color-rule);background:oklch(24% .012 260)}.map-achievements__icon-wrap{position:relative;width:3.45rem;height:3.45rem;flex-shrink:0;background:var(--color-paper-3);box-shadow:inset 0 0 0 1px oklch(100% 0 0/.06)}.map-achievements__icon{display:block;width:100%;height:100%;object-fit:cover;transition:filter var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.map-achievements__row.is-completed .map-achievements__icon{filter:grayscale(1) brightness(.55) contrast(.9);opacity:.55}.map-achievements__icon-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:oklch(12% .01 260/.55);color:#ffdd00;font-size:1.55rem;font-weight:900;line-height:1;text-shadow:0 0 .15rem oklch(0 0 0/.9),0 1px 2px oklch(0 0 0/.8);pointer-events:none}.map-achievements__text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.map-achievements__pct{flex-shrink:0;align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;min-width:4.25rem;text-align:right;color:var(--color-ink-muted)}.map-achievements__pct-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.map-achievements__pct-label{font-size:.625rem;font-weight:600;letter-spacing:.02em;line-height:1.1;color:var(--color-ink-faint)}.map-achievements__row.is-completed .map-achievements__pct{color:var(--color-ink-faint)}.map-achievements__name{font-size:var(--text-sm);font-weight:700;line-height:1.25}.map-achievements__desc{font-size:var(--text-xs);line-height:1.4;color:var(--color-ink-muted)}.map-achievements__tip{margin-top:.15rem;font-size:var(--text-xs);line-height:1.4;color:var(--color-ink-faint)}.map-achievements__tip:before{content:"Tip · ";font-weight:700;letter-spacing:.02em;color:var(--color-accent)}.map-sheet-dialog--dense .map-sheet-dialog__header{margin-bottom:var(--space-2xs);padding-right:1.75rem}.map-comp__chrome{flex-shrink:0;padding:var(--space-xs) var(--space-sm) var(--space-2xs);border-bottom:1px solid var(--color-rule-subtle);background:var(--color-paper-2)}.map-comp__pct{margin-left:auto;display:flex;align-items:baseline;gap:.1rem;font-family:var(--font-mono);font-size:1.65rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;color:var(--color-accent);text-shadow:none}.map-comp__pct>span{font-size:.85rem;color:var(--color-ink-muted)}.map-comp__weight{display:flex;height:6px;margin:0;border-radius:999px;overflow:hidden;background:var(--color-paper);box-shadow:inset 0 0 0 1px var(--color-rule-subtle)}.map-comp__weight-slice{--fill:0%;position:relative;display:block;height:100%;background:var(--color-paper-3)}.map-comp__weight-slice:after{content:"";display:block;height:100%;width:var(--fill);background:var(--color-accent)}.map-comp__weight-slice--story:after{background:var(--color-story)}.map-comp__split{display:grid;grid-template-columns:7.75rem minmax(0,1fr);flex:1 1;min-height:0;min-width:0}.map-comp__rail{gap:var(--space-2xs);padding:var(--space-2xs);border-right:1px solid var(--color-rule-subtle);background:var(--color-paper);overflow:hidden}.map-comp__rail,.map-comp__rail-tabs{display:flex;flex-direction:column;min-width:0;min-height:0}.map-comp__rail-tabs{gap:2px;flex:1 1;overflow:auto}.map-comp__rail-clear{flex-shrink:0;width:100%;height:2rem;padding:0 .4rem;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.map-comp__tab{--fill:0%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 3px;column-gap:.35rem;row-gap:.2rem;min-width:0;padding:.45rem .5rem .4rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-muted);cursor:pointer;text-align:left;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-comp__tab-label{font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-comp__tab-count{font-family:var(--font-mono);font-size:.625rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.map-comp__tab-bar{grid-column:1/-1;display:block;height:3px;border-radius:1px;background:var(--color-paper-3);overflow:hidden}.map-comp__tab-bar:after{content:"";display:block;height:100%;width:var(--fill);background:currentColor}@media (hover:hover){.map-comp__tab.is-hover,.map-comp__tab:hover{background:var(--color-paper-2);color:var(--color-ink)}}.map-comp__tab.is-focus,.map-comp__tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__tab.is-active-press,.map-comp__tab:active{transform:translateY(1px)}.map-comp__tab.is-active{background:var(--color-accent-dim);border-color:var(--color-accent-border);color:var(--color-accent)}.map-comp__tab.is-done:not(.is-active){color:var(--color-story)}.map-comp__tab:disabled,.map-comp__tab[aria-disabled=true]{opacity:.5;cursor:not-allowed}.map-comp__tab[data-state=loading]{opacity:.7;pointer-events:none}.map-comp__tab[data-state=error]{border-color:var(--color-error);color:var(--color-error)}.map-comp__tab.is-done.is-active,.map-comp__tab[data-state=success]{color:var(--color-story)}.map-comp__pane{display:flex;flex-direction:column;min-width:0;min-height:0}.map-comp__hint{display:flex;align-items:flex-start;gap:var(--space-2xs);margin:0;padding:var(--space-2xs) var(--space-sm);border-bottom:1px solid var(--color-rule-subtle);font-size:var(--text-xs);line-height:1.35;color:var(--color-ink-faint)}.map-comp__hint>span{min-width:0;flex:1 1}.map-comp__hint-dismiss{flex-shrink:0;padding:0;border:0;background:transparent;color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;white-space:nowrap;cursor:pointer}.map-comp__hint-dismiss.is-hover,.map-comp__hint-dismiss:hover{color:var(--color-ink)}.map-comp__hint-dismiss.is-focus,.map-comp__hint-dismiss:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__body{flex:1 1;min-height:0;margin:0;padding:var(--space-2xs) var(--space-sm) var(--space-sm)}.map-comp__group+.map-comp__group{margin-top:var(--space-xs)}.map-comp__group-title{display:flex;align-items:center;gap:.4rem;margin:0 0 .4rem;font-family:var(--font-display);font-size:.625rem;font-weight:700;font-style:normal;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-muted)}.map-comp__group-title>span:last-child{margin-left:auto;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-comp__group-mark{width:.45rem;height:.45rem;border-radius:1px;background:var(--color-story)}.map-comp__group--cast{padding:var(--space-2xs);border:1px solid var(--color-rule-subtle);border-radius:var(--radius-md);background:var(--color-paper)}.map-comp__group--cast+.map-comp__group--cast{margin-top:var(--space-2xs)}.map-comp__group--cast.is-done{border-color:color-mix(in oklch,var(--color-story) 35%,var(--color-rule));background:color-mix(in oklch,var(--color-story-dim) 55%,var(--color-paper))}.map-comp__cast{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-2xs);min-width:0}.map-comp__portrait{position:relative;display:block;width:4.5rem;height:4.5rem;flex-shrink:0;border-radius:var(--radius-xl);overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 55%,var(--color-rule));background:var(--color-paper-2);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--color-paper) 55%,transparent)}.map-comp__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%;border-radius:inherit;filter:saturate(.85) contrast(1.04) brightness(.96)}.map-comp__portrait:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 50% 38%,transparent 32%,color-mix(in oklch,var(--color-paper) 72%,transparent) 100%)}.map-comp__cast-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.map-comp__cast-name{display:flex;align-items:center;gap:.4rem;margin:0;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink)}.map-comp__cast-count{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.map-comp__group--cast.is-done .map-comp__cast-count{color:var(--color-story)}.map-comp__playguide{display:flex;flex-direction:column;gap:.3rem;margin:0 0 var(--space-2xs);padding:.45rem .55rem;border-radius:var(--radius-sm);background:var(--color-paper-2);border:1px solid var(--color-rule-subtle)}.map-comp__playguide p{margin:0;min-width:0;font-size:var(--text-xs);line-height:1.4;color:var(--color-ink-muted)}.map-comp__playguide-row{display:flex;align-items:flex-start;gap:.35rem}.map-comp__playguide-copy{flex:1 1;min-width:0}.map-comp__playguide-label{display:inline-block;flex-shrink:0;min-width:3.75rem;font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.map-comp__pin-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;margin-top:-.1rem;padding:0;border:1px solid var(--color-rule-subtle);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-accent);cursor:pointer}.map-comp__pin-btn.is-hover,.map-comp__pin-btn:hover{border-color:var(--color-accent-border);color:var(--color-ink)}.map-comp__pin-btn.is-focus,.map-comp__pin-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__pin-btn.is-active,.map-comp__pin-btn:active{transform:translateY(1px)}.map-comp__pin-btn.is-pressed,.map-comp__pin-btn[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-dim);color:var(--color-ink)}.map-comp__task-note-row{display:flex;align-items:center;gap:.35rem;max-width:36rem}.map-comp__task-note-row .map-comp__task-note{flex:1 1;min-width:0;max-width:none}.map-comp__task-note-row .map-comp__pin-btn{margin-top:0}.map-comp__task{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}.map-comp__task .map-comp__chip{max-width:100%}.map-comp__task .map-comp__maprow{align-self:stretch;width:100%}.map-comp__task-note{margin:0;padding-left:.15rem;max-width:36rem;font-size:var(--text-xs);line-height:1.35;color:var(--color-ink-faint)}.map-guide-pin{pointer-events:none;width:32px;height:32px;color:var(--color-accent)}.map-guide-pin--area{width:100%;height:100%}.map-guide-pin__disc{position:absolute;inset:0;border-radius:50%;border:2px solid var(--color-accent);background:color-mix(in oklch,var(--color-accent) 24%,transparent);box-shadow:0 0 0 1px oklch(0 0 0/.4),0 0 18px color-mix(in oklch,var(--color-accent) 45%,transparent)}.map-guide-pin__marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:inherit;contain:layout style}.map-guide-pin:hover .map-guide-pin__marker{filter:drop-shadow(0 1px 2px oklch(0 0 0/.75))}.map-guide-pin__marker svg{display:block}.map-guide-pin--area .map-guide-pin__marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%)}.map-comp__group--banner{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.map-comp__group--banner+.map-comp__group--banner{margin-top:var(--space-xs)}.map-comp__group--banner .map-comp__playguide{margin-top:0}.map-comp__banner{position:relative;display:grid;align-items:end;min-width:0;min-height:3.75rem;overflow:hidden;border-radius:var(--radius-md);border:1px solid color-mix(in oklch,var(--color-accent) 40%,var(--color-rule));background:var(--color-paper-2);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--color-paper) 45%,transparent)}.map-comp__banner-img{grid-area:1/1;display:block;width:100%;height:3.75rem;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.05) brightness(.92)}.map-comp__banner:after{content:"";grid-area:1/1;pointer-events:none;background:linear-gradient(90deg,color-mix(in oklch,var(--color-paper) 88%,transparent) 0,color-mix(in oklch,var(--color-paper) 55%,transparent) 42%,color-mix(in oklch,var(--color-paper) 12%,transparent) 78%)}.map-comp__banner-meta{grid-area:1/1;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding:.55rem .75rem;min-width:0}.map-comp__banner-name{display:flex;align-items:center;gap:.4rem;margin:0;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink);text-shadow:0 1px 2px color-mix(in oklch,var(--color-paper) 80%,transparent)}.map-comp__banner-count{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.map-comp__group--banner.is-done .map-comp__banner{border-color:color-mix(in oklch,var(--color-story) 40%,var(--color-rule))}.map-comp__group--banner.is-done .map-comp__banner:after{background:linear-gradient(90deg,color-mix(in oklch,var(--color-story-dim) 85%,var(--color-paper)) 0,color-mix(in oklch,var(--color-story-dim) 35%,transparent) 50%,transparent 85%)}.map-comp__group--banner.is-done .map-comp__banner-count{color:var(--color-story)}.map-comp__chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.25rem,1fr));gap:4px}.map-comp__chips--cols2{grid-template-columns:1fr 1fr;gap:6px}.map-comp__chips--cols2 .map-comp__chip{padding:.36rem .48rem .36rem .36rem;font-size:.72rem;font-weight:600;line-height:1.25}.map-comp__chips--cols2 .map-comp__box{width:.78rem;height:.78rem}.map-comp__stack{display:flex;flex-direction:column;gap:6px}.map-comp__chip{display:flex;align-items:center;gap:.4rem;min-width:0;padding:.38rem .45rem;border:1px solid var(--color-rule-subtle);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;line-height:1.25;text-align:left;cursor:pointer;overflow:hidden;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}@media (hover:hover){.map-comp__chip.is-hover,.map-comp__chip:hover{border-color:var(--color-accent-border);background:var(--color-paper-hover)}}.map-comp__chip.is-focus,.map-comp__chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__chip.is-active,.map-comp__chip:active{transform:translateY(1px)}.map-comp__chip:disabled,.map-comp__chip[aria-disabled=true]{opacity:.5;cursor:not-allowed}.map-comp__chip[data-state=loading]{opacity:.7;pointer-events:none}.map-comp__chip[data-state=loading] .map-comp__box{border-color:var(--color-accent-border)}.map-comp__chip[data-state=error]{border-color:var(--color-error);background:var(--color-error-dim)}.map-comp__chip.is-done,.map-comp__chip[data-state=success]{border-color:color-mix(in oklch,var(--color-story) 40%,var(--color-rule));background:var(--color-story-dim);color:var(--color-ink)}.map-comp__box{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:.9rem;height:.9rem;border:1px solid var(--color-rule);border-radius:2px;background:var(--color-paper-3);color:var(--color-story)}.map-comp__chip.is-done .map-comp__box,.map-comp__chip[data-state=success] .map-comp__box{border-color:var(--color-story);background:color-mix(in oklch,var(--color-story) 22%,var(--color-paper))}.map-comp__chip.map-comp__chip--story{display:grid;grid-template-columns:auto 1.5rem minmax(0,1fr) auto;align-items:center;column-gap:.42rem}.map-comp__chip-num{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.6rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;opacity:.55}.map-comp__chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;letter-spacing:-.01em}.map-comp__who{display:inline-flex;align-items:baseline;gap:.28rem;flex-shrink:0;margin-left:.15rem;opacity:.88}.map-comp__who-i{font-family:var(--font-mono);font-size:.56rem;font-weight:700;line-height:1;letter-spacing:.03em}.map-comp__who-i--m{color:#6aa9cc}.map-comp__who-i--f{color:#6bb86b}.map-comp__who-i--t{color:#d4925a}.map-comp__chip.is-done .map-comp__chip-num{color:color-mix(in oklch,var(--color-story) 55%,var(--color-ink-muted));opacity:.8}.map-comp__chip.is-done .map-comp__who{opacity:.7}.map-comp__any{display:flex;flex-direction:column;gap:.45rem}.map-comp__any-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:700}.map-comp__any-head .is-done{color:var(--color-story);font-family:var(--font-mono)}.map-comp__confirm{z-index:calc(var(--z-popup) + 20)}.map-comp__confirm-actions{flex-direction:row}.map-comp__confirm-actions .map-chrome-btn{width:auto;flex:1 1}.map-comp__maprow{--fill:0%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.4rem 0;border-bottom:1px solid var(--color-rule-subtle)}.map-comp__maprow-actions{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--space-2xs)}.map-comp__maprow-actions .map-comp__mapbtn:first-child{min-width:4.75rem}.map-comp__maprow:last-child{border-bottom:0}.map-comp__maprow.is-done .map-comp__maprow-name{color:var(--color-ink)}.map-comp__blip,.map-comp__blip-dot{width:1.125rem;height:1.125rem;object-fit:contain}.map-comp__blip-dot{display:block;border-radius:2px;background:var(--color-accent)}.map-comp__maprow-main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 4px;column-gap:.55rem;row-gap:.3rem;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}@media (hover:hover){.map-comp__maprow-main.is-hover,.map-comp__maprow-main:hover{color:var(--color-ink)}}.map-comp__maprow-main.is-focus,.map-comp__maprow-main:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__maprow-main.is-active,.map-comp__maprow-main:active{transform:translateY(1px)}.map-comp__maprow-main:disabled{opacity:.5;cursor:not-allowed}.map-comp__maprow[data-state=loading]{opacity:.7;pointer-events:none}.map-comp__maprow[data-state=error]{border-bottom-color:var(--color-error)}.map-comp__maprow-name{font-size:var(--text-sm);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-comp__maprow-count{font-family:var(--font-mono);font-size:.6875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted);white-space:nowrap}.map-comp__maprow-count strong{color:var(--color-ink);font-weight:700}.map-comp__maprow-bar{grid-column:1/-1;height:4px;border-radius:999px;background:var(--color-paper-3);overflow:hidden}.map-comp__maprow-bar:after{content:"";display:block;height:100%;width:var(--fill);background:var(--color-accent)}.map-comp__maprow.is-done .map-comp__maprow-bar:after,.map-comp__maprow[data-state=success] .map-comp__maprow-bar:after{background:var(--color-story)}.map-comp__mapbtn{height:2rem;padding:0 .55rem;font-size:.6875rem;font-weight:700}.map-comp__events-layers{display:flex;flex-direction:column;margin:0 0 .75rem}.map-comp__events-layers .map-comp__maprow-main{cursor:default}.map-comp__events-layers .map-comp__maprow-actions{align-items:center}.map-comp__events{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);padding:var(--space-2xs) 0}.map-comp__events-head h4{margin:0 0 .35rem;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;font-style:normal}.map-comp__events-head p{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--color-ink-muted)}.map-comp__events-extra{margin-top:.45rem;color:var(--color-accent);font-weight:700}.map-comp__events-meter{--fill:0%;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:.35rem .5rem}.map-comp__events-meter strong{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;line-height:1;color:var(--color-accent)}.map-comp__events-meter>span:not(.map-comp__events-bar){font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-muted)}.map-comp__events-bar{grid-column:1/-1;display:block;height:6px;border-radius:999px;background:var(--color-paper-3);overflow:hidden}.map-comp__events-bar:after{content:"";display:block;height:100%;width:var(--fill);background:var(--color-accent)}.map-comp__pips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.map-comp__pip{height:2.1rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.6875rem;font-weight:700;cursor:pointer}@media (hover:hover){.map-comp__pip.is-hover,.map-comp__pip:hover{border-color:var(--color-accent-border);color:var(--color-ink)}}.map-comp__pip.is-focus,.map-comp__pip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-comp__pip.is-active,.map-comp__pip:active{transform:translateY(1px)}.map-comp__pip:disabled{opacity:.5;cursor:not-allowed}.map-comp__pip[data-state=loading]{opacity:.7;pointer-events:none}.map-comp__pip[data-state=error]{border-color:var(--color-error);color:var(--color-error)}.map-comp__pip.is-on,.map-comp__pip[data-state=success]{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:var(--color-accent)}.map-comp__events-step{display:flex;align-items:center;gap:var(--space-2xs)}.map-comp__events-step .map-chrome-btn{width:var(--map-control-size);height:var(--map-control-size);padding:0}.map-comp__events-note{font-size:var(--text-xs);color:var(--color-ink-faint);line-height:1.35}@media (prefers-reduced-motion:reduce){.map-comp__chip,.map-comp__maprow-main,.map-comp__pip,.map-comp__tab{transition:none}}@media (max-width:640px){.map-sheet-dialog--dense{width:100vw!important;max-width:100vw!important;height:94dvh!important;max-height:94dvh!important;border-radius:var(--radius-xl,1rem) var(--radius-xl,1rem) 0 0;border-bottom:0;margin-top:auto}.map-comp__split{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.map-comp__rail{flex-direction:row;align-items:stretch;overflow:hidden;border-right:0;border-bottom:1px solid var(--color-rule-subtle)}.map-comp__rail-tabs{flex-direction:row;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:0 4px;gap:4px}.map-comp__rail-clear{width:auto;align-self:center}.map-comp__tab{flex:1 0 auto;min-width:4.8rem;padding:8px 10px;font-size:var(--text-xs)}.map-comp__tab.is-active{flex:1.45 0 auto;min-width:6rem}.map-comp__tab-title{font-size:var(--text-xs)}.map-comp__chips,.map-comp__chips--cols2{grid-template-columns:1fr;gap:6px}.map-comp__chip{padding:.55rem .65rem;font-size:var(--text-sm);min-height:40px}.map-comp__box{width:1rem;height:1rem}.map-comp__maprow{padding:.6rem 0;gap:.5rem}.map-comp__maprow-name{font-size:var(--text-sm)}.map-comp__mapbtn{height:2.25rem;padding:0 .75rem;font-size:var(--text-xs)}.map-comp__pips{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.map-comp__pip{height:2.4rem;font-size:var(--text-xs)}}.map-feedback-float{position:fixed;z-index:calc(var(--z-panel-toggle) + 40);width:22rem;max-width:calc(100vw - 2rem)}.map-feedback-float__sheet{width:100%;max-height:min(70dvh,36rem);animation:map-sheet-in .2s var(--ease-out);box-shadow:0 16px 48px oklch(6% .01 260/.65)}.map-feedback-float.has-entered:not(.is-exiting) .map-feedback-float__sheet{animation:none}.map-feedback-float.is-exiting .map-feedback-float__sheet{animation:map-sheet-out .2s var(--ease-in) forwards;pointer-events:none}.map-feedback-float__drag{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;margin:calc(var(--space-sm) * -1) calc(var(--space-sm) * -1) var(--space-2xs);padding:var(--space-sm);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.map-feedback-float.is-dragging .map-feedback-float__drag,.map-feedback-float__drag:active{cursor:grabbing}.map-feedback__label{display:block;margin-bottom:.35rem;font-size:var(--text-xs);font-weight:700;color:var(--color-ink-muted)}.map-feedback__input,.map-feedback__select,.map-feedback__textarea{width:100%;margin-bottom:var(--space-sm);padding:.65rem .75rem;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);line-height:1.45}.map-feedback__select{padding-right:2rem;font-weight:600;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23d4d8e0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5 L6 6 L10.5 1.5'/></svg>");background-repeat:no-repeat;background-position:right .7rem center}.map-feedback__textarea{resize:vertical;min-height:8rem}.map-feedback__input:focus-visible,.map-feedback__select:focus-visible,.map-feedback__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-auth-dialog{width:min(100%,24.5rem);padding:1.25rem 1.35rem;background:var(--color-paper-2);border:1px solid var(--color-rule);box-shadow:0 16px 48px oklch(4% .01 260/.7)}.map-auth-header-copy{display:flex;flex-direction:column;gap:.15rem}.map-auth-dialog .map-reset-dialog__title{font-size:var(--text-md);font-weight:800;letter-spacing:-.01em;color:var(--color-ink)}.map-auth-dialog .map-sheet-dialog__meta{font-size:var(--text-xs);color:var(--color-ink-muted)}.map-auth-tabs{display:flex;padding:3px;margin:var(--space-xs) 0 var(--space-sm);border:1px solid var(--color-rule-subtle);border-radius:var(--radius-md);background:oklch(14% .01 260);gap:2px}.map-auth-tab{flex:1 1;padding:7px 12px;border:1px solid transparent;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:all var(--dur-short) var(--ease-out)}.map-auth-tab:hover:not(.map-auth-tab--active){color:var(--color-ink);background:oklch(20% .012 260)}.map-auth-tab--active{background:var(--color-paper-3);color:var(--color-ink);border-color:var(--color-rule);box-shadow:0 1px 4px oklch(0 0 0/.4),inset 0 1px 0 oklch(100% 0 0/.06)}.map-auth-tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.map-auth-back-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem 0;margin:var(--space-2xs) 0 var(--space-xs);border:none;background:none;color:var(--color-ink-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:color var(--dur-short) var(--ease-out)}.map-auth-back-btn:hover{color:var(--color-accent)}.map-auth-back-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;height:2.75rem;padding:0 var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;box-shadow:0 1px 3px oklch(0 0 0/.25);transition:background var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.map-auth-google-btn:hover:not(:disabled){background:var(--color-paper-hover);border-color:var(--color-ink-muted);box-shadow:0 2px 6px oklch(0 0 0/.35)}.map-auth-google-btn:active:not(:disabled){transform:translateY(1px)}.map-auth-google-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.map-auth-google-btn__icon{flex-shrink:0;width:1.15rem;height:1.15rem}.map-auth-divider{display:flex;align-items:center;gap:var(--space-xs);margin:.95rem 0}.map-auth-divider__line{flex:1 1;height:1px;background:var(--color-rule-subtle)}.map-auth-divider__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-faint)}.map-auth-form{gap:var(--space-xs)}.map-auth-field,.map-auth-form{display:flex;flex-direction:column}.map-auth-field .map-feedback__label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted);margin-bottom:.35rem}.map-auth-field .map-feedback__input{margin-bottom:0;background:oklch(14% .01 260);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:.65rem .8rem;color:var(--color-ink);font-size:var(--text-sm);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.map-auth-field .map-feedback__input:hover:not(:focus){border-color:var(--color-ink-muted)}.map-auth-field .map-feedback__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);outline:none}.map-auth-field__header{display:flex;align-items:center;justify-content:space-between}.map-auth-field__hint{margin-top:.35rem;font-size:var(--text-xs);color:var(--color-ink-faint)}.map-auth-banner{display:flex;align-items:flex-start;gap:var(--space-2xs);padding:.65rem .8rem;border-radius:var(--radius-md);font-size:var(--text-xs);line-height:1.45;margin-top:var(--space-2xs)}.map-auth-banner--error{background:var(--color-error-dim);border:1px solid color-mix(in oklch,var(--color-error) 45%,transparent);color:var(--color-error)}.map-auth-banner--notice{background:var(--color-accent-dim);border:1px solid var(--color-accent-border);color:var(--color-accent)}.map-auth-banner svg{flex-shrink:0;margin-top:1px}.map-auth-dialog .map-reset-dialog__actions{margin-top:var(--space-xs)}.map-auth-submit-btn{height:2.75rem;font-weight:700;font-size:var(--text-sm);box-shadow:0 2px 8px oklch(78% .14 75/.25);transition:filter var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.map-auth-submit-btn:hover:not(:disabled){filter:brightness(1.08)}.map-auth-submit-btn:active:not(:disabled){transform:translateY(1px)}.map-auth-signed-in{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-xs)}.map-auth-card{padding:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:oklch(15% .01 260)}.map-auth-card__header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.map-auth-avatar{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--color-accent-dim);border:1.5px solid var(--color-accent-border);color:var(--color-accent);font-size:1.05rem;font-weight:800;flex-shrink:0}.map-auth-card__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.map-auth-card__email{font-size:var(--text-sm);font-weight:700;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-auth-sync-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.6875rem;font-weight:700;color:var(--color-story);text-transform:uppercase;letter-spacing:.04em}.map-auth-sync-dot{width:6px;height:6px;border-radius:9999px;background:var(--color-story);box-shadow:0 0 8px var(--color-story)}.map-auth-card__features{display:flex;flex-direction:column;gap:.35rem;padding-top:var(--space-xs);border-top:1px solid var(--color-rule-subtle)}.map-auth-card__feature-item{display:flex;align-items:center;gap:.45rem;font-size:var(--text-xs);color:var(--color-ink-muted)}.map-auth-card__feature-item svg{color:var(--color-story);flex-shrink:0}.map-auth-signout-btn{height:2.5rem;font-weight:700}.map-auth__link{padding:0;border:0;background:none;color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;cursor:pointer}.map-auth__link:hover{text-decoration:underline}.map-auth-page{display:flex;flex:1 1;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-sm)}.map-panel__body::-webkit-scrollbar{width:4px}.map-panel__body::-webkit-scrollbar-track{background:transparent}.map-panel__body::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:2px}.map-panel__body::-webkit-scrollbar-thumb:hover{background:var(--color-ink-faint)}.map-marker-image--coord-ref{position:relative}.map-marker-badge{position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);flex-shrink:0;min-width:1rem;height:1rem;padding:0 4px;border-radius:999px;background:var(--color-badge-bg);border:1px solid var(--color-badge-border);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-xs);font-weight:800;line-height:14px;text-align:center;pointer-events:none;z-index:1}.map-marker-badge--unlock{background:color-mix(in oklch,var(--color-accent) 25%,var(--color-paper));border-color:var(--color-accent);color:var(--color-accent)}.map-marker-image--ghost{position:relative;overflow:visible!important}.map-marker-badge--ghost{top:auto;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);transform-origin:center bottom;white-space:nowrap;min-width:unset;display:inline-flex;align-items:center;justify-content:center;gap:2.5px;padding:0 4px;height:13px;line-height:1;font-family:var(--font-mono);font-size:8.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.03em;border-radius:3px;background:rgba(10,12,16,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:oklch(90% .01 260);box-shadow:0 1px 3px rgba(0,0,0,.65);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-marker-badge__time{display:inline-block;line-height:1}.map-marker-badge__lock{display:inline-block;vertical-align:middle;opacity:.95;margin-left:1px}.map-marker-image--ghost:hover .map-marker-badge--ghost{transform:translateX(-50%) scale(.88)}.is-ghost-active{z-index:1005!important}.is-ghost-active .map-marker-badge--ghost{background:rgba(22,18,5,.94);border-color:rgba(255,208,0,.85);color:#ffd000;box-shadow:0 0 6px rgba(255,208,0,.35),0 1px 3px rgba(0,0,0,.7)}.is-ghost-active .map-marker-image img{filter:drop-shadow(0 0 4px rgba(255,208,0,.75))}.is-ghost-upcoming{z-index:1004!important}.is-ghost-upcoming .map-marker-badge--ghost{background:rgba(24,14,5,.94);border-color:rgba(249,115,22,.85);color:#f97316;box-shadow:0 0 6px rgba(249,115,22,.35),0 1px 3px rgba(0,0,0,.7)}.is-ghost-inactive{opacity:1}.map-marker-badge--ghost-finale{background:rgba(20,16,5,.95)!important;border-color:rgba(255,215,0,.8)!important;color:#ffd700!important;box-shadow:0 0 6px rgba(255,215,0,.35),0 1px 3px rgba(0,0,0,.7)!important;font-weight:800!important}.map-marker-image--ghost-finale img{filter:drop-shadow(0 0 5px rgba(255,215,0,.75))}.map-marker-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer;pointer-events:auto;transition:transform var(--dur-short) var(--ease-out);transform-origin:center center;contain:layout style}.map-marker-image:hover{transform:scale(1.2);filter:drop-shadow(0 2px 4px oklch(10% 0 0/.6))}.is-collected{opacity:.45}.is-collected .map-marker-image>img,.is-collected.is-area-marker,.is-not-today{filter:grayscale(1)}.is-not-today.is-collected{opacity:.55}.is-live-today{opacity:1;filter:none}.is-live-today .map-marker-image{transform:scale(1.35)}.is-live-today .map-marker-image:hover{transform:scale(1.5)}.is-live-today.is-collected{opacity:.75}.is-live-today.is-collected .map-marker-image>img{filter:grayscale(.35)}.is-collected .map-marker-image:after{inset:0;z-index:2}.is-collected .map-marker-image:after,.is-collected.is-area-marker:after{content:"";position:absolute;background:url(/map_blips/367_radar_completed.png) 50%/contain no-repeat;pointer-events:none}.is-collected.is-area-marker:after{top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%)}.map-popup-root{position:relative;overflow:visible;width:0;height:0;pointer-events:none}.map-popup-card[hidden],.map-popup-card__collected-hint[hidden],.map-popup-card__collected[hidden],.map-popup-card__image-wrap[hidden],.map-popup-card__info[hidden],.map-popup-card__live[hidden]{display:none}.map-popup-card{position:relative;width:18.75rem;overflow:hidden;border:1px solid var(--color-accent-border);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:0 12px 40px oklch(8% .01 260/.85);color:var(--color-ink);font-family:var(--font-body);pointer-events:auto;cursor:grab;opacity:1;animation:map-sheet-in .2s var(--ease-out)}.map-popup-card--dragging{animation:none;cursor:grabbing}.map-popup-card.map-popup-card--closing{pointer-events:none}.map-popup-card__image-wrap{position:relative;height:10rem;overflow:hidden;border-bottom:1px solid var(--color-rule)}.map-popup-card__image{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.92)}.map-popup-card__image-fade{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,var(--color-overlay) 100%)}.map-popup-card__close{position:absolute;top:var(--space-2xs);right:var(--space-2xs);z-index:10;display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;padding:0;border:1px solid var(--color-rule);border-radius:50%;background:oklch(14% .01 260/.8);color:var(--color-ink-muted);font-size:1rem;line-height:1;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.map-popup-card__close:hover{background:var(--color-paper-3);color:var(--color-ink)}.map-popup-card__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-popup-card__body{padding:var(--space-sm) var(--space-sm) var(--space-md)}.map-popup-card__category{margin-bottom:var(--space-2xs);font-size:var(--text-xs);font-weight:600;font-style:normal;color:var(--color-accent)}.map-popup-card__name{font-size:var(--text-md);font-weight:700;font-style:normal;line-height:1.3;color:var(--color-ink)}.map-popup-card__info{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-rule-subtle);font-size:var(--text-sm);line-height:1.6;color:var(--color-ink-muted)}.map-popup-card__live{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;border:1px solid #c9a227;background:oklch(90% .12 95/.18);color:#e6c35c;font-size:.6875rem;font-weight:700}.map-popup-card__collected{appearance:none;display:block;width:100%;margin-top:var(--space-sm);padding:6px 0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer}.map-popup-card__collected:hover{background:var(--color-paper-3)}.map-popup-card__collected:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-popup-card__collected--on{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:var(--color-accent)}.map-popup-card__collected-hint{margin-top:4px;margin-bottom:var(--space-2xs);text-align:center;font-size:.625rem;font-weight:500;letter-spacing:.01em;color:var(--color-ink-muted);opacity:.7}.map-popup-card__marker-info+.map-popup-card__category-info{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-rule-subtle)}.map-popup-card:has(.map-popup-card__spawns-section){width:min(92vw,24rem)}.map-popup-card__status-badge{display:inline-flex;align-items:center;gap:var(--space-3xs);margin-bottom:var(--space-xs);padding:3px 8px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;line-height:1.25}.map-popup-card__status-badge--active{background:var(--color-status-active-dim);border:1px solid var(--color-status-active-border);color:var(--color-status-active)}.map-popup-card__status-badge--upcoming{background:var(--color-status-upcoming-dim);border:1px solid var(--color-status-upcoming-border);color:var(--color-status-upcoming)}.map-popup-card__status-badge--inactive{background:var(--color-paper-3);border:1px solid var(--color-rule-subtle);color:var(--color-ink-muted)}.map-popup-card__badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;flex-shrink:0}.map-popup-card__video-link{display:inline-flex;align-items:center;gap:var(--space-3xs);margin-top:var(--space-2xs);padding:4px var(--space-2xs);background:var(--color-error-dim);border:1px solid color-mix(in oklch,var(--color-error) 40%,var(--color-rule));border-radius:var(--radius-sm);color:var(--color-error);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-popup-card__video-link:hover{background:color-mix(in oklch,var(--color-error) 22%,var(--color-paper-2));border-color:var(--color-error);color:var(--color-ink);transform:translateY(-1px)}.map-popup-card__video-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-popup-card__video-link:active{transform:translateY(0)}.map-popup-card__finale-card{margin:var(--space-2xs) 0 var(--space-xs);padding:8px 10px;background:oklch(21% .015 260);border:1px solid oklch(34% .02 260);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);box-shadow:0 2px 8px oklch(0 0 0/.4)}.map-popup-card__finale-tagline{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.map-popup-card__finale-kicker{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:800;color:var(--color-accent);letter-spacing:.05em;text-transform:uppercase}.map-popup-card__finale-icon{display:inline-block;vertical-align:middle}.map-popup-card__finale-req{font-size:.625rem;font-weight:600;padding:1px 5px;background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:3px;color:var(--color-ink-muted)}.map-popup-card__finale-desc{font-size:.6875rem;color:var(--color-ink-muted);line-height:1.4}.map-popup-card__finale-desc strong{color:var(--color-ink);font-weight:600}.map-popup-card__spawns-section{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--color-rule-subtle)}.map-popup-card__spawns-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xs)}.map-popup-card__spawns-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint)}.map-popup-card__spawns-subtitle{font-size:var(--text-xs);color:var(--color-accent);font-weight:600}.map-popup-card__spawns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs)}.map-popup-card__spawn-card{display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-sm);overflow:hidden;text-decoration:none;color:inherit;cursor:pointer;position:relative;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .12s var(--ease-out)}.map-popup-card__spawn-card:hover{background:var(--color-paper-3);border-color:var(--color-accent);transform:translateY(-1px)}.map-popup-card__spawn-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-popup-card__spawn-card:active{transform:translateY(0)}.map-popup-card__spawn-img-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}.map-popup-card__spawn-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-medium) var(--ease-out)}.map-popup-card__spawn-card:hover .map-popup-card__spawn-img{transform:scale(1.04)}.map-popup-card__spawn-badge{left:4px;padding:1px 5px;background:rgba(10,12,16,.88);font-family:var(--font-body);font-size:.625rem;font-weight:700;letter-spacing:.02em;line-height:1.2}.map-popup-card__spawn-badge,.map-popup-card__spawn-expand-btn{position:absolute;top:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:3px;color:var(--color-ink)}.map-popup-card__spawn-expand-btn{right:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:rgba(10,12,16,.85);opacity:0;transition:opacity var(--dur-short) var(--ease-out)}.map-popup-card__spawn-card:hover .map-popup-card__spawn-expand-btn{opacity:1}.map-popup-card__spawn-body{padding:5px 7px 7px;display:flex;flex-direction:column;gap:2px;flex-grow:1}.map-popup-card__spawn-label{font-size:.72rem;font-weight:700;color:var(--color-ink);line-height:1.25;overflow-wrap:anywhere;min-width:0}.map-popup-card__spawn-desc{font-size:.66rem;color:var(--color-ink-muted);line-height:1.35;overflow-wrap:anywhere;min-width:0}@media (max-width:360px){.map-popup-card__spawns-grid{grid-template-columns:1fr}}.map-popup-card__image-wrap{cursor:pointer}.map-popup-card__image-zoom-hint{position:absolute;top:var(--space-2xs);left:var(--space-2xs);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background:rgba(10,12,16,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-out)}.map-popup-card__image-wrap:hover .map-popup-card__image-zoom-hint{opacity:1}.map-lightbox-overlay{position:fixed;inset:0;z-index:calc(var(--z-popup) + 500);background:oklch(10% .01 260/.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-sm);animation:map-lightbox-fade-in .15s var(--ease-out)}@keyframes map-lightbox-fade-in{0%{opacity:0}to{opacity:1}}.map-lightbox-panel{position:relative;max-width:min(94vw,1100px);max-height:min(92vh,850px);display:flex;flex-direction:column;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 24px 60px oklch(0 0 0/.85);overflow:hidden;animation:map-lightbox-scale-in .18s var(--ease-out)}@keyframes map-lightbox-scale-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.map-lightbox-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-rule-subtle);background:var(--color-paper)}.map-lightbox-panel__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.map-lightbox-panel__title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;color:var(--color-ink)}.map-lightbox-panel__subtitle,.map-lightbox-panel__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-lightbox-panel__subtitle{font-size:var(--text-xs);color:var(--color-ink-muted)}.map-lightbox-panel__close{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--color-rule);border-radius:50%;background:var(--color-paper-3);color:var(--color-ink-muted);font-size:1.125rem;line-height:1;cursor:pointer;flex-shrink:0;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.map-lightbox-panel__close:hover{background:var(--color-paper-hover);border-color:var(--color-accent-border);color:var(--color-ink)}.map-lightbox-panel__img-frame{position:relative;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;max-height:calc(90vh - 5rem)}.map-lightbox-panel__img{display:block;max-width:100%;max-height:calc(90vh - 5rem);width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none}.map-lightbox-panel__footer{display:flex;align-items:center;justify-content:space-between;padding:6px var(--space-sm);border-top:1px solid var(--color-rule-subtle);background:var(--color-paper)}.map-lightbox-panel__hint{font-size:.6875rem;color:var(--color-ink-faint)}.map-lightbox-panel__open-raw{font-size:.6875rem;font-weight:600;color:var(--color-accent);text-decoration:none;transition:color var(--dur-short) var(--ease-out)}.map-lightbox-panel__open-raw:hover{text-decoration:underline}.map-popup-leader-line,.map-popup-position{position:absolute;left:0;top:0}.map-popup-leader-line{overflow:visible;pointer-events:none;opacity:0;transition:opacity var(--dur-short) var(--ease-out)}.map-popup-leader-line line{stroke:var(--color-accent);stroke-width:1.5;stroke-dasharray:4 3}@media (max-width:768px){:root{--map-panel-width:min(88vw,22rem)}.map-shell--panel-open .map-viewer{left:0}.map-panel{z-index:var(--z-popup);padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom));box-shadow:8px 0 32px oklch(0 0 0/.65)}.map-panel-toggle{top:max(var(--space-2xs),env(safe-area-inset-top,0px));left:max(var(--space-2xs),env(safe-area-inset-left,0px))}.map-panel-toggle--open{display:none}.map-panel__close-btn{display:inline-flex}.map-panel-backdrop{display:block;position:fixed;inset:0;background:oklch(0 0 0/.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:calc(var(--z-popup) - 1);opacity:0;pointer-events:none;transition:opacity var(--dur-medium) var(--ease-out)}.map-panel-backdrop--open{opacity:1;pointer-events:auto}.map-auth-field input,.map-feedback__input,.map-feedback__select,.map-feedback__textarea,.map-panel__search-input{font-size:16px!important}.map-chrome-top-right{top:max(var(--space-2xs),env(safe-area-inset-top,0px));right:max(var(--space-2xs),env(safe-area-inset-right,0px));bottom:auto;width:auto;max-width:calc(100vw - 3.5rem);display:flex;flex-direction:column;align-items:flex-end;gap:4px}.map-chrome-stack{width:min(100%,16.5rem);gap:3px}.map-games-menu,.map-map-card,.map-mini-nav{padding:2px;gap:2px;border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(0 0 0/.35)}.map-mini-nav__btn{width:1.375rem;height:1.375rem}.map-mini-nav__title{font-size:.625rem}.map-layer-bar{padding-top:2px}.map-layer-bar .map-chrome-btn,.map-region-bar .map-chrome-btn{padding:4px 8px;font-size:.6875rem;height:1.75rem;min-width:3.25rem}.map-chrome-brand-row{padding-left:0;width:auto;gap:4px;align-items:center}.map-brand{border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(0 0 0/.35)}.map-brand,.map-brand__logo{width:2.75rem}.map-game-clock{padding:4px 8px;gap:2px;border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(0 0 0/.35)}.map-game-clock__title{display:none}.map-game-clock__row{font-size:.6875rem;gap:4px}.map-game-clock__glyph svg{width:12px;height:12px}}@media (max-width:640px){.map-controls{top:auto;right:max(var(--space-2xs),env(safe-area-inset-right,0px));bottom:max(var(--space-2xs),env(safe-area-inset-bottom,0px));width:auto;gap:4px}.map-controls>.map-bmc-btn,.map-controls>.map-rail-btn,.map-minimap{display:none}.map-controls__row{margin-top:0;width:auto}.map-zoom-stack{height:auto;display:flex;flex-direction:column;gap:4px}.map-zoom-stack .map-chrome-btn--icon{width:var(--map-control-size);height:var(--map-control-size);border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(0 0 0/.35)}.map-mobile-quickbar{position:absolute;bottom:max(var(--space-2xs),env(safe-area-inset-bottom,0px));left:max(var(--space-2xs),env(safe-area-inset-left,0px));z-index:var(--z-controls);display:flex;gap:4px;max-width:calc(100vw - var(--map-control-size) - 1.5rem)}.map-mobile-quickbar__btn{height:var(--map-control-size);padding:0 8px;font-size:.6875rem;font-weight:700;gap:4px;border-radius:var(--radius-md);box-shadow:0 2px 8px oklch(0 0 0/.35)}.map-popup-position{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;transform:none!important;z-index:calc(var(--z-popup) + 10);display:flex;justify-content:center;padding:0;pointer-events:none}.map-popup-card{width:100%;max-width:100vw;max-height:min(78dvh,38rem);overflow-y:auto;overscroll-behavior:contain;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--radius-xl,1rem);border-top-right-radius:var(--radius-xl,1rem);border:1px solid var(--color-accent-border);border-bottom:0;box-shadow:0 -8px 36px oklch(0 0 0/.75);pointer-events:auto;cursor:default;animation:map-popup-sheet-up .22s var(--ease-out)}.map-popup-card__image-wrap{height:10.5rem}.map-popup-card__body{padding:var(--space-md) var(--space-md) calc(var(--space-lg) + max(0px, env(safe-area-inset-bottom, 0px)))}.map-popup-card__name{font-size:var(--text-lg)}.map-popup-card__category{font-size:var(--text-sm)}.map-popup-card__collected{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:var(--text-md)}.map-popup-leader-line{display:none!important}.map-feedback-dialog{max-height:94dvh!important;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-md);padding-bottom:calc(var(--space-md) + max(0px, env(safe-area-inset-bottom, 0px)))}.map-reset-dialog{padding:0!important;align-items:flex-end!important}.map-sheet-dialog,.map-sheet-dialog--wide{width:100vw!important;max-width:100vw!important;max-height:94dvh!important;border-radius:var(--radius-xl,1rem) var(--radius-xl,1rem) 0 0!important;border-bottom:0!important;margin-top:auto!important}.map-sheet-dialog--wide{height:94dvh!important}.map-reset-dialog.is-peeking .map-sheet-dialog--dense{transform:none}}@keyframes map-popup-sheet-up{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}.map-route-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:250;overflow:visible}.map-route-casing{stroke:oklch(10% .015 260/.75);stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3}.map-route-casing,.map-route-path{fill:none;vector-effect:non-scaling-stroke}.map-route-path{stroke:var(--color-accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3}.map-route-badge-g{pointer-events:none}.map-route-badge-circle{fill:var(--color-paper-2);stroke:var(--color-accent);stroke-width:1.5px;filter:drop-shadow(0 2px 4px oklch(0 0 0/.75))}.map-route-badge-text{font-family:var(--font-mono);font-size:8.5px;font-weight:700;fill:var(--color-accent);dominant-baseline:central}.map-route-start-circle{fill:var(--color-paper-2);stroke:var(--color-story);stroke-width:2px;filter:drop-shadow(0 0 6px color-mix(in oklch,var(--color-story) 50%,transparent))}.map-route-start-text{font-family:var(--font-mono);font-size:9.5px;font-weight:800;fill:var(--color-story);dominant-baseline:central}.is-setting-start canvas{cursor:crosshair!important}.map-route-panel{position:relative;width:100%;flex:0 0 auto;min-height:25.2rem;height:var(--route-panel-height,33.75rem);max-height:var(--route-panel-height,33.75rem);display:flex;flex-direction:column;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 8px 24px oklch(0 0 0/.55);overflow:hidden;margin-bottom:.15rem;animation:map-sheet-in .2s var(--ease-out);transform-origin:bottom center}.map-route-panel.is-exiting{animation:map-sheet-out .2s var(--ease-in) forwards;pointer-events:none}.map-route-panel__resize-handle{display:flex;align-items:center;justify-content:center;width:100%;height:10px;cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:transparent;flex-shrink:0;transition:background-color var(--dur-short) var(--ease-out)}.map-route-panel__resize-handle:focus-visible,.map-route-panel__resize-handle:hover{background:color-mix(in oklch,var(--color-accent) 12%,transparent);outline:none}.map-route-panel__resize-pill{width:36px;height:3px;border-radius:2px;background:var(--color-rule);transition:background-color var(--dur-short) var(--ease-out),width var(--dur-short) var(--ease-out)}.map-route-panel__resize-handle:active .map-route-panel__resize-pill,.map-route-panel__resize-handle:focus-visible .map-route-panel__resize-pill,.map-route-panel__resize-handle:hover .map-route-panel__resize-pill{background:var(--color-accent);width:48px}@media (max-width:768px){.map-route-panel{position:fixed;left:var(--space-2xs);right:var(--space-2xs);bottom:var(--space-2xs);width:auto;height:auto!important;max-height:min(68dvh,34rem)!important;min-height:12rem!important;z-index:calc(var(--z-popup) + 5);transform-origin:bottom center}.map-route-panel__resize-handle{display:none}}.map-route-panel__header{display:flex;flex-direction:column;padding:.5rem .65rem;border-bottom:1px solid var(--color-rule);background:var(--color-paper-2);gap:.4rem}.map-route-panel__title-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-height:1.5rem}.map-route-panel__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;font-style:normal;color:var(--color-ink);margin:0;white-space:nowrap}.map-route-panel .map-popup-card__close,.map-route-panel__close-btn{position:static!important;top:auto!important;right:auto!important;flex-shrink:0;width:1.5rem;height:1.5rem;font-size:1rem;margin:0}.map-route-panel__hud{display:flex;align-items:center;padding:.3rem .45rem;background:var(--color-paper);border:1px solid var(--color-rule-subtle);border-radius:var(--radius-sm);gap:.45rem}.map-route-panel__hud-col{flex:1 1;display:flex;flex-direction:column;min-width:0}.map-route-panel__hud-lbl{font-family:var(--font-body);font-size:.625rem;color:var(--color-ink-muted);line-height:1.2}.map-route-panel__hud-val{font-family:var(--font-mono);font-size:.8125rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink);line-height:1.2}.map-route-panel__hud-denom{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.map-route-panel__hud-unit{font-size:var(--text-xs);font-weight:400;color:var(--color-ink-faint)}.map-route-panel__hud-sep{width:1px;height:1.25rem;background:var(--color-rule-subtle);flex-shrink:0}.map-route-panel__progress-bar{width:100%;height:2px;background:var(--color-rule-subtle);border-radius:1px;overflow:hidden;margin-top:-2px}.map-route-panel__progress-fill{height:100%;background:var(--color-accent);transition:width var(--dur-short) var(--ease-out)}.map-route-panel__toolbar{display:flex;gap:3px;align-items:center;animation:route-elem-in .14s var(--ease-out)}.map-route-panel__segmented{display:flex;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:2px;gap:2px}.map-route-panel__segmented-btn{flex:1 1;padding:.3rem .5rem;font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--color-ink-muted);background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-route-panel__segmented-btn:hover:not(:disabled){color:var(--color-ink);background:var(--color-paper-hover)}.map-route-panel__segmented-btn:active:not(:disabled){transform:translateY(1px)}.map-route-panel__segmented-btn.is-active{background:var(--color-paper-3);color:var(--color-accent);font-weight:700;box-shadow:0 1px 3px oklch(0 0 0/.35)}.map-route-panel__segmented-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px}.map-route-panel__segmented-btn:disabled{opacity:.45;cursor:default}.map-route-panel__tool-btn{flex:1 1;font-size:.6875rem;padding:.3rem .45rem;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-route-panel__tool-btn:active{transform:translateY(1px)}.map-route-panel__start-nav-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.42rem .65rem;font-family:var(--font-body);font-size:.75rem;font-weight:700;color:oklch(12% .02 95);background:var(--color-accent);border:1px solid oklch(78% .16 90);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 2px 6px oklch(72% .16 90/.25);animation:route-elem-in .14s var(--ease-out);transition:background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.map-route-panel__start-nav-btn:hover:not(:disabled){background:color-mix(in oklch,var(--color-accent) 90%,white);box-shadow:0 3px 8px oklch(72% .16 90/.35)}.map-route-panel__start-nav-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px oklch(72% .16 90/.2)}.map-route-panel__start-nav-btn:disabled{background:var(--color-paper-3);color:var(--color-ink-muted);border-color:var(--color-rule);box-shadow:none;cursor:not-allowed;transform:none;opacity:.6}.map-route-panel__start-nav-btn:disabled .map-route-panel__start-nav-badge{background:var(--color-paper);color:var(--color-ink-faint)}.map-route-panel__start-nav-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-route-panel__start-nav-badge{font-family:var(--font-mono);font-size:.625rem;font-weight:700;padding:1px 5px;border-radius:3px;background:oklch(0 0 0/.15);color:inherit}.map-route-panel__anchor-banner{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);padding:.3rem .5rem;border-radius:var(--radius-sm);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);color:var(--color-accent);animation:route-elem-in .14s var(--ease-out)}.map-route-panel__banner-cancel{background:transparent;border:none;color:inherit;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0;transition:opacity var(--dur-short)}.map-route-panel__banner-cancel:active{opacity:.6}.map-route-nav-card{display:flex;flex-direction:column;gap:.35rem;padding:.4rem .5rem;background:var(--color-paper-3);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);margin-top:.2rem;animation:route-elem-in .16s var(--ease-out)}.map-route-nav-header{display:flex;align-items:center;justify-content:space-between}.map-route-nav-step{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--color-accent)}.map-route-nav-exit{background:transparent;border:none;color:var(--color-ink-muted);font-size:.625rem;cursor:pointer;padding:0;text-decoration:underline;transition:color var(--dur-short),opacity var(--dur-short)}.map-route-nav-exit:hover{color:var(--color-ink)}.map-route-nav-exit:active{opacity:.6}.map-route-nav-exit:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-route-nav-target{display:flex;align-items:center;justify-content:space-between;gap:.4rem;animation:route-elem-in .13s var(--ease-out)}.map-route-nav-meta{display:flex;flex-direction:column;min-width:0}.map-route-nav-label{font-size:.5625rem;color:var(--color-ink-muted);line-height:1}.map-route-nav-name{font-size:.75rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-route-nav-dist{font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-accent);white-space:nowrap}.map-route-nav-controls{display:flex;gap:4px;align-items:center}.map-route-nav-btn--step{flex:1 1;font-size:.6875rem;padding:.35rem .4rem}.map-route-nav-btn--collect{flex:2 1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:.35rem .6rem;font-family:var(--font-body);font-size:.75rem;font-weight:700;color:#031c0a;background:var(--color-story);border:1px solid color-mix(in oklch,var(--color-story) 80%,white);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 4px oklch(0 0 0/.2);transition:background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-route-nav-btn--collect:hover{background:color-mix(in oklch,var(--color-story) 88%,white)}.map-route-nav-btn--collect:active{transform:translateY(1px)}.map-route-nav-btn--collect:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.map-route-panel__waypoint-row.is-nav-target{background:var(--color-paper-3);border-radius:var(--radius-sm)}.map-route-panel__tabs{display:flex;border-bottom:1px solid var(--color-rule);background:var(--color-paper-2)}.map-route-panel__tab{flex:1 1;padding:.32rem .4rem;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-align:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-ink-muted);cursor:pointer;transition:color var(--dur-short),border-color var(--dur-short),background-color var(--dur-short),transform .1s var(--ease-out)}.map-route-panel__tab:hover{color:var(--color-ink);background:var(--color-paper-hover)}.map-route-panel__tab:active{transform:translateY(1px)}.map-route-panel__tab:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.map-route-panel__tab.is-active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:var(--color-paper)}.map-route-panel__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.35rem;scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;animation:route-body-in .14s var(--ease-out) both}@keyframes route-body-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes route-elem-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.map-route-panel__body::-webkit-scrollbar{width:4px}.map-route-panel__body::-webkit-scrollbar-track{background:transparent}.map-route-panel__body::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:2px}.map-route-panel__body::-webkit-scrollbar-thumb:hover{background:var(--color-ink-faint)}.map-route-panel__empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-md) var(--space-sm);color:var(--color-ink-muted);gap:var(--space-2xs)}.map-route-panel__empty-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-ink);margin:0}.map-route-panel__empty-desc{font-size:var(--text-xs);color:var(--color-ink-faint);margin:0;line-height:1.4;max-width:18rem}.map-route-panel__waypoint-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.map-route-panel__waypoint-row{display:flex;align-items:center;border-radius:var(--radius-sm);transition:background-color var(--dur-short),opacity var(--dur-short)}.map-route-panel__waypoint-row.is-collected{opacity:.45}.map-route-panel__waypoint-row.is-collected .map-route-panel__wp-title{text-decoration:line-through;color:var(--color-ink-faint)}.map-route-panel__waypoint-row.is-collected .map-route-panel__seq-num{border-color:var(--color-story);color:var(--color-story)}.map-route-panel__waypoint-row--start{background:color-mix(in oklch,var(--color-story-dim) 40%,var(--color-paper));border:1px solid color-mix(in oklch,var(--color-story) 40%,var(--color-rule-subtle));padding:1px 6px;gap:5px;min-height:1.375rem;margin-bottom:2px}.map-route-panel__wp-btn{display:flex;align-items:center;gap:5px;width:100%;min-height:1.375rem;padding:1px 6px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:inherit;transition:background-color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.map-route-panel__wp-btn:hover{background:oklch(25% .014 260/.6)}.map-route-panel__wp-btn:active{transform:scale(.99)}.map-route-panel__wp-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px}.map-route-panel__seq-num{font-family:var(--font-mono);font-size:.625rem;font-weight:700;letter-spacing:.02em;color:var(--color-accent);background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:3px;padding:0 3px;flex-shrink:0;min-width:1.15rem;text-align:center;line-height:1.2}.map-route-panel__seq-num--start{color:var(--color-story);border-color:var(--color-story);background:var(--color-story-dim)}.map-route-panel__wp-blip{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem}.map-route-panel__wp-meta{display:flex;align-items:baseline;gap:4px;min-width:0;flex:1 1}.map-route-panel__wp-title{font-size:.75rem;font-weight:500;line-height:1.2;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-route-panel__wp-sub{font-size:.625rem;color:var(--color-ink-faint);line-height:1.2;white-space:nowrap;flex-shrink:0}.map-route-panel__wp-dist{font-family:var(--font-mono);font-size:.625rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-muted);flex-shrink:0}.map-route-panel__cat-actions{display:flex;flex-direction:column;gap:var(--space-3xs);margin-bottom:var(--space-2xs)}.map-route-panel__cat-search{width:100%;padding:.25rem .5rem;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink);font-size:.75rem;transition:border-color var(--dur-short)}.map-route-panel__cat-search:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-accent-border)}.map-route-panel__quick-actions{display:flex;gap:var(--space-3xs)}.map-route-panel__quick-btn{flex:1 1;font-size:.6875rem;padding:.3rem .45rem;white-space:nowrap}.map-route-panel__cat-section{display:flex;flex-direction:column;margin-bottom:var(--space-2xs)}.map-route-panel__section-hdr{display:flex;align-items:baseline;gap:.35rem;padding:.2rem;border-bottom:1px solid var(--color-rule-subtle);margin-bottom:2px}.map-route-panel__section-tag{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:var(--color-ink-muted)}.map-route-panel__section-sub{font-size:.625rem;color:var(--color-ink-faint);font-weight:400}.map-route-panel__cat-list{display:flex;flex-direction:column;gap:0}.map-route-panel__cat-row{display:flex;align-items:center;gap:5px;min-height:1.375rem;padding:1px 4px 1px 6px;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-short),color var(--dur-short)}.map-route-panel__cat-row:hover{background:oklch(25% .014 260/.6);color:var(--color-ink)}.map-route-panel__cat-row.is-selected{background:oklch(25% .014 260/.4);color:var(--color-ink)}.map-route-panel__cat-check{accent-color:var(--color-accent);width:13px;height:13px;margin:0;flex-shrink:0;cursor:pointer}.map-route-panel__cat-blip{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem}.map-route-panel__cat-label{flex:1 1;min-width:0;font-size:.75rem;font-weight:500;line-height:1.2;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-route-panel__cat-count{width:auto;min-width:1.5rem;flex-shrink:0;font-size:.625rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;color:var(--color-ink-muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.map-popup-card{animation:none;opacity:1}.map-panel,.map-panel-toggle{transition:none}}