/* Expansion screens reuse the game's light/dark palette. */
.bottom-nav{grid-template-columns:repeat(var(--nav-count,4),minmax(0,1fr))}
.expansion-entry{margin-bottom:20px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #c7afd6;border-radius:20px;background:linear-gradient(120deg,var(--soft),var(--rose-soft))}
.expansion-entry h3{font-size:19px;margin:6px 0}.expansion-entry p{font-size:12px;color:var(--muted)}.expansion-entry .button{flex-shrink:0}
.agency-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:18px 8px;margin-bottom:18px}.agency-overview>div{padding:0 18px;border-right:1px solid var(--line)}.agency-overview>div:last-child{border:0}.agency-overview span{display:block;color:var(--muted);font-size:12px}.agency-overview b{font-size:24px;font-variant-numeric:tabular-nums}
.agency-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px;padding:0;list-style-position:inside;color:var(--muted);font-size:12px}.agency-steps li{padding:12px;background:var(--paper);border-radius:12px;border:1px solid var(--line)}
.agency-office-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.agency-tabs{margin-bottom:20px}.agency-tabs button{white-space:nowrap}
.district-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.district-list .office-choice{min-width:0;width:100%;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:left;display:grid;grid-template-columns:100px minmax(0,1fr) 18px;gap:14px;align-items:center}
.office-thumbnail{display:block;width:100%;height:76px;object-fit:cover;border-radius:9px;background:var(--soft)}
.office-copy{min-width:0}.office-copy>b{display:block;font-size:15px;line-height:1.5;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere}
.office-costs{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:12px;line-height:1.6}
.office-costs>span{display:inline-flex;gap:5px;white-space:nowrap}.office-costs small{font-size:inherit;color:var(--muted)}.office-costs strong{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.office-entry-note{display:block;font-size:11px;line-height:1.5;color:var(--rose);margin-top:5px}
.office-choice>.icon{width:18px;height:18px;color:var(--muted);justify-self:end}
.property-interior{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:17px;margin-bottom:10px}.agency-team-grid,.bond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.agency-team-grid .panel{min-width:0}.agency-lineup{display:flex;gap:8px;margin:16px 0}.agency-lineup button{width:58px;padding:0}.agency-lineup img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft);border-radius:10px}.agency-lineup span{display:block;font-size:11px;margin-top:4px}.agency-report,.rental-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.agency-report:last-child,.rental-row:last-child{border-bottom:0}.agency-report small,.rental-row small{display:block;color:var(--muted);font-size:11px}.agency-report>div:nth-child(2){text-align:right}.agency-report p{width:100%;color:var(--amber);font-size:11px}
.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.staff-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px}.staff-avatar{width:70px!important;height:70px!important;border-radius:14px!important;background:var(--soft);display:grid;place-items:center}.staff-card .button{grid-column:2;justify-self:start}.staff-price{display:block;color:var(--muted);font-size:11px;margin-top:8px}.staff-card h3{margin-bottom:8px}.staff-card .badge{justify-self:start}.manager-portrait{width:82px;height:82px;flex:0 0 82px;display:block;border-radius:18px;background-image:url('assets/manager-cards-v057.png');background-size:500% 400%;background-repeat:no-repeat;background-color:var(--soft)}.owner-avatar{background-image:none;display:grid;place-items:center}.manager-top>.manager-portrait{width:80px;height:80px}.manager-abilities{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.manager-abilities span{display:flex;flex-direction:column;text-align:center;background:var(--soft);padding:7px 5px;border-radius:10px;font-size:11px;color:var(--muted)}.manager-abilities b{font-size:19px;color:var(--ink)}
.manager-reveal{max-width:340px;margin:auto;text-align:center;padding:10px 0 25px}.manager-reveal>.manager-portrait{width:190px;height:190px;margin:0 auto 20px;border-radius:24px;box-shadow:0 8px 32px #b18ab533}.manager-reveal h2{margin:7px 0 12px}.motion-on .manager-reveal{animation:manager-reveal .65s ease both}@keyframes manager-reveal{from{opacity:.2;transform:translateY(15px) scale(.95)}to{opacity:1;transform:none}}
.management-reports{display:grid;gap:14px;margin-bottom:22px}.manager-monthly{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--paper)}.manager-report-top{display:flex;gap:16px;align-items:center}.manager-report-top small{color:var(--muted)}.manager-monthly blockquote{margin:18px 0;padding:14px 16px;background:var(--soft);border-radius:12px;font-size:14px}.manager-monthly .row{font-size:12px}.bond-card img{width:58px;height:58px;border-radius:12px;object-fit:contain;background:var(--soft)}.bond-card .row>div{flex:1}.bond-card small{color:var(--muted)}.bond-card .small{margin-top:15px}
.agency-member-picker{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:340px;overflow:auto}.agency-member-picker legend{font-size:12px;color:var(--muted)}.agency-member-picker label{position:relative;padding:6px;background:var(--soft);border-radius:10px}.agency-member-picker img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:7px}.agency-member-picker b{display:block;font-size:11px;text-align:center;margin-top:4px}.agency-member-picker input{position:absolute;top:9px;left:9px;width:18px;height:18px;accent-color:#94538c;z-index:1}.agency-member-picker label:has(input:checked){outline:2px solid var(--rose)}
.enhancement-stage{position:relative;display:grid;place-items:center;isolation:isolate;min-height:280px;padding:24px;aspect-ratio:4/3;border-radius:22px;background:radial-gradient(ellipse at 50% 50%,#745078,#1e142e 70%);overflow:hidden}.enhancement-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.enhancement-card{width:45%;max-width:200px;border:3px solid #f6d7e9;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 0 32px #ffe5ec66;text-align:center;color:#392441;padding-bottom:12px;align-self:center}.enhancement-card .portrait-media{width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;border-radius:0;display:block}.enhancement-card span{display:block;font-size:11px;color:#a45d85;margin:8px 0 4px}.enhancement-card b{display:block;font-size:18px}.enhancement-caption{text-align:center;padding:18px 4px;font-size:14px;font-weight:600}.motion-on .is-playing .enhancement-card{animation:enhancement-charge 4s ease both}.motion-on .is-revealed .enhancement-card{animation:manager-reveal .5s ease both}@keyframes enhancement-charge{0%{transform:scale(.92);filter:brightness(1)}65%{transform:scale(1.02);filter:brightness(1.3)}85%{transform:scale(1.05);filter:brightness(2)}100%{transform:scale(1);filter:brightness(1)}}
.cost-table-wrap{overflow:auto;margin-top:18px}.cost-table{width:100%;border-collapse:collapse;font-size:12px}.cost-table th,.cost-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 8px;vertical-align:top}.cost-table th{background:var(--soft)}
[data-theme="dark"] .agency-map{background:#292b30;background-image:radial-gradient(ellipse at 70% 20%,#344438 0,transparent 38%)}[data-theme="dark"] .map-road{stroke:#4c4851}[data-theme="dark"] .map-river{stroke:#324a58}[data-theme="dark"] .map-rail{stroke:#776385}[data-theme="dark"] .map-district>strong{background:#272330cc;color:#eee2f5}[data-theme="dark"] .map-caption{color:#c6bbc9}[data-theme="dark"] .map-pin{background:#302837;color:#dcc6e9;border-color:#695574}[data-theme="dark"] .map-pin.venue{color:#f2b3d4}[data-theme="dark"] .map-pin.owned{background:#885c9d;color:#fff}
@media(max-width:1050px){.staff-grid{grid-template-columns:1fr}.map-pin{padding:8px}.map-pin span{font-size:10px}.agency-map{min-height:380px}.agency-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.expansion-entry{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.expansion-entry .button{width:100%}.agency-overview>div{padding:0 12px}.agency-overview b{font-size:20px}.agency-overview span{font-size:10px}.agency-map{aspect-ratio:4/5;min-height:400px}.map-district>div{flex-direction:column;gap:4px}.map-pin{min-width:76px;justify-content:center}.map-district>strong{font-size:14px;margin-bottom:6px}.map-district{transform:translate(-50%,-15%)}.district-hongdae{--pin-x:47%!important;--pin-y:45%!important}.district-hapjeong{--pin-x:22%!important;--pin-y:70%!important}.district-sinchon{--pin-x:77%!important;--pin-y:18%!important}.district-ewha{--pin-x:79%!important;--pin-y:67%!important}.district-mangwon{--pin-x:21%!important;--pin-y:18%!important}.area-label{top:5%;left:30%;font-size:10px}.district-list{grid-template-columns:minmax(0,1fr)}.district-list .office-choice{padding:12px;grid-template-columns:82px minmax(0,1fr) 18px;gap:12px}.office-thumbnail{height:70px}.agency-team-grid,.bond-grid{grid-template-columns:1fr}.agency-tabs button{padding:10px 4px;font-size:11px}.agency-tabs{gap:2px}.agency-office-summary{align-items:flex-start;font-size:12px}.agency-office-summary .button{font-size:10px;min-height:36px}.staff-card{grid-template-columns:64px minmax(0,1fr);padding:17px}.staff-avatar{width:64px!important;height:64px!important}.enhancement-stage{min-height:250px;padding:24px 18px}.enhancement-card{width:52%;min-width:132px}.enhancement-card b{font-size:16px}.enhancement-caption{font-size:12px}.manager-monthly{padding:16px}.manager-monthly blockquote{font-size:13px}.manager-report-top .manager-portrait{width:64px;height:64px;flex-basis:64px}.bond-card .badge{font-size:10px}.rental-row .buttons{flex-wrap:nowrap}.agency-member-picker{grid-template-columns:repeat(3,1fr)}.cost-table{font-size:10px}.cost-table th,.cost-table td{padding:10px 6px}}
@media(prefers-reduced-motion:reduce){.enhancement-card,.manager-reveal{animation:none!important}.map-pin:hover{transform:none}}

/* Photo map coordinates stay attached to the same image on every screen. */
.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.map-filters{display:flex;gap:5px;padding:4px;border-radius:13px;background:var(--soft)}.map-filters button{padding:10px 13px;border-radius:10px;font-size:12px;color:var(--muted)}.map-filters [aria-pressed="true"]{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #23132d0d}
.agency-map-viewport{overflow-x:auto;border:1px solid var(--line);border-radius:20px;overscroll-behavior-x:contain;background:#f5f5f5}.agency-map-viewport:focus-visible{outline:3px solid var(--rose);outline-offset:3px}.agency-map{position:relative;width:100%;min-width:760px;min-height:0;aspect-ratio:auto;border:0;border-radius:0;overflow:hidden;background:#f5f5f5}.agency-map>img{display:block;width:100%;height:auto;user-select:none}.place-pin{position:absolute;width:44px;height:48px;padding:0 4px 10px;transform:translate(-50%,-100%);z-index:2;display:grid;place-items:center;background:transparent;color:white}.place-pin>span{width:34px;height:34px;border-radius:50%;border:3px solid white;display:grid;place-items:center;background:#ad527f;box-shadow:0 2px 7px #34203877;font-weight:800;font-size:14px}.place-pin:after{content:"";position:absolute;left:17px;bottom:3px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #ad527f}.place-pin.office>span{background:#635090;border-radius:9px}.place-pin.office:after{border-top-color:#635090}.place-pin .icon{position:static;width:18px;height:18px}.place-pin.owned>span{background:#207867}.place-pin.owned:after{border-top-color:#207867}.place-pin:hover,.place-pin:focus-visible{z-index:5;filter:brightness(1.15)}.place-pin:focus-visible{outline:3px solid #342038;border-radius:10px}.map-help{margin:12px 0 18px;line-height:1.8}
.venue-place-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.venue-place-list>button{display:flex;align-items:center;gap:10px;min-height:78px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-align:left;min-width:0}.place-number{flex:0 0 25px;width:25px;height:25px;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700}.venue-place-list b{font-size:12px;display:block;word-break:keep-all}.venue-place-list small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.venue-place-list .icon{margin-left:auto;flex-shrink:0;width:15px}.place-address{padding:14px 16px;background:var(--soft);border-radius:14px;margin-bottom:16px;font-size:13px}.place-address a{display:inline-block;margin:8px 15px 0 0;color:var(--rose);font-size:12px;text-decoration:underline}
.ability-chart{max-width:360px;margin:12px auto 0}.ability-chart svg{width:100%;height:auto;display:block}.radar-grid{fill:none;stroke:var(--line);stroke-width:1}.radar-axis{stroke:var(--line);stroke-width:1}.radar-values{fill:#b271ab40;stroke:var(--rose);stroke-width:2}.radar-dot{fill:var(--rose)}.ability-chart text{fill:var(--muted);font-size:12px;font-family:inherit}.ability-chart .radar-value-label{font-size:14px;font-weight:750;fill:var(--ink)}.ability-chart>p{text-align:center}.ability-help{margin-top:14px;font-size:11px;line-height:1.8;color:var(--muted)}.ability-help summary{cursor:pointer;color:var(--rose);padding:5px 0}.loan-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.loan-schedule{margin-top:16px;font-size:12px}.loan-schedule summary{cursor:pointer;color:var(--rose);padding:8px 0}.credit-shortcut{font-size:10px;gap:3px!important;width:auto!important;padding:0 6px!important;display:flex!important}.credit-shortcut .icon{width:20px}.loan-form select{min-width:0}
@media(max-width:760px){.venue-place-list{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-place-list>button{gap:7px;padding:10px}.venue-place-list .icon{display:none}.map-toolbar>.tiny{font-size:10px}.map-filters button{padding:9px 11px}.ability-chart{min-width:0}.loan-form{gap:10px}.loan-form .field{font-size:12px}.loan-form select{padding:12px 8px}.top-actions{gap:2px!important}.top-actions .icon-button{width:32px}.credit-shortcut{font-size:9px}.credit-shortcut .icon{width:18px}}

.locked-card-label{color:#bd3b65!important;font-weight:700}.producer-standby{margin:auto;padding:22px;border-radius:16px;background:#30233dd9;color:#f3dfea;text-align:center;font-size:13px;line-height:2}
@media(max-width:760px){.card-detail{grid-template-columns:1fr}.card-photo-column{display:flex;gap:16px;align-items:center}.card-photo-column>.art-image-button,.card-photo-column>.art-locked{width:110px;flex:0 0 110px}.card-photo-column .fiction{margin:0}.ability-chart{width:100%;max-width:340px;margin:0 auto}.card-detail .card-upgrades{grid-column:1}.card-detail .small.section-gap{margin-top:9px}}

.venue-capacity{margin-top:14px;display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;background:var(--soft);padding:14px;border-radius:12px}.venue-capacity>a{font-size:11px}.venue-capacity>p{flex-basis:100%}.expansion-backup{border:1px solid var(--line);padding:17px;border-radius:14px}.expansion-backup .button{margin-top:13px}.contract-shortfall .button{margin-top:12px}.contract-shortfall{display:block}.office-thumbnail{background:var(--soft)}

/* Near the map top, point upward so the complete marker remains visible. */
.place-pin.edge-top{transform:translate(-50%,0);padding:10px 4px 0}.place-pin.edge-top:after{top:3px;bottom:auto;border-top:0;border-bottom:8px solid #ad527f}.place-pin.office.edge-top:after{border-bottom-color:#635090}.place-pin.owned.edge-top:after{border-bottom-color:#207867}
