/* ---- The World (/world/, /world/her/). Shared with the homepage teaser. Everything else comes from site.css ---- */
.hero.world{padding-bottom:12px}
.world .lede{max-width:60ch}
.switch{display:inline-flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;margin:0 0 18px;box-shadow:inset 0 1px 0 var(--hi)}
.switch a{display:inline-block;padding:7px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:13.5px;color:var(--soft);transition:background .2s,color .2s}
.switch a[aria-current]{background:var(--accent);color:var(--accent-ink)}
.switch a:not([aria-current]):hover{background:var(--accent-soft);color:var(--accent)}
.stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:26px;align-items:start;margin-top:8px}
@media (max-width:820px){.stage{grid-template-columns:1fr}}
.globe-wrap{position:relative;aspect-ratio:1;max-width:600px;margin:0 auto;width:100%}
.globe-wrap svg{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.globe-wrap svg:active{cursor:grabbing}
.globe-wrap .ocean{fill:color-mix(in srgb,var(--panel) 70%,var(--bg-warm));stroke:var(--line);stroke-width:1}
.globe-wrap .grat{fill:none;stroke:var(--line);stroke-width:.5;opacity:.7}
.globe-wrap .land{fill:var(--accent-soft);stroke:color-mix(in srgb,var(--accent) 30%,var(--line));stroke-width:.6}
.globe-wrap .pin{cursor:pointer;stroke:var(--panel);stroke-width:1.2;transition:opacity .3s,r .2s}
.globe-wrap .pin:hover,.globe-wrap .pin.is-on{r:6.5}
.globe-wrap .pin.dim{opacity:.14;pointer-events:none}
.globe-wrap .you{fill:var(--accent);stroke:none}
.globe-wrap .you-ring{fill:none;stroke:var(--accent);stroke-width:.8;opacity:.55;animation:you-ping 3.2s ease-out infinite}
@keyframes you-ping{0%{r:2;opacity:.6}100%{r:22;opacity:0}}
.globe-wrap .you-label{font:600 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",Segoe UI,Roboto,sans-serif;fill:var(--soft);letter-spacing:.08em;text-transform:uppercase}
.globe-wrap .halo{position:absolute;inset:-14%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 46%,var(--accent-glow),transparent 62%);opacity:.9}
.globe-wrap.mini{max-width:none;cursor:default}
.globe-wrap.mini svg{cursor:default}
@media (prefers-color-scheme:dark){.globe-wrap .land{fill:color-mix(in srgb,var(--accent) 22%,var(--panel))}.globe-wrap .ocean{fill:color-mix(in srgb,var(--panel) 60%,#000)}}
@media (prefers-reduced-motion:reduce){.globe-wrap .you-ring{animation:none;r:6}}
.legend{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.panel{position:sticky;top:76px}
.panel .card{min-height:200px;gap:8px}
.panel .no{margin-bottom:0}
.panel h3{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48,"SOFT" 40;font-size:23px;letter-spacing:-.015em;margin:0}
.panel p{color:var(--ink);font-size:15.5px;line-height:1.6}
.panel .where{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--soft)}
.panel .go{margin-top:auto;padding-top:8px;font-weight:600;font-size:14px;text-decoration:none}
.panel .go:hover{text-decoration:underline}
.scale{display:flex;flex-wrap:wrap;gap:0;margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.scale li{flex:1 1 180px;padding:14px 22px 12px 0;border-bottom:1px solid var(--line)}
.scale b{display:block;font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 96,"SOFT" 40;font-size:clamp(30px,4vw,42px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.scale span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--soft)}

/* rooms */
.room{padding:56px 0 24px;border-top:1px solid var(--line);position:relative;isolation:isolate;overflow:clip}
.room .paths-intro{margin-bottom:22px}
.room .plate-bg{position:absolute;z-index:-1;inset:0;pointer-events:none;background:var(--plate) right center/auto 100% no-repeat;opacity:var(--plate-op,.17);mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 52%),linear-gradient(to bottom,transparent 0,#000 14%),linear-gradient(to top,transparent 0,#000 10%);
  mask-image:linear-gradient(to right,transparent 0,#000 52%),linear-gradient(to bottom,transparent 0,#000 14%),linear-gradient(to top,transparent 0,#000 10%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
@media (prefers-color-scheme:dark){.room .plate-bg{opacity:calc(var(--plate-op,.17) * 1.7);mix-blend-mode:screen}}
@media (max-width:820px){.room .plate-bg{opacity:.09;background-size:auto 70%;background-position:right top}}
@media (prefers-color-scheme:dark) and (max-width:820px){.room .plate-bg{opacity:.18}}
.room .plate-lead{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);margin:0 0 22px;background:var(--muted-bg)}

/* people cards with a photograph bled to the top edge */
.idols .card,.hire .card{gap:6px}
.idols h3,.hire h3{margin:0;font-size:18px}
.idols .who{font-size:13px;color:var(--soft)}
.idols .start{margin-top:auto;padding-top:8px;font-size:14px;color:var(--ink)}
.idols .start b{color:var(--accent);font-weight:700}
.card .photo{display:block;width:calc(100% + 44px);max-width:none;margin:-22px -22px 10px;aspect-ratio:4/3;object-fit:cover;border-radius:15px 15px 0 0;background:var(--muted-bg)}
.card .credit{display:block;font-size:11px;color:var(--soft);margin-top:6px;line-height:1.4}
.card .credit a{color:inherit;text-decoration:none}
.card .credit a:hover{text-decoration:underline}
.hire .card p{font-size:14.5px}
.hire .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--warn)}
.sub-h{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48,"SOFT" 40;font-size:23px;letter-spacing:-.015em;margin:34px 0 4px}

/* make a call: one shared board. The rose bar is the house, the green tick is the money. */
.kalshi-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.kalshi-mark{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;white-space:nowrap}
.kalshi-mark:hover{border-color:#00b85c}
.kalshi-mark i{width:16px;height:16px;border-radius:5px;background:#00d26a;display:inline-block;position:relative;flex:none}
.kalshi-mark i::after{content:"";position:absolute;left:4px;top:3px;width:7px;height:7px;border-right:2.4px solid #06422a;border-bottom:2.4px solid #06422a;transform:rotate(45deg)}
.markets{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.markets li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"q reads vote" "split split split" "n say say";gap:9px 20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.markets .mq{grid-area:q;font-size:16.5px;line-height:1.4;color:var(--ink);text-wrap:pretty}
.markets .mq small{display:block;font-size:12.5px;color:var(--soft);margin-top:3px}
.reads{grid-area:reads;display:flex;gap:20px;align-items:flex-start}
.read{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48,"SOFT" 40;font-size:25px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.read small{display:block;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Segoe UI,Roboto,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-top:5px;line-height:1}
.read.house{color:var(--accent)}
.read.house small{color:var(--soft)}
.read.money{color:#2f9c6a}
.read.money small{color:var(--soft)}
@media (prefers-color-scheme:dark){.read.money{color:#57d39b}}
.vote{grid-area:vote;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.vote .tog.yes.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.vote .tog.no.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.vote .trade{font-size:13px;font-weight:600;text-decoration:none;color:#2f9c6a;border:1px solid color-mix(in srgb,#2f9c6a 40%,var(--line));border-radius:999px;padding:7px 12px;white-space:nowrap;transition:background .2s,border-color .2s}
.vote .trade:hover{background:color-mix(in srgb,#2f9c6a 12%,transparent);border-color:#2f9c6a}
@media (prefers-color-scheme:dark){.vote .trade{color:#57d39b}}
.split{grid-area:split;position:relative;height:6px;border-radius:3px;background:var(--muted-bg);overflow:visible}
.split i{display:block;height:100%;width:var(--h,50%);border-radius:3px;background:var(--accent);opacity:.5;transition:width .45s var(--ease)}
.split b{position:absolute;top:-4px;bottom:-4px;left:var(--m,50%);width:2px;background:#2f9c6a;border-radius:1px;display:none;transition:left .45s var(--ease)}
.split.has-money b{display:block}
.markets .houseN{grid-area:n;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--soft);white-space:nowrap}
.markets .say{grid-area:say;margin:0;font-size:14.5px;color:var(--ink);text-wrap:pretty}
.markets .say[hidden]{display:none}
@media (max-width:700px){
  .markets li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"q q" "reads vote" "split split" "n n" "say say";gap:10px 14px}
  .reads{justify-content:flex-start}
  .read{text-align:left}
}

/* start something */
.partner{border-left:3px solid var(--warn);background:linear-gradient(135deg,var(--warn-soft),var(--panel))}
.partner .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--warn)}
.partner h3{margin:0}
.partner p{color:var(--ink)}
.links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.links a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;transition:border-color .2s,color .2s}
.links a:hover{border-color:var(--accent);color:var(--accent)}
.links small{font-weight:400;color:var(--soft)}
.stuck{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.stuck li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px 22px;padding:14px 0;border-bottom:1px solid var(--line)}
.stuck b{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48,"SOFT" 40;font-size:19px;letter-spacing:-.012em;line-height:1.25}
.stuck span{color:var(--soft);font-size:15px;line-height:1.55}
@media (max-width:640px){.stuck li{grid-template-columns:1fr}}

/* the cut and the build */
.pick{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 16px}
.pick h4{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--soft)}
.pick .row{display:flex;flex-wrap:wrap;gap:6px}
.plan{margin-top:18px}
.plan .card{gap:14px}
.plan h4{font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 48,"SOFT" 40;font-size:20px;letter-spacing:-.015em;margin:0 0 4px}
.plan p{color:var(--ink);font-size:15.5px;line-height:1.6}
.plan .brief{background:var(--bg-warm);border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:12px;padding:14px 16px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13.5px;line-height:1.55;color:var(--ink);white-space:pre-wrap}
.plan .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.plan[hidden]{display:none}

/* close */
#small{padding:64px 0 20px;border-top:1px solid var(--line)}
