.moscow-intro{padding:54px 0 35px}.moscow-intro .eyebrow{font-size:var(--type-body)}.moscow-intro h1{font-size:var(--type-display);line-height:.97;max-width:760px;margin:24px 0}.moscow-intro>p{max-width:730px;font-size:var(--type-body);line-height:1.8}.moscow-intro-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.moscow-hundred{font-family:var(--serif);font-size:var(--type-display);color:var(--gold);line-height:1}.moscow-hundred small{display:block;font-family:var(--sans);font-size:var(--type-body);letter-spacing:.12em;text-transform:uppercase;text-align:center}.moscow-tools{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr auto;gap:12px;align-items:end;padding:24px 0;border-block:1px solid var(--line)}.moscow-tools label{display:grid;gap:8px;font-size:var(--type-body)}.moscow-tools input,.moscow-tools select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);background:var(--paper);font:inherit;color:var(--ink);border-radius:0}.moscow-tools input{font-size:var(--type-body)}.moscow-collection{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0}.moscow-progress-copy{display:flex;align-items:center;gap:14px}.moscow-progress-copy strong{font-family:var(--serif);font-size:var(--type-title);font-weight:400}.moscow-progress-copy small{font-size:var(--type-body);display:block}.moscow-progress-copy progress{width:150px;height:4px;display:block;margin-top:9px}.moscow-collection .btn{padding:13px 20px}.moscow-workspace>div{min-width:0}.moscow-workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:28px;align-items:start}.moscow-map-frame{position:relative;border:1px solid var(--line);min-width:0}.moscow-map{height:570px;background:#e5e9df;z-index:0;font-family:var(--sans)}.moscow-map button{font:inherit}.moscow-map-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;font-size:var(--type-body);background:var(--paper)}.moscow-map-bar button{font:inherit;text-decoration:underline;min-height:32px}.moscow-marker{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fffaf0;color:#263d32;border:2px solid #a8884f;font-weight:750;box-shadow:0 2px 7px #0003;font-size:var(--type-body)}.moscow-marker.is-visited{background:#294d3b;border-color:#fff;color:#fff}.moscow-marker.is-partial{background:#d4e0c8}.moscow-marker.is-selected{outline:3px solid #263d32;outline-offset:3px}.moscow-detail{padding:15px 0}.moscow-detail h2{font-size:var(--type-title);line-height:1.12;margin:20px 0}.moscow-detail p{font-size:var(--type-body);line-height:1.8;margin:18px 0}.moscow-detail-meta{font-size:var(--type-body);color:var(--muted);margin-top:10px}.moscow-detail .moscow-tip{padding-top:18px;border-top:1px solid var(--line)}.moscow-detail .moscow-address{font-size:var(--type-body);color:var(--muted)}.moscow-detail-actions{display:flex;flex-wrap:wrap;gap:12px}.moscow-detail-actions .text-link{font-size:var(--type-body);margin:8px 0}.moscow-shared-status{display:block;width:100%;font-size:var(--type-body);padding:12px;background:#e6eddc}.moscow-cluster{display:flex;gap:6px;flex-wrap:wrap;padding:0 15px 12px}.moscow-cluster:empty{display:none}.moscow-cluster strong{width:100%;font-size:var(--type-body)}.moscow-cluster button{font-size:var(--type-body);border:1px solid var(--line);padding:7px}.moscow-legend{display:flex;gap:22px;font-size:var(--type-body);padding:14px 0}.moscow-legend span{display:flex;gap:7px;align-items:center}.moscow-legend i{width:10px;height:10px;display:inline-block;background:#a8884f;border-radius:50%}.moscow-legend .done{background:#294d3b}.moscow-status{font-size:var(--type-body);color:var(--muted);line-height:1.7}.moscow-status:empty{display:none}.moscow-shared{background:#e8edde;padding:20px 24px;margin:15px 0 25px;border:1px solid var(--line)}.moscow-shared p{font-size:var(--type-body);line-height:1.7;margin:9px 0 15px}.moscow-shared .btn{margin:0 8px 8px 0}.moscow-share-panel{padding:20px;background:#e8edde;margin-bottom:24px}.moscow-share-panel p{font-size:var(--type-body)}.moscow-share-panel input{font:var(--type-body) var(--sans);width:100%;padding:12px;background:var(--paper);border:1px solid var(--line);margin-top:8px}.moscow-directory{padding:55px 0}.moscow-directory h2{font-size:var(--type-display)}.moscow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:24px 0;list-style:none;padding:0}.moscow-card{border-top:1px solid var(--line);padding:25px 0;display:flex;flex-direction:column;align-items:flex-start}.moscow-card[hidden],.moscow-share-panel[hidden],.moscow-shared[hidden]{display:none}.moscow-card .eyebrow{font-size:var(--type-body);line-height:1.6}.moscow-card h3{font-size:var(--type-title);line-height:1.2;margin:12px 0}.moscow-card h3 button{text-align:left;font:inherit}.moscow-card h3 button:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.moscow-card p{font-size:var(--type-body);line-height:1.8;margin:0 0 18px}.moscow-card .moscow-card-meta{font-size:var(--type-body);color:var(--muted);margin:0 0 12px}.moscow-card-actions{display:flex;gap:12px;align-items:center;margin-top:auto;font-size:var(--type-body)}.moscow-card-actions button{padding:8px 10px;border:1px solid var(--line);font:inherit}.moscow-card-actions button[aria-pressed=true]{background:#294d3b;color:white}.moscow-card-status{font-size:var(--type-body);margin-bottom:10px}.moscow-method{font-size:var(--type-body);line-height:1.9;max-width:900px;margin-bottom:30px}.moscow-storage{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0}.moscow-storage p{font-size:var(--type-body);max-width:490px;line-height:1.7}.moscow-storage button{font-size:var(--type-body);text-decoration:underline;margin:5px 10px 5px 0;min-height:35px}.moscow-entry{display:flex;justify-content:space-between;align-items:center;padding:40px;border:1px solid var(--line);background:#e6ebdc;margin:45px 0;gap:30px}.moscow-entry h2{font-size:var(--type-display);line-height:1.05;margin:15px 0}.moscow-entry p{font-size:var(--type-body);line-height:1.8;max-width:560px}.moscow-entry .text-link{display:inline-block;margin-top:18px}.moscow-entry-number{font-family:var(--serif);font-size:var(--type-display);line-height:1;color:#91a18b}.moscow-tools button,.moscow-card button{min-height:40px}.moscow-page :focus-visible{outline:2px solid #a8884f;outline-offset:4px}
@media(max-width:1050px){.moscow-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.moscow-tools label:first-child{grid-column:1/-1}.moscow-workspace{grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}.moscow-map{height:540px}.moscow-list{grid-template-columns:repeat(2,minmax(0,1fr))}.moscow-entry-number{font-size:var(--type-display)}}
@media(max-width:760px){.moscow-intro{padding-top:35px}.moscow-intro h1{font-size:var(--type-display)}.moscow-hundred{display:none}.moscow-intro>p{font-size:var(--type-body)}.moscow-workspace{grid-template-columns:minmax(0,1fr);gap:10px}.moscow-map{height:420px}.moscow-detail{padding-top:24px}.moscow-detail h2{font-size:var(--type-title)}.moscow-collection{align-items:flex-start;flex-direction:column;gap:16px}.moscow-collection .btn{width:100%;justify-content:center}.moscow-progress-copy{width:100%;justify-content:space-between}.moscow-list{grid-template-columns:1fr}.moscow-directory{padding-top:35px}.moscow-directory h2{font-size:var(--type-title)}.moscow-storage{display:block}.moscow-entry{padding:25px;display:block}.moscow-entry h2{font-size:var(--type-title)}.moscow-entry-number{display:none}.moscow-tools select{font-size:var(--type-body)}.moscow-shared{padding:18px}.moscow-detail-actions .btn{width:100%;justify-content:center}}

.moscow-map-container{position:relative}.moscow-map .moscow-marker{transform:translate(-50%,-50%);padding:0;cursor:pointer;font:750 var(--type-body) var(--sans)}.moscow-zoom{position:absolute;top:14px;left:14px;z-index:1;display:grid;background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 7px #0002}.moscow-zoom[hidden]{display:none}.moscow-zoom button{width:42px;height:42px;font:var(--type-title) var(--sans);color:var(--ink)}.moscow-zoom button+button{border-top:1px solid var(--line)}.moscow-zoom button:disabled{opacity:.35;cursor:default}
