.f2c-companion{position:relative;width:52px;height:86px;pointer-events:none}.f2c-companion-fig{position:absolute;left:50%;bottom:7px;transform:translate(-50%);width:44px;height:77px;filter:drop-shadow(0 2px 2px rgba(6,18,10,.35))}.f2c-companion-shadow{position:absolute;left:50%;bottom:2px;transform:translate(-50%);width:36px;height:8px;border-radius:50%;background:#06120a61}.f2c-companion-name{position:absolute;left:50%;bottom:-13px;transform:translate(-50%);font-size:10px;font-weight:700;letter-spacing:.02em;color:#12291d;background:#f5ecdeeb;padding:1px 7px;border-radius:999px;white-space:nowrap}.ap-viz-map-stage .viz-map-canvas,.gv-map-stage .viz-map-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.viz-map-canvas .maplibregl-canvas{outline:none}.viz-map-grade{z-index:2}.ap-viz-map[data-moment=morning] .viz-map-grade{background:linear-gradient(180deg,#fff4c824,#78b4780d 55%,#0a1e122e)}.ap-viz-map[data-moment=golden] .viz-map-grade{background:linear-gradient(200deg,#ffa64257,#d65a1e24 52%,#280e284d)}.ap-viz-map[data-moment=rain] .viz-map-grade{background:linear-gradient(180deg,#466e964d,#1e3c3229 55%,#06181457)}.gv-map-stage{border-radius:28px 28px 0 0}.viz-line-note{position:absolute;left:10px;bottom:10px;z-index:5;background:#0a1a119e;color:#f3ecd4;border:1px solid rgba(247,243,232,.35);border-radius:999px;padding:5px 10px;font-size:.68rem;backdrop-filter:blur(6px);max-width:62%}.viz-line-note.light{left:14px;bottom:14px;font-size:.74rem}.viz-map-tools{position:absolute;right:10px;bottom:10px;z-index:6;display:flex;gap:6px}.gv-map-stage .viz-map-tools{right:14px;bottom:14px}.viz-map-tools button{min-height:38px;border-radius:999px;cursor:pointer;font:inherit;font-size:.76rem;font-weight:700;background:#0a1a119e;color:#f3ecd4;border:1px solid rgba(247,243,232,.35);backdrop-filter:blur(6px);padding:7px 12px}.viz-pin{width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;position:relative}.viz-pin-shadow{position:absolute;left:50%;top:74%;width:22px;height:7px;border-radius:50%;background:#06140b73;filter:blur(2.5px);transform:translate(-50%);pointer-events:none}.viz-pin-face{width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:radial-gradient(circle at 34% 28%,#45805e,#1d4a33 64%);color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;box-shadow:0 3px 10px #0006;transition:transform .18s,background .18s}.viz-pin:not(.is-in):not(.viz-area-pin) .viz-pin-face:after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}.viz-pin.is-in .viz-pin-face{background:radial-gradient(circle at 34% 28%,#f4d06a,#c99700 66%);width:27px;height:27px}.viz-pin.is-selected .viz-pin-face{background:radial-gradient(circle at 34% 28%,#ffe9a8,#e9c46a 62%,#c99700);color:#12291d;transform:translateY(-6px) scale(1.3);box-shadow:0 0 0 3px #e9c46a8c,0 10px 18px #00000080}.viz-pin.is-match .viz-pin-face{box-shadow:0 0 0 4px #e9c46acc,0 0 18px 7px #e9c46a8c,0 3px 10px #0006}.viz-pin.is-dim{opacity:.35}.viz-pin.is-selected{opacity:1}.viz-area-pin .viz-pin-face{width:32px;height:32px;background:#fbf7eeeb;color:#12291d;border:3px solid #c99700;font-size:.85rem}.viz-area-h{font-family:var(--serif, Fraunces, serif);font-size:1.05rem;margin:0 22px 4px 0;color:var(--green, #12291d)}.viz-area-note{font-size:.82rem;color:#6b6455;line-height:1.45;margin:0 0 8px}.viz-area-list{display:grid;gap:10px;max-height:300px;overflow:auto}.ap-viz-panel .viz-area-list{max-height:260px}.viz-map-canvas .maplibregl-ctrl-attrib{background:#fbf7eed9;font-size:10px}.gv-preview.is-map-tour{inset:auto 0 0;height:300px;background:linear-gradient(180deg,transparent,rgba(6,18,10,.88) 38%);overflow:visible}.gv-preview.is-map-tour .gv-pv-scene,.gv-preview.is-map-tour .gv-grade,.gv-preview.is-map-tour .gv-pv-shade{display:none}.viz-pin.viz-area-pin.is-in .viz-pin-face,.viz-pin.viz-area-pin .viz-pin-face{background:#fbf7eef0;border:3px solid #c99700;color:#12291d;width:32px;height:32px}@media(max-width:640px){.viz-line-note{bottom:56px;max-width:62%}.gv-map-stage .viz-line-note{bottom:56px}}@media(prefers-reduced-motion:reduce){.viz-pin-face{transition:none}}
