.map-companions{color:var(--foreground);background:var(--background);font-family:var(--font-display);letter-spacing:0;margin-top:1.5rem}.map-companions>details{border-top:1px solid var(--border)}.map-companions>details:last-child{border-bottom:1px solid var(--border)}.map-companions summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.75rem 0;font-size:.9375rem;font-weight:600;line-height:1.5;list-style:none;display:flex}.map-companions summary::-webkit-details-marker{display:none}.map-companions summary:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.map-companions summary svg{color:var(--pillar);flex-shrink:0}.map-companions details[open]>summary svg{transform:rotate(180deg)}.map-companions .companion-content{padding:.5rem 0 1.5rem}.map-companions h3{letter-spacing:0;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}.map-companions h4{letter-spacing:0;margin:.25rem 0 0;font-size:1rem;font-weight:600;line-height:1.5}.map-companions p{color:var(--muted-foreground);margin:.5rem 0 0;font-size:.9375rem;line-height:1.65}.map-companions ol{margin:1.25rem 0;padding:0;list-style:none}.map-companions .path-timeline{border-left:1px solid var(--pillar);margin-left:.75rem}.map-companions .path-timeline li{padding:0 0 1.25rem 1.75rem;position:relative}.map-companions .path-timeline li:last-child{padding-bottom:0}.map-companions .companion-number{border:1px solid var(--pillar);width:1.75rem;height:1.75rem;color:var(--foreground);background:var(--background);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.map-companions .path-timeline .companion-number{position:absolute;top:0;left:-.9rem}.map-companions .companion-weeks{color:var(--muted-foreground);margin:0;font-size:.75rem}.map-companions .routine-loop{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.map-companions .routine-loop li{grid-template-columns:1.75rem minmax(0,1fr);gap:.75rem;display:grid}.map-companions .routine-loop h4{margin-top:0}.map-companions .weekly-reflection{border-top:1px solid var(--border);padding-top:1rem}.map-companions .weekly-reflection h4{align-items:center;gap:.5rem;display:flex}.map-companions .weekly-reflection svg{color:var(--pillar);flex-shrink:0}.map-companions ul{color:var(--muted-foreground);margin:.5rem 0 1rem;padding-left:1.25rem;font-size:.9375rem;line-height:1.8;list-style:outside}.map-companions a{min-height:44px;color:var(--foreground);text-underline-offset:4px;align-items:center;font-size:.9375rem;text-decoration:underline;display:inline-flex}@media (width>=640px){.map-companions .routine-loop{grid-template-columns:repeat(2,minmax(0,1fr))}}
