.CityPatternPrototype-module__JVDI55__page{--view-height:min(56vh, 600px);width:100%;max-width:1120px;margin:0 auto;padding:1.35rem 0 3rem}.CityPatternPrototype-module__JVDI55__head{margin-bottom:1.15rem;padding:0 1.15rem}.CityPatternPrototype-module__JVDI55__title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin-bottom:.45rem;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700;line-height:1.1}.CityPatternPrototype-module__JVDI55__subtitle{color:var(--muted);max-width:42rem;font-size:.98rem;line-height:1.5}.CityPatternPrototype-module__JVDI55__introLink{color:var(--navy);text-underline-offset:2px;font-weight:600;text-decoration:underline}.CityPatternPrototype-module__JVDI55__introLink:hover{color:var(--accent)}.CityPatternPrototype-module__JVDI55__lengthBlock{margin-top:.9rem}.CityPatternPrototype-module__JVDI55__lengthRow{flex-wrap:wrap;gap:.45rem;display:flex}.CityPatternPrototype-module__JVDI55__lengthBtn,.CityPatternPrototype-module__JVDI55__lengthOn{border:1px solid var(--border-strong);min-height:2.4rem;color:var(--ink);cursor:pointer;background:#fff;padding:.45rem .9rem;font-weight:700;transition:border-color .14s,background .14s,color .14s}.CityPatternPrototype-module__JVDI55__lengthBtn:hover{border-color:var(--accent)}.CityPatternPrototype-module__JVDI55__lengthOn,.CityPatternPrototype-module__JVDI55__lengthOn:hover{border-color:var(--navy);background:var(--navy);color:#fff}.CityPatternPrototype-module__JVDI55__lengthHint{max-width:34rem;color:var(--muted);margin:.65rem 0 0;font-size:.9rem;line-height:1.45}.CityPatternPrototype-module__JVDI55__board{border-block:1px solid var(--border);background:#fff;overflow:hidden}@media (max-width:720px){.CityPatternPrototype-module__JVDI55__board{scroll-margin-top:0}}.CityPatternPrototype-module__JVDI55__bar{background:linear-gradient(#0d2a44 0%,#0a2138 100%);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.CityPatternPrototype-module__JVDI55__mode{letter-spacing:-.02em;color:#fff;margin-right:auto;font-size:1.2rem;font-weight:700;line-height:1.2}.CityPatternPrototype-module__JVDI55__stat{text-align:right;flex-direction:column;flex-shrink:0;margin-left:auto;display:flex}.CityPatternPrototype-module__JVDI55__statLabel{letter-spacing:.1em;text-transform:uppercase;color:#c5dde68c;margin-bottom:.1rem;font-size:.66rem;font-weight:700}.CityPatternPrototype-module__JVDI55__statValue{font-family:var(--font-sans), "Segoe UI", sans-serif;color:#fff;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap;font-size:1.3rem;font-weight:700;line-height:1.15}.CityPatternPrototype-module__JVDI55__progressTrack{background:#c5dde624;height:3px}.CityPatternPrototype-module__JVDI55__progressFill{background:var(--accent-bright);height:100%;transition:width .26s}.CityPatternPrototype-module__JVDI55__loading{color:var(--muted);text-align:center;margin:0;padding:2rem 1.15rem}.CityPatternPrototype-module__JVDI55__stage{gap:0;padding:0 0 1.5rem;display:grid}.CityPatternPrototype-module__JVDI55__mapShell{height:var(--view-height)}.CityPatternPrototype-module__JVDI55__viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);background:#e9edf0;height:100%;position:relative;overflow:hidden}.CityPatternPrototype-module__JVDI55__viewportExpanded{z-index:60;border:none;width:100%;height:100dvh;margin:0;position:fixed;inset:0}.CityPatternPrototype-module__JVDI55__dragging{cursor:grabbing}.CityPatternPrototype-module__JVDI55__mapExpand{z-index:2;border:1px solid var(--border-strong);width:2.55rem;height:2.55rem;color:var(--navy);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;justify-content:center;align-items:center;padding:0;transition:background .14s,border-color .14s,transform .14s;display:inline-flex;position:absolute;bottom:.7rem;right:.7rem;box-shadow:0 8px 20px #0a21381f}.CityPatternPrototype-module__JVDI55__mapExpand:hover{border-color:var(--accent);background:#fff;transform:translateY(-1px)}.CityPatternPrototype-module__JVDI55__mapExpand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.CityPatternPrototype-module__JVDI55__map{pointer-events:none;will-change:transform;width:118%;max-width:none;height:auto;display:block}.CityPatternPrototype-module__JVDI55__keyboardHint{color:var(--muted);letter-spacing:.04em;text-align:center;margin:.9rem 1.15rem .55rem;font-size:.74rem;font-weight:600;display:none}.CityPatternPrototype-module__JVDI55__choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding:0 1.15rem;display:grid}.CityPatternPrototype-module__JVDI55__choice,.CityPatternPrototype-module__JVDI55__correct,.CityPatternPrototype-module__JVDI55__incorrect,.CityPatternPrototype-module__JVDI55__dimmed,.CityPatternPrototype-module__JVDI55__playAgain,.CityPatternPrototype-module__JVDI55__next{cursor:pointer;min-height:3.25rem;padding:.85rem 1rem;font-weight:700;transition:border-color .14s,background .14s,color .14s,transform .14s}.CityPatternPrototype-module__JVDI55__choice,.CityPatternPrototype-module__JVDI55__correct,.CityPatternPrototype-module__JVDI55__incorrect,.CityPatternPrototype-module__JVDI55__dimmed{border:1px solid var(--border-strong);color:var(--ink);text-align:center;background:#fff;justify-content:center;align-items:center;display:inline-flex;position:relative}.CityPatternPrototype-module__JVDI55__optionKey{width:1.45rem;height:1.45rem;color:var(--muted);background:var(--surface-soft);border:1px solid var(--border);justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.CityPatternPrototype-module__JVDI55__choice:hover,.CityPatternPrototype-module__JVDI55__playAgain:hover,.CityPatternPrototype-module__JVDI55__next:hover{transform:translateY(-2px)}.CityPatternPrototype-module__JVDI55__choice:hover{border-color:var(--accent)}.CityPatternPrototype-module__JVDI55__correct{color:#215b31;background:#dff3e5;border-color:#3a8c52}.CityPatternPrototype-module__JVDI55__incorrect{color:#7d2929;background:#fae4e4;border-color:#b84949}.CityPatternPrototype-module__JVDI55__dimmed{opacity:.48}.CityPatternPrototype-module__JVDI55__result{min-height:7.5rem;margin:1rem 1.15rem 0}.CityPatternPrototype-module__JVDI55__prompt{border-left:3px solid var(--border-strong);background:var(--surface-soft);color:var(--muted);padding:1rem 1.15rem;line-height:1.5}.CityPatternPrototype-module__JVDI55__next,.CityPatternPrototype-module__JVDI55__playAgain{background:var(--navy);color:#fff;border:none;width:100%;margin-top:0;margin-bottom:.85rem;display:block}.CityPatternPrototype-module__JVDI55__playAgain{margin-top:.85rem;margin-bottom:0}.CityPatternPrototype-module__JVDI55__playAgainRow{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-top:.85rem;display:flex}.CityPatternPrototype-module__JVDI55__playAgainCompact{width:auto;min-width:11rem;min-height:2.9rem;margin-top:0;padding:.7rem 1.75rem}.CityPatternPrototype-module__JVDI55__reviewMaps{border:1px solid var(--border-strong);min-width:11rem;min-height:2.9rem;color:var(--navy);background:#fff;justify-content:center;align-items:center;padding:.7rem 1.75rem;font-weight:700;text-decoration:none;transition:border-color .14s,background .14s,transform .14s;display:inline-flex}.CityPatternPrototype-module__JVDI55__reviewMaps:hover{border-color:var(--accent);background:var(--surface-soft);transform:translateY(-1px)}.CityPatternPrototype-module__JVDI55__feedback{border-left:3px solid var(--accent);background:var(--surface-soft);color:var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin:0;padding:1rem 1.15rem;line-height:1.5;display:flex}.CityPatternPrototype-module__JVDI55__runningScore{color:var(--navy);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.CityPatternPrototype-module__JVDI55__features{border-left:3px solid var(--border-strong);background:var(--surface-soft);color:var(--ink);margin:.85rem 0 0;padding:1rem 1.15rem;line-height:1.5}.CityPatternPrototype-module__JVDI55__featuresLabel{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:block}.CityPatternPrototype-module__JVDI55__finishStage{isolation:isolate;background:#e9edf0;place-items:center;min-height:min(72vh,640px);padding:clamp(1.75rem,5vw,3.5rem) clamp(.85rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.CityPatternPrototype-module__JVDI55__finishMap{z-index:0;object-fit:cover;filter:blur(1.2px);pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.06)}.CityPatternPrototype-module__JVDI55__finishStage:after{content:"";z-index:1;background:radial-gradient(120% 90%,#f4f6f9b8,#f4f6f94d 70%),linear-gradient(#0a21380f,#0a213824);position:absolute;inset:0}.CityPatternPrototype-module__JVDI55__finishCard{z-index:2;text-align:center;border:1px solid var(--border-strong);background:#fff;width:min(100%,41rem);padding:clamp(1.5rem,4vw,2.35rem) clamp(1.1rem,3vw,2.1rem) clamp(1.5rem,4vw,2.1rem);position:relative;box-shadow:0 26px 70px #0a213842}.CityPatternPrototype-module__JVDI55__finishKicker{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}.CityPatternPrototype-module__JVDI55__finishScore{color:var(--navy);font-family:var(--font-display);letter-spacing:-.045em;margin-top:.4rem;font-size:clamp(3.25rem,11vw,4.75rem);font-weight:700;line-height:1}.CityPatternPrototype-module__JVDI55__finishScoreTotal{color:var(--muted);letter-spacing:-.02em;font-size:.42em}.CityPatternPrototype-module__JVDI55__finishMeta{max-width:26rem;color:var(--muted);margin:.6rem auto 0;line-height:1.55}@media (min-width:721px){.CityPatternPrototype-module__JVDI55__optionKey{display:inline-flex}.CityPatternPrototype-module__JVDI55__choice,.CityPatternPrototype-module__JVDI55__correct,.CityPatternPrototype-module__JVDI55__incorrect,.CityPatternPrototype-module__JVDI55__dimmed{padding-left:2.85rem;padding-right:2.85rem}.CityPatternPrototype-module__JVDI55__keyboardHint{display:block}}@media (max-width:720px){.CityPatternPrototype-module__JVDI55__page{--view-height:min(45vh, 360px);padding:1.15rem 0 2.75rem}.CityPatternPrototype-module__JVDI55__head{padding:0 .85rem}.CityPatternPrototype-module__JVDI55__choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0 .85rem}.CityPatternPrototype-module__JVDI55__result{margin-left:.85rem;margin-right:.85rem}.CityPatternPrototype-module__JVDI55__choice,.CityPatternPrototype-module__JVDI55__correct,.CityPatternPrototype-module__JVDI55__incorrect,.CityPatternPrototype-module__JVDI55__dimmed,.CityPatternPrototype-module__JVDI55__playAgain,.CityPatternPrototype-module__JVDI55__next{min-height:3.5rem}.CityPatternPrototype-module__JVDI55__finishStage{min-height:min(76vh,560px);padding:1.25rem .75rem}.CityPatternPrototype-module__JVDI55__finishCard{padding:1.4rem 1rem 1.35rem}}
