.city-page{padding:39px 0 65px}.city-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px;display:flex}.city-heading .eyebrow{letter-spacing:.06em;color:var(--green);margin-bottom:11px;font-size:12px;font-weight:600}.city-heading h1{letter-spacing:-.05em;font-size:45px;line-height:1.15}.city-heading p{max-width:660px;color:var(--muted);margin-top:16px;font-size:15px;line-height:1.5}.city-heading-links{flex-shrink:0;align-items:center;gap:20px;display:flex}.city-heading-links a{min-height:44px;color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.city-frame{--city-ground:#0d2520;--city-surface:#15392ecf;--city-border:#416052;--city-text:#e6f4eb;--city-muted:#b1cbbc;color:var(--city-text);isolation:isolate;background:radial-gradient(at 57% 30%,#26463b,#102b23 51%,#081c1c);border:1px solid #355b49;border-radius:29px;position:relative;overflow:hidden}.city-frame[data-city-theme=light]{--city-ground:#e0eddf;--city-surface:#f8fbf1ed;--city-border:#b8cbb6;--city-text:#253d30;--city-muted:#566d5d;background:radial-gradient(at 47% 33%,#f9fcf5,#e7eee0 55%,#d9e6da);border-color:#c2d3bf}.city-stage{touch-action:pan-x pan-y;cursor:grab;outline:none;height:min(760px,100svh - 210px);min-height:500px;position:relative;overflow:hidden}.city-stage:active{cursor:grabbing}.city-stage:focus-visible{outline-offset:-5px;border-radius:26px;outline:2px solid #b3d9bd}.city-stage>svg{contain:layout style;position:absolute;inset:0}.city-controls{z-index:5;pointer-events:none;justify-content:space-between;align-items:start;gap:18px;display:flex;position:absolute;top:20px;left:20px;right:20px}.city-controls>*{pointer-events:auto}.city-search{flex:1;min-width:0;max-width:300px;position:relative}.city-search-box{background:var(--city-surface);border:1px solid var(--city-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--city-muted);border-radius:14px;align-items:center;gap:9px;padding:0 13px;display:flex;box-shadow:0 5px 22px #00170e12}.city-search-box input{width:100%;min-width:0;height:46px;color:var(--city-text);background:0 0;border:0;outline:0;font-size:15px}.city-search-box:focus-within{outline-offset:2px;outline:2px solid #94bda2}.city-search-box input::placeholder{color:var(--city-muted)}.city-search-results{background:var(--city-surface);border:1px solid var(--city-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:15px;max-height:260px;margin:0;padding:7px;list-style:none;position:absolute;inset:55px 0 auto;overflow:auto;box-shadow:0 12px 24px #00170e18}.city-search-results button{width:100%;min-height:48px;color:var(--city-text);text-align:left;background:0 0;border:0;border-radius:9px;padding:10px;font-size:15px;line-height:1.5}.city-search-results button:hover,.city-search-results button:focus-visible{background:#85b79b26}.city-search-results span{color:var(--city-muted);font-size:13px;display:block}.city-search-empty{color:var(--city-muted);padding:13px;font-size:15px;line-height:1.5}.city-actions{flex-shrink:0;align-items:center;gap:7px;display:flex}.city-control-group{background:var(--city-surface);border:1px solid var(--city-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;align-items:center;padding:4px;display:flex;box-shadow:0 5px 22px #00170e10}.city-control{color:var(--city-text);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:9px;font-size:13px;display:inline-flex}.city-control:hover,.city-control:focus-visible{background:#85b79b26}.city-control[aria-pressed=true]{background:#87b59b2b}.city-control:disabled{opacity:.5;cursor:default}.city-control-share{padding-inline:13px}.city-control-label{white-space:nowrap;font-size:13px}.city-footer-controls{z-index:4;pointer-events:none;justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:20px;left:21px;right:21px}.city-footer-controls>*{pointer-events:auto}.city-short-help{color:var(--city-muted);background:var(--city-surface);border:1px solid var(--city-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px;max-width:230px;padding:9px 12px;font-size:15px;line-height:1.5}.city-zoom-control{background:var(--city-surface);border:1px solid var(--city-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;align-items:center;padding:4px;display:flex}.city-zoom-label{font-variant-numeric:tabular-nums;text-align:center;min-width:48px;color:var(--city-muted);font-size:13px}.city-card{z-index:4;border:1px solid var(--city-border);background:var(--city-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;border-radius:19px;width:min(285px,100% - 44px);padding:20px 21px;position:absolute;top:90px;right:22px;box-shadow:0 12px 30px #00110d18}.city-card .city-card-category{color:var(--city-muted);font-size:13px;line-height:1.5}.city-card h2{letter-spacing:-.03em;overflow-wrap:anywhere;margin:7px 25px 17px 0;font-size:20px;line-height:1.3}.city-card-stats{border-top:1px solid var(--city-border);color:var(--city-muted);justify-content:space-between;align-items:center;gap:14px;padding-top:14px;font-size:13px;line-height:1.5;display:flex}.city-card-stats strong{letter-spacing:-.04em;color:var(--city-text);font-size:22px;font-weight:550;display:block}.city-card p{color:var(--city-muted);margin-top:13px;font-size:15px;line-height:1.5}.city-card>a{border-top:1px solid var(--city-border);justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-top:16px;padding-top:10px;font-size:13px;display:flex}.city-card-close{min-width:44px;min-height:44px;color:var(--city-muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:11px;right:10px}.city-share-panel{z-index:6;border:1px solid var(--city-border);background:var(--city-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:19px;width:290px;max-width:calc(100% - 40px);padding:22px;position:absolute;top:80px;right:20px;box-shadow:0 15px 40px #0002}.city-share-panel h2{letter-spacing:-.03em;margin-right:20px;font-size:20px}.city-share-panel p{color:var(--city-muted);margin-top:12px;font-size:15px;line-height:1.5}.city-share-panel a,.city-share-panel>button{width:100%;min-height:44px;color:var(--city-text);border:0;border-top:1px solid var(--city-border);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:9px;margin-top:9px;padding:12px 0;font-size:13px;display:flex}.city-legend{justify-content:space-between;align-items:start;gap:20px;margin-top:21px;display:flex}.city-legend-items{color:var(--muted);flex-wrap:wrap;gap:16px 27px;margin:0;padding:0;font-size:15px;line-height:1.5;list-style:none;display:flex}.city-legend-items li{align-items:center;gap:8px;display:flex}.city-legend-symbol{border:1px solid var(--border);background:var(--surface);border-radius:3px;flex-shrink:0;width:13px;height:13px}.city-legend-symbol.windows{background:#e6bc70;border-color:#d1ad6c}.city-legend-symbol.height{background:#89b49a;border-color:#75a387;width:10px;height:18px}.city-legend-symbol.scaffold{border-color:var(--muted);background:repeating-linear-gradient(45deg,transparent,transparent 4px,var(--border) 4px,var(--border) 5px)}.city-explanation{color:var(--muted);max-width:850px;margin-top:20px;font-size:15px;line-height:1.5}.city-category-list{flex-wrap:wrap;gap:8px;margin:25px 0 0;padding:0;list-style:none;display:flex}.city-category-list a,.city-category-list button{border:1px solid var(--border);background:var(--background);min-height:40px;color:var(--muted);border-radius:100px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.city-category-list i{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:block}.city-list-section{padding-top:43px;scroll-margin-top:100px}.city-list-section h2{letter-spacing:-.035em;font-size:28px;line-height:1.3}.city-list-section>p{color:var(--muted);margin:13px 0 22px;font-size:15px;line-height:1.5}.city-company-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.city-company-list>li{min-width:0}.city-company-row{border:1px solid var(--border);border-radius:15px;justify-content:space-between;align-items:center;gap:14px;min-width:0;min-height:95px;padding:20px 19px;display:flex}.city-company-identity{align-items:center;gap:13px;min-width:0;display:flex}.city-company-initial{background:var(--surface);width:40px;height:40px;color:var(--muted);border-radius:12px;flex:0 0 40px;place-items:center;font-size:17px;display:grid}.city-company-identity>span:last-child{min-width:0}.city-company-identity strong{overflow-wrap:anywhere;font-size:15px;font-weight:550;line-height:1.5;display:block}.city-company-identity small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5;display:block}.city-company-score{text-align:right;flex-shrink:0}.city-company-score strong{color:var(--green);font-size:17px;font-weight:550;line-height:1.5;display:block}.city-company-score span{color:var(--muted);font-size:13px;line-height:1.5;display:block}.city-unavailable{border:1px dashed var(--border);text-align:center;background:var(--surface);border-radius:24px;padding:45px}.city-unavailable h2{letter-spacing:-.03em;font-size:26px;line-height:1.3}.city-unavailable p{color:var(--muted);margin-top:15px;font-size:15px;line-height:1.5}.city-unavailable .button{margin-top:24px;font-size:13px}.city-loading{color:#b9d1c3;background:#0d2520;border:1px solid #355b49;border-radius:29px;place-items:center;min-height:500px;display:grid}.city-loading p{font-size:15px;line-height:1.5}.city-list-toggle{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.city-connection-status{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.5}.city-details-list{border-top:1px solid var(--border);margin-top:27px;padding-top:14px}.city-details-list>summary{cursor:pointer;min-height:44px;color:var(--muted);padding:10px 0;font-size:15px;line-height:1.5}@media (max-width:900px){.city-control-label{display:none}.city-card{width:260px;top:87px}.city-short-help{max-width:205px}.city-stage{min-height:520px}.city-heading h1{font-size:39px}}@media (max-width:600px){.city-page{padding-top:27px}.city-heading{flex-direction:column;align-items:start;gap:14px;margin-bottom:20px}.city-heading h1{font-size:34px}.city-heading p{margin-top:13px;font-size:15px;line-height:1.5}.city-heading-links{gap:22px}.city-frame{border-radius:23px}.city-stage{height:590px;min-height:590px}.city-controls{flex-wrap:wrap;gap:9px;top:13px;left:13px;right:13px}.city-search{flex-basis:100%;order:2;max-width:none}.city-search-box{height:46px}.city-search-box input{font-size:16px}.city-actions{order:1;margin-left:auto}.city-controls .city-control-group{padding:2px}.city-actions .city-control{min-width:44px;min-height:44px}.city-search-results{max-height:230px;inset-block-start:52px}.city-card{width:min(270px,100% - 28px);padding:20px;top:134px;right:14px}.city-card h2{font-size:20px}.city-card p{font-size:15px;line-height:1.5}.city-card-stats strong{font-size:21px}.city-share-panel{width:280px;max-width:calc(100% - 26px);top:69px;right:13px}.city-footer-controls{align-items:end;gap:8px;bottom:13px;left:13px;right:13px}.city-short-help{max-width:160px;padding:10px;font-size:15px}.city-zoom-label{min-width:40px}.city-zoom-control{padding:2px}.city-legend{flex-direction:column;gap:10px}.city-legend-items{gap:14px 20px}.city-explanation{font-size:15px;line-height:1.5}.city-category-list{gap:7px;margin-top:23px}.city-category-list a,.city-category-list button{padding:7px 11px;font-size:13px}.city-list-section{padding-top:31px}.city-list-section h2{font-size:25px}.city-company-list{grid-template-columns:minmax(0,1fr);gap:10px}.city-company-row{gap:11px;padding:18px 16px}.city-company-identity{gap:10px}.city-company-identity strong{font-size:15px}.city-company-identity small{font-size:13px}.city-company-score strong{font-size:17px}.city-unavailable{padding:35px 23px}.city-unavailable h2{font-size:24px}.city-unavailable p{font-size:15px;line-height:1.5}.city-loading{border-radius:23px;min-height:590px}}.city-map-labels{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.city-map-labels>span{visibility:hidden;letter-spacing:.045em;color:var(--city-muted);white-space:nowrap;transform-origin:50%;text-shadow:0 1px 3px var(--city-ground),0 -1px 3px var(--city-ground);pointer-events:none;font-size:13px;font-weight:600;line-height:1.3;position:absolute;top:0;left:0}.city-category-list button{min-height:44px}.city-map-labels{font-family:var(--font)}
