:root {
    --landing-panel: rgba(8, 13, 21, .94);
    --landing-line: rgba(177, 193, 211, .18);
    --landing-copy: rgba(224, 231, 240, .74);
    --landing-prompt-glow: rgba(22, 131, 255, .24);
}

html[data-countrygov-landing-initial="title"],
html[data-countrygov-landing-initial="discovery"] { background: #07111d; }
html[data-countrygov-landing-initial="title"] .main-menu-container,
html[data-countrygov-landing-initial="discovery"] .main-menu-container { opacity: 0; }

.main-menu-body { min-height: 100%; }
body.landing-state-title,
body.landing-state-discovery { min-height: 100%; overflow-x: hidden; overflow-y: auto; scroll-behavior: smooth; }
body.landing-state-menu { height: 100dvh; overflow: hidden; }

.landing-experience {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    color: var(--text-primary);
    opacity: 1;
    visibility: visible;
    transition: opacity 420ms ease, visibility 0s linear 0s;
}
.landing-motion-paused .landing-experience *,
.landing-motion-paused .landing-experience *::before,
.landing-motion-paused .landing-experience *::after { animation-play-state: paused !important; }
body.landing-state-menu .landing-experience { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 360ms ease, visibility 0s linear 360ms; }

.main-menu-container {
    position: fixed;
    inset: 0;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.012);
    transition: opacity 420ms ease, transform 700ms cubic-bezier(.2,.8,.2,1), visibility 0s linear 420ms;
}
body.landing-state-menu .main-menu-container { opacity: 1; visibility: visible; pointer-events: auto; transform: scale(1); transition-delay: 90ms, 0s, 0s; }
.menu-center { animation: none !important; }
body:not(.landing-state-menu) .menu-center { opacity: 0; transform: translateY(18px); }
body.landing-state-menu:not(.new-game-flow-open):not(.account-screen-open):not(.profile-screen-open):not(.changelog-screen-open) .menu-center {
    opacity: 1;
    transform: translateY(0);
}
body.landing-state-menu.new-game-flow-open .menu-center {
    opacity: 0;
    transform: translateY(-18px);
    pointer-events: none;
}
body.landing-state-menu:not(.landing-menu-immediate) .menu-actions > *,
body.landing-state-menu:not(.landing-menu-immediate) .menu-creator-credit { animation: landingMenuActionIn 440ms ease both; }
body.landing-state-menu:not(.landing-menu-immediate) .menu-actions > :nth-child(1) { animation-delay: 150ms; }
body.landing-state-menu:not(.landing-menu-immediate) .menu-actions > :nth-child(2) { animation-delay: 210ms; }
body.landing-state-menu:not(.landing-menu-immediate) .menu-actions > :nth-child(3) { animation-delay: 270ms; }
body.landing-state-menu:not(.landing-menu-immediate) .menu-actions > :nth-child(4) { animation-delay: 330ms; }
body.landing-state-menu:not(.landing-menu-immediate) .menu-creator-credit { animation-delay: 390ms; }
@keyframes landingMenuActionIn { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: none; } }

.slideshow-vignette { transition: background 700ms ease, backdrop-filter 500ms ease; }
body.landing-state-title .slideshow-vignette,
body.landing-state-discovery .slideshow-vignette,
body.landing-state-menu .slideshow-vignette {
    background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.15) 35%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.75)),radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.55));
    backdrop-filter:none;
}

/* Title: one composition, not a menu card. */
.landing-title-hero { position: relative; min-height: 100svh; display: grid; place-items: center; padding: 5rem 1.5rem; }
.landing-title-content { display: grid; justify-items: center; width: min(760px,92vw); text-align: center; transform: translateY(-2vh); }
.landing-title-logo { width: min(500px,86vw); height: auto; filter: drop-shadow(0 12px 38px rgba(0,0,0,.78)); }
.landing-enter-prompt {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    width: min(410px,82vw);
    margin-top: 2.15rem;
    padding: .45rem 0;
    border: 0;
    color: var(--text-primary);
    background: transparent;
    font: inherit;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-shadow: 0 2px 12px #000;
    cursor: pointer;
    animation: landingPromptPulse 2.6s ease-in-out infinite;
    transition: color 180ms ease, text-shadow 180ms ease, transform 180ms ease;
}
.landing-enter-prompt > span:not(.landing-enter-rule) { white-space: nowrap; }
.landing-enter-rule { flex: 0 1 42px; height: 1px; background: linear-gradient(90deg,transparent,rgba(255,255,255,.62)); }
.landing-enter-rule:last-child { transform: scaleX(-1); }
.landing-enter-prompt:hover,.landing-enter-prompt:focus-visible {
    color: var(--text-primary);
    text-shadow: 0 2px 12px #000, 0 0 14px var(--landing-prompt-glow);
    outline: none;
    transform: translateY(-2px);
}
.landing-enter-prompt:hover .landing-enter-rule,.landing-enter-prompt:focus-visible .landing-enter-rule { background: linear-gradient(90deg,transparent,var(--primary-color)); }
.landing-enter-touch { display: none; }
@keyframes landingPromptPulse {
    0%,100% { text-shadow: 0 2px 12px #000, 0 0 5px transparent; }
    50% { text-shadow: 0 2px 12px #000, 0 0 12px var(--landing-prompt-glow); }
}

.landing-discover-cue { position:absolute; left:50%; bottom:clamp(1.25rem,4vh,2.75rem); display:grid; justify-items:center; gap:.4rem; padding:.5rem .8rem; border:0; color:rgba(255,255,255,.62); background:transparent; font:inherit; font-size:.68rem; font-weight:720; letter-spacing:.08em; transform:translateX(-50%); }
.landing-discover-cue:hover,.landing-discover-cue:focus-visible { color:#fff; outline:none; }
.landing-discover-cue svg { width:17px; animation:landingCueBounce 1.8s ease-in-out infinite; }
@keyframes landingCueBounce { 0%,100%{transform:none;opacity:.45} 50%{transform:translateY(5px);opacity:1} }

/* Editorial chapters */
.landing-discovery { position:relative; isolation:isolate; padding-top:1px; }
.landing-discovery::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:-24svh 0 0;
    background:linear-gradient(to bottom,transparent,rgba(3,8,15,.24) 13%,rgba(3,8,15,.62) 27%,rgba(3,8,15,.72) 39%,rgba(3,8,15,.5) 84%,rgba(3,8,15,.78));
    pointer-events:none;
}
.landing-chapter { width:min(1180px,calc(100% - 2.5rem)); min-height:min(940px,94svh); margin:0 auto; padding:clamp(5.5rem,11vh,9rem) 0; display:flex; flex-direction:column; justify-content:center; gap:clamp(2.4rem,5vw,4.5rem); }
.landing-chapter--opening { padding-top:clamp(6rem,12vh,10rem); }
.landing-chapter--split { display:grid; grid-template-columns:minmax(0,.72fr) minmax(560px,1.28fr); align-items:center; }
.landing-chapter--reverse { grid-template-columns:minmax(560px,1.28fr) minmax(0,.72fr); }
.landing-chapter--reverse .landing-chapter-copy { order:2; }
.landing-chapter--travel { width:min(1260px,calc(100% - 2.5rem)); }
.landing-chapter-copy { max-width:610px; }
.landing-chapter-copy--wide { max-width:920px; }
.landing-chapter-copy--opening { max-width:840px; }
.landing-chapter h1,.landing-chapter h2,.landing-final-invitation h2 { margin:0 0 1rem; color:#fff; font-family:var(--font-heading); font-size:clamp(2.65rem,6vw,5.5rem); font-weight:800; letter-spacing:-.05em; line-height:.96; text-wrap:balance; text-shadow:0 3px 25px rgba(0,0,0,.72); }
.landing-chapter-copy > p:last-child,.landing-possibility-closing { margin:0; color:var(--landing-copy); font-size:clamp(1rem,1.7vw,1.28rem); line-height:1.66; text-shadow:0 2px 14px rgba(0,0,0,.82); }
.landing-copy-emphasis { color:var(--primary-color); font-weight:800; }
.landing-glass-panel { background:var(--landing-panel); backdrop-filter:blur(18px); border:1px solid var(--landing-line); border-radius:var(--radius-modal); box-shadow:var(--shadow-lg); }
.landing-snapshot { position:relative; }
.landing-enhanced .landing-reveal { opacity:0; transform:translateY(28px); transition:opacity 700ms ease,transform 800ms cubic-bezier(.2,.8,.2,1); }
.landing-enhanced .landing-reveal.is-visible { opacity:1; transform:none; }

/* Introduction chapter rail: one active title, otherwise only landmarks. */
.landing-chapter-nav { position:fixed; z-index:11; top:50%; left:1.5rem; color:var(--text-secondary); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-10px,-50%); filter:drop-shadow(0 3px 4px rgba(0,0,0,.95)) drop-shadow(0 10px 18px rgba(0,0,0,.72)); transition:opacity 220ms ease,transform 220ms ease,visibility 0s linear 220ms; }
body.landing-state-discovery .landing-chapter-nav[aria-hidden="false"] { opacity:1; visibility:visible; pointer-events:auto; transform:translate(0,-50%); transition-delay:0s; }
.landing-chapter-nav-list { position:relative; display:grid; gap:.12rem; }
.landing-chapter-nav-list::before { content:""; position:absolute; top:22px; bottom:22px; left:22px; width:1px; background:linear-gradient(to bottom,transparent,rgba(148,163,184,.38) 8%,rgba(148,163,184,.38) 92%,transparent); pointer-events:none; }
.landing-chapter-nav-list button { position:relative; z-index:1; display:grid; place-items:center; width:40px; min-width:40px; height:40px; margin:2px; padding:0; border:0; border-radius:var(--radius-pill); color:rgba(255,255,255,.58); background:rgba(8,14,23,.9); box-shadow:0 5px 15px rgba(0,0,0,.42); font:inherit; text-align:left; white-space:nowrap; cursor:pointer; transition:color 160ms ease,background 160ms ease,box-shadow 160ms ease,transform 160ms ease; }
.landing-chapter-node-icon { position:relative; z-index:1; width:20px; height:20px; padding:0; overflow:visible; color:inherit; background:transparent; box-shadow:none; transition:color 160ms ease,transform 160ms ease; }
.landing-chapter-nav-list button > span { position:absolute; top:50%; left:54px; display:none; align-items:baseline; gap:.42rem; padding:.42rem .68rem; color:var(--text-primary); background:rgba(8,14,23,.94); border-radius:var(--radius-pill); box-shadow:0 8px 24px rgba(0,0,0,.48); font-size:.72rem; font-weight:760; text-shadow:0 2px 5px #000; transform:translateY(-50%); }
.landing-chapter-nav-list button > span small { color:rgba(147,197,253,.82); font-size:.6rem; font-weight:700; letter-spacing:.06em; }
.landing-chapter-nav-list button:hover,.landing-chapter-nav-list button:focus-visible { color:var(--text-primary); background:rgba(24,37,54,.98); box-shadow:0 7px 20px rgba(0,0,0,.5); outline:none; transform:scale(1.06); }
.landing-chapter-nav-list button[aria-current="step"] { color:#fff; background:linear-gradient(145deg,#2690ff,#0865d7); box-shadow:0 7px 20px rgba(0,75,170,.5),inset 0 1px rgba(255,255,255,.25); transform:scale(1.08); }
.landing-chapter-nav-list button:hover > span,.landing-chapter-nav-list button:focus-visible > span { display:flex; }

/* Explicit media slots: honest production frames. */
.landing-media-placeholder { margin:0; overflow:hidden; color:#d7dde5; border:1px solid rgba(183,194,207,.24); border-radius:14px; background:#151a20; box-shadow:0 18px 48px rgba(0,0,0,.3); }
.landing-media-placeholder-screen { position:relative; min-height:220px; display:grid; place-content:center; justify-items:center; gap:.6rem; padding:2rem; text-align:center; background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 42%),repeating-linear-gradient(-45deg,rgba(255,255,255,.018) 0 12px,transparent 12px 24px),#171b21; }
.landing-media-placeholder-screen::after { content:''; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.08); border-radius:8px; pointer-events:none; }
.landing-media-placeholder-screen svg { width:34px; height:34px; color:rgba(232,237,243,.5); }
.landing-media-placeholder-screen strong { color:rgba(246,248,251,.82); font-size:.92rem; }
.landing-media-placeholder-screen span { color:rgba(210,218,228,.4); font-size:.7rem; }
.landing-media-placeholder figcaption { display:flex; align-items:center; gap:.65rem; padding:.75rem .9rem; color:rgba(220,227,235,.5); font-size:.68rem; background:#0e1217; border-top:1px solid rgba(255,255,255,.07); }
.landing-media-placeholder figcaption span { color:rgba(255,255,255,.82); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.landing-media-placeholder--hero .landing-media-placeholder-screen { min-height:clamp(340px,48vw,620px); aspect-ratio:16/9; }
.landing-media-placeholder--still .landing-media-placeholder-screen { min-height:300px; aspect-ratio:16/10; }
.landing-media-placeholder--compact { box-shadow:none; }
.landing-media-placeholder--compact .landing-media-placeholder-screen { min-height:125px; padding:1.2rem; }
.landing-media-placeholder--compact .landing-media-placeholder-screen svg { width:24px; height:24px; }
.landing-country-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:1.15rem; }
.landing-country-path { min-width:0; overflow:hidden; border:1px solid rgba(183,194,207,.24); border-radius:14px; background:rgba(8,14,23,.9); box-shadow:var(--shadow-lg); backdrop-filter:blur(18px); }
.landing-country-path-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:52px; margin:0; padding:.72rem .95rem; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(8,12,18,.88); }
.landing-country-path-header span { display:inline-flex; align-items:center; gap:.48rem; color:rgba(255,255,255,.9); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.landing-country-path-header span svg { width:16px; height:16px; color:#5aa4ff; }
.landing-country-path-header p { margin:0; color:rgba(220,227,235,.48); font-size:.68rem; }

/* Country authoring uses the setup flow's input + progressive dossier composition. */
.landing-author-stage { position:relative; display:grid; align-items:center; min-height:530px; padding:1.3rem; isolation:isolate; background:radial-gradient(circle at 14% 18%,rgba(24,126,239,.13),transparent 37%),linear-gradient(145deg,rgba(20,30,43,.82),rgba(4,8,14,.94)); }
.landing-author-stage::before { content:"01  ·  IDENTITY        02  ·  GOVERNMENT        03  ·  FOUNDATIONS"; position:absolute; z-index:-1; top:52%; left:-9%; color:rgba(154,184,221,.07); font-size:.62rem; font-weight:850; letter-spacing:.14em; white-space:pre; transform:rotate(-90deg); }
.landing-author-field { position:absolute; z-index:2; top:1.25rem; left:1.15rem; width:min(430px,calc(100% - 2.3rem)); }
.landing-author-field-label { margin:0 0 .48rem; color:#d7e0ec; font-size:.74rem; font-weight:800; }
.landing-author-field-label small { margin-left:.42rem; color:rgba(183,198,218,.38); font-size:.6rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.landing-author-input { display:grid; grid-template-columns:20px 1fr 38px; align-items:center; gap:.72rem; min-height:58px; padding:.28rem .34rem .28rem 1rem; color:#edf4fd; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.07); box-shadow:inset 0 2px 4px rgba(0,0,0,.22),0 8px 28px rgba(0,0,0,.28); backdrop-filter:blur(14px); }
.landing-author-input > svg { width:18px; height:18px; color:var(--primary-color); }
.landing-author-input > span { min-width:0; overflow:hidden; font-size:1rem; text-overflow:ellipsis; white-space:nowrap; }
.landing-author-input > b { display:grid; place-items:center; width:38px; height:38px; color:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-pill); background:rgba(2,7,14,.5); }
.landing-author-input > b svg { width:16px; height:16px; }
.landing-author-dossier.setup-dossier { position:relative; top:auto; z-index:1; width:min(360px,78%); margin:4.75rem 0 0 auto; padding:1.15rem; color:#f7f9fc; border:1px solid rgba(202,220,242,.15); border-radius:18px; background:linear-gradient(160deg,rgba(12,20,32,.92),rgba(5,10,17,.88)); box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 22px 55px rgba(0,0,0,.38); backdrop-filter:blur(22px) saturate(115%); }
.landing-author-dossier .setup-dossier-kicker { margin-bottom:.8rem; color:rgba(194,211,232,.48); font-size:.66rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.landing-author-dossier .setup-dossier-identity { display:flex; align-items:center; gap:.8rem; min-width:0; }
.landing-author-dossier .setup-dossier-flag { display:grid; place-items:center; flex:0 0 auto; width:58px; height:40px; overflow:hidden; border:1px solid rgba(198,217,240,.18); border-radius:8px; background:rgba(2,7,14,.4); }
.landing-author-dossier .setup-dossier-flag img { width:100%; height:100%; object-fit:cover; }
.landing-author-dossier .setup-dossier-identity h3 { overflow:hidden; margin:0 0 .15rem; color:#f7f9fc; font-size:1.05rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.landing-author-dossier .setup-dossier-identity p { overflow:hidden; margin:0; color:rgba(210,221,235,.52); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.landing-author-dossier .setup-dossier-divider { height:1px; margin:1rem 0; background:rgba(197,216,239,.12); }
.landing-author-dossier .setup-dossier-facts { display:grid; gap:.75rem; margin:0; }
.landing-author-dossier .setup-dossier-facts > div { min-width:0; }
.landing-author-dossier .setup-dossier-facts dt { display:flex; align-items:center; gap:.4rem; margin-bottom:.15rem; color:rgba(178,198,222,.47); font-size:.61rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.landing-author-dossier .setup-dossier-facts dt svg { width:12px; height:12px; }
.landing-author-dossier .setup-dossier-facts dd { overflow:hidden; margin:0; color:rgba(237,242,249,.82); font-size:.76rem; font-weight:700; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.landing-author-dossier .setup-dossier-status { display:flex; align-items:flex-start; gap:.5rem; margin-top:1rem; padding:.72rem .78rem; color:rgba(187,215,249,.72); border:1px solid rgba(56,139,241,.16); border-radius:10px; background:rgba(24,82,154,.12); font-size:.68rem; font-weight:700; line-height:1.35; }
.landing-author-dossier .setup-dossier-status-dot { flex:0 0 auto; width:6px; height:6px; margin-top:.24rem; border-radius:var(--radius-pill); background:#4c9cff; box-shadow:0 0 8px rgba(76,156,255,.65); }

/* The inherited path is the same card family and paging behavior as New Game. */
.landing-country-path--inherit { display:flex; flex-direction:column; }
.landing-inherited-position { padding:.72rem 1rem .1rem; color:rgba(255,255,255,.58); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-align:center; }
.landing-inherited-carousel { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:.75rem; flex:1; min-height:466px; padding:.2rem .85rem .75rem; }
.landing-inherited-grid { position:relative; min-width:0; }
.landing-inherited-card.inherited-country-card { position:relative; inset:auto; display:flex; width:100%; min-height:410px; height:auto; padding:1rem; opacity:1; pointer-events:none; transform:none; filter:none; animation:landing-country-card-in 280ms cubic-bezier(.2,.8,.2,1); }
.landing-inherited-card.inherited-country-card[hidden] { display:none; }
.landing-inherited-card.inherited-country-card h3 { margin:.65rem 2.5rem .05rem 0; color:#f7f9fc; font-size:1.3rem; font-weight:900; }
.landing-inherited-card .take-office-btn { pointer-events:none; }
.landing-inherited-carousel .inherited-carousel-arrow { position:relative; inset:auto; top:auto; width:44px; height:58px; transform:none; }
.landing-inherited-carousel .inherited-carousel-arrow:hover { transform:scale(1.05); }
.landing-inherited-dots { display:flex; justify-content:center; gap:.38rem; padding:0 1rem .9rem; }
.landing-inherited-dots button { width:7px; height:7px; padding:0; border:0; border-radius:var(--radius-pill); background:rgba(255,255,255,.28); cursor:pointer; transition:width 180ms ease,background 180ms ease; }
.landing-inherited-dots button[aria-current="true"] { width:24px; background:#3492ff; }
@keyframes landing-country-card-in { from { opacity:0; transform:translateX(18px) scale(.98); } to { opacity:1; transform:none; } }

/* Canonical Month in Review composition. */
.landing-world-showcase { display:grid; gap:1rem; }
.landing-calendar-review { padding:1.15rem; border:1px solid rgba(116,151,181,.24); border-radius:14px; background:rgba(8,15,24,.95); box-shadow:0 14px 38px rgba(0,0,0,.32); }
.landing-calendar-header { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:0 0 .9rem; border-bottom:1px solid rgba(112,159,199,.14); }
.landing-calendar-header span { color:rgba(196,211,225,.5); font-size:.64rem; font-weight:760; }
.landing-calendar-header h3 { margin:.15rem 0 0; color:#f7fbff; font-size:1.45rem; }
.landing-calendar-counts { display:flex; gap:.35rem; color:rgba(196,211,225,.45); font-size:.62rem; }
.landing-calendar-counts b { color:#dbe8f3; }
.landing-calendar-review .calendar-review-event-card.ev-card { padding:.9rem 1rem .92rem 1.1rem; pointer-events:none; }
.landing-calendar-review .calendar-review-event-card .ev-card-title { font-size:.82rem; }
.landing-calendar-review .calendar-review-event-card .ev-card-summary { font-size:.67rem; }
.landing-calendar-review .calendar-review-event-card .dossier-month { font-size:.59rem; }
.landing-calendar-review .calendar-review-event-card:hover { transform:none; }
.landing-event-splash { display:grid; grid-template-columns:minmax(0,.9fr) minmax(240px,1.1fr); min-height:330px; overflow:hidden; border:1px solid rgba(68,141,214,.3); border-radius:16px; background:#0b111b; box-shadow:0 18px 46px rgba(0,0,0,.4); }
.landing-event-copy.me-left { max-width:none; padding:1.35rem 1.45rem; box-shadow:8px 0 32px rgba(0,0,0,.45); }
.landing-event-copy.me-left::before { width:2px; }
.landing-event-copy .me-meta-row { margin-bottom:.8rem; }
.landing-event-copy .me-counter { font-size:.58rem; }
.landing-event-copy .me-source-label { margin:.1rem 0 .65rem; font-size:.6rem; }
.landing-event-copy .me-title { margin:0 0 .8rem; font-size:clamp(1.55rem,3.1vw,2.35rem); }
.landing-event-copy .me-description { margin:0; font-size:.78rem; }
.landing-event-copy .me-description p { font-size:.78rem; line-height:1.62; }
.landing-event-art.me-right { min-height:330px; }
.landing-event-art .me-right-art { background-position:center; transform:scale(1.025); transition:transform 1.3s cubic-bezier(.2,.8,.2,1); }
.landing-world-showcase.is-visible .landing-event-art .me-right-art { transform:scale(1); }

/* Travel crossfades between real game screenshots in one stable wide frame. */
.landing-travel-layout { display:block; }
.landing-travel-snapshot { position:relative; margin:0; overflow:hidden; isolation:isolate; background:#07111d; }
.landing-map-slides { display:grid; aspect-ratio:3024 / 1160; }
.landing-map-slides img { grid-area:1 / 1; display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; opacity:0; transition:opacity 700ms ease; }
.landing-map-slides img.is-active { opacity:1; }
.landing-possibility-progress.landing-map-progress { margin:1rem 0 0; }
.landing-map-progress button { padding:0; border:0; cursor:pointer; }
.landing-map-progress .landing-possibility-progress-step.is-active i { animation:none; }
.landing-travel-route-label { position:absolute; z-index:2; display:flex; align-items:center; gap:.4rem; padding:.35rem .52rem; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-tag); color:#fff; background:rgba(4,10,18,.8); font-size:.66rem; font-weight:750; box-shadow:var(--shadow); }
.landing-travel-route-label span { width:7px; height:7px; border:2px solid #fff; border-radius:50%; background:#4285f4; box-shadow:0 0 9px #4285f4; }
.landing-travel-route-label--origin { left:14%; top:32%; }
.landing-travel-route-label--destination { right:14%; bottom:31%; }
.landing-travel-status { position:absolute; z-index:2; left:50%; top:1rem; display:flex; align-items:center; gap:.5rem; padding:.5rem .7rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#dbe8f5; background:rgba(7,17,28,.84); font-size:.66rem; font-weight:740; transform:translateX(-50%); }
.landing-travel-status svg { width:14px; }
.landing-arrival-card { position:absolute; z-index:3; right:1rem; bottom:1rem; width:min(440px,calc(100% - 2rem)); pointer-events:none; }
.landing-enhanced .landing-arrival-card { opacity:0; transform:translateY(18px); }
.landing-travel-snapshot.is-arrived .landing-arrival-card { opacity:1; transform:none; transition:opacity 500ms ease,transform 500ms ease; }

/* Issues and Strengths use the same red/purple language as their game drawers. */
.landing-pressure-grid {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"issue strength" "switcher switcher";
    align-items:stretch;
    gap:1rem;
    isolation:isolate;
}
.landing-pressure-grid::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:-2rem -3rem;
    background:radial-gradient(circle at 16% 44%,rgba(239,68,68,.15),transparent 38%),radial-gradient(circle at 84% 44%,rgba(168,85,247,.16),transparent 38%);
    filter:blur(18px);
    pointer-events:none;
}
.landing-pressure-column { --pressure-accent:#ef4444; --pressure-rgb:239,68,68; display:flex; flex-direction:column; min-width:0; padding:clamp(1.1rem,2.3vw,1.55rem); border-color:rgba(var(--pressure-rgb),.32); background:linear-gradient(145deg,rgba(var(--pressure-rgb),.12),rgba(7,12,20,.96) 38%); box-shadow:inset 0 1px rgba(255,255,255,.04),0 20px 52px rgba(0,0,0,.28); }
.landing-pressure-column--issue { grid-area:issue; }
.landing-pressure-column--strength { --pressure-accent:#a855f7; --pressure-rgb:168,85,247; grid-area:strength; }
.landing-pressure-heading { display:flex; align-items:center; gap:.8rem; min-height:64px; }
.landing-pressure-heading > div { min-width:0; }
.landing-pressure-symbol { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; border:1px solid rgba(var(--pressure-rgb),.42); border-radius:16px; color:var(--pressure-accent); background:rgba(var(--pressure-rgb),.1); box-shadow:0 0 26px rgba(var(--pressure-rgb),.11); }
.landing-pressure-symbol svg { width:27px; height:27px; stroke-width:2.1; }
.landing-pressure-kicker { display:block; margin-bottom:.08rem; color:var(--pressure-accent); font-size:.61rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.landing-pressure-heading h3 { margin:0; color:#f8fafc; font-size:clamp(1.65rem,3vw,2.25rem); line-height:1; letter-spacing:-.045em; }
.landing-pressure-count { min-width:40px; height:40px; margin-left:auto; padding:0 .55rem; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(var(--pressure-rgb),.48); border-radius:999px; color:rgba(255,255,255,.82); background:rgba(var(--pressure-rgb),.11); font-size:.82rem; font-weight:850; }
.landing-pressure-intro { min-height:4.45em; margin:.85rem 0 1.15rem; color:rgba(226,232,240,.62); font-size:.76rem; line-height:1.52; }
.landing-pressure-intro strong { color:var(--pressure-accent); font-weight:800; }
.landing-pressure-stack { display:grid; flex:1; }
.landing-national-card { grid-area:1/1; min-height:238px; margin:0; cursor:default; border-color:rgba(var(--pressure-rgb),.2); background:linear-gradient(145deg,rgba(var(--pressure-rgb),.08),rgba(0,0,0,.3) 42%); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity 260ms ease,transform 340ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 340ms; }
.landing-national-card.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }
.landing-national-card:hover { transform:none; }
.landing-national-card .ip-title { font-size:1rem; line-height:1.2; }
.landing-national-card .ip-sub { color:rgba(226,232,240,.5); }
.landing-national-card .ip-desc { min-height:4.7em; color:rgba(226,232,240,.69); font-size:.73rem; line-height:1.55; }
.landing-national-card .ip-urgency-track { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.landing-national-card .ip-urgency-bar { width:0; height:100%; border-radius:inherit; background:var(--pressure-accent); box-shadow:0 0 12px rgba(var(--pressure-rgb),.42); transition:width 900ms cubic-bezier(.2,.8,.2,1) 180ms; }
.landing-pressure-grid.is-visible .landing-national-card.is-active .ip-urgency-bar { width:var(--pressure-value); }
.landing-pressure-switcher { grid-area:switcher; display:flex; align-items:center; justify-content:center; gap:.75rem; padding-top:.15rem; }
.landing-pressure-arrow { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(148,163,184,.2); border-radius:50%; color:rgba(255,255,255,.7); background:rgba(7,12,20,.82); cursor:pointer; transition:color 150ms ease,border-color 150ms ease,background 150ms ease,transform 150ms ease; }
.landing-pressure-arrow:hover { color:#fff; border-color:rgba(168,85,247,.52); background:rgba(168,85,247,.12); transform:scale(1.05); }
.landing-pressure-arrow svg { width:17px; height:17px; }
.landing-pressure-position { min-width:38px; color:rgba(226,232,240,.42); font-size:.66rem; font-weight:750; text-align:center; }
.landing-pressure-position strong { color:#f8fafc; }
.landing-pressure-dots { display:flex; gap:.42rem; }
.landing-pressure-dots button { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(226,232,240,.25); cursor:pointer; transition:width 200ms ease,background 200ms ease; }
.landing-pressure-dots button.is-active { width:23px; background:linear-gradient(90deg,#ef4444 0 47%,#a855f7 53% 100%); }

/* Government paths are compact, faithful snapshots of the live Parliament and Power workspaces. */
.landing-government-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.landing-government-path { --government-accent:#60a5fa; --government-rgb:96,165,250; display:flex; min-width:0; flex-direction:column; gap:1rem; padding:clamp(1.15rem,2.4vw,1.65rem); border-color:rgba(var(--government-rgb),.3); background:rgba(8,14,23,.92); box-shadow:inset 0 1px rgba(255,255,255,.04),0 20px 52px rgba(0,0,0,.28); }
.landing-government-path--autocracy { --government-accent:#c084fc; --government-rgb:192,132,252; }
.landing-government-heading { display:flex; align-items:center; gap:.85rem; }
.landing-government-symbol { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; border:1px solid rgba(var(--government-rgb),.42); border-radius:var(--radius-modal); color:var(--government-accent); background:rgba(var(--government-rgb),.1); }
.landing-government-symbol svg { width:25px; height:25px; }
.landing-government-heading span:not(.landing-government-symbol) { display:block; margin-bottom:.15rem; color:var(--government-accent); font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.landing-government-heading h3 { margin:0; color:var(--text-primary); font-size:clamp(1.3rem,2.2vw,1.75rem); line-height:1.08; letter-spacing:-.04em; }
.landing-government-path > p { min-height:4.6em; margin:0; color:var(--text-secondary); font-size:.82rem; line-height:1.55; }
.landing-government-demo { display:grid; grid-template-rows:auto minmax(190px,1fr) auto; min-height:430px; overflow:hidden; border:1px solid rgba(96,165,250,.18); border-radius:var(--radius-card); background:rgba(3,8,15,.82); box-shadow:inset 0 2px 8px rgba(0,0,0,.4); }
.landing-game-ui-summary { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.8rem .9rem .55rem; }
.landing-game-ui-summary strong { display:inline-flex; align-items:baseline; gap:.3rem; color:#f8fafc; font-size:1.05rem; }
.landing-game-ui-summary strong span { color:var(--text-muted); font-size:.65rem; }
.landing-government-pill,.landing-power-rating { padding:.25rem .5rem; border:1px solid var(--color-mid-border); border-radius:var(--radius-pill); color:var(--color-mid); background:var(--color-mid-bg); font-size:.62rem; font-weight:750; }
.landing-power-rating { color:var(--color-positive); border-color:var(--color-positive-border); background:var(--color-positive-bg); }
.landing-parliament-map { width:100%; height:225px; padding:.15rem .7rem 0; }
.landing-parliament-map circle { vector-effect:non-scaling-stroke; }
.landing-parliament-map circle.is-player-seat { filter:drop-shadow(0 0 3px rgba(47,125,221,.72)); }
.landing-parliament-map text { fill:#f8fafc; font-size:18px; font-weight:800; }
.landing-parliament-map .landing-parliament-majority { fill:rgba(203,213,225,.58); font-size:11px; font-weight:650; }
.landing-game-ui-list { margin:0 .65rem .65rem; overflow:hidden; border-top:1px solid rgba(148,163,184,.11); }
.landing-game-ui-list > span { display:grid; grid-template-columns:17px minmax(0,1fr) auto auto; align-items:center; gap:.5rem; min-height:38px; padding:.36rem .4rem; border-bottom:1px solid rgba(148,163,184,.08); color:#f8fafc; font-size:.68rem; }
.landing-game-ui-list > span.is-selected { border-left:2px solid var(--primary-color); border-radius:6px; background:rgba(72,118,190,.18); }
.landing-game-ui-list i { width:22px; height:22px; display:grid; place-items:center; border:1px solid #2f7ddd; border-radius:6px; color:#93c5fd; background:rgba(47,125,221,.18); }
.landing-game-ui-list i svg { width:15px; height:15px; fill:currentColor; }
.landing-game-ui-list i.is-centre { border-color:#2aa3a0; background:rgba(42,163,160,.18); }
.landing-game-ui-list i.is-opposition { border-color:#df5163; background:rgba(223,81,99,.18); }
.landing-game-ui-list strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.landing-game-ui-list em { margin-left:.3rem; padding:.08rem .25rem; border:1px solid rgba(47,125,221,.7); border-radius:var(--radius-tag); color:#93c5fd; font-size:.55rem; font-style:normal; text-transform:uppercase; }
.landing-game-ui-list small { color:var(--text-muted); white-space:nowrap; }
.landing-game-ui-list b { min-width:48px; color:rgba(248,250,252,.72); text-align:right; white-space:nowrap; }
.landing-game-ui-list b span { color:var(--text-muted); font-size:.56rem; font-weight:650; }
.landing-power-bubbles { align-self:center; width:100%; height:205px; padding:.15rem 1rem; overflow:visible; }
.landing-power-bubble circle { stroke:none; }
.landing-power-bubble.is-player circle { filter:drop-shadow(0 0 5px rgba(128,85,232,.52)); }
.landing-power-bubble svg { color:#fff; fill:currentColor; pointer-events:none; }
.landing-power-list > span { min-height:31px; }
.landing-power-list i.is-player { border-color:#8055e8; background:rgba(128,85,232,.2); }
.landing-power-list i.is-civil { border-color:#ee6e4b; background:rgba(238,110,75,.18); }
.landing-power-list i.is-security { border-color:#4d88aa; background:rgba(77,136,170,.18); }
.landing-power-list i.is-business { border-color:#efc45b; background:rgba(239,196,91,.18); }
.landing-power-list i.is-governors { border-color:#2ca298; background:rgba(44,162,152,.18); }
.landing-power-list small { color:var(--text-muted); }
.landing-power-list small.is-loyal { color:var(--color-positive); }
.landing-project-record,.landing-memory-record { margin:0; cursor:default; background:rgba(16,25,37,.92); border:1px solid rgba(148,163,184,.18); border-radius:10px; }
.landing-project-record:hover,.landing-memory-record:hover { transform:none; }

/* Freeform: canonical Story composer, a brief narrative beat, then persistent records. */
.landing-possibility-stage { display:grid; grid-template-columns:1fr; gap:1rem; align-items:start; }
.landing-composer-snapshot { grid-column:1/-1; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
#dashboardStory.landing-composer-snapshot .story-input-container { margin:0 !important; padding:0; }
#dashboardStory.landing-composer-snapshot .story-input-container::before { display:none; }
#dashboardStory.landing-composer-snapshot .story-input-row { min-height:52px; }
#dashboardStory.landing-composer-snapshot .story-input-container textarea { height:2.8rem; min-height:2.8rem; max-height:4.8rem; overflow:hidden; resize:none; pointer-events:none; color:#eef5ff !important; opacity:1 !important; }
.landing-composer-snapshot .story-send-btn { pointer-events:none; opacity:1 !important; }
.landing-possibility-stage.is-sending .story-send-btn { animation:landingPossibilitySend 520ms ease; }
@keyframes landingPossibilitySend { 45%{ transform:scale(.91); filter:brightness(1.35); } }
.landing-possibility-progress { display:flex; justify-content:center; margin:-.25rem 0 -.2rem; }
.landing-possibility-progress-track { display:flex; align-items:center; gap:.5rem; height:9px; }
.landing-possibility-progress-step { position:relative; width:28px; height:7px; overflow:hidden; border-radius:999px; background:rgba(166,178,194,.48); transition:width 260ms cubic-bezier(.2,.8,.2,1),background 180ms ease; }
.landing-possibility-progress-step.is-active { width:68px; background:rgba(96,165,250,.22); }
.landing-possibility-progress-step::after,.landing-possibility-progress-step i { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,#1683ff,#60a5fa); transform:scaleX(0); transform-origin:left center; }
.landing-possibility-progress-step.is-complete::after { transform:scaleX(1); opacity:.62; }
.landing-possibility-progress-step.is-active i { animation:landingPossibilityProgress var(--possibility-progress-duration,10300ms) linear forwards; }
.landing-possibility-stage:not(.is-progress-running) .landing-possibility-progress-step.is-active i { animation-play-state:paused; }
@keyframes landingPossibilityProgress { to { transform:scaleX(1); } }
.landing-possibility-slide {
    grid-column:1/-1;
    display:grid;
    gap:.8rem;
    opacity:1;
    transform:none;
    visibility:visible;
    transition:opacity 300ms ease,transform 380ms cubic-bezier(.2,.8,.2,1),filter 300ms ease;
}
.landing-story-response { margin:0; overflow:hidden; }
.landing-story-response .story-message { margin:0; padding:1rem; white-space:normal; }
.landing-story-response .story-visual--editorial { height:clamp(145px,19vh,205px); }
.landing-story-prose { max-height:3.25em; margin:.8rem 0 0; overflow:hidden; color:rgba(239,244,251,.86); font-size:.88rem; line-height:1.62; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%); }
.landing-story-prose p { margin:0; }
.landing-possibility-stage.is-slide-swapping .landing-possibility-slide { opacity:.24; transform:translateY(-4px); filter:blur(1.5px); }
.landing-possibility-results { display:grid; gap:.8rem; }
.landing-possibility-outcome-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.landing-possibility-outcome-group .world-object-reveal-card { cursor:default; }
.landing-possibility-outcome-group .world-object-reveal-card:hover { transform:none; }
.landing-possibility-outcome-group .landing-static-payload { cursor:default; pointer-events:none; }
.landing-possibility-outcome-group .landing-static-payload:hover { transform:none; }
.landing-possibility-closing { max-width:840px; margin:1.8rem auto 0; text-align:center; }

/* A rapid deck of complete, canonical composers: ideas change, the UI does not. */
.landing-chapter--ideas { min-height:min(760px,86svh); }
.landing-idea-deck { position:relative; min-height:151px; overflow:hidden; perspective:900px; }
.landing-idea-card { position:absolute; z-index:2; inset:0 0 25px; display:flex; align-items:center; opacity:0; transform:translateY(24px) scale(.985) rotateX(-3deg); transform-origin:center bottom; transition:opacity 440ms ease,transform 520ms cubic-bezier(.2,.8,.2,1),filter 440ms ease; pointer-events:none; }
.landing-idea-card.is-current { z-index:3; opacity:1; transform:none; }
.landing-idea-card.is-next { z-index:2; opacity:0; transform:translateY(24px) scale(.985) rotateX(-3deg); }
.landing-idea-card.is-leaving { z-index:4; opacity:0; transform:translateY(-18px) scale(.985) rotateX(3deg); transform-origin:center top; filter:blur(1.5px); }
.landing-idea-card .story-input-container { position:relative; width:100%; margin:0 !important; padding:0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.landing-idea-card .story-input-row { isolation:isolate; position:relative; align-items:stretch; gap:.35rem; min-height:54px; padding:.35rem; overflow:hidden; border:1px solid rgba(96,165,250,.48); border-radius:13px; background:linear-gradient(145deg,rgba(9,20,35,.98),rgba(4,10,19,.98)); box-shadow:0 7px 22px rgba(0,0,0,.25),0 0 18px rgba(37,99,235,.08); }
.landing-idea-card .story-input-row::after { content:""; position:absolute; z-index:1; inset:1px; border-radius:11px; background:linear-gradient(145deg,rgba(7,16,29,.98),rgba(3,9,18,.99)); pointer-events:none; }
.landing-idea-card textarea { position:relative; z-index:2; height:2.8rem !important; min-height:2.8rem !important; max-height:2.8rem !important; padding:.66rem .8rem; overflow:hidden !important; resize:none; border:0 !important; border-radius:9px !important; color:#eef5ff !important; background:transparent !important; box-shadow:none !important; opacity:1 !important; pointer-events:none; }
.landing-idea-card .story-send-btn { position:relative; z-index:2; width:45px; height:auto; min-height:45px; border:1px solid rgba(147,197,253,.68); border-radius:11px; box-shadow:inset 0 1px rgba(255,255,255,.2),0 6px 18px rgba(37,99,235,.36); pointer-events:none; opacity:1 !important; }
.landing-idea-progress { position:absolute; z-index:5; right:0; bottom:0; left:0; margin:0; }
.landing-idea-progress .landing-possibility-progress-track { gap:.32rem; }
.landing-idea-progress .landing-possibility-progress-step { width:14px; height:5px; }
.landing-idea-progress .landing-possibility-progress-step.is-active { width:44px; }
.landing-idea-deck:not(.is-progress-running) .landing-idea-progress .landing-possibility-progress-step.is-active i { animation-play-state:paused; }

/* Consequence chain uses canonical promise, relationship and dossier records. */
.landing-memory-snapshot { display:grid; grid-template-columns:1fr; gap:.8rem; }
.landing-memory-snapshot .world-object-reveal-card,.landing-memory-snapshot .person-update-card { width:100%; cursor:default; }
.landing-memory-snapshot .world-object-reveal-card:hover,.landing-memory-snapshot .person-update-card:hover { transform:none; }
.landing-memory-line { width:2px; height:32px; justify-self:center; background:linear-gradient(#ebc762,#72d99f); transform:scaleY(0); transform-origin:top; transition:transform 700ms ease 250ms; }
.landing-memory-snapshot.is-visible .landing-memory-line { transform:scaleY(1); }
.landing-memory-record { width:92%; justify-self:center; }

/* Systems constellation */
.landing-systems-snapshot { display:grid; gap:1rem; }
.landing-system-map { position:relative; isolation:isolate; min-height:720px; overflow:hidden; border:1px solid rgba(119,166,218,.2); border-radius:28px; background:radial-gradient(circle at 50% 48%,rgba(0,123,255,.12),transparent 23%),radial-gradient(ellipse at 23% 48%,rgba(42,116,187,.07),transparent 29%),radial-gradient(ellipse at 79% 49%,rgba(120,80,190,.055),transparent 27%),linear-gradient(145deg,rgba(4,10,18,.95),rgba(7,17,29,.9)); box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035); }
.landing-system-map::before { content:""; position:absolute; z-index:-3; inset:0; opacity:.2; background-image:radial-gradient(circle,rgba(135,185,235,.35) 0 1px,transparent 1.4px); background-size:31px 31px; mask-image:radial-gradient(ellipse at center,#000 25%,transparent 88%); }
.landing-system-map::after { content:""; position:absolute; z-index:-2; left:50%; top:49%; width:470px; height:280px; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle at 31% 50%,rgba(18,78,136,.2),rgba(3,15,28,0) 43%),radial-gradient(circle at 69% 50%,rgba(27,111,91,.15),rgba(3,15,28,0) 43%); box-shadow:0 0 0 74px rgba(46,145,255,.012),0 0 100px rgba(0,123,255,.07); }
.landing-system-connections { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.landing-system-connection { fill:none; stroke:rgba(56,158,255,.9); stroke-width:1.8; stroke-linecap:round; opacity:0; vector-effect:non-scaling-stroke; transition:opacity 240ms ease; }
.landing-system-connection.is-active { opacity:1; stroke-dasharray:4 8; filter:drop-shadow(0 0 6px rgba(0,123,255,.8)); animation:landingSystemFlow 1.25s linear infinite; }
.landing-system-map.is-story-selection .landing-system-connection.is-active { stroke:rgba(167,139,250,.96); filter:drop-shadow(0 0 6px rgba(139,92,246,.8)); }
.landing-system-map.is-event-selection .landing-system-connection.is-active { stroke:rgba(97,223,189,.94); filter:drop-shadow(0 0 6px rgba(52,207,166,.72)); }
@keyframes landingSystemFlow { to { stroke-dashoffset:-24; } }
.landing-system-cluster,.landing-system-core,.landing-system-motion,.landing-system-node-row,.landing-system-node-stack { display:contents; }
.landing-system-cluster h3 { position:absolute; z-index:1; display:flex; align-items:center; gap:.55rem; margin:0; color:rgba(194,215,237,.42); font-size:.66rem; font-weight:760; line-height:1; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; pointer-events:none; user-select:none; }
.landing-system-cluster h3::before { content:""; width:18px; height:1px; background:rgba(125,166,207,.34); }
.landing-system-cluster--world h3 { left:4%; top:4%; }
.landing-system-cluster--country h3 { left:3%; top:34%; }
.landing-system-cluster--government h3 { right:3%; top:34%; }
.landing-system-cluster--persistence h3 { left:38%; bottom:5%; }
.landing-system-node { --node-x:50%; --node-y:50%; position:absolute; z-index:2; left:var(--node-x); top:var(--node-y); display:grid; justify-items:center; align-content:start; gap:.46rem; width:126px; min-height:91px; padding:0; border:0; color:rgba(220,231,243,.76); background:transparent; box-shadow:none; font:inherit; font-size:.67rem; font-weight:760; line-height:1.18; text-align:center; transform:translate(-50%,-50%); transition:color 220ms ease,opacity 220ms ease,transform 220ms ease,filter 220ms ease; }
.landing-system-node::before { content:""; position:absolute; z-index:-1; left:50%; top:0; width:52px; height:52px; border:1px solid rgba(123,164,207,.3); border-radius:50%; background:radial-gradient(circle at 38% 30%,rgba(31,81,126,.36),rgba(5,16,28,.88) 69%); box-shadow:0 9px 26px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.05); transform:translateX(-50%); transition:border-color 220ms ease,background 220ms ease,box-shadow 220ms ease,transform 220ms ease; }
.landing-system-node svg { width:21px; height:21px; margin-top:15px; color:rgba(139,173,207,.82); transition:color 220ms ease,filter 220ms ease,transform 220ms ease; }
.landing-system-node > span { max-width:126px; text-wrap:balance; }
.landing-system-map.has-selection .landing-system-node:not(.is-active):not(.is-connected) { opacity:.26; }
.landing-system-node:hover,.landing-system-node:focus-visible,.landing-system-node.is-active,.landing-system-node.is-connected { color:#fff; outline:none; }
.landing-system-node:hover,.landing-system-node:focus-visible,.landing-system-node.is-active { transform:translate(-50%,-50%) scale(1.08); }
.landing-system-node:hover::before,.landing-system-node:focus-visible::before,.landing-system-node.is-active::before,.landing-system-node.is-connected::before { border-color:rgba(72,166,255,.88); background:radial-gradient(circle at 38% 30%,rgba(39,137,231,.52),rgba(5,24,43,.95) 70%); box-shadow:0 0 0 7px rgba(0,123,255,.055),0 0 28px rgba(0,123,255,.4),inset 0 1px rgba(255,255,255,.12); }
.landing-system-node.is-active::before { transform:translateX(-50%) scale(1.13); box-shadow:0 0 0 9px rgba(0,123,255,.07),0 0 38px rgba(0,123,255,.6),inset 0 1px rgba(255,255,255,.16); }
.landing-system-node.is-active svg,.landing-system-node.is-connected svg { color:#52a8ff; filter:drop-shadow(0 0 6px rgba(0,123,255,.8)); }
.landing-system-node.is-active svg { transform:scale(1.08); }
.landing-system-node--core { --node-y:49%; display:grid; place-items:center; align-content:center; gap:.3rem; width:154px; height:154px; min-height:0; padding:1rem; border:1px solid rgba(167,139,250,.68); border-radius:50%; color:#fff; background:radial-gradient(circle at 35% 28%,rgba(139,92,246,.4),rgba(18,12,39,.97) 59%); box-shadow:0 0 0 12px rgba(139,92,246,.04),0 0 0 32px rgba(139,92,246,.02),0 22px 50px rgba(0,0,0,.46); }
.landing-system-node--core::before { display:none; }
.landing-system-node--core svg { width:27px; height:27px; margin:0; color:#a78bfa; filter:drop-shadow(0 0 7px rgba(139,92,246,.48)); }
.landing-system-node--core:hover svg,.landing-system-node--core:focus-visible svg,.landing-system-node--core.is-active svg,.landing-system-node--core.is-connected svg { color:#a78bfa; filter:drop-shadow(0 0 7px rgba(139,92,246,.7)); }
.landing-system-node--core span { color:rgba(219,233,248,.68); font-size:.72rem; }
.landing-system-node--core strong { color:#fff; font-size:1.38rem; }
.landing-system-node--core:hover,.landing-system-node--core:focus-visible,.landing-system-node--core.is-active { transform:translate(-50%,-50%) scale(1.045); box-shadow:0 0 0 16px rgba(139,92,246,.065),0 0 58px rgba(139,92,246,.38),0 22px 50px rgba(0,0,0,.46); }
.landing-system-node--core.is-connected { box-shadow:0 0 0 13px rgba(139,92,246,.05),0 0 38px rgba(139,92,246,.27),0 22px 50px rgba(0,0,0,.4); }

#landing-system-people { --node-x:14%; --node-y:16%; }
#landing-system-places { --node-x:35%; --node-y:12%; }
#landing-system-diplomacy { --node-x:65%; --node-y:12%; }
#landing-system-organizations { --node-x:86%; --node-y:17%; }
#landing-system-statistics { --node-x:11%; --node-y:42%; }
#landing-system-resources { --node-x:25%; --node-y:48%; }
#landing-system-issues { --node-x:12%; --node-y:64%; }
#landing-system-strengths { --node-x:29%; --node-y:69%; }
#landing-system-parliament { --node-x:74%; --node-y:41%; }
#landing-system-power { --node-x:88%; --node-y:43%; }
#landing-system-elections { --node-x:88%; --node-y:59%; }
#landing-system-promises { --node-x:75%; --node-y:68%; }
#landing-system-dossier { --node-x:34%; --node-y:88%; }
#landing-system-developments { --node-x:49%; --node-y:86%; }
#landing-system-time { --node-x:69%; --node-y:86%; }
#landing-system-story { --node-x:calc(50% - 96px); }
#landing-system-events { --node-x:calc(50% + 96px); --node-y:49%; }
.landing-system-node--event::before { border-color:rgba(75,188,157,.35); background:radial-gradient(circle at 38% 30%,rgba(35,119,103,.35),rgba(5,20,27,.9) 70%); }
.landing-system-node--event svg { color:rgba(89,205,175,.84); filter:drop-shadow(0 0 7px rgba(52,207,166,.42)); }
.landing-system-node--event.is-active::before,.landing-system-node--event.is-connected::before { border-color:rgba(84,223,184,.9); box-shadow:0 0 0 7px rgba(60,214,174,.055),0 0 28px rgba(60,214,174,.38),inset 0 1px rgba(255,255,255,.12); }
.landing-system-node--event.is-active svg,.landing-system-node--event.is-connected svg { color:#61dfbd; }
.landing-system-node--core.landing-system-node--event { border-color:rgba(74,204,169,.62); background:radial-gradient(circle at 35% 28%,rgba(46,178,143,.33),rgba(5,26,31,.97) 59%); box-shadow:0 0 0 12px rgba(52,207,166,.03),0 0 0 32px rgba(52,207,166,.015),0 22px 50px rgba(0,0,0,.46); }
.landing-system-node--core.landing-system-node--event:hover,.landing-system-node--core.landing-system-node--event:focus-visible,.landing-system-node--core.landing-system-node--event.is-active { box-shadow:0 0 0 16px rgba(52,207,166,.055),0 0 58px rgba(52,207,166,.3),0 22px 50px rgba(0,0,0,.46); }
.landing-system-node--core.landing-system-node--event.is-connected { box-shadow:0 0 0 13px rgba(52,207,166,.045),0 0 38px rgba(52,207,166,.22),0 22px 50px rgba(0,0,0,.4); }
.landing-system-tooltip {
    position:absolute;
    z-index:5;
    left:0;
    top:0;
    width:min(320px,calc(100% - 24px));
    padding:.85rem .95rem .9rem;
    border:1px solid rgba(65,150,241,.34);
    border-radius:var(--radius-modal);
    color:var(--text-primary);
    background:var(--landing-panel);
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(7px) scale(.98);
    transform-origin:center;
    transition:opacity 160ms ease,transform 190ms ease,visibility 0s linear 190ms;
}
.landing-system-tooltip.is-visible { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.landing-system-tooltip strong { display:block; color:#fff; font-size:.9rem; line-height:1.25; }
.landing-system-tooltip p { margin:.42rem 0 0; color:var(--landing-copy); font-size:.72rem; line-height:1.55; }
.landing-system-tooltip::before {
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    border:inherit;
    background:var(--landing-panel);
    transform:rotate(45deg);
}
.landing-system-tooltip[data-placement="right"]::before { left:-6px; top:calc(50% - 5px); border-top:0; border-right:0; }
.landing-system-tooltip[data-placement="left"]::before { right:-6px; top:calc(50% - 5px); border-bottom:0; border-left:0; }
.landing-system-tooltip[data-placement="below"]::before { left:calc(50% - 5px); top:-6px; border-right:0; border-bottom:0; }
.landing-system-tooltip[data-placement="above"]::before { left:calc(50% - 5px); bottom:-6px; border-top:0; border-left:0; }

/* Entry actions */
.landing-final-invitation { min-height:100svh; display:grid; place-items:center; align-content:center; gap:.65rem; padding:6rem 1.5rem; text-align:center; }
.landing-final-invitation > img { width:min(340px,78vw); margin-bottom:1.4rem; filter:drop-shadow(0 9px 28px rgba(0,0,0,.7)); }
.landing-final-premise { margin:0; color:rgba(255,255,255,.7); font-size:1rem; }
.landing-final-invitation h2 { max-width:820px; margin:.2rem 0 1.5rem; }
.landing-enter-button,.landing-persistent-enter { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border:1px solid #1683ff; border-radius:var(--radius-btn); color:#fff; background:linear-gradient(135deg,#1683ff,#0865c9); box-shadow:inset 0 1px rgba(255,255,255,.18),0 12px 32px rgba(0,73,157,.32); font:inherit; font-weight:800; transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.landing-enter-button { min-width:230px; padding:.9rem 1.25rem; font-size:1rem; }
.landing-enter-button svg,.landing-persistent-enter svg { width:17px; }
.landing-enter-button:hover,.landing-enter-button:focus-visible { color:#fff; background:linear-gradient(135deg,#3295ff,#1476df); box-shadow:0 16px 38px rgba(0,73,157,.45); outline:none; transform:translateY(-2px); }
.landing-persistent-enter { position:fixed; z-index:12; left:50%; top:.85rem; padding:.48rem .7rem; border-color:rgba(255,255,255,.22); color:rgba(255,255,255,.86); background:rgba(8,14,23,.82); box-shadow:0 8px 24px rgba(0,0,0,.28); font-size:.66rem; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-8px); backdrop-filter:blur(16px); }
body.landing-state-discovery .landing-persistent-enter { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); transition:opacity 220ms ease,transform 220ms ease,visibility 0s; }
body.landing-state-menu .landing-persistent-enter { display:none; }
.landing-persistent-enter:hover,.landing-persistent-enter:focus-visible { color:#fff; border-color:rgba(255,255,255,.42); background:rgba(18,28,41,.94); outline:none; transform:translate(-50%,-1px); }

@media (pointer:coarse) { .landing-enter-desktop{display:none}.landing-enter-touch{display:inline} }
@media (max-width:1480px) {
    .landing-chapter-nav { right:.65rem; left:auto; }
    .landing-chapter-nav-list::before { right:22px; left:auto; }
    .landing-chapter-nav-list button > span { right:54px; left:auto; }
}
@media (max-width:1120px) {
    .landing-chapter--split { display:flex; }
    .landing-chapter--reverse .landing-chapter-copy { order:initial; }
    .landing-chapter-copy { max-width:900px; }
    .landing-world-showcase { grid-template-columns:1fr; }
    .landing-project-record { width:min(680px,100%); }
    .landing-system-map { min-height:680px; }
    .landing-system-node { width:112px; font-size:.63rem; }
    .landing-system-node > span { max-width:112px; }
    .landing-system-node--core { width:142px; height:142px; }
    #landing-system-story { --node-x:calc(50% - 88px); }
    #landing-system-events { --node-x:calc(50% + 88px); }
}
@media (max-width:760px) {
    .landing-chapter-nav { top:auto; right:auto; bottom:.7rem; left:50%; transform:translate(-50%,8px); }
    body.landing-state-discovery .landing-chapter-nav[aria-hidden="false"] { transform:translate(-50%,0); }
    .landing-chapter-nav-list { display:flex; gap:.08rem; }
    .landing-chapter-nav-list::before { top:18px; right:18px; bottom:auto; left:18px; width:auto; height:1px; }
    .landing-chapter-nav-list button { width:30px; min-width:30px; height:30px; margin:3px 1px; }
    .landing-chapter-node-icon { width:16px; height:16px; }
    .landing-chapter-nav-list button > span { top:auto; right:auto; bottom:42px; left:50%; transform:translateX(-50%); }
    .landing-chapter-nav-list button:hover,.landing-chapter-nav-list button:focus-visible { transform:none; }
    .landing-title-hero { padding-inline:1rem; }
    .landing-title-logo { width:min(390px,84vw); }
    .landing-enter-prompt { width:min(340px,86vw); gap:.65rem; padding-inline:.9rem; font-size:.9rem; }
    .landing-enter-rule { flex-basis:24px; }
    .landing-chapter { width:min(100% - 1.25rem,720px); min-height:auto; padding:5.5rem 0; gap:2.2rem; }
    .landing-chapter h1,.landing-chapter h2,.landing-final-invitation h2 { font-size:clamp(2.5rem,12vw,4rem); }
    .landing-government-grid { grid-template-columns:1fr; }
    .landing-government-path > p { min-height:0; }
    .landing-country-media { grid-template-columns:1fr; }
    .landing-country-path-header { align-items:flex-start; flex-direction:column; gap:.2rem; }
    .landing-author-stage { min-height:510px; padding:1rem; }
    .landing-author-field { top:1rem; left:1rem; width:calc(100% - 2rem); }
    .landing-author-dossier.setup-dossier { width:88%; margin-top:4.8rem; padding:1rem; }
    .landing-inherited-carousel { grid-template-areas:"cards cards" "previous next"; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.65rem .75rem; min-height:0; padding:.2rem .75rem .5rem; }
    .landing-inherited-grid { grid-area:cards; width:100%; }
    .landing-inherited-carousel .inherited-carousel-arrow { position:static; width:100%; height:44px; transform:none; }
    .landing-inherited-carousel .inherited-carousel-arrow:hover { transform:translateY(-2px); }
    .landing-inherited-carousel .inherited-carousel-arrow-prev { grid-area:previous; }
    .landing-inherited-carousel .inherited-carousel-arrow-next { grid-area:next; }
    .landing-inherited-card.inherited-country-card { min-height:0; padding:.9rem; }
    .landing-inherited-card .inherited-card-topline { align-items:center; flex-direction:row; padding-right:0; }
    .landing-inherited-card.inherited-country-card h3 { margin-right:0; }
    .landing-inherited-card .inherited-fact { grid-template-columns:52px minmax(0,1fr); }
    .landing-inherited-card .inherited-party-value { align-items:flex-start; flex-direction:column; }
    .landing-media-placeholder--hero .landing-media-placeholder-screen { min-height:240px; }
    .landing-media-placeholder--still .landing-media-placeholder-screen { min-height:220px; }
    .landing-world-showcase { display:block; }
    .landing-event-splash { grid-template-columns:1fr; }
    .landing-event-copy.me-left { order:2; }
    .landing-event-art.me-right { order:1; min-height:260px; }
    .landing-calendar-header { align-items:start; flex-direction:column; }
    .landing-calendar-review .dossier-item-header { align-items:start; flex-direction:column; }
    .landing-travel-route-label--origin { left:7%; top:24%; }
    .landing-travel-route-label--destination { right:7%; bottom:45%; }
    .landing-arrival-card { right:.75rem; bottom:.75rem; width:calc(100% - 1.5rem); }
    .landing-pressure-grid { grid-template-columns:1fr; grid-template-areas:"issue" "strength" "switcher"; }
    .landing-pressure-intro { min-height:0; }
    .landing-national-card { min-height:225px; }
    .landing-possibility-outcome-group { grid-template-columns:1fr; }
    .landing-composer-snapshot { grid-column:auto; padding:0; }
    #dashboardStory.landing-composer-snapshot .story-input-row { min-height:58px !important; }
    #dashboardStory.landing-composer-snapshot .story-input-container textarea { height:3rem; min-height:3rem; max-height:3rem; font-size:.84rem; }
    #dashboardStory.landing-composer-snapshot .story-send-btn { width:52px; height:52px; min-height:52px; align-self:center; }
    .landing-memory-record { width:100%; }
    .landing-idea-deck { min-height:145px; }
    .landing-idea-card { inset:0 0 25px; }
    .landing-idea-card .story-input-row { min-height:58px; }
    .landing-idea-card textarea { height:3rem !important; min-height:3rem !important; max-height:3rem !important; font-size:.84rem; }
    .landing-idea-card .story-send-btn { width:52px; height:52px; min-height:52px; align-self:center; }
    .landing-system-map { min-height:1130px; border-radius:22px; }
    .landing-system-map::after { top:13%; width:310px; height:210px; }
    .landing-system-cluster h3 { gap:.4rem; font-size:.56rem; letter-spacing:.11em; }
    .landing-system-cluster h3::before { width:12px; }
    .landing-system-cluster--world h3 { left:5%; top:19%; }
    .landing-system-cluster--country h3 { left:5%; top:38%; }
    .landing-system-cluster--government h3 { right:5%; top:58%; }
    .landing-system-cluster--persistence h3 { left:7%; bottom:15%; }
    .landing-system-node { width:96px; min-height:84px; font-size:.61rem; }
    .landing-system-node > span { max-width:96px; }
    .landing-system-node::before { width:48px; height:48px; }
    .landing-system-node svg { width:19px; height:19px; margin-top:14px; }
    .landing-system-node--core { --node-y:13%; width:112px; height:112px; }
    .landing-system-node--core svg { width:25px; height:25px; margin:0; }
    .landing-system-node--core strong { font-size:1.12rem; }
    .landing-system-node--core span { font-size:.6rem; }
    #landing-system-story { --node-x:calc(50% - 68px); }
    #landing-system-events { --node-x:calc(50% + 68px); --node-y:13%; }
    #landing-system-people { --node-x:17%; --node-y:27%; }
    #landing-system-places { --node-x:48%; --node-y:24%; }
    #landing-system-diplomacy { --node-x:80%; --node-y:27%; }
    #landing-system-organizations { --node-x:66%; --node-y:34%; }
    #landing-system-statistics { --node-x:17%; --node-y:44%; }
    #landing-system-resources { --node-x:49%; --node-y:42%; }
    #landing-system-issues { --node-x:81%; --node-y:45%; }
    #landing-system-strengths { --node-x:34%; --node-y:52%; }
    #landing-system-parliament { --node-x:18%; --node-y:63%; }
    #landing-system-elections { --node-x:51%; --node-y:61%; }
    #landing-system-promises { --node-x:81%; --node-y:65%; }
    #landing-system-dossier { --node-x:28%; --node-y:79%; }
    #landing-system-developments { --node-x:69%; --node-y:78%; }
    #landing-system-time { --node-x:31%; --node-y:92%; }
    .landing-system-tooltip { width:calc(100% - 24px); }
    .discord-corner-btn span { display:none; }
    .discord-corner-btn { width:42px; padding:.45rem; justify-content:center; }
    .landing-final-invitation { padding-inline:1rem; }
}
@media (max-width:400px) {
    .landing-chapter-nav-list button { width:26px; min-width:26px; margin-inline:0; }
    .landing-chapter-node-icon { width:14px; height:14px; }
}
@media (max-width:460px) {
    .landing-system-map { min-height:1080px; }
    .landing-system-node { width:88px; font-size:.58rem; }
    .landing-system-node > span { max-width:88px; }
    .landing-system-node--core { width:108px; height:108px; }
    .landing-media-placeholder-screen { padding:1rem; }
    .landing-persistent-enter { top:.7rem; }
}
