/* Reference composition around the existing live city renderer. */
html:not(.desktop-embed) .newsbar,html:not(.desktop-embed) .hud .cta-group,html:not(.desktop-embed) #gzBtn{display:none!important}
html:not(.desktop-embed) .app{grid-template-rows:auto minmax(0,1fr)}html:not(.desktop-embed) .stage{grid-row:2}
.citizen-entry{padding:11px 18px;border-radius:9px;background:var(--accent);color:#fff;font:600 14px var(--font-body);white-space:nowrap;border:1px solid transparent;box-shadow:0 3px 9px #17464a20}.citizen-entry:hover{background:#215b62}.citizen-entry[aria-pressed=true]{outline:2px solid #8fb0a3;outline-offset:2px}.claim-new{font:13px/1.6 var(--font-body);padding:12px;border-radius:8px;background:var(--panel-2)}.claim-new a{color:var(--accent)}
@media(max-width:900px){html:not(.desktop-embed) .hud{column-gap:12px}.city-navigation{gap:12px}.city-navigation button{font-size:14px}}
@media(max-width:640px){html:not(.desktop-embed) .hud{display:grid;grid-template-columns:1fr auto}.hud .brand{grid-column:1;grid-row:1}.citizen-entry{grid-column:2;grid-row:1;font-size:12px;padding:10px 12px}.hud .city-navigation{grid-column:1 / -1;grid-row:2;justify-content:flex-start;gap:22px!important}.hud .search{grid-column:1 / -1;grid-row:3}.hud .spacer{display:none}.hud .city-navigation button{font-size:14px}}
html:not(.desktop-embed) .me-card{display:none!important}
html:not(.desktop-embed) #regBtn[aria-label^="My agent"]{display:none}
html:not(.desktop-embed) body[data-city-view="city"] .stage{grid-template-columns:minmax(0,1fr)}
body[data-city-view="city"] .side{display:none}
body[data-city-view="thoughts"] #residentSec{display:none!important}
body[data-city-view="citizen"] .side>:not(#residentSec):not(.desktop-panel-close){display:none!important}
body[data-city-view="citizen"] #mapFollow,body[data-city-view="citizen"] .follow-banner{display:none!important}
.citizen-secondary{display:flex;gap:8px}.citizen-actions .citizen-secondary button{font:13px var(--font-body);padding:10px;background:transparent;color:var(--ink);border:1px solid var(--panel-bd)}
.insp-meta .im-chip:first-child{display:none}
.pulse.thought{flex-wrap:wrap}.thought-citizen{margin:8px 0 0 auto;color:var(--accent);font:12px var(--font-body);padding:7px 10px;border:1px solid var(--panel-bd);border-radius:6px}
@media(min-width:430px){html:not(.desktop-embed) .mapctl #zin,html:not(.desktop-embed) .mapctl #zout{display:none}}
@media(max-width:640px){body[data-city-view="city"] .canvas-wrap{min-height:calc(100dvh - 155px)}body[data-city-view="thoughts"] .canvas-wrap,body[data-city-view="citizen"] .canvas-wrap{height:32dvh;min-height:32dvh!important;flex:0 0 32dvh}.city-navigation{gap:10px!important}.city-navigation button{font-size:14px}.hud .brand{font-size:19px}.hud .brand-leaf{display:none}}
.preview-notice{order:2;flex:none;z-index:100;background:#123c44;color:#fff;text-align:center;font:11px/22px Arial,sans-serif}.preview-notice a{color:#fff}body:has(.preview-notice){display:flex;flex-direction:column;height:100dvh}body:has(.preview-notice) .app{flex:1;min-height:0;height:auto}
@media(max-width:640px){html:not(.desktop-embed) body[data-city-view="city"] .canvas-wrap{height:100%;min-height:0!important;flex:1 1 auto}}
:root:root {
  --panel:#f8f4eb;--panel-2:#f1ece2;--panel-bd:#d9d0c0;
  --ink:#123c44;--ink-dim:#697074;--ink-faint:#858580;
  --accent:#2c7279;--accent-ink:#fff;--accent-2:#789772;
  --chip:#e8e4dc;--hair:#263e3c18;--scrim:#f8f4ebee;
  --font-display:Georgia,"Times New Roman",serif;
  --shadow:0 8px 28px #173e4220;
}
html:not(.desktop-embed) .hud{min-height:58px;padding:8px 22px;gap:22px;box-shadow:none;background:var(--panel)}
.brand{font-family:Georgia,serif;font-size:29px;font-weight:500;letter-spacing:.15em;gap:12px}
.brand-avatar{display:block;width:38px;height:38px;flex:none;object-fit:contain;border-radius:9px;outline:1px solid #214e5524;outline-offset:2px}.brand small{display:none}
@media(max-width:640px){.hud .brand{gap:9px;font-size:19px;letter-spacing:.11em}.brand-avatar{width:28px;height:28px;border-radius:7px}}
@media(max-width:360px){.hud .brand{gap:7px;font-size:17px;letter-spacing:.08em}.brand-avatar{width:25px;height:25px}}
.city-navigation{display:flex;gap:22px;align-self:stretch}.city-navigation button{font:16px Georgia,serif;padding:8px 3px;border-bottom:2px solid transparent;color:var(--ink-dim)}.city-navigation button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}
.hud .live{display:none}.hud .search input{width:145px}.hud .cta{font-size:12px}
.overview-zoom{position:absolute;bottom:23px;left:calc(min(252px,28%) - 46px);z-index:7;display:flex;gap:6px}.overview-zoom button{width:30px;height:30px;border:1px solid #daceb7;border-radius:7px;background:#eee6d8;color:#21474c;font:24px Georgia,serif}
#overviewToggle{display:none}
#claimCreate{color:var(--accent);text-decoration:underline;font:inherit;text-align:left}
.overview-expanded .mapctl #zin,.overview-expanded .mapctl #zout{display:none}
.citizen-recent h3{font:18px Georgia,serif;margin:0 0 12px}.citizen-recent article{display:grid;grid-template-columns:48px 1fr;gap:10px;margin-bottom:10px}.citizen-recent time{font:12px/1.5 var(--font-body);color:var(--ink-dim)}.citizen-recent p{margin:0;font:13px/1.5 var(--font-body);color:var(--ink-dim)}.journal-private{font:11px/1.4 var(--font-body);color:var(--ink-dim);margin:0}
.clock{font-family:Georgia,serif;font-size:15px}.clock .status-label{font:9px var(--font-body);letter-spacing:.08em}
.clock details.city-time{position:relative;display:block!important}
.clock .city-time summary{cursor:pointer;white-space:nowrap;list-style:none;padding:6px;border-radius:5px}
.clock .city-time summary::-webkit-details-marker{display:none}
.clock .city-time summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.clock .clock-details{position:absolute;top:100%;left:0;z-index:30;width:min(280px,calc(100vw - 32px));padding:12px;background:var(--paper,#f5ebd8);border:1px solid var(--ink-dim);border-radius:6px;box-shadow:0 4px 12px #0002;white-space:normal}
.clock .clock-details p{font:12px/1.5 var(--font-body);margin:8px 0}
.clock .clock-label{display:block;font:10px/1.4 var(--font-body);color:var(--ink-dim)}
.clock .clock-value{display:block}
.gz-date,.gz-reader-meta,.gz-when{overflow-wrap:anywhere;white-space:normal;line-height:1.5}
.gz-date{font:12px/1.5 var(--font-body);letter-spacing:normal;text-transform:none;white-space:pre-line;text-align:left}
.gz-mini,.gz-by{flex-wrap:wrap}
.gz-when{min-width:0}
html:not(.desktop-embed) .clock #utcTime{white-space:normal;display:block;line-height:1.5}
.clock .clock-details small{display:block;margin-top:6px}
html.companion-chat-open .side{display:none!important}
html.compact-map-controls .map-tools,html.compact-map-controls .overview-zoom{display:none!important}
html.compact-map-controls .mapctl{top:12px!important;bottom:auto!important;right:12px!important}
html.compact-map-controls .mapctl>button:not(#lofiBtn){display:none!important}
html.compact-map-controls .vol-pop{top:48px;bottom:auto;right:0}
html.companion-chat-open:not(.desktop-embed) .stage{grid-template-columns:minmax(0,1fr)}
@media(max-height:500px){
 html.companion-chat-open .hud{padding:5px 8px!important;gap:5px!important}
 html.companion-chat-open .city-navigation{gap:10px}
 html.companion-chat-open .city-navigation button{padding:4px 2px;font-size:13px}
 html.companion-chat-open .clock .status-label,html.companion-chat-open .clock .city-weather{display:none}
 html.companion-chat-open .brand{font-size:18px}
 html.companion-chat-open .canvas-wrap{min-height:0!important;flex:1!important}
}
/* Civic time is primary; real UTC remains an explicitly secondary reference. */
html:not(.desktop-embed) .hud .clock{min-width:0;max-width:100%;white-space:normal;gap:12px;line-height:1.25}
html:not(.desktop-embed) .clock .city-time{grid-template-rows:auto auto auto;row-gap:3px}
html:not(.desktop-embed) .clock .status-value{flex-wrap:wrap}
html:not(.desktop-embed) .clock #clockTime{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
html:not(.desktop-embed) .clock #clockScale{font-size:10px;letter-spacing:.03em;color:var(--ink-dim);white-space:nowrap}
html:not(.desktop-embed) .clock .time-reference{font:11px/1.3 var(--font-body);color:var(--ink-dim)}
html:not(.desktop-embed) .clock #utcTime{font-variant-numeric:tabular-nums;white-space:normal}
html:not(.desktop-embed) .clock .status-label{line-height:1.3;color:var(--ink-dim)}
html:not(.desktop-embed) .clock .city-weather{flex:1 1 0;min-width:0}
.hud .live{font:11px var(--font-body);letter-spacing:0}
.search input{border-radius:7px;background:transparent}
html:not(.desktop-embed) .modal-scrim{grid-template-columns:minmax(0,1fr)}
html:not(.desktop-embed) .modal-scrim>.modal{max-width:100%;min-width:0;justify-self:center}
.cta{background:var(--accent);box-shadow:none;border-radius:8px;font-weight:500}
html:not(.desktop-embed) .stage{grid-template-columns:minmax(0,1fr) 336px}
.newsbar{padding:4px 22px!important;background:var(--panel)!important;min-height:28px}
.newsbar .tag,.newsbar .gz-open{background:transparent!important;color:var(--ink-dim)!important;box-shadow:none!important}
.newsbar .headline{font-size:12px;font-weight:400}
.side{background:var(--panel);border-left:1px solid var(--panel-bd);overflow-y:auto}
.side{max-height:none}
.side .place-inspector .avatar{width:54px;height:54px;border-width:3px;border-radius:12px}.side .place-inspector .insp-top{flex-direction:row;align-items:center}.side .place-inspector .insp-id b{font-size:26px}
@media(min-width:641px){html:not(.desktop-embed) .stage{grid-template-rows:minmax(0,1fr)}.side{height:100%}}
@media(min-width:641px) and (max-width:1200px){html:not(.desktop-embed) .hud{display:grid;grid-template-columns:1fr auto}.hud .brand{grid-row:1;grid-column:1}.hud .citizen-entry{grid-row:1;grid-column:2;justify-self:end}.hud .city-navigation{grid-row:2;grid-column:1}.hud .search{grid-row:2;grid-column:2}.hud .clock,.hud .spacer{display:none}}
@media(max-width:900px){.hint{display:none}}
#residentSec{order:-1;flex:none;border-bottom:1px solid var(--panel-bd)}
.resident-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--panel-bd)}
.resident-toolbar button{min-height:44px;padding:8px 12px;border:1px solid var(--panel-bd);border-radius:9px;font:13px var(--font-body);color:var(--ink);background:var(--panel);cursor:pointer}
.resident-toolbar #residentFollow{flex:1;background:var(--accent);color:var(--accent-ink);overflow-wrap:anywhere}
.resident-toolbar #residentFollow[hidden]{display:none}
.resident-toolbar #residentClose{margin-left:auto;white-space:nowrap}
.resident-toolbar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#residentSec>.sec-h{display:none}.side .inspector{max-height:none;overflow:visible;padding:26px}
.side .insp-card{gap:17px;font:15px/1.5 Georgia,serif}
.side .insp-top{display:flex;flex-direction:column;align-items:flex-start;position:static;margin:0;padding:0;gap:14px;background:transparent}
.side .avatar{width:160px;height:160px;border:7px solid #eee6d8;outline:1px solid var(--panel-bd);border-radius:50%;box-shadow:none}
.side .avatar .ring{display:none}.side .insp-id b{font:40px/1.1 Georgia,serif;font-weight:400}
.side .insp-id .role{font:14px var(--font-body);margin-top:10px;flex-wrap:wrap}
.side .status-pill{background:transparent;font:14px Georgia,serif;border:0}
.side .insp-loc{font:17px/1.4 Georgia,serif;color:var(--ink-dim)}
.side .right-now{border:1px solid var(--panel-bd);background:transparent;border-radius:7px;padding:13px 16px;font:17px/1.5 Georgia,serif}
.side .rn-k{display:block;font:18px Georgia,serif;color:var(--ink);margin-bottom:8px;text-transform:none;letter-spacing:0}
.side .rn-why{font:13px/1.5 var(--font-body);margin-top:9px;color:var(--ink-dim)}
.side .needs{display:flex;flex-direction:column;gap:13px;padding:8px 0;background:transparent;border:0}
.side .need{display:flex;align-items:center;gap:12px;width:100%}.side .need .ni{width:54px;font:14px Georgia,serif;color:var(--ink-dim)}
.side .need .bar{height:12px;flex:1;background:var(--chip);border-radius:20px}.side .need .bar i{background:#42969c!important}.side .need:nth-child(2) .bar i{background:#95ae7f!important}
.side .need b{font:11px var(--font-body);width:22px;color:var(--ink-dim)}
.side .need meter{flex:1;width:100%;height:12px;appearance:none;border:0;background:var(--chip);border-radius:20px}.side .need meter::-webkit-meter-bar{background:var(--chip);border:0;border-radius:20px}.side .need meter::-webkit-meter-optimum-value{background:#42969c;border-radius:20px}.side .need:nth-child(2) meter::-webkit-meter-optimum-value{background:#95ae7f}.side .need meter::-moz-meter-bar{background:#42969c}.need-unavailable{font:12px var(--font-body);color:var(--ink-dim)}
.citizen-actions{display:flex;flex-direction:column;gap:9px}.citizen-actions button{width:100%;padding:12px;border-radius:10px;background:var(--accent);color:white;font:17px Georgia,serif}.citizen-actions button+button{background:transparent;color:var(--ink);border:1px solid var(--panel-bd)}
.side .k-lbl{font:16px Georgia,serif;color:var(--ink);text-transform:none;letter-spacing:0}
.side .pulse-tabs{padding-top:16px}.side .segs{background:transparent;border-radius:6px}.side .ptab{font:10px var(--font-body);border-radius:4px;letter-spacing:.03em}.side .ptab.on{background:var(--accent);color:white}
.side .pulse-wrap{flex:none;max-height:360px}.side .feed-controls{font-size:12px}
.mapctl button,.map-tools button{box-shadow:0 2px 8px #183c4215;border-radius:7px;background:var(--panel)}
.city-welcome{left:18px;bottom:220px;border-color:var(--panel-bd);background:var(--panel)}
.city-welcome.collapsed{bottom:auto;top:64px}.me-card{left:18px;bottom:240px}
@media(max-width:640px){html.approved-map:not(.desktop-embed) body[data-city-view="citizen"] .city-welcome.collapsed{display:none}}
@media(max-height:420px){html.approved-map:not(.desktop-embed) .snd-hint{display:none}}
@media(max-width:640px){.city-navigation{gap:14px}.hud .clock{display:none}.snd-hint,.snd-hint.on{display:none}.city-welcome.collapsed{top:62px;bottom:auto}}
@media(max-width:429px){#overviewToggle{display:block}.overview-zoom{display:none}.overview-expanded .overview-zoom{display:flex;left:124px}.map-tools{gap:4px}.map-tools button{padding:8px;font-size:11px}}
@media(max-width:900px){html:not(.desktop-embed) .hud{gap:12px;padding:8px 14px}.brand{font-size:23px}.hud .live{display:none}html:not(.desktop-embed) .stage{grid-template-columns:minmax(0,1fr) 290px}.side .inspector{padding:20px}.side .avatar{width:132px;height:132px}}
@media(max-width:640px){html:not(.desktop-embed) .stage{display:flex;flex-direction:column;overflow:auto}.canvas-wrap{min-height:58dvh;flex:none}.side{flex:none;overflow:visible;border-left:0;border-top:1px solid var(--panel-bd)}.side .inspector{padding:22px}.side .insp-top{flex-direction:row;align-items:center}.side .avatar{width:100px;height:100px}.side .insp-id b{font-size:32px}.brand{font-size:22px}.brand-leaf{font-size:28px}.clock{margin-left:auto}.hud .cta-group{display:none}.hud .search{width:100%;order:5}.hud .search input{width:100%}.city-welcome,.me-card{bottom:18px}.side .pulse-wrap{max-height:300px}}
/* Keep the citizen entry in the top-right; clock gets its own responsive row. */
@media(max-width:1200px){
  html:not(.desktop-embed) .hud .clock{display:flex;grid-column:1 / -1;grid-row:3;margin:0;justify-self:stretch;padding-top:6px;border-top:1px solid var(--panel-bd);font-size:13px}
}
@media(min-width:641px) and (max-width:1200px){
  html:not(.desktop-embed) .hud .clock{grid-column:1}
  html:not(.desktop-embed) .hud .community-access{grid-column:2;grid-row:3;justify-self:end}
}
@media(max-width:640px){
  html:not(.desktop-embed) .hud .clock{grid-row:4;grid-column:1;flex-wrap:wrap;gap:6px}
  html:not(.desktop-embed) .hud .community-access{grid-row:4;grid-column:2;align-self:center}
}
@media(min-width:641px) and (max-height:450px){
  html:not(.desktop-embed) .hud{row-gap:4px;padding-top:5px;padding-bottom:5px}
  html:not(.desktop-embed) .hud .clock{padding-top:3px;gap:8px}
  html:not(.desktop-embed) .clock .city-time{display:flex;flex-wrap:wrap;column-gap:6px;row-gap:2px}
  html:not(.desktop-embed) .clock .time-reference{white-space:nowrap}
}

.citizen-life .life-context{font-size:11px;margin:8px 0 14px}.citizen-life .life-moment{grid-template-columns:76px minmax(0,1fr);border-left:2px solid var(--ink-faint);padding-left:12px;margin:16px 0}.citizen-life .life-moment p{overflow-wrap:anywhere;white-space:pre-line}.life-kind{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink);margin-bottom:4px}.citizen-life summary{cursor:pointer;font-size:13px;padding:10px 0;color:var(--ink)}.citizen-life summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.market-notices{margin:16px 0}.market-notices h3{font:18px Georgia,serif;margin:0 0 12px}.market-notices article{border-bottom:1px solid var(--hair);padding:12px 0}.market-notices h4{font-size:14px;margin:0 0 7px;overflow-wrap:anywhere}.market-notices p{font:13px/1.5 var(--font-body);color:var(--ink-dim);margin:5px 0;overflow-wrap:anywhere}.market-notices small,.market-notices .market-notice-note{font-size:11px;line-height:1.5;color:var(--ink-dim)}.market-notices .market-notice-note{margin-top:12px}
.life-project{margin:18px 0;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow-wrap:anywhere}.life-project h3{font:18px Georgia,serif;margin:0 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.life-project h3 span{font:11px var(--font-body);color:var(--ink-dim)}.life-project>strong{font-size:13px}.life-project blockquote{margin:10px 0;font:14px/1.6 Georgia,serif;white-space:pre-line}.life-project .project-note{font:11px/1.5 var(--font-body);color:var(--ink-dim);margin:10px 0 0}.project-milestone{margin:10px 0}.project-milestone>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.project-milestone progress{width:100%;height:6px;accent-color:var(--accent)}
