.progress-section-module__BNBq0q__section{min-width:0}.progress-section-module__BNBq0q__heading{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.progress-section-module__BNBq0q__heading>div:first-child{min-width:0}.progress-section-module__BNBq0q__heading h2{font-size:var(--type-section);letter-spacing:-.02em;margin:6px 0 0;font-weight:600}.progress-section-module__BNBq0q__heading>div:first-child>p:not(.progress-section-module__BNBq0q__eyebrow){max-width:680px;color:var(--muted);font-size:var(--type-meta);margin:8px 0 0;line-height:1.7}.progress-section-module__BNBq0q__aside{flex:none;align-items:center;gap:10px;display:flex}@media (max-width:700px){.progress-section-module__BNBq0q__heading{flex-direction:column;align-items:flex-start}.progress-section-module__BNBq0q__aside{width:100%}}
.weekly-ai-review-module__RdUoxq__card{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px 24px;margin-top:12px;padding:20px 22px;display:grid}.weekly-ai-review-module__RdUoxq__card h3{margin:3px 0 8px;font-size:17px}.weekly-ai-review-module__RdUoxq__card p{max-width:720px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.weekly-ai-review-module__RdUoxq__result,.weekly-ai-review-module__RdUoxq__message{grid-column:1/-1}.weekly-ai-review-module__RdUoxq__result{border-top:1px solid var(--line);color:var(--ink);gap:8px;margin:0;padding:16px 18px 16px 34px;font-size:13px;line-height:1.65;display:grid}.weekly-ai-review-module__RdUoxq__message{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:12px;font-size:12px}.weekly-ai-review-module__RdUoxq__message a{color:var(--primary);font-weight:700}@media (max-width:680px){.weekly-ai-review-module__RdUoxq__card{grid-template-columns:1fr}.weekly-ai-review-module__RdUoxq__card button{width:100%}}
.weekly-rhythm-view-module__l7itvW__card h3,.weekly-rhythm-view-module__l7itvW__signInCard h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.weekly-rhythm-view-module__l7itvW__card>p,.weekly-rhythm-view-module__l7itvW__signInCard p{max-width:760px;color:var(--muted);font-size:var(--type-meta);line-height:1.7}.weekly-rhythm-view-module__l7itvW__weekRange{color:var(--muted);letter-spacing:.02em;flex:none;font-size:13px}.weekly-rhythm-view-module__l7itvW__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:16px;display:grid}.weekly-rhythm-view-module__l7itvW__grid:has(>.weekly-rhythm-view-module__l7itvW__card:only-child){grid-template-columns:1fr}.weekly-rhythm-view-module__l7itvW__card,.weekly-rhythm-view-module__l7itvW__signInCard,.weekly-rhythm-view-module__l7itvW__error{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);padding:22px}.weekly-rhythm-view-module__l7itvW__cardHeading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.weekly-rhythm-view-module__l7itvW__cardHeading small{color:var(--muted);margin-top:4px;display:block}.weekly-rhythm-view-module__l7itvW__completeMark{border:1px solid var(--glass-border);background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:50%;place-items:center;font-size:17px;display:grid}.weekly-rhythm-view-module__l7itvW__contractProgress{gap:16px;margin:22px 0 14px;display:grid}.weekly-rhythm-view-module__l7itvW__contractProgress>div>div:first-child{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:7px;display:flex}.weekly-rhythm-view-module__l7itvW__contractProgress span,.weekly-rhythm-view-module__l7itvW__recapGrid span,.weekly-rhythm-view-module__l7itvW__contractOutcomeHeading span{color:var(--muted);font-size:12px}.weekly-rhythm-view-module__l7itvW__contractProgress strong{font-size:13px;font-weight:650}.weekly-rhythm-view-module__l7itvW__track{border-radius:var(--radius-pill);background:var(--chart-track);height:6px;overflow:hidden}.weekly-rhythm-view-module__l7itvW__track i{border-radius:inherit;background:var(--primary);height:100%;transition:width .28s;display:block}.weekly-rhythm-view-module__l7itvW__progressNote{color:var(--muted);margin-top:12px;font-size:12px;display:block}.weekly-rhythm-view-module__l7itvW__editor{gap:12px;margin:18px 0;display:grid}.weekly-rhythm-view-module__l7itvW__editorRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;display:grid}.weekly-rhythm-view-module__l7itvW__editorRow>span{color:var(--muted);font-size:12px}.weekly-rhythm-view-module__l7itvW__dayChoice{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 28%);gap:3px;padding:4px;display:flex}.weekly-rhythm-view-module__l7itvW__dayChoice button{border-radius:var(--radius-control-inner);min-width:34px;min-height:34px;color:var(--muted);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;font-size:13px;font-weight:650}.weekly-rhythm-view-module__l7itvW__dayChoice button:hover:not([aria-pressed=true]){background:var(--primary-soft);color:var(--ink)}.weekly-rhythm-view-module__l7itvW__dayChoice button[aria-pressed=true]{background:var(--primary);color:#fff}.weekly-rhythm-view-module__l7itvW__focusFields{gap:8px;display:flex}.weekly-rhythm-view-module__l7itvW__numberField{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 28%);align-items:baseline;gap:6px;min-width:0;padding:9px 12px;display:flex}.weekly-rhythm-view-module__l7itvW__numberField input{width:58px;min-width:0;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;font-weight:650}.weekly-rhythm-view-module__l7itvW__numberField small{color:var(--muted);font-size:12px}.weekly-rhythm-view-module__l7itvW__targetPreview{padding-left:2px}.weekly-rhythm-view-module__l7itvW__recapGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.weekly-rhythm-view-module__l7itvW__recapGrid>div{border:1px solid color-mix(in srgb, var(--glass-border), transparent 18%);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 32%);flex-direction:column;gap:4px;padding:13px 14px;display:flex}.weekly-rhythm-view-module__l7itvW__recapGrid strong{font-size:17px;font-weight:620}.weekly-rhythm-view-module__l7itvW__contractOutcomeHeading{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.weekly-rhythm-view-module__l7itvW__contractOutcomeHeading>strong:not(.weekly-rhythm-view-module__l7itvW__outcomeBadge){color:var(--muted);text-align:right;font-size:12px;font-weight:500}.weekly-rhythm-view-module__l7itvW__outcomeBadge{border:1px solid var(--glass-border);border-radius:var(--radius-pill);font-size:var(--type-caption);padding:4px 8px;font-weight:650}.weekly-rhythm-view-module__l7itvW__notice{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 32%);color:var(--muted);margin-top:12px;padding:10px 14px;font-size:13px}.weekly-rhythm-view-module__l7itvW__error{color:var(--muted)}.weekly-rhythm-view-module__l7itvW__signInCard{justify-items:start;gap:8px;display:grid}@media (prefers-reduced-motion:reduce){.weekly-rhythm-view-module__l7itvW__track i{transition:none}}@media (max-width:820px){.weekly-rhythm-view-module__l7itvW__grid{grid-template-columns:1fr}}@media (max-width:520px){.weekly-rhythm-view-module__l7itvW__card,.weekly-rhythm-view-module__l7itvW__signInCard,.weekly-rhythm-view-module__l7itvW__error{padding:17px}.weekly-rhythm-view-module__l7itvW__recapGrid{grid-template-columns:1fr}.weekly-rhythm-view-module__l7itvW__contractOutcomeHeading{flex-direction:column;align-items:flex-start}.weekly-rhythm-view-module__l7itvW__contractOutcomeHeading>strong:not(.weekly-rhythm-view-module__l7itvW__outcomeBadge){text-align:left}.weekly-rhythm-view-module__l7itvW__editorRow{grid-template-columns:1fr}.weekly-rhythm-view-module__l7itvW__dayChoice button,.weekly-rhythm-view-module__l7itvW__focusFields .weekly-rhythm-view-module__l7itvW__numberField{flex:1}}
.semantic-curve-chart-module__Y7Xx9a__figure{min-width:0;margin:0}.semantic-curve-chart-module__Y7Xx9a__chart{width:100%;height:auto;display:block;overflow:visible}.semantic-curve-chart-module__Y7Xx9a__seriesLine{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.semantic-curve-chart-module__Y7Xx9a__observedLine{stroke:var(--accent);stroke-width:2.35px}.semantic-curve-chart-module__Y7Xx9a__derivedLine{stroke:var(--ink);stroke-width:1.9px;opacity:.72}.semantic-curve-chart-module__Y7Xx9a__forecastLine{stroke:var(--accent);stroke-width:1.85px;stroke-dasharray:8 7;opacity:.76}.semantic-curve-chart-module__Y7Xx9a__uncertaintyBand{fill:color-mix(in srgb, var(--accent) 11%, transparent);stroke:none;pointer-events:none}.semantic-curve-chart-module__Y7Xx9a__pointTarget,.semantic-curve-chart-module__Y7Xx9a__annotationTarget{cursor:pointer;outline:none}.semantic-curve-chart-module__Y7Xx9a__hitArea{fill:#0000;stroke:#0000}.semantic-curve-chart-module__Y7Xx9a__point,.semantic-curve-chart-module__Y7Xx9a__annotationMarker{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-fast) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out)}.semantic-curve-chart-module__Y7Xx9a__observedPoint{fill:var(--white);stroke:var(--accent);stroke-width:2.25px}.semantic-curve-chart-module__Y7Xx9a__derivedPoint{fill:var(--ink);stroke:var(--white);stroke-width:1.4px;opacity:.78}.semantic-curve-chart-module__Y7Xx9a__forecastPoint{fill:var(--white);stroke:var(--accent);stroke-width:1.8px;stroke-dasharray:2 2;opacity:.82}.semantic-curve-chart-module__Y7Xx9a__observedEvent{fill:var(--accent);stroke:var(--white);stroke-width:1.35px}.semantic-curve-chart-module__Y7Xx9a__currentMarker{fill:var(--paper);stroke:var(--accent);stroke-width:2.6px}.semantic-curve-chart-module__Y7Xx9a__scheduleMarker{fill:var(--paper);stroke:var(--ink);stroke-width:1.7px;opacity:.78}.semantic-curve-chart-module__Y7Xx9a__pointTarget:hover .semantic-curve-chart-module__Y7Xx9a__point,.semantic-curve-chart-module__Y7Xx9a__pointTarget:focus-visible .semantic-curve-chart-module__Y7Xx9a__point,.semantic-curve-chart-module__Y7Xx9a__annotationTarget:hover .semantic-curve-chart-module__Y7Xx9a__annotationMarker,.semantic-curve-chart-module__Y7Xx9a__annotationTarget:focus-visible .semantic-curve-chart-module__Y7Xx9a__annotationMarker,.semantic-curve-chart-module__Y7Xx9a__selected .semantic-curve-chart-module__Y7Xx9a__point,.semantic-curve-chart-module__Y7Xx9a__selected .semantic-curve-chart-module__Y7Xx9a__annotationMarker{stroke-width:3px;transform:scale(1.16)}.semantic-curve-chart-module__Y7Xx9a__pointTarget:focus-visible .semantic-curve-chart-module__Y7Xx9a__hitArea,.semantic-curve-chart-module__Y7Xx9a__annotationTarget:focus-visible .semantic-curve-chart-module__Y7Xx9a__hitArea{stroke:color-mix(in srgb, var(--accent) 38%, transparent);stroke-width:2px}.semantic-curve-chart-module__Y7Xx9a__nowGuide line{stroke:color-mix(in srgb, var(--muted) 65%, transparent);stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.semantic-curve-chart-module__Y7Xx9a__nowGuide text,.semantic-curve-chart-module__Y7Xx9a__capacityGuide text{fill:var(--muted);font-family:inherit;font-size:11px}.semantic-curve-chart-module__Y7Xx9a__capacityGuide line{stroke:color-mix(in srgb, var(--ink) 28%, transparent);stroke-width:1px;stroke-dasharray:1 5;vector-effect:non-scaling-stroke}.semantic-curve-chart-module__Y7Xx9a__caption{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.6}.semantic-curve-chart-module__Y7Xx9a__detail{border:1px solid var(--line);border-radius:var(--radius-control);background:color-mix(in srgb, var(--glass) 88%, transparent);min-height:20px;color:var(--ink);margin-top:9px;padding:9px 11px;font-size:12px;line-height:1.55;display:block}.semantic-curve-chart-module__Y7Xx9a__empty{border:1px dashed var(--line);border-radius:var(--radius-control);min-height:148px;color:var(--muted);text-align:center;place-items:center;padding:22px;line-height:1.65;display:grid}@media (max-width:680px){.semantic-curve-chart-module__Y7Xx9a__caption,.semantic-curve-chart-module__Y7Xx9a__detail{font-size:11px}}@media (prefers-reduced-motion:reduce){.semantic-curve-chart-module__Y7Xx9a__point,.semantic-curve-chart-module__Y7Xx9a__annotationMarker{transition:none}}
.source-memory-comparison-module__cF4T2a__section{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);margin-top:28px;padding:24px}.source-memory-comparison-module__cF4T2a__heading{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.source-memory-comparison-module__cF4T2a__heading h2{font-size:var(--type-section);letter-spacing:-.02em;margin:6px 0 9px;font-weight:600}.source-memory-comparison-module__cF4T2a__heading>div>p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.source-memory-comparison-module__cF4T2a__plus{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);font-size:var(--type-micro);letter-spacing:.07em;flex:none;padding:6px 9px;font-weight:750}.source-memory-comparison-module__cF4T2a__state{border:1px dashed var(--line);border-radius:var(--radius-control);min-height:100px;color:var(--muted);text-align:center;place-items:center;margin-top:18px;padding:20px;display:grid}.source-memory-comparison-module__cF4T2a__locked{border:1px solid color-mix(in srgb, var(--primary), var(--glass-border) 70%);border-radius:var(--radius-control);background:color-mix(in srgb, var(--primary-soft), transparent 34%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:18px;padding:18px 20px;display:grid}.source-memory-comparison-module__cF4T2a__locked strong{font-size:15px;font-weight:650;display:block}.source-memory-comparison-module__cF4T2a__locked p{color:var(--ink);margin:5px 0 7px;font-size:12px;line-height:1.6}.source-memory-comparison-module__cF4T2a__locked small{color:var(--muted);font-size:var(--type-micro);line-height:1.55;display:block}.source-memory-comparison-module__cF4T2a__action{white-space:nowrap;border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--white);color:var(--ink);align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:620;text-decoration:none;display:inline-flex}.source-memory-comparison-module__cF4T2a__action:hover{background:var(--primary-soft)}.source-memory-comparison-module__cF4T2a__action:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.source-memory-comparison-module__cF4T2a__note,.source-memory-comparison-module__cF4T2a__coverageNote{color:var(--muted);font-size:var(--type-micro);margin:10px 0 0;line-height:1.65}.source-memory-comparison-module__cF4T2a__tableWrap{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;margin-top:14px;overflow-x:auto}.source-memory-comparison-module__cF4T2a__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:760px}.source-memory-comparison-module__cF4T2a__table th,.source-memory-comparison-module__cF4T2a__table td{border-bottom:1px solid var(--line);text-align:right;padding:11px 12px;font-size:12px}.source-memory-comparison-module__cF4T2a__table thead th{color:var(--muted);background:color-mix(in srgb, var(--white), transparent 22%);font-size:var(--type-micro);white-space:nowrap;font-weight:600}.source-memory-comparison-module__cF4T2a__table th:first-child,.source-memory-comparison-module__cF4T2a__table td:first-child{z-index:1;text-align:left;background:color-mix(in srgb, var(--white) 94%, var(--glass));max-width:260px;position:sticky;left:0}.source-memory-comparison-module__cF4T2a__table tbody th{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.source-memory-comparison-module__cF4T2a__table tbody tr:last-child th,.source-memory-comparison-module__cF4T2a__table tbody tr:last-child td{border-bottom:0}@media (max-width:700px){.source-memory-comparison-module__cF4T2a__section{padding:20px 16px}.source-memory-comparison-module__cF4T2a__heading{display:block}.source-memory-comparison-module__cF4T2a__plus{margin-top:10px;display:inline-flex}.source-memory-comparison-module__cF4T2a__locked{grid-template-columns:1fr}.source-memory-comparison-module__cF4T2a__action{justify-self:start}}
.ladder-tuning-module__gC6TIq__table{min-width:0}.ladder-tuning-module__gC6TIq__table td{white-space:nowrap}.ladder-tuning-module__gC6TIq__proposed{color:var(--primary);font-weight:650}.ladder-tuning-module__gC6TIq__waiting{color:var(--muted)}.ladder-tuning-module__gC6TIq__actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.ladder-tuning-module__gC6TIq__status{color:var(--ink);margin:12px 0 0;font-size:13px;line-height:1.6}
.progress-view-module__fPrQJW__continuitySummary{grid-template-columns:repeat(2,minmax(110px,auto));gap:8px;margin-bottom:18px;display:inline-grid}.progress-view-module__fPrQJW__continuitySummary>div{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);padding:12px 14px}.progress-view-module__fPrQJW__continuitySummary span{color:var(--muted);font-size:12px;display:block}.progress-view-module__fPrQJW__continuitySummary strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:19px;font-weight:620;line-height:1.1;display:block}.progress-view-module__fPrQJW__windowedSummary{gap:12px;display:grid}.progress-view-module__fPrQJW__periodSwitch{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);justify-self:start;padding:4px;display:inline-flex}.progress-view-module__fPrQJW__periodSwitch button{color:var(--muted);border-radius:var(--radius-control-inner);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:8px 13px;font-size:13px}.progress-view-module__fPrQJW__periodSwitch button:hover:not(.progress-view-module__fPrQJW__active){background:var(--primary-soft);color:var(--ink)}.progress-view-module__fPrQJW__periodSwitch button.progress-view-module__fPrQJW__active{background:var(--primary);color:#fff}.progress-view-module__fPrQJW__summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.progress-view-module__fPrQJW__summaryGrid article{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);min-height:118px;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);flex-direction:column;justify-content:space-between;padding:20px 22px;display:flex}.progress-view-module__fPrQJW__summaryGrid span,.progress-view-module__fPrQJW__memoryMetrics span{color:var(--muted);font-size:13px}.progress-view-module__fPrQJW__summaryGrid strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:16px;font-size:28px;font-weight:620;line-height:1}.progress-view-module__fPrQJW__summaryGrid small{color:var(--muted);margin-top:6px;font-size:12px}.progress-view-module__fPrQJW__rewardReveal{border:1px solid color-mix(in srgb, var(--growth) 24%, var(--glass-border));border-radius:var(--radius-card);background:linear-gradient(145deg, color-mix(in srgb, var(--growth-soft) 72%, var(--white)), color-mix(in srgb, var(--glass) 88%, var(--white)));box-shadow:var(--surface-shadow);margin-bottom:18px;padding:24px;position:relative;overflow:hidden}.progress-view-module__fPrQJW__rewardReveal:after{content:"";background:color-mix(in srgb, var(--growth) 8%, transparent);pointer-events:none;border-radius:50%;width:190px;height:190px;position:absolute;top:-92px;right:-64px}.progress-view-module__fPrQJW__rewardRevealHeading{z-index:1;justify-content:space-between;align-items:flex-start;gap:22px;display:flex;position:relative}.progress-view-module__fPrQJW__rewardRevealHeading h3{letter-spacing:-.01em;margin:4px 0 7px;font-size:17px;font-weight:600}.progress-view-module__fPrQJW__rewardRevealHeading p:last-child{max-width:690px;color:var(--muted);margin:0;line-height:1.68}.progress-view-module__fPrQJW__rewardRevealGrid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:18px;display:grid;position:relative}.progress-view-module__fPrQJW__rewardRevealCard{border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white) 86%, transparent);align-items:center;gap:13px;min-width:0;padding:13px 14px;display:flex}.progress-view-module__fPrQJW__rewardRevealCard>div:last-child{gap:2px;min-width:0;display:grid}.progress-view-module__fPrQJW__rewardRevealCard small{color:var(--muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.progress-view-module__fPrQJW__rewardRevealCard strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:620;overflow:hidden}.progress-view-module__fPrQJW__rewardRevealCard span{color:var(--muted);font-size:var(--type-caption)}.progress-view-module__fPrQJW__rewardArt,.progress-view-module__fPrQJW__rewardMark{border-radius:var(--radius-control);background:color-mix(in srgb, var(--growth-soft) 68%, var(--white));flex:none;place-items:center;width:54px;height:54px;display:grid}.progress-view-module__fPrQJW__rewardMark{color:var(--growth)}.progress-view-module__fPrQJW__rewardAlreadyOwned{z-index:1;color:var(--muted);font-size:var(--type-caption);margin:13px 0 0;line-height:1.55;position:relative}.progress-view-module__fPrQJW__nextMilestoneCard{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:0 0 12px;padding:20px 22px;display:grid}.progress-view-module__fPrQJW__nextMilestoneCopy{min-width:0}.progress-view-module__fPrQJW__nextMilestoneCopy h3{letter-spacing:-.01em;margin:4px 0 6px;font-size:17px;font-weight:600}.progress-view-module__fPrQJW__nextMilestoneCopy>p:not(.progress-view-module__fPrQJW__eyebrow){max-width:720px;color:var(--muted);margin:0;font-size:13px;line-height:1.62}.progress-view-module__fPrQJW__nextMilestoneCopy>small{color:var(--muted);font-size:var(--type-caption);margin-top:8px;display:block}.progress-view-module__fPrQJW__nextProgressLine{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;max-width:620px;margin-top:14px;display:grid}.progress-view-module__fPrQJW__nextProgressLine strong{text-align:right;min-width:38px;color:var(--growth);font-variant-numeric:tabular-nums;font-size:12px}.progress-view-module__fPrQJW__nextProgressTrack{border-radius:var(--radius-pill);background:var(--chart-track);height:7px;overflow:hidden}.progress-view-module__fPrQJW__nextProgressTrack i{border-radius:inherit;background:var(--growth);height:100%;transition:width var(--dur-page) var(--ease);display:block}.progress-view-module__fPrQJW__nextRewardPreview{border-left:1px solid var(--line);align-items:center;gap:10px;min-width:170px;padding-left:20px;display:flex}.progress-view-module__fPrQJW__nextRewardPreview>div{gap:2px;display:grid}.progress-view-module__fPrQJW__nextRewardPreview small{color:var(--muted);font-size:var(--type-caption)}.progress-view-module__fPrQJW__nextRewardPreview strong{max-width:140px;font-size:13px;font-weight:600}.progress-view-module__fPrQJW__townLink{white-space:nowrap;border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);color:var(--ink);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:center;gap:5px;padding:9px 12px;font-size:13px;text-decoration:none;display:inline-flex}.progress-view-module__fPrQJW__townLink:hover{border-color:color-mix(in srgb, var(--primary), var(--glass-border) 54%);background:var(--primary-soft)}.progress-view-module__fPrQJW__milestoneGrid{gap:10px;display:grid}.progress-view-module__fPrQJW__milestoneCard{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 24%);grid-template-columns:auto minmax(0,1fr) minmax(155px,auto);align-items:center;gap:14px;padding:17px 18px;display:grid}.progress-view-module__fPrQJW__milestoneMark{width:34px;height:34px;color:var(--growth);background:var(--growth-soft);border-radius:50%;place-items:center;display:grid}.progress-view-module__fPrQJW__milestoneCopy h3{margin:0;font-size:15px;font-weight:600}.progress-view-module__fPrQJW__milestoneCopy p{color:var(--muted);margin:4px 0 7px;font-size:13px;line-height:1.55}.progress-view-module__fPrQJW__milestoneCopy small,.progress-view-module__fPrQJW__milestoneReward span,.progress-view-module__fPrQJW__milestoneReward small{color:var(--muted);font-size:var(--type-caption)}.progress-view-module__fPrQJW__milestoneReward{border-left:1px solid var(--line);min-width:0;padding-left:14px}.progress-view-module__fPrQJW__milestoneReward strong{margin:4px 0 2px;font-size:13px;font-weight:600;display:block}.progress-view-module__fPrQJW__journeyList{gap:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.progress-view-module__fPrQJW__journeyList:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:5px}.progress-view-module__fPrQJW__journeyList li{grid-template-columns:66px minmax(0,1fr);gap:2px 12px;padding:0 0 20px 22px;display:grid;position:relative}.progress-view-module__fPrQJW__journeyList li:last-child{padding-bottom:0}.progress-view-module__fPrQJW__journeyDot{border:2px solid var(--growth);background:var(--white);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:1px}.progress-view-module__fPrQJW__journeyList time{color:var(--muted);font-size:var(--type-caption);grid-row:span 2;line-height:1.5}.progress-view-module__fPrQJW__journeyList small{color:var(--muted);font-size:var(--type-caption);letter-spacing:.05em;text-transform:uppercase}.progress-view-module__fPrQJW__journeyList strong{font-size:15px;font-weight:600;line-height:1.45}.progress-view-module__fPrQJW__evidence{border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--muted);flex:none;margin-top:4px;padding:7px 11px;font-size:12px}.progress-view-module__fPrQJW__evidence.progress-view-module__fPrQJW__established{color:var(--growth);background:var(--growth-soft);border-color:#0000}.progress-view-module__fPrQJW__evidence.progress-view-module__fPrQJW__early{color:var(--accent);background:var(--primary-soft);border-color:#0000}.progress-view-module__fPrQJW__memoryMetrics{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.progress-view-module__fPrQJW__memoryMetrics>div{border-right:1px solid var(--line);padding:17px 20px}.progress-view-module__fPrQJW__memoryMetrics>div:last-child{border-right:0}.progress-view-module__fPrQJW__memoryMetrics strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:28px;font-weight:620;line-height:1;display:block}.progress-view-module__fPrQJW__chartGrid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;margin-top:16px;display:grid}.progress-view-module__fPrQJW__chartCard{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);min-width:0;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);padding:22px 22px 20px}.progress-view-module__fPrQJW__chartHeading h3{letter-spacing:-.01em;margin:0 0 7px;font-size:17px;font-weight:600}.progress-view-module__fPrQJW__chartHeading p{min-height:48px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.progress-view-module__fPrQJW__retentionWrap{width:100%;margin-top:12px;overflow-x:auto}.progress-view-module__fPrQJW__retentionChart{width:100%;min-width:610px;color:var(--muted);display:block;overflow:visible}.progress-view-module__fPrQJW__gridLine{stroke:var(--line);stroke-width:1px}.progress-view-module__fPrQJW__axisText,.progress-view-module__fPrQJW__bucketLabel,.progress-view-module__fPrQJW__sampleLabel{fill:var(--muted);font-family:var(--font-gothic);font-size:11px}.progress-view-module__fPrQJW__sampleLabel{opacity:.72;font-size:10px}.progress-view-module__fPrQJW__curveLine{stroke:var(--focus);stroke-width:2.5px;stroke-linecap:round}.progress-view-module__fPrQJW__curvePoint{fill:var(--white);stroke:var(--focus);stroke-width:3px}.progress-view-module__fPrQJW__distribution{gap:16px;margin-top:30px;display:grid}.progress-view-module__fPrQJW__distributionRow{grid-template-columns:76px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.progress-view-module__fPrQJW__distributionRow>span{color:var(--muted);font-size:12px}.progress-view-module__fPrQJW__distributionRow>strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.progress-view-module__fPrQJW__barTrack{border-radius:var(--radius-pill);background:var(--chart-track);height:9px;overflow:hidden}.progress-view-module__fPrQJW__barTrack i{border-radius:inherit;background:var(--growth);min-width:0;height:100%;transition:width var(--dur-page) var(--ease);display:block}.progress-view-module__fPrQJW__empty{min-height:180px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-control);place-items:center;margin:10px 0 0;padding:24px;line-height:1.7;display:grid}.progress-view-module__fPrQJW__error{border:1px solid var(--glass-border);border-radius:var(--radius-card);color:var(--muted);background:var(--glass);box-shadow:var(--surface-shadow);padding:18px 20px}@media (prefers-reduced-motion:no-preference){.progress-view-module__fPrQJW__rewardReveal{animation:progress-view-module__fPrQJW__rewardRevealIn var(--dur-page) var(--ease-out) both}.progress-view-module__fPrQJW__rewardRevealCard{animation:progress-view-module__fPrQJW__rewardItemIn var(--dur-page) var(--ease-out) both}.progress-view-module__fPrQJW__rewardRevealCard:nth-child(2){animation-delay:45ms}.progress-view-module__fPrQJW__rewardRevealCard:nth-child(3){animation-delay:90ms}}@keyframes progress-view-module__fPrQJW__rewardRevealIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-view-module__fPrQJW__rewardItemIn{0%{opacity:0;transform:translateY(5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:980px){.progress-view-module__fPrQJW__summaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.progress-view-module__fPrQJW__chartGrid{grid-template-columns:1fr}.progress-view-module__fPrQJW__chartHeading p{min-height:0}}@media (max-width:700px){.progress-view-module__fPrQJW__summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-view-module__fPrQJW__milestoneCard{grid-template-columns:auto minmax(0,1fr)}.progress-view-module__fPrQJW__milestoneReward{border-left:0;border-top:1px solid var(--line);grid-column:2;padding:10px 0 0}.progress-view-module__fPrQJW__rewardRevealHeading{display:grid}.progress-view-module__fPrQJW__townLink{justify-self:start}.progress-view-module__fPrQJW__nextMilestoneCard{grid-template-columns:1fr}.progress-view-module__fPrQJW__nextRewardPreview{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.progress-view-module__fPrQJW__evidence{margin-top:4px;display:inline-flex}}@media (max-width:480px){.progress-view-module__fPrQJW__continuitySummary{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.progress-view-module__fPrQJW__periodSwitch{width:100%}.progress-view-module__fPrQJW__periodSwitch button{flex:1}.progress-view-module__fPrQJW__summaryGrid{gap:8px}.progress-view-module__fPrQJW__summaryGrid article{min-height:100px;padding:16px}.progress-view-module__fPrQJW__summaryGrid strong{font-size:25px}.progress-view-module__fPrQJW__rewardReveal,.progress-view-module__fPrQJW__nextMilestoneCard{padding:18px 16px}.progress-view-module__fPrQJW__rewardRevealGrid{grid-template-columns:1fr}.progress-view-module__fPrQJW__milestoneCard{padding:15px 14px}.progress-view-module__fPrQJW__memoryMetrics>div{padding:14px 15px}.progress-view-module__fPrQJW__chartCard{padding:18px 14px}}
.memory-lab-view-module__ZvzeMW__evidenceLegend{color:var(--muted);font-size:var(--type-micro);flex-wrap:wrap;gap:8px 14px;margin:-4px 0 18px;display:flex}.memory-lab-view-module__ZvzeMW__evidenceLegend span{align-items:center;gap:7px;display:inline-flex}.memory-lab-view-module__ZvzeMW__evidenceLegend i{border-radius:50%;width:9px;height:9px}.memory-lab-view-module__ZvzeMW__observed{background:var(--accent)}.memory-lab-view-module__ZvzeMW__derived{background:var(--ink);opacity:.72}.memory-lab-view-module__ZvzeMW__evidenceTag{border:1px solid var(--line);font-size:var(--type-micro);border-radius:999px;flex:none;padding:5px 8px;line-height:1}.memory-lab-view-module__ZvzeMW__observedTag{color:var(--accent)}.memory-lab-view-module__ZvzeMW__derivedTag{color:var(--muted)}.memory-lab-view-module__ZvzeMW__retentionWrap{min-width:0}.memory-lab-view-module__ZvzeMW__retentionChart svg{max-height:260px}.memory-lab-view-module__ZvzeMW__bucketAxis{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:-2px 18px 0 30px;display:grid}.memory-lab-view-module__ZvzeMW__bucketAxis span{min-width:0;color:var(--muted);text-align:center;gap:2px;display:grid}.memory-lab-view-module__ZvzeMW__bucketAxis strong,.memory-lab-view-module__ZvzeMW__bucketAxis small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.memory-lab-view-module__ZvzeMW__bucketAxis small{opacity:.72}.memory-lab-view-module__ZvzeMW__chartNote{color:var(--muted);font-size:var(--type-micro);margin:10px 0 0;line-height:1.55}@media (max-width:680px){.memory-lab-view-module__ZvzeMW__bucketAxis{grid-template-columns:repeat(7,minmax(68px,1fr));margin-inline:14px;padding-bottom:4px;overflow-x:auto}.memory-lab-view-module__ZvzeMW__bucketAxis strong,.memory-lab-view-module__ZvzeMW__bucketAxis small{white-space:normal}}
.town-growth-provider-module__EE2jrW__toast{z-index:80;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--growth) 24%, var(--glass-border));background:color-mix(in srgb, var(--glass) 92%, var(--white));width:min(360px,100vw - 32px);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 16px 15px 18px;display:grid;position:fixed}.town-growth-provider-module__EE2jrW__toast div{min-width:0}.town-growth-provider-module__EE2jrW__toast p{color:var(--growth);letter-spacing:.09em;margin:0 0 5px;font-size:10px;font-weight:650}.town-growth-provider-module__EE2jrW__toast strong{font-size:15px;font-weight:620;line-height:1.4;display:block}.town-growth-provider-module__EE2jrW__toast span{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.55;display:block}.town-growth-provider-module__EE2jrW__toast small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.town-growth-provider-module__EE2jrW__toast button{width:30px;height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px;line-height:1}.town-growth-provider-module__EE2jrW__toast button:hover{background:var(--primary-soft);color:var(--ink)}@media (prefers-reduced-motion:no-preference){.town-growth-provider-module__EE2jrW__toast{animation:town-growth-provider-module__EE2jrW__townGrowthToastIn var(--dur-page) var(--ease-out) both}}@keyframes town-growth-provider-module__EE2jrW__townGrowthToastIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.town-item-art-module__ojljxG__art{--town-ground:color-mix(in srgb, var(--glass) 72%, var(--white));--town-top:color-mix(in srgb, var(--primary-soft) 52%, var(--white));--town-front:color-mix(in srgb, var(--primary-soft) 76%, var(--white));--town-side:color-mix(in srgb, var(--accent) 18%, var(--primary-soft));--town-accent:color-mix(in srgb, var(--growth) 78%, var(--ink));--town-accent-soft:color-mix(in srgb, var(--growth-soft) 72%, var(--white));--town-wood:color-mix(in srgb, #9a7456 70%, var(--white));--town-wood-dark:color-mix(in srgb, #78563f 78%, var(--ink));--town-leaf:color-mix(in srgb, var(--growth) 72%, #4d7557);--town-leaf-light:color-mix(in srgb, var(--growth-soft) 48%, #8fbf7f);--town-roof:color-mix(in srgb, var(--accent) 36%, #70666d);--town-glass:color-mix(in srgb, var(--primary-soft) 68%, #bfe8f2);pointer-events:none;flex:none;place-items:center;line-height:0;display:inline-grid}.town-item-art-module__ojljxG__inventory{width:48px;height:48px}.town-item-art-module__ojljxG__placement{aspect-ratio:1;width:84%;max-height:88%}.town-item-art-module__ojljxG__art.town-item-art-module__ojljxG__placement[data-asset="town/path/stone"]{width:100%;max-height:100%}.town-item-art-module__ojljxG__art svg{filter:drop-shadow(0 5px 5px #192a381c);grid-area:1/1;width:100%;height:100%;overflow:visible}.town-item-art-module__ojljxG__sprite{object-fit:contain;filter:drop-shadow(0 3px 3px #192a381f);grid-area:1/1;width:100%;height:100%}.town-item-art-module__ojljxG__shadow{fill:#192a381a}.town-item-art-module__ojljxG__ground{fill:var(--town-ground);stroke:color-mix(in srgb, var(--line) 72%, transparent);stroke-width:1.2px}.town-item-art-module__ojljxG__top{fill:var(--town-top)}.town-item-art-module__ojljxG__front{fill:var(--town-front)}.town-item-art-module__ojljxG__side{fill:var(--town-side)}.town-item-art-module__ojljxG__frontAlt{fill:color-mix(in srgb, var(--town-front) 78%, var(--town-accent-soft))}.town-item-art-module__ojljxG__sideAlt{fill:color-mix(in srgb, var(--town-side) 72%, var(--town-accent))}.town-item-art-module__ojljxG__topAccent{fill:color-mix(in srgb, var(--town-top) 55%, var(--town-accent))}.town-item-art-module__ojljxG__path{fill:color-mix(in srgb, var(--muted) 36%, var(--white));stroke:color-mix(in srgb, var(--line) 78%, transparent);stroke-width:1px}.town-item-art-module__ojljxG__pathNetworkShadow{fill:none;stroke:color-mix(in srgb, var(--ink) 13%, transparent);stroke-width:24px;stroke-linecap:square}.town-item-art-module__ojljxG__pathNetwork{fill:none;stroke:color-mix(in srgb, var(--muted) 36%, var(--white));stroke-width:18px;stroke-linecap:square}.town-item-art-module__ojljxG__pathNetworkCenter{fill:color-mix(in srgb, var(--muted) 36%, var(--white));stroke:color-mix(in srgb, var(--line) 72%, transparent);stroke-width:1px}.town-item-art-module__ojljxG__pathNetworkDetail{fill:none;stroke:color-mix(in srgb, var(--ink) 22%, transparent);stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:4 7}.town-item-art-module__ojljxG__detailStroke,.town-item-art-module__ojljxG__columnStroke,.town-item-art-module__ojljxG__windowStroke,.town-item-art-module__ojljxG__branchStroke,.town-item-art-module__ojljxG__legStroke,.town-item-art-module__ojljxG__clockHand,.town-item-art-module__ojljxG__domeBand,.town-item-art-module__ojljxG__awningStripe{fill:none;stroke:color-mix(in srgb, var(--ink) 52%, transparent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.town-item-art-module__ojljxG__plantBase{fill:color-mix(in srgb, var(--growth-soft) 62%, var(--white))}.town-item-art-module__ojljxG__stem{fill:none;stroke:var(--town-leaf);stroke-width:2px;stroke-linecap:round}.town-item-art-module__ojljxG__flower{fill:color-mix(in srgb, #f1e8df 76%, var(--white));stroke:color-mix(in srgb, var(--accent) 18%, transparent);stroke-width:1px}.town-item-art-module__ojljxG__flowerAlt{fill:color-mix(in srgb, #d9d3f4 70%, var(--white));stroke:color-mix(in srgb, var(--accent) 18%, transparent);stroke-width:1px}.town-item-art-module__ojljxG__woodTop{fill:var(--town-wood)}.town-item-art-module__ojljxG__woodFront{fill:var(--town-wood-dark)}.town-item-art-module__ojljxG__trunkFront{fill:var(--town-wood)}.town-item-art-module__ojljxG__trunkSide{fill:var(--town-wood-dark)}.town-item-art-module__ojljxG__canopy,.town-item-art-module__ojljxG__memoryCanopy{fill:var(--town-leaf)}.town-item-art-module__ojljxG__canopyAlt,.town-item-art-module__ojljxG__memoryCanopyAlt{fill:color-mix(in srgb, var(--town-leaf) 72%, var(--town-accent))}.town-item-art-module__ojljxG__canopyLight{fill:var(--town-leaf-light)}.town-item-art-module__ojljxG__memoryOrb{fill:color-mix(in srgb, var(--accent) 70%, var(--white));stroke:var(--white);stroke-width:1px}.town-item-art-module__ojljxG__roof{fill:var(--town-roof)}.town-item-art-module__ojljxG__roofSide{fill:color-mix(in srgb, var(--town-roof) 75%, var(--ink))}.town-item-art-module__ojljxG__door{fill:color-mix(in srgb, var(--town-wood-dark) 78%, var(--ink))}.town-item-art-module__ojljxG__window,.town-item-art-module__ojljxG__windowGlass{fill:var(--town-glass);stroke:color-mix(in srgb, var(--white) 72%, transparent);stroke-width:1px}.town-item-art-module__ojljxG__awning{fill:color-mix(in srgb, var(--accent) 38%, var(--white))}.town-item-art-module__ojljxG__cafeTable{fill:var(--town-wood);stroke:var(--town-wood-dark);stroke-width:1px}.town-item-art-module__ojljxG__clockFace{fill:color-mix(in srgb, var(--white) 86%, var(--town-accent-soft));stroke:color-mix(in srgb, var(--ink) 45%, transparent);stroke-width:1.5px}.town-item-art-module__ojljxG__dome{fill:color-mix(in srgb, var(--town-glass) 72%, var(--primary-soft));stroke:color-mix(in srgb, var(--accent) 32%, transparent);stroke-width:1.4px}.town-item-art-module__ojljxG__scope{fill:color-mix(in srgb, var(--muted) 76%, var(--ink))}.town-item-art-module__ojljxG__orbit{fill:none;stroke:color-mix(in srgb, var(--accent) 52%, transparent);stroke-width:1.5px;stroke-dasharray:3 3}.town-item-art-module__ojljxG__growthLight{fill:color-mix(in srgb, var(--accent) 68%, var(--white));stroke:color-mix(in srgb, var(--white) 80%, transparent);stroke-width:.9px}.town-item-art-module__ojljxG__growthStroke{fill:none;stroke:color-mix(in srgb, var(--accent) 62%, var(--ink));stroke-width:1.6px;stroke-linecap:round}.town-item-art-module__ojljxG__growthRing{fill:none;stroke:color-mix(in srgb, var(--accent) 45%, transparent);stroke-width:1.4px;stroke-dasharray:2.5 2.5}.town-item-art-module__ojljxG__growthOrbit{fill:none;stroke:color-mix(in srgb, var(--growth) 42%, var(--accent));stroke-width:1.2px;stroke-dasharray:3 4}.town-item-art-module__ojljxG__growthHalo{fill:none;stroke:color-mix(in srgb, var(--accent) 30%, transparent);stroke-width:1.2px;stroke-dasharray:2 5}.town-item-art-module__ojljxG__art[data-variant=autumn]{--town-leaf:#b87449;--town-leaf-light:#d9a36a}.town-item-art-module__ojljxG__art[data-variant=green]{--town-leaf:color-mix(in srgb, var(--growth) 80%, #426a4c)}.town-item-art-module__ojljxG__art[data-variant=brick]{--town-front:#c78f79;--town-side:#9f6d61;--town-roof:#716066}.town-item-art-module__ojljxG__art[data-variant=ivory]{--town-front:#e7dfcf;--town-side:#c9bea9;--town-roof:#7c7671}.town-item-art-module__ojljxG__art[data-variant=yellow] .town-item-art-module__ojljxG__flower,.town-item-art-module__ojljxG__art[data-variant=yellow] .town-item-art-module__ojljxG__flowerAlt{fill:#e6c96b}.town-item-art-module__ojljxG__art[data-variant=lavender] .town-item-art-module__ojljxG__flower,.town-item-art-module__ojljxG__art[data-variant=lavender] .town-item-art-module__ojljxG__flowerAlt{fill:#b7a7dc}.town-item-art-module__ojljxG__art[data-variant=white] .town-item-art-module__ojljxG__flower,.town-item-art-module__ojljxG__art[data-variant=white] .town-item-art-module__ojljxG__flowerAlt{fill:#f4f0e8}@media (prefers-reduced-motion:no-preference){.town-item-art-module__ojljxG__art[data-asset="town/special/memory-tree"] .town-item-art-module__ojljxG__memoryOrb,.town-item-art-module__ojljxG__art[data-asset="town/landmark/infinite-library"] .town-item-art-module__ojljxG__orbit,.town-item-art-module__ojljxG__art[data-growth-stage="3"] .town-item-art-module__ojljxG__growthLight,.town-item-art-module__ojljxG__art[data-growth-stage="3"] .town-item-art-module__ojljxG__growthHalo{transform-box:fill-box;transform-origin:50%;animation:3.8s ease-in-out infinite town-item-art-module__ojljxG__townPulse}}@keyframes town-item-art-module__ojljxG__townPulse{0%,to{opacity:.64}50%{opacity:1}}
.town-editor-view-module__zBo1cq__page{max-width:1280px}.town-editor-view-module__zBo1cq__heading{align-items:flex-end}.town-editor-view-module__zBo1cq__headingTools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.town-editor-view-module__zBo1cq__progressLink{min-height:40px;color:var(--muted);align-items:center;font-size:13px;line-height:1.5;text-decoration:none;display:inline-flex}.town-editor-view-module__zBo1cq__headingTools .guide-hint{align-items:center;min-height:40px;margin-top:0;line-height:1.5}.town-editor-view-module__zBo1cq__progressLink:hover{color:var(--ink)}.town-editor-view-module__zBo1cq__stateCard,.town-editor-view-module__zBo1cq__createCard{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);margin-top:24px}.town-editor-view-module__zBo1cq__stateCard{min-height:180px;color:var(--muted);text-align:center;place-items:center;padding:28px;line-height:1.75;display:grid}.town-editor-view-module__zBo1cq__createCard{grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:center;gap:30px;padding:28px;display:grid}.town-editor-view-module__zBo1cq__createCard h2{letter-spacing:-.03em;margin:5px 0 9px;font-size:clamp(25px,3vw,36px)}.town-editor-view-module__zBo1cq__createCard p:last-child{max-width:680px;color:var(--muted);margin:0;line-height:1.7}.town-editor-view-module__zBo1cq__createForm{gap:8px;display:grid}.town-editor-view-module__zBo1cq__createForm label,.town-editor-view-module__zBo1cq__cityPanel label,.town-editor-view-module__zBo1cq__cityPanelLabel{color:var(--muted);font-size:12px}.town-editor-view-module__zBo1cq__createForm>div{gap:8px;display:flex}.town-editor-view-module__zBo1cq__createForm input,.town-editor-view-module__zBo1cq__addCityForm input{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 18%);min-width:0;height:46px;color:var(--ink);font:inherit;padding:0 12px}.town-editor-view-module__zBo1cq__createForm input{flex:1}.town-editor-view-module__zBo1cq__createForm button,.town-editor-view-module__zBo1cq__addCityForm button,.town-editor-view-module__zBo1cq__selectionActions button{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 18%);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:0 12px;font-size:12px}.town-editor-view-module__zBo1cq__createForm button,.town-editor-view-module__zBo1cq__addCityForm button{min-height:46px}.town-editor-view-module__zBo1cq__createForm button:hover:not(:disabled),.town-editor-view-module__zBo1cq__addCityForm button:hover:not(:disabled),.town-editor-view-module__zBo1cq__selectionActions button:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary), var(--glass-border) 54%);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__createForm button:disabled,.town-editor-view-module__zBo1cq__addCityForm button:disabled,.town-editor-view-module__zBo1cq__selectionActions button:disabled{opacity:.5;cursor:default}.town-editor-view-module__zBo1cq__editor{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:18px;margin-top:24px;display:grid}.town-editor-view-module__zBo1cq__sidebar{gap:14px;display:grid;position:sticky;top:18px}.town-editor-view-module__zBo1cq__cityPanel,.town-editor-view-module__zBo1cq__inventoryPanel,.town-editor-view-module__zBo1cq__mapPanel{border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur)}.town-editor-view-module__zBo1cq__cityPanel{gap:8px;padding:17px;display:grid}.town-editor-view-module__zBo1cq__cityPanel .theme-select{width:100%}.town-editor-view-module__zBo1cq__cityPanel .theme-select-trigger{border-color:var(--glass-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--white), transparent 18%);font-size:13px}.town-editor-view-module__zBo1cq__themeControl{border-top:1px solid var(--line);gap:6px;margin-top:4px;padding-top:10px;display:grid}.town-editor-view-module__zBo1cq__themeLabel{justify-content:space-between;align-items:center;gap:10px;display:flex}.town-editor-view-module__zBo1cq__themeLabel span{color:var(--muted);font-size:12px}.town-editor-view-module__zBo1cq__themeLabel small{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.town-editor-view-module__zBo1cq__themeControl p{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.town-editor-view-module__zBo1cq__addCityForm{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:4px;display:grid}.town-editor-view-module__zBo1cq__addCityForm button{padding-inline:10px}.town-editor-view-module__zBo1cq__inventoryPanel{padding:18px}.town-editor-view-module__zBo1cq__inventoryPanel header h2,.town-editor-view-module__zBo1cq__mapHeading h2{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:620}.town-editor-view-module__zBo1cq__inventoryPanel header p,.town-editor-view-module__zBo1cq__mapHeading p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.65}.town-editor-view-module__zBo1cq__inventoryList{gap:7px;max-height:520px;margin-top:14px;padding-right:2px;display:grid;overflow-y:auto}.town-editor-view-module__zBo1cq__inventoryCard{border-radius:var(--radius-control-inner);width:100%;color:var(--ink);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px 10px;padding:8px 10px 9px;display:grid}.town-editor-view-module__zBo1cq__inventoryCard:hover{background:var(--primary-soft)}.town-editor-view-module__zBo1cq__inventoryCard.town-editor-view-module__zBo1cq__selectedInventory{border-color:var(--primary);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__inventoryCard:disabled{opacity:.55;cursor:default}.town-editor-view-module__zBo1cq__inventoryGlyph{grid-row:span 2;place-items:center;width:52px;height:52px;display:grid}.town-editor-view-module__zBo1cq__inventoryCopy{gap:2px;min-width:0;display:grid}.town-editor-view-module__zBo1cq__inventoryCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.town-editor-view-module__zBo1cq__inventoryCopy small,.town-editor-view-module__zBo1cq__inventoryCard b{color:var(--muted);font-size:10px;font-weight:500}.town-editor-view-module__zBo1cq__inventoryCard b{grid-column:2}.town-editor-view-module__zBo1cq__inventoryProvenance{border-top:1px solid color-mix(in srgb, var(--line) 66%, transparent);grid-column:2;gap:4px;margin-top:1px;padding-top:6px;display:grid}.town-editor-view-module__zBo1cq__inventoryProvenance>span{gap:1px;min-width:0;display:grid}.town-editor-view-module__zBo1cq__inventoryProvenance em{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:10px;font-style:normal;font-weight:600;overflow:hidden}.town-editor-view-module__zBo1cq__inventoryProvenance small{color:var(--muted);font-size:9px;line-height:1.4}.town-editor-view-module__zBo1cq__inventoryEmpty{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding:18px 4px 3px;font-size:12px;line-height:1.65}.town-editor-view-module__zBo1cq__mapPanel{min-width:0;padding:20px}.town-editor-view-module__zBo1cq__mapHeading{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.town-editor-view-module__zBo1cq__mapHeading p{max-width:680px}.town-editor-view-module__zBo1cq__mapTools{flex:none;justify-items:end;gap:8px;display:grid}.town-editor-view-module__zBo1cq__mapMeta{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;gap:4px;font-size:11px;display:grid}.town-editor-view-module__zBo1cq__historyActions{gap:6px;display:flex}.town-editor-view-module__zBo1cq__historyActions button{border:1px solid var(--glass-border);border-radius:var(--radius-control-inner);background:color-mix(in srgb, var(--white), transparent 18%);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:0 9px;font-size:11px}.town-editor-view-module__zBo1cq__historyActions button:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary), var(--glass-border) 54%);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__historyActions button:disabled{opacity:.4;cursor:default}.town-editor-view-module__zBo1cq__selectionBar{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);min-height:68px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:12px 14px;font-size:12px;display:flex}.town-editor-view-module__zBo1cq__selectionBar>div:first-child{gap:3px;min-width:0;display:grid}.town-editor-view-module__zBo1cq__selectionBar small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.town-editor-view-module__zBo1cq__selectionBar strong{color:var(--ink);font-size:13px}.town-editor-view-module__zBo1cq__selectionBar span{line-height:1.5}.town-editor-view-module__zBo1cq__selectionTools{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.town-editor-view-module__zBo1cq__variantControls{align-items:center;gap:5px;display:flex}.town-editor-view-module__zBo1cq__variantButton{border:1px solid var(--glass-border);border-radius:var(--radius-control-inner);background:color-mix(in srgb, var(--white), transparent 18%);cursor:pointer;place-items:center;width:28px;height:28px;padding:0;display:grid}.town-editor-view-module__zBo1cq__variantButton>span{background:var(--primary-soft);width:14px;height:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:50%}.town-editor-view-module__zBo1cq__variantButton[data-variant=white]>span{background:#f4f0e8}.town-editor-view-module__zBo1cq__variantButton[data-variant=yellow]>span{background:#e6c96b}.town-editor-view-module__zBo1cq__variantButton[data-variant=lavender]>span{background:#b7a7dc}.town-editor-view-module__zBo1cq__variantButton[data-variant=green]>span{background:color-mix(in srgb, var(--growth) 80%, #426a4c)}.town-editor-view-module__zBo1cq__variantButton[data-variant=autumn]>span{background:#b87449}.town-editor-view-module__zBo1cq__variantButton[data-variant=ivory]>span{background:#e7dfcf}.town-editor-view-module__zBo1cq__variantButton[data-variant=brick]>span{background:#c78f79}.town-editor-view-module__zBo1cq__variantButton.town-editor-view-module__zBo1cq__activeVariant{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.town-editor-view-module__zBo1cq__variantButton:disabled{opacity:.5;cursor:default}.town-editor-view-module__zBo1cq__selectionActions{flex:none;gap:7px;display:flex}.town-editor-view-module__zBo1cq__selectionActions button{align-items:center;gap:5px;min-height:34px;display:inline-flex}.town-editor-view-module__zBo1cq__notice,.town-editor-view-module__zBo1cq__editorError{border-radius:var(--radius-control-inner);margin:10px 0 0;padding:9px 11px;font-size:12px;line-height:1.55}.town-editor-view-module__zBo1cq__notice{color:var(--growth);background:var(--growth-soft)}.town-editor-view-module__zBo1cq__editorError{color:var(--ink);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__gridViewport{width:100%;margin-top:14px;padding:12px 6px 6px;overflow:auto}.town-editor-view-module__zBo1cq__grid{--town-ground:color-mix(in srgb, var(--glass) 60%, var(--white));--town-glow:color-mix(in srgb, var(--growth-soft) 30%, transparent);--town-grid-line:color-mix(in srgb, var(--line) 58%, transparent);border:1px solid color-mix(in srgb, var(--line) 72%, transparent);border-radius:var(--radius-card);background:radial-gradient(circle at 50% 18%, var(--town-glow), transparent 44%), var(--town-ground);isolation:isolate;width:100%;min-width:660px;max-width:880px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--white) 82%, transparent), 0 20px 55px #192a3812;margin:0 auto;display:grid;position:relative;overflow:hidden}.town-editor-view-module__zBo1cq__grid[data-town-theme=japanese]{--town-ground:#f4eee5;--town-glow:#c278711f;--town-grid-line:#6b52491f}.town-editor-view-module__zBo1cq__grid[data-town-theme=forest]{--town-ground:#e8efe8;--town-glow:#4e7e5824;--town-grid-line:#3b5c4421}.town-editor-view-module__zBo1cq__grid[data-town-theme=academic]{--town-ground:#ececf2;--town-glow:#53598b1f;--town-grid-line:#4b4f741f}.town-editor-view-module__zBo1cq__grid[data-town-theme=coastal]{--town-ground:#e8f1f3;--town-glow:#539cb124;--town-grid-line:#4474841f}.town-editor-view-module__zBo1cq__grid[data-town-theme=industrial]{--town-ground:#e7e8e6;--town-glow:#6b6f651f;--town-grid-line:#46494324}.town-editor-view-module__zBo1cq__grid[data-town-theme=night]{--town-ground:#dfe4ec;--town-glow:#43538629;--town-grid-line:#39436229}.town-editor-view-module__zBo1cq__grid[data-town-theme=futuristic]{--town-ground:#e9eef2;--town-glow:#4d96a62b;--town-grid-line:#41738021}.town-editor-view-module__zBo1cq__grid[data-town-theme=minimal]{--town-ground:#f4f4f2;--town-glow:#7878720f;--town-grid-line:#5a5a5417}.town-editor-view-module__zBo1cq__grid.town-editor-view-module__zBo1cq__busy{opacity:.72}.town-editor-view-module__zBo1cq__gridCell{border:0;border-right:1px solid var(--town-grid-line);border-bottom:1px solid var(--town-grid-line);cursor:crosshair;background:0 0;min-width:0;min-height:0}.town-editor-view-module__zBo1cq__gridCell:not(:disabled):hover{background:color-mix(in srgb, var(--primary-soft) 72%, transparent)}.town-editor-view-module__zBo1cq__gridCell:disabled{cursor:default}.town-editor-view-module__zBo1cq__placement{z-index:2;border-radius:var(--radius-control-inner);min-width:0;min-height:0;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;align-content:center;place-items:center;gap:0;margin:1px;padding:0 2px 2px;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:visible}.town-editor-view-module__zBo1cq__placement:hover{background:color-mix(in srgb, var(--white) 46%, transparent)}.town-editor-view-module__zBo1cq__placement small{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--white) 82%, transparent);color:var(--muted);opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:2px 5px;font-size:8px;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;inset:auto 5px 4px;overflow:hidden;transform:translateY(3px)}.town-editor-view-module__zBo1cq__placement:hover small,.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__selectedPlacement small{opacity:1;transform:translateY(0)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__selectedPlacement{border-color:color-mix(in srgb, var(--primary) 72%, transparent);background:color-mix(in srgb, var(--primary-soft) 72%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--white) 60%, transparent)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__common{--town-rarity:var(--line)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__uncommon{--town-rarity:var(--growth)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__rare{--town-rarity:var(--accent)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__epic{--town-rarity:color-mix(in srgb, var(--accent) 72%, var(--growth))}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__legendary{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--growth) 45%, transparent)}.town-editor-view-module__zBo1cq__placement.town-editor-view-module__zBo1cq__mythic{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent)}@media (max-width:980px){.town-editor-view-module__zBo1cq__editor{grid-template-columns:1fr}.town-editor-view-module__zBo1cq__sidebar{grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);position:static}.town-editor-view-module__zBo1cq__inventoryList{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}}@media (max-width:720px){.town-editor-view-module__zBo1cq__heading{align-items:flex-start}.town-editor-view-module__zBo1cq__headingTools{justify-content:flex-start}.town-editor-view-module__zBo1cq__createCard,.town-editor-view-module__zBo1cq__sidebar{grid-template-columns:1fr}.town-editor-view-module__zBo1cq__inventoryList{grid-template-columns:1fr;max-height:360px}.town-editor-view-module__zBo1cq__mapHeading{display:block}.town-editor-view-module__zBo1cq__mapTools{justify-items:start;margin-top:8px}.town-editor-view-module__zBo1cq__mapMeta{text-align:left;grid-template-columns:repeat(2,auto);justify-content:start;gap:12px}.town-editor-view-module__zBo1cq__selectionBar{flex-direction:column;align-items:flex-start}.town-editor-view-module__zBo1cq__selectionTools{justify-content:space-between;width:100%}.town-editor-view-module__zBo1cq__selectionActions{flex-wrap:wrap;width:auto}.town-editor-view-module__zBo1cq__grid{min-width:600px}}@media (max-width:480px){.town-editor-view-module__zBo1cq__mapPanel{padding:16px 12px}.town-editor-view-module__zBo1cq__addCityForm{grid-template-columns:1fr}.town-editor-view-module__zBo1cq__createForm>div{flex-direction:column}.town-editor-view-module__zBo1cq__selectionTools{flex-direction:column;align-items:flex-start}.town-editor-view-module__zBo1cq__grid{min-width:560px}}@media (prefers-reduced-motion:reduce){.town-editor-view-module__zBo1cq__placement,.town-editor-view-module__zBo1cq__placement small{transition:none}}.town-editor-view-module__zBo1cq__canvasPage.town-editor-view-module__zBo1cq__canvasPage{width:100%;max-width:none;height:calc(100dvh - 98px);min-height:520px;margin:0;padding:12px 0 0;overflow:hidden}.town-editor-view-module__zBo1cq__townShell{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.town-editor-view-module__zBo1cq__townHeader{flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 18px;display:flex}.town-editor-view-module__zBo1cq__townHeader h1{font-family:var(--font-gothic);letter-spacing:-.055em;margin:0;font-size:clamp(28px,3vw,42px);font-weight:520;line-height:1}.town-editor-view-module__zBo1cq__townControls{justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.town-editor-view-module__zBo1cq__townControl{border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);min-width:0;height:42px;color:var(--ink);cursor:pointer;font:inherit;-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 5px 16px #244a680f}.town-editor-view-module__zBo1cq__townControl:hover,.town-editor-view-module__zBo1cq__townControl[aria-expanded=true]{border-color:color-mix(in srgb, var(--primary), var(--glass-border) 52%);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__townControl:active{transform:translateY(1px)}.town-editor-view-module__zBo1cq__townControl span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.town-editor-view-module__zBo1cq__townControl b{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--primary), transparent 88%);min-width:20px;height:20px;color:var(--primary);place-items:center;padding:0 5px;font-size:9px;font-weight:700;display:grid}.town-editor-view-module__zBo1cq__mapPanel{border:1px solid var(--glass-border);border-radius:var(--radius-modal);background:radial-gradient(circle at 50% 8%, color-mix(in srgb, var(--growth-soft) 38%, transparent), transparent 42%), color-mix(in srgb, var(--paper-deep), var(--white) 42%);min-width:0;min-height:0;box-shadow:var(--surface-shadow);isolation:isolate;flex:1;padding:0;position:relative;overflow:hidden}.town-editor-view-module__zBo1cq__panelBackdrop{z-index:30;cursor:default;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f181e29;border:0;position:absolute;inset:0}.town-editor-view-module__zBo1cq__floatingPanel{z-index:31;border:1px solid var(--glass-border);border-radius:var(--radius-modal);background:var(--glass-strong);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);flex-direction:column;width:min(420px,100% - 28px);max-height:calc(100% - 28px);display:flex;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 24px 70px #12212b2e}.town-editor-view-module__zBo1cq__inventoryFloatingPanel{width:min(480px,100% - 28px)}.town-editor-view-module__zBo1cq__floatingPanelHeader{border-bottom:1px solid var(--glass-border);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 10px 8px 16px;display:flex}.town-editor-view-module__zBo1cq__floatingPanelHeader strong{font-size:14px;font-weight:650}.town-editor-view-module__zBo1cq__floatingPanelHeader button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;display:grid}.town-editor-view-module__zBo1cq__floatingPanelHeader button:hover{border-color:var(--glass-border);background:var(--primary-soft);color:var(--ink)}.town-editor-view-module__zBo1cq__panelBody{min-height:0;padding:12px;overflow:auto}.town-editor-view-module__zBo1cq__cityList{gap:6px;display:grid}.town-editor-view-module__zBo1cq__cityList>button{border-radius:var(--radius-control);min-height:46px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:0 12px;font-size:12px;display:grid}.town-editor-view-module__zBo1cq__cityList>button:hover{background:var(--primary-soft)}.town-editor-view-module__zBo1cq__cityList>button:disabled{opacity:.5;cursor:default}.town-editor-view-module__zBo1cq__cityList>button.town-editor-view-module__zBo1cq__activeCity{border-color:color-mix(in srgb, var(--primary), var(--glass-border) 50%);background:var(--primary-soft)}.town-editor-view-module__zBo1cq__cityList>button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.town-editor-view-module__zBo1cq__panelBody .town-editor-view-module__zBo1cq__addCityForm{border-top:1px solid var(--glass-border);margin-top:10px;padding-top:12px}.town-editor-view-module__zBo1cq__themeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.town-editor-view-module__zBo1cq__themeOption{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--white), transparent 24%);min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:16px;padding:7px}.town-editor-view-module__zBo1cq__themeOption:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary), var(--glass-border) 45%);transform:translateY(-1px)}.town-editor-view-module__zBo1cq__themeOption:disabled{opacity:.46;cursor:not-allowed}.town-editor-view-module__zBo1cq__themeOption.town-editor-view-module__zBo1cq__activeTheme{border-color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary), transparent 68%)}.town-editor-view-module__zBo1cq__themePreview{--preview-ground:#eef1ee;--preview-accent:#71917b;--preview-structure:#d7dfd9;background:radial-gradient(circle at 72% 24%, color-mix(in srgb, var(--preview-accent), transparent 72%), transparent 30%), var(--preview-ground);border-radius:11px;height:66px;display:block;position:relative;overflow:hidden}.town-editor-view-module__zBo1cq__themePreview i{background:var(--preview-structure);border-radius:6px 6px 3px 3px;width:30px;height:28px;display:block;position:absolute;bottom:13px;box-shadow:0 5px 10px #141e1c14}.town-editor-view-module__zBo1cq__themePreview i:first-child{left:13px;transform:skewY(-5deg)}.town-editor-view-module__zBo1cq__themePreview i:nth-child(2){background:color-mix(in srgb, var(--preview-structure), var(--preview-accent) 12%);width:25px;height:36px;bottom:18px;left:46%}.town-editor-view-module__zBo1cq__themePreview i:nth-child(3){background:var(--preview-accent);border-radius:50% 50% 35% 35%;width:20px;height:22px;right:10px}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=japanese] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#f4eee5;--preview-accent:#a76d66;--preview-structure:#ded0bf}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=forest] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#e5eee6;--preview-accent:#527d5c;--preview-structure:#d3ded2}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=academic] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#ececf2;--preview-accent:#5d638e;--preview-structure:#d6d6e0}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=coastal] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#e6f0f2;--preview-accent:#5d9eae;--preview-structure:#d4e0e1}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=industrial] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#e7e8e6;--preview-accent:#777b72;--preview-structure:#d0d2cf}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=night] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#dce3ee;--preview-accent:#536596;--preview-structure:#c5cfdf}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=futuristic] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#e7eef2;--preview-accent:#4f9aaa;--preview-structure:#d2e0e5}.town-editor-view-module__zBo1cq__themeOption[data-town-theme=minimal] .town-editor-view-module__zBo1cq__themePreview{--preview-ground:#f3f3f0;--preview-accent:#8a8a83;--preview-structure:#deded8}.town-editor-view-module__zBo1cq__themeOptionCopy{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px 4px 2px;display:flex}.town-editor-view-module__zBo1cq__themeOptionCopy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.town-editor-view-module__zBo1cq__themeOptionCopy small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:8px;font-weight:700}.town-editor-view-module__zBo1cq__panelNote{color:var(--muted);margin:10px 2px 0;font-size:10px;line-height:1.55}.town-editor-view-module__zBo1cq__floatingInventory{min-height:0;padding:12px;overflow:auto}.town-editor-view-module__zBo1cq__floatingInventory>p{color:var(--muted);margin:0 4px 10px;font-size:11px;line-height:1.6}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryList{max-height:none;margin-top:0;overflow:visible}.town-editor-view-module__zBo1cq__mapHud{z-index:14;border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);align-items:center;gap:8px;padding:7px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 8px 22px #1c2d3714}.town-editor-view-module__zBo1cq__mapHud .town-editor-view-module__zBo1cq__mapMeta{text-align:left;gap:9px;padding:0 5px;font-size:9px;display:flex}.town-editor-view-module__zBo1cq__mapHud .town-editor-view-module__zBo1cq__historyActions{gap:4px}.town-editor-view-module__zBo1cq__mapHud .town-editor-view-module__zBo1cq__historyActions button{min-height:28px}.town-editor-view-module__zBo1cq__selectionBar{z-index:16;border-radius:var(--radius-control);background:var(--glass-strong);width:min(620px,100% - 28px);min-height:58px;-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);margin:0;padding:9px 11px;position:absolute;bottom:14px;left:14px;box-shadow:0 12px 32px #16252e1c}.town-editor-view-module__zBo1cq__notice,.town-editor-view-module__zBo1cq__editorError{z-index:17;max-width:min(520px,100% - 28px);margin:0;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #17252d14}.town-editor-view-module__zBo1cq__gridViewport{touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;width:auto;height:auto;margin:0;padding:0;position:absolute;inset:0;overflow:hidden}.town-editor-view-module__zBo1cq__viewportScene{transform-origin:50%;will-change:transform;position:absolute;top:50%;left:50%}.town-editor-view-module__zBo1cq__grid{border-radius:24px;width:100%;min-width:0;max-width:none;height:100%;margin:0}.town-editor-view-module__zBo1cq__gridCell{border-bottom-color:#0000;border-right-color:#0000}.town-editor-view-module__zBo1cq__grid:not([data-editing=true]) .town-editor-view-module__zBo1cq__gridCell{pointer-events:none;cursor:grab;background:0 0}.town-editor-view-module__zBo1cq__grid[data-editing=true] .town-editor-view-module__zBo1cq__gridCell{border-right-color:var(--town-grid-line);border-bottom-color:var(--town-grid-line);cursor:crosshair}.town-editor-view-module__zBo1cq__grid[data-editing=true] .town-editor-view-module__zBo1cq__gridCell:not(:disabled):hover{background:color-mix(in srgb, var(--primary-soft) 72%, transparent)}.town-editor-view-module__zBo1cq__zoomControls{z-index:15;border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);align-items:center;gap:3px;padding:5px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 8px 22px #1c2d3714}.town-editor-view-module__zBo1cq__zoomControls button{min-width:32px;height:32px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;place-items:center;padding:0 8px;font-size:12px;font-weight:650;display:grid}.town-editor-view-module__zBo1cq__zoomControls button:hover{background:var(--primary-soft)}.town-editor-view-module__zBo1cq__zoomControls span{min-width:42px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:9px}@media (min-width:861px){.town-editor-view-module__zBo1cq__canvasPage.town-editor-view-module__zBo1cq__canvasPage{height:calc(100dvh - 32px);padding:0}}@media (max-width:860px){.town-editor-view-module__zBo1cq__canvasPage.town-editor-view-module__zBo1cq__canvasPage{height:calc(100dvh - 98px);padding:8px 0 0}.town-editor-view-module__zBo1cq__townHeader{min-height:52px;padding:0 4px 0 8px}.town-editor-view-module__zBo1cq__townHeader h1{font-size:30px}.town-editor-view-module__zBo1cq__townControl{height:38px;padding:0 10px}.town-editor-view-module__zBo1cq__mapPanel{border-radius:24px}.town-editor-view-module__zBo1cq__selectionBar{width:calc(100% - 20px);bottom:10px;left:10px}.town-editor-view-module__zBo1cq__mapHud{top:10px;left:10px}.town-editor-view-module__zBo1cq__zoomControls{top:10px;right:10px}}@media (max-width:620px){.town-editor-view-module__zBo1cq__townShell{gap:8px}.town-editor-view-module__zBo1cq__townHeader h1{font-size:27px}.town-editor-view-module__zBo1cq__townControls{gap:5px}.town-editor-view-module__zBo1cq__townControl{justify-content:center;width:38px;min-width:38px;padding:0}.town-editor-view-module__zBo1cq__townControl span{display:none}.town-editor-view-module__zBo1cq__townControl b{border:1px solid var(--glass-border);background:var(--glass-strong);width:15px;min-width:15px;height:15px;margin:-24px 0 0 24px;padding:0 3px;font-size:7px;position:absolute}.town-editor-view-module__zBo1cq__floatingPanel,.town-editor-view-module__zBo1cq__inventoryFloatingPanel{width:auto;max-height:min(72%,620px);inset:auto 10px 10px}.town-editor-view-module__zBo1cq__themeGrid{gap:6px}.town-editor-view-module__zBo1cq__themePreview{height:58px}.town-editor-view-module__zBo1cq__mapHud .town-editor-view-module__zBo1cq__mapMeta{display:none}.town-editor-view-module__zBo1cq__selectionBar{max-height:142px;overflow:auto}.town-editor-view-module__zBo1cq__selectionTools{width:100%}.town-editor-view-module__zBo1cq__zoomControls span{display:none}.town-editor-view-module__zBo1cq__zoomControls button{min-width:30px;height:30px;padding:0 7px}}.town-editor-view-module__zBo1cq__trayBackdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#0000 54%,#0f181e38)}.town-editor-view-module__zBo1cq__floatingPanel.town-editor-view-module__zBo1cq__inventoryFloatingPanel{width:auto;max-height:none;animation:town-editor-view-module__zBo1cq__trayRise var(--dur-page) var(--ease-out) both;inset:auto 14px 14px}.town-editor-view-module__zBo1cq__mapPanel:has([data-dragging]) .town-editor-view-module__zBo1cq__trayBackdrop{opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.town-editor-view-module__zBo1cq__floatingPanel.town-editor-view-module__zBo1cq__inventoryFloatingPanel[data-dragging]{opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);transform:translateY(32px)}.town-editor-view-module__zBo1cq__inventoryFloatingPanel .town-editor-view-module__zBo1cq__floatingInventory{padding:4px 0 14px;overflow:visible}.town-editor-view-module__zBo1cq__inventoryFloatingPanel .town-editor-view-module__zBo1cq__floatingInventory>p{font-size:var(--type-micro);margin:0 18px 10px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryList{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:152px;grid-auto-flow:column;gap:10px;padding:6px 16px 4px;scroll-padding-inline:16px;display:grid;overflow-x:auto}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard{--rim:color-mix(in srgb, var(--line) 80%, transparent);border:1px solid var(--rim);background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--rim) 22%, transparent), transparent 62%), color-mix(in srgb, var(--glass-strong) 86%, var(--white));scroll-snap-align:start;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:18px;grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;padding:8px 10px 10px;position:relative}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard[data-rarity=uncommon]{--rim:#6fae8b}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard[data-rarity=rare]{--rim:#5b8fd6}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard[data-rarity=epic]{--rim:#9a6fd6}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard[data-rarity=legendary]{--rim:#d6a24a}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard[data-rarity=mythic]{--rim:#d6607f}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 14px 28px #12212b24}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard.town-editor-view-module__zBo1cq__selectedInventory{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph{cursor:grab;grid-row:auto;width:100%;height:92px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph:active{cursor:grabbing}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph>*{width:92px;height:92px;transition:transform var(--dur-fast) var(--ease-out)}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard:hover:not(:disabled) .town-editor-view-module__zBo1cq__inventoryGlyph>*{transform:scale(1.08)translateY(-3px)}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCopy strong{font-size:var(--type-caption)}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCopy small{font-size:var(--type-micro)}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard b{background:color-mix(in srgb, var(--ink) 78%, transparent);color:var(--white);font-size:var(--type-micro);border-radius:999px;grid-column:auto;padding:2px 7px;font-weight:650;position:absolute;top:8px;right:8px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryProvenance{grid-column:auto}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryProvenance>span:nth-child(n+2){display:none}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryProvenance em,.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryProvenance small{font-size:var(--type-micro)}@keyframes town-editor-view-module__zBo1cq__trayRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.town-editor-view-module__zBo1cq__floatingPanel.town-editor-view-module__zBo1cq__inventoryFloatingPanel{max-height:none;bottom:10px;left:10px;right:10px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryList{grid-auto-columns:132px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph{height:76px}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph>*{width:76px;height:76px}}@media (prefers-reduced-motion:reduce){.town-editor-view-module__zBo1cq__viewportScene{will-change:auto}.town-editor-view-module__zBo1cq__themeOption,.town-editor-view-module__zBo1cq__townControl{transition:none}.town-editor-view-module__zBo1cq__floatingPanel.town-editor-view-module__zBo1cq__inventoryFloatingPanel{animation:none}.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryCard,.town-editor-view-module__zBo1cq__floatingInventory .town-editor-view-module__zBo1cq__inventoryGlyph>*{transition:none}}
.town-direct-placement-view-module__4SeZma__toolbar{border:1px solid var(--line);background:var(--white);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex}.town-direct-placement-view-module__4SeZma__item{align-items:center;gap:12px;min-width:0;display:flex}.town-direct-placement-view-module__4SeZma__itemArt{background:color-mix(in srgb, var(--growth-soft) 64%, var(--white));border-radius:16px;flex:none;place-items:center;width:58px;height:58px;display:grid}.town-direct-placement-view-module__4SeZma__itemCopy{min-width:0}.town-direct-placement-view-module__4SeZma__itemCopy small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;display:block}.town-direct-placement-view-module__4SeZma__itemCopy strong{margin-top:3px;font-size:16px;font-weight:620;display:block}.town-direct-placement-view-module__4SeZma__itemCopy span{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.5;display:block}.town-direct-placement-view-module__4SeZma__controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.town-direct-placement-view-module__4SeZma__controls button,.town-direct-placement-view-module__4SeZma__cancel{border:1px solid var(--line);background:var(--white);min-height:36px;color:var(--ink);font:inherit;border-radius:12px;padding:7px 10px;font-size:12px}.town-direct-placement-view-module__4SeZma__controls button{cursor:pointer}.town-direct-placement-view-module__4SeZma__controls .theme-select{min-width:150px}.town-direct-placement-view-module__4SeZma__controls .theme-select-trigger{border:1px solid var(--line);background:var(--white);border-radius:12px;height:36px;font-size:12px}.town-direct-placement-view-module__4SeZma__controls button:disabled{opacity:.45;cursor:default}.town-direct-placement-view-module__4SeZma__cancel{align-items:center;text-decoration:none;display:inline-flex}.town-direct-placement-view-module__4SeZma__variantGroup{align-items:center;gap:5px;display:inline-flex}.town-direct-placement-view-module__4SeZma__variant{width:28px;border-radius:999px!important;min-height:28px!important;padding:3px!important}.town-direct-placement-view-module__4SeZma__variant>span{aspect-ratio:1;background:color-mix(in srgb, var(--primary-soft) 70%, var(--white));border-radius:50%;width:100%;display:block}.town-direct-placement-view-module__4SeZma__variant[aria-pressed=true]{border-color:var(--growth);box-shadow:0 0 0 2px color-mix(in srgb, var(--growth) 13%, transparent)}.town-direct-placement-view-module__4SeZma__variant[data-variant=autumn]>span{background:#b87449}.town-direct-placement-view-module__4SeZma__variant[data-variant=green]>span{background:#5f8b69}.town-direct-placement-view-module__4SeZma__variant[data-variant=brick]>span{background:#c78f79}.town-direct-placement-view-module__4SeZma__variant[data-variant=ivory]>span{background:#e7dfcf}.town-direct-placement-view-module__4SeZma__variant[data-variant=yellow]>span{background:#e6c96b}.town-direct-placement-view-module__4SeZma__variant[data-variant=lavender]>span{background:#b7a7dc}.town-direct-placement-view-module__4SeZma__variant[data-variant=white]>span{background:#f4f0e8}.town-direct-placement-view-module__4SeZma__ghost{z-index:4;pointer-events:none;border:1px dashed color-mix(in srgb, var(--growth) 62%, transparent);background:color-mix(in srgb, var(--growth-soft) 48%, transparent);opacity:.78;border-radius:12px;place-items:center;display:grid}.town-direct-placement-view-module__4SeZma__ghostInvalid{background:#b45f5f1a;border-color:#b45f5f9e}.town-direct-placement-view-module__4SeZma__createDirect{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.town-direct-placement-view-module__4SeZma__createDirect button{border:1px solid var(--line);background:var(--white);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:13px;padding:9px 14px}@media (max-width:760px){.town-direct-placement-view-module__4SeZma__toolbar{flex-direction:column;align-items:flex-start}.town-direct-placement-view-module__4SeZma__controls{justify-content:flex-start;width:100%}.town-direct-placement-view-module__4SeZma__createDirect{grid-template-columns:1fr}}
.town-district-provider-module__7MOlcW__dock{z-index:72;left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));width:min(390px,100vw - 32px);transition:opacity var(--dur-fast) var(--ease-out), visibility var(--dur-fast);position:fixed}body:has([data-town-selection],[data-town-tray]) .town-district-provider-module__7MOlcW__dock{visibility:hidden;opacity:0}.town-district-provider-module__7MOlcW__toggle{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 92%, var(--white));min-width:190px;color:var(--ink);text-align:left;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);cursor:pointer;border-radius:16px;gap:2px;padding:11px 14px 10px;display:grid}.town-district-provider-module__7MOlcW__toggle span,.town-district-provider-module__7MOlcW__panelHeading p,.town-district-provider-module__7MOlcW__formation p{color:var(--growth);letter-spacing:.09em;margin:0;font-size:9px;font-weight:650}.town-district-provider-module__7MOlcW__toggle strong{font-size:13px;font-weight:620}.town-district-provider-module__7MOlcW__panel{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--glass) 95%, var(--white));box-shadow:var(--surface-shadow);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);border-radius:22px;overflow:hidden}.town-district-provider-module__7MOlcW__panelHeading{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 16px 13px;display:grid}.town-district-provider-module__7MOlcW__panelHeading h2{letter-spacing:-.02em;margin:3px 0 5px;font-size:18px;font-weight:620}.town-district-provider-module__7MOlcW__panelHeading span{color:var(--muted);font-size:11px;line-height:1.55;display:block}.town-district-provider-module__7MOlcW__panelHeading button,.town-district-provider-module__7MOlcW__formation button{width:30px;height:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:18px}.town-district-provider-module__7MOlcW__panelHeading button:hover,.town-district-provider-module__7MOlcW__formation button:hover{background:var(--primary-soft);color:var(--ink)}.town-district-provider-module__7MOlcW__list{gap:0;max-height:min(58vh,480px);display:grid;overflow-y:auto}.town-district-provider-module__7MOlcW__card{border-bottom:1px solid color-mix(in srgb, var(--line) 66%, transparent);grid-template-columns:62px minmax(0,1fr);align-items:center;gap:11px;padding:12px 15px;display:grid}.town-district-provider-module__7MOlcW__card:last-child{border-bottom:0}.town-district-provider-module__7MOlcW__card.town-district-provider-module__7MOlcW__formed{background:color-mix(in srgb, var(--growth-soft) 28%, transparent)}.town-district-provider-module__7MOlcW__card.town-district-provider-module__7MOlcW__ready{background:color-mix(in srgb, var(--primary-soft) 32%, transparent)}.town-district-provider-module__7MOlcW__cardCopy{min-width:0}.town-district-provider-module__7MOlcW__cardCopy small{color:var(--growth);font-size:9px;line-height:1.35;display:block}.town-district-provider-module__7MOlcW__cardCopy strong{margin-top:2px;font-size:13px;font-weight:620;display:block}.town-district-provider-module__7MOlcW__cardCopy>span{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5;display:block}.town-district-provider-module__7MOlcW__cardCopy em{color:var(--muted);margin-top:4px;font-size:9px;font-style:normal;display:block}.town-district-provider-module__7MOlcW__collectionMark{border:1px solid var(--line);background:color-mix(in srgb, var(--white) 74%, transparent);width:54px;height:54px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:15px;place-items:center;font-size:11px;display:grid}.town-district-provider-module__7MOlcW__progressTrack{background:var(--chart-track);border-radius:999px;height:4px;margin-top:7px;overflow:hidden}.town-district-provider-module__7MOlcW__progressTrack i{border-radius:inherit;background:var(--growth);height:100%;display:block}.town-district-provider-module__7MOlcW__landscape{border:1px solid color-mix(in srgb, var(--growth) 22%, var(--line));background:color-mix(in srgb, var(--white) 56%, transparent);border-radius:12px;margin-top:9px;padding:9px 10px 10px}.town-district-provider-module__7MOlcW__landscape>p{color:var(--growth);letter-spacing:.08em;margin:0;font-size:8px;font-weight:680}.town-district-provider-module__7MOlcW__landscape>span{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.5;display:block}.town-district-provider-module__7MOlcW__landscape dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:9px 0 0;display:grid}.town-district-provider-module__7MOlcW__landscape dl div{min-width:0}.town-district-provider-module__7MOlcW__landscape dt{color:var(--muted);font-size:8px;line-height:1.35}.town-district-provider-module__7MOlcW__landscape dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:10px;font-weight:620;line-height:1.35}.town-district-provider-module__7MOlcW__landscape a{color:var(--growth);align-items:center;gap:5px;margin-top:9px;font-size:9px;font-weight:620;text-decoration:none;display:inline-flex}.town-district-provider-module__7MOlcW__landscape a:hover{text-decoration:underline}.town-district-provider-module__7MOlcW__landscape a:focus-visible{outline:2px solid var(--growth);outline-offset:3px;border-radius:3px}.town-district-provider-module__7MOlcW__miniMap{border:1px solid color-mix(in srgb, var(--growth) 22%, var(--line));background:linear-gradient(color-mix(in srgb, var(--line) 42%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line) 42%, transparent) 1px, transparent 1px), color-mix(in srgb, var(--growth-soft) 26%, var(--white));background-size:9px 9px;border-radius:15px;width:54px;height:54px;position:relative;overflow:hidden}.town-district-provider-module__7MOlcW__miniMap i{border:1px solid color-mix(in srgb, var(--growth) 72%, transparent);background:color-mix(in srgb, var(--growth-soft) 72%, transparent);border-radius:4px;min-width:5px;min-height:5px;position:absolute}.town-district-provider-module__7MOlcW__miniMap b{background:var(--growth);width:5px;height:5px;box-shadow:0 0 0 2px color-mix(in srgb, var(--white) 74%, transparent);border-radius:50%;margin:-2.5px 0 0 -2.5px;position:absolute}.town-district-provider-module__7MOlcW__panel footer{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 11px;display:flex}.town-district-provider-module__7MOlcW__panel footer span{color:var(--muted);font-size:9px;line-height:1.45}.town-district-provider-module__7MOlcW__panel footer button{border:1px solid var(--line);background:var(--white);min-height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;flex:none;padding:0 8px;font-size:10px}.town-district-provider-module__7MOlcW__formation{border:1px solid color-mix(in srgb, var(--growth) 28%, var(--glass-border));background:color-mix(in srgb, var(--growth-soft) 68%, var(--white));box-shadow:var(--surface-shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:8px;padding:14px 14px 13px 16px;display:grid}.town-district-provider-module__7MOlcW__formation strong{margin-top:4px;font-size:14px;font-weight:620;line-height:1.4;display:block}.town-district-provider-module__7MOlcW__formation span{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5;display:block}@media (prefers-reduced-motion:no-preference){.town-district-provider-module__7MOlcW__panel,.town-district-provider-module__7MOlcW__formation{animation:town-district-provider-module__7MOlcW__districtSurfaceIn var(--dur-page) var(--ease-out) both}}@keyframes town-district-provider-module__7MOlcW__districtSurfaceIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.town-district-provider-module__7MOlcW__dock{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto}.town-district-provider-module__7MOlcW__panel{border-radius:20px}.town-district-provider-module__7MOlcW__list{max-height:52vh}.town-district-provider-module__7MOlcW__landscape dl{grid-template-columns:1fr}}.town-district-provider-module__7MOlcW__trajectoryLink{color:var(--growth);align-items:center;gap:5px;margin-top:9px;font-size:9px;font-weight:620;text-decoration:none;display:inline-flex}.town-district-provider-module__7MOlcW__trajectoryLink:hover{text-decoration:underline}.town-district-provider-module__7MOlcW__trajectoryLink:focus-visible{outline:2px solid var(--growth);outline-offset:3px;border-radius:3px}
.town-diorama-module__OJkgUa__viewport{border-radius:var(--radius-card);-webkit-user-select:none;user-select:none;background:linear-gradient(#9fd0ef,#d8ecf3 55%,#f4f1e8);min-height:min(76vh,760px);position:relative;overflow:hidden}.town-diorama-module__OJkgUa__viewport[data-sky=dawn]{background:linear-gradient(#f3c8b8,#f6e3d0 55%,#dfeef4)}.town-diorama-module__OJkgUa__viewport[data-sky=dusk]{background:linear-gradient(#7f77bd,#f0b59a 55%,#f7dcc0)}.town-diorama-module__OJkgUa__viewport[data-sky=night]{background:linear-gradient(#0b1230,#1f2c54 55%,#34416b)}.town-diorama-module__OJkgUa__canvas{touch-action:none;cursor:grab;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease-out);display:block;position:absolute;inset:0}.town-diorama-module__OJkgUa__viewport[data-ready=true] .town-diorama-module__OJkgUa__canvas{opacity:1}.town-diorama-module__OJkgUa__canvas:active{cursor:grabbing}.town-diorama-module__OJkgUa__canvas[data-editing=true]{cursor:crosshair}.town-diorama-module__OJkgUa__fallback{border-radius:var(--radius-control);background:var(--glass-strong);color:var(--ink);font-size:var(--type-caption);margin:0;padding:10px 14px;position:absolute;inset:auto 16px 64px}.town-diorama-module__OJkgUa__srList{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;list-style:none;position:absolute;overflow:hidden}.town-diorama-module__OJkgUa__srList:focus-within{clip:auto;border-radius:var(--radius-control);background:var(--glass-strong);width:auto;height:auto;max-height:50%;box-shadow:var(--surface-shadow);padding:6px;top:14px;right:14px;overflow:auto}.town-diorama-module__OJkgUa__srList button{width:100%;color:var(--ink);font-size:var(--type-caption);text-align:left;background:0 0;border:0;border-radius:8px;padding:6px 10px}.town-diorama-module__OJkgUa__srList button[aria-pressed=true]{background:var(--primary-soft)}.town-diorama-module__OJkgUa__zoomControls{background:color-mix(in srgb, var(--white), transparent 25%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 18px #14283c24}.town-diorama-module__OJkgUa__zoomControls button{min-width:34px;height:34px;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 8px;font-size:13px;font-weight:650}.town-diorama-module__OJkgUa__zoomControls button:hover{background:var(--primary-soft);color:var(--primary)}@media (prefers-reduced-motion:reduce){.town-diorama-module__OJkgUa__canvas{transition:none}}
.progress-hub-view-module__pi4Ahq__heading{align-items:flex-end;margin-bottom:0}.progress-hub-view-module__pi4Ahq__tabs{margin-top:var(--space-6);border:1px solid var(--glass-border);border-radius:var(--radius-control);background:var(--glass);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);gap:4px;padding:4px;display:inline-flex}.progress-hub-view-module__pi4Ahq__tabs a{border-radius:var(--radius-control-inner);min-height:36px;color:var(--muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:650;display:inline-flex}.progress-hub-view-module__pi4Ahq__tabs a:hover:not([aria-current=page]){background:var(--primary-soft);color:var(--ink)}.progress-hub-view-module__pi4Ahq__tabs a[aria-current=page]{background:var(--primary);color:#fff}.progress-hub-view-module__pi4Ahq__body{gap:var(--space-9);margin-top:var(--space-8);display:grid}@media (max-width:620px){.progress-hub-view-module__pi4Ahq__tabs{width:100%}.progress-hub-view-module__pi4Ahq__tabs a{flex:1;padding-inline:10px}.progress-hub-view-module__pi4Ahq__body{gap:var(--space-8);margin-top:var(--space-6)}}
.town-drag-placement-module__ocj98W__inventoryDragHandle,.town-drag-placement-module__ocj98W__placementDragHandle{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.town-drag-placement-module__ocj98W__inventoryDragHandle{cursor:grab;touch-action:none}.town-drag-placement-module__ocj98W__placementDragHandle{touch-action:none}.town-drag-placement-module__ocj98W__inventoryDragHandle:active,.town-drag-placement-module__ocj98W__placementDragHandle:active,.town-drag-placement-module__ocj98W__draggingBoard{cursor:grabbing}.town-drag-placement-module__ocj98W__draggingBoard{-webkit-user-select:none;user-select:none}.town-drag-placement-module__ocj98W__draggingBoard>button{cursor:grabbing}.town-drag-placement-module__ocj98W__dragSource{opacity:.24;transform:scale(.96)}.town-drag-placement-module__ocj98W__ghost{z-index:5;border:1px dashed color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--white) 72%, transparent);pointer-events:none;opacity:.88;border-radius:11px;place-items:center;min-width:0;min-height:0;margin:1px;transition:border-color .12s,background-color .12s,box-shadow .12s;display:grid;box-shadow:0 8px 22px #192a381f}.town-drag-placement-module__ocj98W__ghostValid{border-color:color-mix(in srgb, var(--growth) 82%, transparent);background:color-mix(in srgb, var(--growth-soft) 58%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--growth) 22%, transparent), 0 8px 22px #192a381a}.town-drag-placement-module__ocj98W__ghostInvalid{background:#f0dede85;border-color:#a65353c2;box-shadow:inset 0 0 0 1px #a6535329,0 8px 22px #192a3814}@media (prefers-reduced-motion:reduce){.town-drag-placement-module__ocj98W__dragSource,.town-drag-placement-module__ocj98W__ghost{transition:none}}
