/* City view: the isometric island at the top of the nation screen. */
.city-view{position:relative;margin:0 0 10px;height:min(60vh,600px);min-height:340px;border-radius:0 0 22px 22px;overflow:hidden;background:#1b4f6c;box-shadow:inset 0 -1px 0 #2b5a60,0 12px 30px rgba(0,0,0,.25);touch-action:none;user-select:none;-webkit-user-select:none}
.city-canvas{display:block;width:100%;height:100%;cursor:grab}
.city-canvas:active{cursor:grabbing}
.city-controls{position:absolute;right:10px;top:10px;display:grid;gap:6px}
.city-controls button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(8,24,28,.72);color:#fff;font:700 18px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(4px)}
.city-hint{position:absolute;left:12px;bottom:10px;margin:0;padding:6px 10px;border-radius:999px;background:rgba(8,24,28,.7);color:#e6efec;font:600 12px/1.2 Arial,sans-serif;pointer-events:none}
.city-sheet{position:absolute;left:8px;right:8px;bottom:8px;max-height:72%;overflow:auto;padding:14px 16px 16px;border-radius:18px;background:#fbf6ea;color:#2a2418;box-shadow:0 -10px 30px rgba(0,0,0,.35);transform:translateY(115%);transition:transform .3s cubic-bezier(.2,.9,.3,1);touch-action:pan-y}
.city-sheet.open{transform:none}
.city-sheet h3{margin:4px 34px 8px 0;font:700 22px/1.15 RepublicDisplay,Georgia,serif;color:#2a2418}
.city-sheet p{margin:6px 0;font:14px/1.45 Arial,sans-serif;color:#3d3628}
.city-kicker{font:700 10px/1 Arial,sans-serif!important;letter-spacing:.14em;color:#8a5a1c!important}
.city-sheet-close{position:absolute;right:10px;top:10px;width:32px;height:32px;border-radius:50%;border:1px solid #d8c9a6;background:#fff;color:#2a2418;cursor:pointer}
.city-levels{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:4px 0 8px}
.city-levels i{height:8px;border-radius:4px;background:#e2d8c0}
.city-levels i.on{background:#2f7d5a}
.city-levels i.gate{box-shadow:inset -2px 0 0 #8a5a1c}
.city-options{display:grid;gap:8px;margin-top:8px}
.city-option{display:grid;gap:4px;text-align:left;padding:11px 12px;border-radius:14px;border:1px solid #d8c9a6;background:#fff;color:#2a2418;cursor:pointer;font:inherit}
.city-option b{font:700 15px/1.25 RepublicDisplay,Georgia,serif}
.city-option small{font:13px/1.35 Arial,sans-serif;color:#5a5040}
.city-option span{display:flex;flex-wrap:wrap;gap:4px}
.city-option em{font:700 11px/1 Arial,sans-serif;font-style:normal;padding:4px 7px;border-radius:999px}
.city-option em.up{background:#d6f0dc;color:#145c33}.city-option em.down{background:#fadcd3;color:#9a2d1c}
.city-option.open{border-left:5px solid #3f9a4a}.city-option.modern{border-left:5px solid #3d7fa8}.city-option.control{border-left:5px solid #7a2a2a}
.city-option:disabled{opacity:.55;cursor:not-allowed}
.city-option:not(:disabled):hover{border-color:#b9a368;background:#fffdf6}
.city-note{font-size:12px!important;color:#7a6a4a!important}
.nation-shell.city-on .nation-island-monitor,.nation-shell.city-on .nation-monitor{display:none}
@media(min-width:900px){.city-view{height:min(64vh,640px);border-radius:22px;margin:10px 0 14px}.city-sheet{left:auto;width:420px;right:12px;top:12px;bottom:12px;max-height:none}.city-sheet:not(.open){transform:translateX(115%)}}
.city-sheet{max-height:62%}
.city-toast{position:absolute;left:50%;top:18%;transform:translate(-50%,-10px) scale(.9);opacity:0;padding:10px 18px;border-radius:999px;background:rgba(8,24,28,.88);color:#fff;font:700 15px/1.2 RepublicDisplay,Georgia,serif;transition:opacity .3s,transform .35s cubic-bezier(.2,.9,.3,1.3);pointer-events:none;white-space:nowrap}
.city-toast.in{opacity:1;transform:translate(-50%,0) scale(1)}
.city-toast.big{background:#e7c46f;color:#1b1b14;font-size:18px;box-shadow:0 0 0 6px rgba(231,196,111,.25)}
.city-build-btn{position:absolute;left:10px;top:10px;min-height:40px;padding:0 14px;border-radius:12px;border:0;background:#e7c46f;color:#1b1b14;font:700 14px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.city-placebar{position:absolute;left:8px;right:8px;bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:rgba(8,24,28,.92);color:#fff;font:600 14px/1.3 Arial,sans-serif}
.city-placebar[hidden]{display:none}
.city-placebar span{flex:1 1 180px}
.city-placebar button{min-height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:700 14px/1 Arial,sans-serif;cursor:pointer}
.city-placebar button.primary{background:#3fd07a;border-color:#3fd07a;color:#0b2416}
.city-placebar button.primary:disabled{opacity:.4;cursor:not-allowed}
.city-view.placing .city-hint,.city-view.placing .city-build-btn{display:none}
.city-move{margin-top:10px;width:100%;min-height:42px;border-radius:12px;border:1px dashed #b9a368;background:#fffaf0;color:#5a4a20;font:700 14px/1 Arial,sans-serif;cursor:pointer}
.city-citizen{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start;margin:6px 0 4px}
.city-citizen img{width:64px;height:64px;border-radius:14px;object-fit:cover}
.city-citizen b{font:700 14px/1.2 Arial,sans-serif;color:#2a2418}
.city-citizen p{margin:4px 0 0;font:italic 15px/1.45 Georgia,serif!important;color:#2a2418!important}
.city-goal{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:min(64%,360px);display:grid;grid-template-columns:auto 1fr;gap:1px 8px;align-items:center;text-align:left;padding:8px 12px 9px;border-radius:14px;border:1px solid rgba(231,196,111,.6);background:rgba(8,24,28,.88);color:#fff;cursor:pointer;backdrop-filter:blur(4px)}
.city-goal[hidden]{display:none}
.city-goal span{grid-row:1/3;font-size:20px}
.city-goal b{font:700 13px/1.2 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-goal small{font:600 11px/1.2 Arial,sans-serif;color:#e7c46f}
.city-goal i{grid-column:1/-1;display:block;height:5px;margin-top:5px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden}
.city-goal i em{display:block;height:100%;background:#e7c46f;transition:width .4s}
.city-goal.urgent{border-color:#e0473a;animation:goalPulse 1.4s ease-in-out infinite}.city-goal.urgent small{color:#ff8a76}
@keyframes goalPulse{50%{box-shadow:0 0 0 5px rgba(224,71,58,.25)}}
.city-goalbar{height:10px;border-radius:9px;background:#e2d8c0;overflow:hidden;margin:4px 0 8px}.city-goalbar em{display:block;height:100%;background:#2f7d5a}
.city-view.placing .city-goal{display:none}
@media(max-width:520px){.city-goal{left:auto;right:56px;transform:none;width:calc(100% - 170px)}}
.hud-goal{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;margin-top:8px;width:100%;padding:9px 12px;border-radius:12px;background:#0b2227;border:1px solid rgba(231,196,111,.5);color:#fff}
.hud-goal span{grid-row:1/3;font-size:18px}.hud-goal b{font:700 13px/1.2 Arial,sans-serif}.hud-goal small{font:600 11px/1.2 Arial,sans-serif;color:#e7c46f}
.hud-goal i{grid-column:1/-1;height:5px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden;display:block}.hud-goal i em{display:block;height:100%;background:#e7c46f}
.hud-goal.urgent{border-color:#e0473a}
.intro-film .disaster-caption p{color:#e7c46f}
.intro-replay{margin-top:10px}
.intro-film .disaster-frame{box-shadow:0 0 60px rgba(231,196,111,.25)}
.intro-replay{display:block;margin:12px 0 0;padding:8px 0;background:none;border:0;color:#f6e3ae;font:700 15px/1.2 Arial,sans-serif;text-decoration:underline;cursor:pointer}
.city-weather{position:absolute;left:10px;top:58px;display:grid;gap:2px;justify-items:start;padding:7px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(8,24,28,.78);color:#eef3ee;font:600 12px/1.25 Arial,sans-serif;cursor:pointer;text-align:left;backdrop-filter:blur(4px)}
.city-weather small{font:600 11px/1.2 Arial,sans-serif;color:#b9d0cb}
.city-weather.alert{border-color:#e0473a;box-shadow:0 0 0 3px rgba(224,71,58,.2)}
.city-view.placing .city-weather{display:none}
@media(max-width:520px){.city-weather{top:auto;bottom:46px}}
.city-weather{display:flex;flex-wrap:wrap;gap:3px 10px;max-width:min(70%,330px)}
.city-weather small{flex-basis:100%}

/* Founding the republic */
.city-view.founding .city-build-btn,.city-view.founding .city-goal,.city-view.founding .city-hint{display:none}
.found-card{position:absolute;left:8px;right:8px;bottom:8px;max-height:70%;overflow:auto;padding:14px 16px 16px;border-radius:18px;background:#fbf6ea;color:#2a2418;box-shadow:0 -10px 30px rgba(0,0,0,.35);transform:translateY(115%);transition:transform .35s cubic-bezier(.2,.9,.3,1.1);z-index:6}
.found-card.in{transform:none}
.found-kicker{margin:0 0 4px;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.12em;color:#8a5a1a}
.found-card h3{margin:0 0 8px;font:700 21px/1.2 RepublicDisplay,Georgia,serif;color:#1d1a12}
.found-card blockquote{margin:0 0 12px;padding:8px 12px;border-left:3px solid #e7c46f;background:#f2ead6;border-radius:0 10px 10px 0;font:italic 15px/1.4 Georgia,serif;color:#4a3f2a}
.found-card p{margin:0 0 10px;font:15px/1.45 Arial,sans-serif;color:#3a3324}
.found-options,.found-sites{display:grid;gap:8px}
.found-option,.found-site{display:grid;gap:4px;text-align:left;padding:12px 14px;border-radius:14px;border:2px solid #e2d6b8;background:#fff;color:#2a2418;cursor:pointer;font:inherit;transition:border-color .15s,transform .15s}
.found-option:hover,.found-site:hover,.found-site.on{border-color:#d9a93a;transform:translateY(-1px)}
.found-site.on{background:#fff6dc}
.found-option b,.found-site b{font:700 16px/1.25 Arial,sans-serif}
.found-option small,.found-site small{font:13.5px/1.4 Arial,sans-serif;color:#5a5140}
.found-option span,.found-site span,.found-deltas{display:flex;flex-wrap:wrap;gap:5px}
.found-card em{font:700 12px/1 Arial,sans-serif;font-style:normal;padding:5px 8px;border-radius:999px;background:#eef3e6;color:#2f6a2a}
.found-card em.down{background:#f8e4df;color:#9a2f22}
.found-card em.later{background:#ece6f8;color:#4f3c8a}
.found-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.found-actions button{min-height:46px;padding:0 18px;border-radius:999px;border:1px solid #cdbf9c;background:#fff;color:#2a2418;font:700 15px/1 Arial,sans-serif;cursor:pointer}
.found-actions button.primary{background:#1f4a4a;border-color:#1f4a4a;color:#fff}
.found-actions button:disabled{opacity:.5;cursor:default}
.found-votes{display:grid;gap:8px;margin:0 0 10px}
.found-vote{display:grid;grid-template-columns:minmax(110px,auto) 1fr 44px;align-items:center;gap:8px;font:600 14px/1 Arial,sans-serif}
.found-vote i{display:block;height:14px;border-radius:9px;background:#e9e0c9;overflow:hidden}
.found-vote i b{display:block;height:100%;width:0;background:#9fb3b0;animation:foundVote 1.8s cubic-bezier(.3,.8,.3,1) .2s forwards}
.found-vote.win i b{background:linear-gradient(90deg,#e0a22a,#f0cf74)}
.found-vote strong{text-align:right;font-variant-numeric:tabular-nums}
@keyframes foundVote{to{width:var(--w)}}
.found-note{font-size:14px}
.found-summary{margin-top:12px;padding:12px 14px;border-radius:14px;background:#1f3a3a;color:#eef3ee}
.found-summary .found-kicker{color:#f0cf74}
.found-summary ul{margin:4px 0 8px;padding:0;list-style:none;display:grid;gap:4px;font:600 14px/1.3 Arial,sans-serif}
.found-summary li span{display:inline-block;width:24px}
.found-summary p{margin:0;color:#d6e2de;font-size:14px}
@media(min-width:900px){.found-card{left:auto;right:12px;top:12px;bottom:12px;width:430px;max-height:none;transform:translateX(115%)}.found-card.in{transform:none}}
@media(prefers-reduced-motion:reduce){.found-card{transition:none}.found-vote i b{animation:none;width:var(--w)}}
@media(max-width:899px){.found-card.pick{max-height:46%}.found-kicker{letter-spacing:.06em}}
/* Weather chip: small, and it tucks itself away to an icon after a few seconds. */
html body .city-weather{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;max-width:none;padding:5px 10px 5px 6px;border-radius:999px;font:600 12px/1 Arial,sans-serif;top:58px;transition:padding .25s,opacity .25s;opacity:.92}
html body .city-weather .wx-icon{font-size:16px;line-height:1}
html body .city-weather .wx-more{white-space:nowrap;overflow:hidden;max-width:220px;transition:max-width .3s,opacity .25s}
html body .city-weather.mini{padding:5px;opacity:.75}
html body .city-weather.mini .wx-more{max-width:0;opacity:0}
html body .city-weather:hover,html body .city-weather:focus-visible{opacity:1}
@media(max-width:520px){html body .city-weather{top:auto;bottom:46px}}
/* What you decided: playing now, or tap to watch again. Replaces the old 🎬 marker. */
.city-replay{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;max-width:min(92%,460px);padding:8px 14px 8px 16px;border-radius:16px;border:1px solid rgba(231,196,111,.55);background:rgba(10,26,30,.9);color:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);backdrop-filter:blur(4px)}
.city-replay .cr-kicker{grid-column:1;font:700 10px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e7c46f}
.city-replay .cr-label{grid-column:1;font:600 14px/1.3 Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-replay .cr-act{grid-column:2;grid-row:1/3;display:flex;gap:3px;align-items:flex-end;font:700 13px/1 Arial,sans-serif;color:#1b1b14;background:#e7c46f;border-radius:999px;padding:8px 12px;white-space:nowrap}
.city-replay.playing .cr-act{background:transparent;padding:8px 4px;height:22px}
.city-replay.playing .cr-act i{display:block;width:4px;background:#e7c46f;border-radius:2px;animation:crBars .9s ease-in-out infinite}
.city-replay.playing .cr-act i:nth-child(2){animation-delay:.15s}.city-replay.playing .cr-act i:nth-child(3){animation-delay:.3s}
@keyframes crBars{0%,100%{height:6px}50%{height:18px}}
.city-replay.bad{border-color:rgba(224,71,58,.6)}.city-replay.bad .cr-kicker{color:#ff9a8a}
.city-view.placing .city-replay,.city-view.founding .city-replay{display:none}
.city-view:has(.city-replay) .city-hint{display:none}
@media(prefers-reduced-motion:reduce){.city-replay.playing .cr-act i{animation:none;height:12px}}
/* Neighbors */
.res-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.res-face{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f2ead6;font-size:34px;box-shadow:inset 0 0 0 2px #e2d6b8;animation:resPop .4s cubic-bezier(.2,1.4,.4,1)}
@keyframes resPop{from{transform:scale(.4)}}
.res-card h3{margin:2px 0 2px}.res-meta{margin:0;font:13px/1.35 Arial,sans-serif;color:#6a604c}
.res-quote{margin:12px 0;padding:10px 14px;border-left:3px solid #e7c46f;background:#f2ead6;border-radius:0 12px 12px 0;font:italic 15px/1.45 Georgia,serif;color:#3a3324}
.res-actions{display:flex;gap:8px;flex-wrap:wrap}.res-actions button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid #cdbf9c;background:#fff;color:#2a2418;font:700 14px/1 Arial,sans-serif;cursor:pointer}
.res-actions button.primary{background:#1f4a4a;border-color:#1f4a4a;color:#fff}.res-actions button:disabled{opacity:.7}
.res-help{margin:10px 0 0;font:14px/1.45 Arial,sans-serif;color:#3a3324}.res-go{margin-left:6px;border:0;background:none;color:#1f4a4a;font:700 14px Arial,sans-serif;text-decoration:underline;cursor:pointer}
/* Tap ripple */
.city-ripple{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid rgba(255,240,200,.9);pointer-events:none;animation:cityRipple .6s ease-out forwards;z-index:3}
@keyframes cityRipple{to{transform:scale(5);opacity:0}}
/* Island news ticker */
.city-ticker{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;max-width:min(52%,440px);padding:6px 12px;border-radius:999px;background:rgba(10,26,30,.82);border:1px solid rgba(255,255,255,.18);color:#eef3ee;font:600 12.5px/1.2 Arial,sans-serif;cursor:pointer;overflow:hidden;backdrop-filter:blur(4px)}
.city-ticker b{flex:0 0 auto;font:800 9.5px/1 Arial,sans-serif;letter-spacing:.12em;color:#e7c46f}
.city-ticker span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-ticker span.in{animation:tickIn .45s ease-out}
@keyframes tickIn{from{opacity:0;transform:translateY(8px)}}
@media(max-width:520px){.city-ticker{top:auto;bottom:62px;max-width:calc(100% - 24px)}}
.city-view.founding .city-ticker,.city-view.placing .city-ticker{display:none}
/* Vitals react when they change */
.hud-ring{position:relative}
.hud-ring.vital-up{animation:vitalUp .9s ease-out}.hud-ring.vital-down{animation:vitalDown .9s ease-out}
@keyframes vitalUp{30%{transform:scale(1.18);filter:drop-shadow(0 0 8px rgba(127,211,106,.9))}}
@keyframes vitalDown{20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px);filter:drop-shadow(0 0 8px rgba(224,71,58,.9))}}
.vital-delta{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font:800 12px/1 Arial,sans-serif;font-style:normal;padding:2px 6px;border-radius:999px;pointer-events:none;animation:vitalFloat 1.6s ease-out forwards}
.vital-delta.up{background:#2f8a4a;color:#fff}.vital-delta.down{background:#c8392d;color:#fff}
@keyframes vitalFloat{to{transform:translate(-50%,-22px);opacity:0}}
/* Buttons feel pressable */
.city-view button,.nation-shell button{transition:transform .08s}.city-view button:active,.nation-shell button:active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){.city-ripple,.city-ticker span.in,.hud-ring.vital-up,.hud-ring.vital-down,.vital-delta,.res-face{animation:none}}
@media(max-width:520px){
 .city-ticker{top:64px;bottom:auto;left:10px;right:62px;transform:none;max-width:none}
 html body .city-weather{bottom:10px;top:auto;left:10px}
 .city-replay{left:auto;right:10px;transform:none;max-width:calc(100% - 64px)}
}
.city-sheet{z-index:6}.city-view:has(.city-sheet.open) .city-replay,.city-view:has(.city-sheet.open) .city-ticker{display:none}
/* Advisors (Schell: Lens of Character, Lens of Indirect Control) */
.lens-advisors{margin:6px 0 12px}
.lens-adv-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.lens-adv{position:relative;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;text-align:left;padding:10px 34px 10px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:inherit;cursor:pointer;font:inherit;transition:transform .15s,border-color .15s,background .15s}
.lens-adv:hover{transform:translateY(-1px);border-color:var(--adv)}.lens-adv.on{border-color:var(--adv);background:rgba(231,196,111,.1);box-shadow:0 0 0 2px var(--adv)}
.lens-adv-face{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);font-size:20px}
.lens-adv-text{display:grid;gap:2px}.lens-adv-text b{font:700 14px/1.2 Arial,sans-serif}.lens-adv-text small{font:12px/1.2 Arial,sans-serif;opacity:.7}
.lens-adv-text q{font:italic 13px/1.4 Georgia,serif;opacity:.92;quotes:none}
.lens-adv em{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--adv);color:#fff;font:800 12px/1 Arial,sans-serif;font-style:normal}
.lens-adv-note{margin:6px 0 0;font:12px/1.3 Arial,sans-serif;color:#5a5140}
.nation-decision.lens-hint{outline:3px solid #e7c46f;outline-offset:2px;position:relative}
.nation-decision.lens-hint::after{content:attr(data-advisor);position:absolute;top:-10px;right:12px;padding:3px 8px;border-radius:999px;background:#e7c46f;color:#1b1b14;font:700 11px/1 Arial,sans-serif}
.lens-reactions{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}
.lens-reactions ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font:14px/1.4 Arial,sans-serif}
.lens-reactions li span{margin-right:6px}.lens-reactions li.agree b{color:#7fd36a}.lens-reactions li.disagree b{color:#ff9a8a}
/* Chapters (Lens of the Interest Curve) */
dialog.lens-chapter{border:0;padding:0;border-radius:22px;max-width:min(560px,92vw);background:#fbf6ea;color:#2a2418;box-shadow:0 30px 80px rgba(0,0,0,.5)}
dialog.lens-chapter::backdrop{background:rgba(6,14,18,.72);backdrop-filter:blur(3px)}
.lens-chapter>div{padding:26px 26px 22px;background:linear-gradient(180deg,#fff8e8,#f4ead2)}
.lens-ch-kicker{margin:0;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a5a1a}
.lens-chapter h2{margin:6px 0 12px;font:700 28px/1.15 RepublicDisplay,Georgia,serif;color:#1d1a12}
.lens-chapter ul{margin:0 0 12px;padding-left:18px;display:grid;gap:6px;font:16px/1.45 Georgia,serif}
.lens-ch-verdict{margin:0 0 8px;font:italic 16px/1.45 Georgia,serif;color:#4a3f2a}.lens-ch-next{margin:0 0 16px;font:14px/1.45 Arial,sans-serif;color:#5a5140}
.lens-chapter button{min-height:46px;padding:0 22px;border-radius:999px;border:0;background:#1f4a4a;color:#fff;font:700 15px/1 Arial,sans-serif;cursor:pointer}
/* Island secrets and journal (Lenses of Curiosity, Secrets, Collection) */
.lens-journal-chip{position:absolute;right:10px;top:186px;z-index:3;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(10,26,30,.82);color:#fff;font:600 13px/1 Arial,sans-serif;cursor:pointer}
.lens-journal-chip b{color:#e7c46f}
.lens-secret-story{font:italic 16px/1.5 Georgia,serif;color:#3a3324}.lens-secret-reward{font:700 14px/1.3 Arial,sans-serif;color:#2f6a2a}
.lens-journal-open{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid #cdbf9c;background:#fff;font:700 14px/1 Arial,sans-serif;cursor:pointer}
.lens-journal{display:grid;gap:8px}.lens-j{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px;border-radius:12px;background:#f2ead6;opacity:.65}
.lens-j.found{opacity:1;background:#fff;box-shadow:inset 0 0 0 1px #e2d6b8}.lens-j span{grid-row:1/3;font-size:24px}.lens-j b{font:700 14px/1.3 Arial,sans-serif}.lens-j small{font:13px/1.4 Arial,sans-serif;color:#5a5140}
.city-view.founding .lens-journal-chip,.city-view.placing .lens-journal-chip,.city-view:has(.city-sheet.open) .lens-journal-chip{display:none}

/* Round 1: the founding comes first */
.found-first{display:flex;align-items:center;gap:10px;margin:4px 0 12px;padding:10px 12px;border-radius:14px;background:#f3e6c4;border:1px solid #e0c27a;color:#3a2f16}
.found-first span{font-size:22px}.found-first p{margin:0;flex:1;font:14px/1.4 Arial,sans-serif}.found-first button{flex:0 0 auto;padding:8px 12px;border-radius:999px;border:0;background:#1f4a44;color:#fff;font:700 13px/1 Arial,sans-serif;cursor:pointer}
.found-card.nudge{animation:foundNudge .7s ease}
@keyframes foundNudge{0%,100%{transform:none}30%{transform:translateY(-8px)}60%{transform:translateY(2px)}}
@media(max-width:899px){
 .city-view.founding{height:max(560px,calc(100svh - 150px));max-height:780px}
 .found-card{max-height:62%}
 .found-card.pick{max-height:48%}
 .city-toast{top:112px;white-space:normal;max-width:calc(100% - 40px);text-align:center}
}
@media(prefers-reduced-motion:reduce){.found-card.nudge{animation:none}}
/* Advisors take less room on a phone: two by two, short quotes */
@media(max-width:620px){
 .lens-adv-row{grid-template-columns:1fr 1fr;gap:6px}
 .lens-adv{grid-template-columns:1fr;gap:4px;padding:8px 28px 8px 8px}
 .lens-adv-face{width:28px;height:28px;font-size:16px}
 .lens-adv-text small{display:none}
 .lens-adv-text q{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .lens-adv.on .lens-adv-text q{-webkit-line-clamp:unset}
 .lens-adv em{top:8px;right:8px}
}
.lens-adv-note{color:#6a5f48}

.lens-reactions li small{margin-left:6px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.08);font:700 11px/1 Arial,sans-serif;opacity:.85;white-space:nowrap}
/* The first three reports stay short: badge progress lives behind "Explore all badges" */
.nation-analysis.early .nation-next-badges,.nation-analysis.early h4:has(+ .nation-next-badges){display:none}

/* Founding wizard polish */
.founding-sector-help{display:block;margin-top:4px;font:12px/1.25 Arial,sans-serif;opacity:.72}
.founding-fit-hint{margin:8px 0 14px;font:13px/1.4 Arial,sans-serif;color:#e7c46f}
.nation-founding-map>button[data-fit]{box-shadow:0 0 0 8px rgba(231,196,111,.45),0 0 18px 6px rgba(255,230,150,.55)}
.nation-founding-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#9de2b5;border:2px solid #fff;color:#173c48;font-size:20px;box-shadow:0 0 0 8px rgba(157,226,181,.3);animation:foundingPlotPulse 2s ease-in-out infinite}
.nation-founding-pin small{position:absolute;top:44px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 10px/1 Arial,sans-serif;background:#153b4c;color:#f4e3b4;padding:3px 6px;border-radius:4px}
#foundingChangeSite{color:#cfe3dc;font-size:14px;margin:6px 0 10px}
.nation-jack-reopen{display:flex;justify-content:flex-end;margin:0 0 6px}
.nation-jack-reopen button{background:rgba(255,255,255,.06)!important;border:1px solid rgba(231,196,111,.5)!important;color:#e7c46f!important;border-radius:999px!important;padding:6px 12px!important;font:700 12.5px/1 Arial,sans-serif!important;text-decoration:none!important;box-shadow:none!important;min-height:0!important}
@media(max-width:600px){
 .nation-founding-map>button{width:32px;height:32px;font-size:18px;box-shadow:0 0 0 5px #e5cd7925}
 .nation-founding-map>button small{top:33px}
 .mobile-game-site>header .brand{max-width:none!important;flex:1 1 auto;min-width:0;white-space:normal!important;font-size:12px!important;line-height:1.15}
}
@media(prefers-reduced-motion:reduce){.nation-founding-pin{animation:none}}
.found-first p,.found-first b{color:#3a2f16!important;font-family:Arial,sans-serif!important}
@media(max-width:520px){.found-first{flex-wrap:wrap}.found-first p{flex:1 1 calc(100% - 40px)}.found-first button{margin-left:32px}}
.nation-scenario .lens-adv-note,.lens-adv-note{color:#6a5f48!important;opacity:1!important}
/* A calmer map: overlays appear when they have something to say, then step aside */
.city-weather{transition:opacity .4s,transform .4s,padding .25s}
.city-weather.away{opacity:0;transform:translateY(6px);pointer-events:none}
.city-ticker{transition:opacity .5s}
.city-ticker.away{opacity:0;pointer-events:none}
.lens-journal-chip[hidden]{display:none!important}
@media(pointer:coarse){.city-controls [data-city-zoom="1.25"],.city-controls [data-city-zoom="0.8"]{display:none}}
.city-replay.pill{left:auto;right:10px;bottom:10px;transform:none;display:block;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}
.city-replay.pill .cr-act{display:inline-flex;padding:9px 13px;box-shadow:0 4px 14px rgba(0,0,0,.35);font-size:12.5px}
@media(pointer:coarse){.lens-journal-chip{top:62px}}
.city-invite{position:absolute;left:10px;top:58px;z-index:4;display:flex;align-items:center;border-radius:999px;background:rgba(10,26,30,.9);border:1px solid rgba(231,196,111,.6);box-shadow:0 6px 18px rgba(0,0,0,.3);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s}
.city-invite.in{opacity:1;transform:none}
.city-invite button{background:none;border:0;color:#fff;cursor:pointer;font:700 13px/1.1 Arial,sans-serif}
.city-invite .ci-open{display:flex;align-items:center;gap:8px;padding:8px 4px 8px 12px}.city-invite .ci-open small{display:block;font:600 11px/1.2 Arial,sans-serif;color:#e7c46f}
.city-invite .ci-x{padding:8px 12px 8px 8px;font-size:18px;opacity:.7}
.city-view.founding .city-invite,.city-view:has(.city-sheet.open) .city-invite{display:none}
.city-invite{top:auto;bottom:62px}
.lens-adv-idea{display:none;margin-top:4px;font:12px/1.35 Arial,sans-serif;opacity:.8}
.lens-adv.on .lens-adv-idea{display:block}
.lens-adv-face{font-size:18px}
.lens-adv{align-content:start;align-items:start}
