/* ForgePlay homepage — continuous dark surfaces, restrained ember accents.
   Inspired by the Awesome DESIGN.md Raycast surface system; uses ForgePlay's
   own artwork and type stack. This stylesheet owns the homepage layout. */
.fp-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); grid-template-areas:"heading notice" "details notice"; column-gap:64px; text-align:left; padding-block:46px; }
.fp-hero-heading { grid-area:heading; min-width:0; }
.fp-hero-details { grid-area:details; min-width:0; }
.fp-news-preview { grid-area:notice; align-self:center; min-width:0; padding:26px; border:1px solid var(--fp-line); border-top:2px solid #b77961; border-radius:12px; background:#16191e; }
.fp-news-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; align-items:center; margin-bottom:17px; }
.fp-news-meta [data-announcement-date] { font-size:11px; color:#9ca5b2; }
.fp-news-preview h2 { font-size:23px; line-height:1.4; letter-spacing:-.035em; text-wrap:pretty; }
.fp-home .fp-news-summary { margin-top:15px; font-size:14px; line-height:1.75; color:#bdc4ce; }
.fp-news-links { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:22px; padding-top:16px; border-top:1px solid var(--fp-line); }
.fp-news-links .fp-text-link { font-size:12px; }
.fp-news-links [data-announcement-link] { color:var(--fp-accent); }
.fp-hero .fp-first-flag,.fp-hero .fp-actions { justify-content:flex-start; }
.fp-live-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--fp-green); flex-shrink:0; }
.fp-eyebrow { color:var(--fp-accent); font-size:11px; font-weight:650; letter-spacing:.12em; line-height:1.6; text-transform:uppercase; }
.fp-hero h1 { margin-top:15px; font-size:clamp(44px,5vw,66px); line-height:1.1; letter-spacing:-.058em; }
.fp-hero h1 span { display:block; }
.fp-hero h1 span:last-child { color:var(--fp-accent); }
.fp-home .fp-hero-lead { max-width:650px; margin:22px 0 0; color:#d3d5da; font-size:18px; line-height:1.65; word-break:keep-all; }
.fp-home .fp-hero-lead:lang(ja) { word-break:normal; }
.fp-first-flag { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:10px; color:#bdc6d2; font-size:12px; letter-spacing:.035em; margin-bottom:18px!important; }
.fp-first-flag strong { color:#bddec7; border:1px solid #405747; border-radius:6px; padding:5px 10px; background:#1a2b22; font-size:12px; letter-spacing:.08em; }
.fp-scope-link { display:inline-block; margin-top:9px; color:#9ea7b5; font-size:10px; text-decoration:underline!important; text-underline-offset:3px; }
.fp-scope-link:hover { color:var(--fp-accent); }
.fp-purpose { display:grid; grid-template-columns:.78fr 1.22fr; gap:60px; align-items:center; padding-block:64px; border-bottom:1px solid var(--fp-line); }
.fp-purpose-art { position:relative; height:355px; overflow:hidden; border:1px solid #3c3934; border-radius:14px; background:#191717; }
.fp-purpose-art img { width:100%; height:100%; object-fit:cover; filter:saturate(.45) brightness(.56); object-position:55% center; }
.fp-purpose-art>span { position:absolute; top:26px; left:25px; font-size:28px; line-height:1.15; font-weight:650; letter-spacing:-.055em; color:#f0e7dc; }
.fp-purpose-copy h2 { font-size:clamp(27px,3.1vw,39px); line-height:1.3; margin-top:12px; }
.fp-purpose-copy>p:not(.fp-eyebrow) { margin-top:18px; font-size:14px; line-height:1.85; color:#bec4ce; }
.fp-purpose-copy [data-i18n="refresh.purposeBody"] { white-space:pre-line; }
.fp-purpose-copy blockquote { margin:22px 0; border-left:2px solid #b77961; padding-left:17px; font-size:17px; line-height:1.65; font-weight:550; letter-spacing:-.025em; color:#e9b49d; }
@media(max-width:900px) { .fp-purpose { gap:30px; grid-template-columns:.7fr 1.3fr; }.fp-purpose-art>span { font-size:23px;left:20px; } }
@media(max-width:700px) { .fp-first-flag { font-size:10px;gap:7px; }.fp-first-flag strong { font-size:11px; }.fp-purpose { grid-template-columns:1fr;gap:28px;padding-block:42px; }.fp-purpose-art { height:215px; }.fp-purpose-copy h2 { font-size:29px; }.fp-purpose-copy>p:not(.fp-eyebrow) { font-size:13px; }.fp-purpose-copy blockquote { font-size:16px; }.fp-scope-link { max-width:310px;font-size:9px; } }
.fp-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:26px; }
.fp-button { min-height:47px; display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 22px; border:1px solid var(--fp-line); border-radius:9px; font-size:14px; font-weight:600; line-height:1.4; text-align:center; transition:background .15s,border-color .15s,transform .15s; }
.fp-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.65; }
.fp-primary { background:#eeede9; border-color:#eeede9; color:#16181c; }
.fp-primary:hover { background:white; border-color:white; }
.fp-secondary { background:#1a1d22; color:var(--fp-text); }
.fp-secondary:hover { background:#242830; border-color:#525762; }
.fp-button:active { transform:translateY(1px); }
.fp-home .fp-requirements { margin-top:16px; color:#989ea8; font-size:11px; }
.fp-stage { margin-top:4px; }
.fp-panorama { position:relative; overflow:hidden; height:350px; margin:0; border:1px solid #3a302e; border-radius:16px; background:#17130f; }
.fp-panorama>img { width:100%; height:100%; object-fit:cover; object-position:50% 44%; filter:saturate(.65) brightness(.72); }
.fp-panorama-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,12,14,.84),transparent 47%,rgba(10,12,14,.2)),linear-gradient(0deg,rgba(10,12,14,.92),transparent 70%); }
.fp-panorama figcaption { position:absolute; left:36px; right:36px; bottom:29px; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.fp-stage-caption { max-width:390px; color:#efebe4; font-size:25px; line-height:1.4; font-weight:500; letter-spacing:-.03em; }
.fp-stage-route { color:#d4d2cb; font-size:10px; letter-spacing:.12em; white-space:nowrap; padding-bottom:3px; }
.fp-stage-route i { color:var(--fp-accent); margin:0 13px; font-style:normal; }
.fp-art-brand { position:absolute; top:28px; left:36px; font-size:15px; font-weight:650; }
.fp-art-brand span { display:block; margin-top:4px; color:#ada9a2; font-size:9px; letter-spacing:.2em; }
.fp-proofbar { display:flex; align-items:center; justify-content:center; gap:28px; min-height:65px; border-bottom:1px solid var(--fp-line); font-size:11px; color:#a6acb6; }
.fp-proofbar div { display:flex; gap:8px; align-items:center; }
.fp-proofbar strong { font-weight:500; }
.fp-proofbar a { color:inherit; }
.fp-proofbar a:hover { color:var(--fp-text); }
.fp-section-head { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:30px; }
.fp-section-head>div:first-child { max-width:680px; }
.fp-section-head h2,.fp-story h2,.fp-download h2 { font-size:clamp(30px,3.5vw,43px); line-height:1.22; margin-top:10px; }
.fp-home .fp-section-lead { color:var(--fp-muted); font-size:14px; max-width:540px; margin-top:15px; }
.fp-count { display:flex; align-items:baseline; gap:10px; white-space:nowrap; padding:12px 0; }
.fp-count strong { font-size:40px; line-height:1; font-weight:500; letter-spacing:-.04em; color:var(--fp-green); }
.fp-count span { font-size:12px; color:var(--fp-muted); }
.fp-library-toolbar { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:15px 0; border-block:1px solid var(--fp-line); }
.fp-search { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.fp-search svg { width:20px; height:20px; fill:none; stroke:#a9aeb8; stroke-width:1.5; flex-shrink:0; }
.fp-search input { padding:9px 2px; width:100%; background:transparent; color:var(--fp-text); border:0; outline-offset:0; font-size:14px; min-width:0; }
.fp-search input::placeholder { color:#9a9faa; }
.fp-filters { display:flex; gap:4px; flex-shrink:0; }
.fp-filters button,.fp-text-button { border:0; border-radius:7px; background:transparent; color:#aeb4bd; font-size:12px; min-height:38px; padding:9px 12px; }
.fp-filters button[aria-pressed=true] { background:#282c33; color:#f2f1ed; }
.fp-filters button:hover,.fp-text-button:hover { color:var(--fp-text); background:#21252c; }
.fp-game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:22px; }
.fp-game { position:relative; min-width:0; border:1px solid var(--fp-line); border-radius:11px; background:#15181d; transition:border-color .18s,background .18s; }
.fp-game:hover { border-color:#525964; background:#191d23; }
.fp-game[open] { grid-column:1 / -1; border-color:#62616a; }
.fp-game[data-tone="green"] { background:#14271e; border-color:#3d7655; }
.fp-game[data-tone="yellow"] { background:#2b2617; border-color:#8b7533; }
.fp-game[data-tone="red"] { background:#2d191c; border-color:#994d54; }
.fp-game[data-tone="green"]:hover { background:#193124; border-color:#67a880; }
.fp-game[data-tone="yellow"]:hover { background:#352e19; border-color:#b59b4f; }
.fp-game[data-tone="red"]:hover { background:#391e22; border-color:#c26a72; }
.fp-game[data-tone="green"] .fp-game-status { color:#a7e0b8; }
.fp-game[data-tone="yellow"] .fp-game-status { color:#f0d47f; }
.fp-game[data-tone="red"] .fp-game-status { color:#ffa6ad; }
.fp-game-tested-version { margin-top:9px!important; color:#d6dfe0; font-size:11px; line-height:1.65; }
.fp-game-version-warning { margin-top:12px!important; color:#e6d59d; font-size:12px; line-height:1.75; }
.fp-game-meta { overflow-wrap:anywhere; }
.fp-game summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:36px minmax(0,1fr) 18px; gap:16px; padding:22px 20px; align-items:center; min-height:120px; }
.fp-game summary::-webkit-details-marker { display:none; }
.fp-game-number { font-size:12px; font-family:ui-monospace,monospace; color:#727b87; align-self:start; padding-top:2px; }
.fp-game h3 { font-size:16px; letter-spacing:-.02em; line-height:1.4; }
.fp-game-official { display:block; color:#929ba8; font-size:11px; margin-top:4px; }
.fp-game-meta { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:10px; color:#9ea6b3; margin-top:14px; }
.fp-game-status { color:var(--fp-green); }
.fp-game-arrow { color:#959fae; transition:transform .16s; }
.fp-game[open] .fp-game-arrow { transform:rotate(90deg); }
.fp-game-records { border-top:1px solid var(--fp-line); padding:0 28px 15px; }
.fp-game-record { padding:20px 0; border-bottom:1px solid var(--fp-line); }
.fp-game-record:last-child { border-bottom:0; }
.fp-game-record-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:12px; color:var(--fp-muted); margin-bottom:10px; }
.fp-game-record-heading strong { color:var(--fp-text); font-weight:600; }
.fp-game-record p { font-size:14px; line-height:1.75; color:#c8cbd2; max-width:920px; }
.fp-game-empty { grid-column:1 / -1; padding:35px 0; color:var(--fp-muted); }
.fp-library-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:22px; min-height:60px; font-size:11px; color:#9ba3b0; }
.fp-text-link { color:#dfdfe2; font-size:13px; font-weight:500; text-decoration:none; }
.fp-text-link:hover { color:var(--fp-accent); text-decoration:underline; text-underline-offset:5px; }
.fp-feature-section { border-block:1px solid #22272e; background:#121519; }
.fp-feature-shell { background:#191d23; border:1px solid #313740; border-radius:16px; overflow:hidden; }
.fp-feature-tabs { display:flex; gap:10px; padding:16px 24px; border-bottom:1px solid #313740; }
.fp-feature-tabs button { display:flex; align-items:center; gap:9px; min-height:44px; padding:9px 19px; border:1px solid transparent; background:transparent; border-radius:8px; color:#a5adba; font-size:13px; }
.fp-feature-tabs button>span:first-child { font-family:ui-monospace,monospace; font-size:10px; color:#8e98a8; }
.fp-feature-tabs button[aria-selected=true] { background:#303138; border-color:#595158; color:#ffcab7; }
.fp-feature-tabs button:hover { color:var(--fp-text); }
.fp-feature-panel { display:grid; grid-template-columns:1.1fr 1fr; gap:24px 52px; padding:40px 44px 0; min-height:380px; align-items:center; }
.fp-feature-copy h3 { font-size:27px; line-height:1.3; }
.fp-feature-copy p { font-size:14px; line-height:1.8; color:var(--fp-muted); margin:16px 0 25px; max-width:480px; }
.fp-feature-panel:not(:has(.fp-metric-row)) { padding-bottom:40px; }
.fp-mode-visual { position:relative; width:260px; height:224px; justify-self:center; display:grid; place-items:center; }
.fp-orbit { position:absolute; width:190px; height:190px; border:1px solid #404852; border-radius:50%; transform:rotate(-30deg) scaleX(1.18); }
.fp-orbit::after { content:""; position:absolute; inset:20px; border:1px dashed #333a45; border-radius:50%; }
.fp-core { padding:15px; background:#292e37; border:1px solid #414852; border-radius:24px; z-index:1; }
.fp-core img { border-radius:19px; }
.fp-orbit-chip { position:absolute; background:#262c35; border:1px solid #4e5866; border-radius:7px; padding:5px 12px; font-size:11px; letter-spacing:.05em; z-index:2; }
.fp-chip-cpu { left:0; top:43px; } .fp-chip-gpu { right:0; bottom:47px; }
.fp-mode-badge { position:absolute; bottom:0; display:flex; align-items:center; gap:5px; background:#1c3028; border:1px solid #3d5b49; color:#b2dfbe; padding:4px 10px; border-radius:20px; font-size:10px; white-space:nowrap; z-index:3; }
.fp-mode-badge i { width:5px; height:5px; background:#a9d9b3; border-radius:50%; }
.fp-metric-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1 / -1; border-top:1px solid #353b44; margin-top:12px; padding:22px 0 28px; gap:20px; }
.fp-metric-row div { display:flex; flex-direction:column; gap:5px; }
.fp-metric-row strong { font-size:18px; font-weight:500; letter-spacing:-.03em; }
.fp-metric-row span { color:#a9b1bd; font-size:11px; }
.fp-runtime-visual { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:100%; max-width:320px; justify-self:center; }
.fp-runtime-visual>span { padding:12px 8px; text-align:center; border:1px solid #39414d; border-radius:9px; font-size:12px; color:#b0b9c7; background:#222833; }
.fp-runtime-hub { display:flex; justify-content:center; align-items:center; gap:14px; grid-column:1 / -1; padding:17px; border:1px solid #765c50; border-radius:12px; background:#2a2728; }
.fp-runtime-hub img { border-radius:10px; }
.fp-source-visual { border:1px solid #40434a; border-radius:11px; font-family:ui-monospace,monospace; font-size:12px; width:100%; color:#afb7c4; padding:20px; display:grid; gap:9px; }
.fp-source-address { padding-bottom:12px; margin-bottom:3px; border-bottom:1px solid #373c43; font-size:10px; }
.fp-source-visual>div { border-top:1px solid #373c43; padding-top:15px; margin-top:8px; font-size:10px; }
.fp-evidence { margin-top:25px; font-size:12px; color:#a9b1bd; }
.fp-evidence summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; letter-spacing:.03em; list-style:none; }
.fp-evidence summary::-webkit-details-marker { display:none; }
.fp-evidence p { margin-top:12px; max-width:880px; }
.fp-evidence-route { display:block; margin-top:16px; font-size:11px; color:#d0bdaf; }
.fp-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; border-bottom:1px solid var(--fp-line); }
.fp-story-image { height:255px; border-radius:12px; overflow:hidden; border:1px solid #36312d; }
.fp-story-image img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.5) brightness(.8); }
.fp-story h2 { font-size:32px; }
.fp-story p:not(.fp-eyebrow) { font-size:14px; color:var(--fp-muted); margin:15px 0 22px; }
.fp-apps .fp-section-head>p { font-size:13px; color:var(--fp-muted); max-width:270px; }
.fp-app-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:26px 0; }
.fp-segments { display:flex; padding:3px; gap:4px; border:1px solid var(--fp-line); background:#171b21; border-radius:9px; }
.fp-segments button { border:0; background:transparent; color:#b0b7c3; font-size:12px; min-height:36px; padding:7px 13px; border-radius:6px; }
.fp-segments button[aria-selected=true] { background:#343941; color:var(--fp-text); }
.fp-app-controls .fp-muted { margin-left:auto; font-size:11px; color:var(--fp-muted); }
.fp-home .developer-app-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; }
.fp-home .developer-app-card { min-height:220px; padding:24px; background:#15181d; border:1px solid var(--fp-line); border-radius:12px; transform:none; box-shadow:none; }
.fp-home .developer-app-card:hover { border-color:#505866; background:#191d24; transform:none; }
.fp-home .developer-app-heading { align-items:center; gap:12px; }
.fp-home .developer-app-artwork { width:49px; height:49px; border-radius:12px; border:0; box-shadow:none; }
.fp-home .developer-app-identity h3 { font-size:17px; line-height:1.3; letter-spacing:-.02em; }
.fp-home .developer-app-badges { gap:4px; margin-top:5px; }
.fp-home .developer-app-badge { font-size:9px; color:#bac3cf; background:#242a32; border:0; padding:3px 5px; border-radius:4px; font-weight:500; }
.fp-home .developer-app-badge.compatible { color:#b8d5c2; background:#233329; }
.fp-home .developer-app-summary { font-size:12px; line-height:1.7; color:#b0b7c2; margin:18px 0; }
.fp-home .developer-app-link { font-size:11px; color:#d8dce2; font-weight:500; }
.fp-home .developer-project-card { align-items:start; text-align:left; min-height:220px; }
.fp-home .developer-project-card .developer-app-heading { flex-direction:row; align-items:center; }
.fp-home .developer-project-card .developer-app-artwork { width:49px; height:49px; }
.fp-home .developer-project-card .developer-app-badges { justify-content:start; }
.fp-home .developer-project-card .developer-app-summary { margin:18px 0 0; }
.fp-download { border-block:1px solid var(--fp-line); background:#171a1f; padding:70px 0; }
.fp-download-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:90px; align-items:center; }
.fp-download h2 { font-size:42px; }
.fp-download p:not(.fp-eyebrow) { color:var(--fp-muted); font-size:14px; margin-top:17px; }
.fp-download .fp-actions { justify-content:start; }
.fp-download .fp-release-status { display:flex; gap:8px; align-items:center; font-size:11px!important; margin-top:18px!important; }
.fp-trust { padding:0 0 0 30px; border-left:1px solid var(--fp-line); }
.fp-trust img { border-radius:15px; }
.fp-trust .release-evidence-copy { margin:20px 0!important; font-size:16px!important; line-height:1.65; }
.fp-support { display:flex; align-items:center; justify-content:space-between; gap:36px; padding-block:30px; border-bottom:1px solid var(--fp-line); }
.fp-support>div { display:flex; align-items:center; gap:18px; max-width:730px; }
.fp-support p { color:#9ba4b2; font-size:12px; line-height:1.7; }
.fp-open { font-size:10px; letter-spacing:.1em; font-weight:600; color:#b7c0cd; padding:5px 8px; border:1px solid #46505a; border-radius:5px; white-space:nowrap; }
.fp-support>a { flex-shrink:0; font-size:12px; }
@media(max-width:1050px) {
  .fp-hero { column-gap:32px; }.fp-news-preview { padding:22px; }
  .fp-nav { gap:18px; }.fp-home .fp-links { gap:0; }.fp-home .fp-links a { padding:8px;font-size:12px; }
  .fp-wrap { width:calc(100% - 48px); }.fp-feature-panel { gap:25px; padding-inline:28px; }
  .fp-game-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.fp-game summary { padding:20px 16px;gap:10px; }
  .fp-home .developer-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fp-download-grid { gap:38px; }.fp-story { gap:38px; }
}
@media(max-width:900px) {
  .fp-hero { grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "notice" "details"; row-gap:25px; padding-block:32px; }
  .fp-news-preview { max-width:650px; width:100%; }.fp-hero-details .fp-hero-lead { margin-top:0; }
  .fp-menu { display:block; }.fp-nav-tools { margin-left:auto; }
  .fp-home .fp-links { display:none; position:absolute; top:100%; left:0; right:0; padding:14px 18px; margin:0; background:#171b21; border-bottom:1px solid var(--fp-line); }
  .fp-home .fp-links.is-open { display:grid; grid-template-columns:1fr 1fr; }
  .fp-home .fp-links a { padding:12px; font-size:14px; }
}
@media(max-width:700px) {
  .fp-wrap { width:calc(100% - 36px); }.fp-section { padding-block:56px; }.fp-nav { min-height:65px; }
  .fp-brand { font-size:18px; }.fp-menu { display:block; }.fp-nav-tools { margin-left:auto; }
  .fp-home .fp-links { display:none; position:absolute; top:64px; left:0; right:0; padding:14px 18px; margin:0; background:#171b21; border-bottom:1px solid var(--fp-line); }
  .fp-home .fp-links.is-open { display:grid; grid-template-columns:1fr 1fr; }.fp-home .fp-links a { padding:12px;font-size:14px; }
  .fp-hero { padding-top:24px; padding-bottom:29px; row-gap:22px; }
  .fp-news-preview { padding:19px; }.fp-news-meta { margin-bottom:11px; }.fp-news-meta .fp-eyebrow { font-size:10px; }.fp-news-meta [data-announcement-date] { font-size:10px; }
  .fp-news-preview h2 { font-size:20px; }.fp-home .fp-news-summary { margin-top:11px; font-size:13px; line-height:1.7; }.fp-news-links { margin-top:16px; padding-top:13px; }
  .fp-hero h1 { font-size:44px; letter-spacing:-.07em; line-height:1.17; }.fp-hero .fp-eyebrow { font-size:9px; }
  .fp-home .fp-hero-lead { font-size:14px; max-width:360px; margin-top:0; }.fp-actions { gap:9px; margin-top:21px; }
  .fp-button { font-size:12px; padding:11px 14px; min-height:44px; }.fp-home .fp-requirements { font-size:10px; }
  .fp-panorama { height:260px; }.fp-panorama>img { object-position:58% center; }
  .fp-panorama figcaption { left:19px; right:19px; bottom:19px; flex-direction:column; align-items:start; gap:12px; }
  .fp-stage-caption { font-size:19px; max-width:240px; }.fp-stage-route { font-size:8px; }.fp-art-brand { left:19px;top:18px;font-size:13px; }
  .fp-proofbar { gap:15px; min-height:58px; flex-wrap:wrap; font-size:10px; padding:13px 0; }
  .fp-section-head { gap:18px; margin-bottom:23px; align-items:start; }.fp-section-head h2 { font-size:30px; }.fp-home .fp-section-lead { font-size:13px; }
  .fp-count { flex-direction:column;gap:8px;align-items:end; }.fp-count strong { font-size:34px; }.fp-count span { font-size:10px; }
  .fp-library-toolbar { flex-wrap:wrap;gap:12px; }.fp-search { flex-basis:100%; }.fp-filters { width:100%; }.fp-filters button { flex:1; }
  .fp-game-grid { grid-template-columns:1fr; gap:8px;padding-top:16px; }.fp-game summary { min-height:97px; padding:17px 16px; }
  .fp-game-meta { margin-top:9px; }.fp-game-records { padding-inline:18px; }.fp-game-record p { font-size:13px; }
  .fp-library-footer { flex-wrap:wrap; gap:9px; }.fp-library-footer>span { flex-basis:100%; }.fp-text-link { font-size:12px; }
  .fp-feature-tabs { padding:10px; gap:4px; }.fp-feature-tabs button { flex:1; padding:8px 6px; justify-content:center; font-size:11px;gap:4px; }.fp-feature-tabs button>span:first-child { display:none; }
  .fp-feature-panel { grid-template-columns:1fr; padding:27px 23px 0;gap:28px; min-height:0; }.fp-feature-copy h3 { font-size:23px; }.fp-feature-copy p { font-size:13px; margin-bottom:17px; }
  .fp-mode-visual { width:240px; height:208px; }.fp-orbit { width:172px;height:172px; }.fp-core { padding:12px; }.fp-core img { width:75px;height:75px; }
  .fp-metric-row { gap:12px; margin-top:4px; padding-block:20px; }.fp-metric-row strong { font-size:15px; }.fp-metric-row span { font-size:9px; }
  .fp-story { grid-template-columns:1fr;gap:26px; }.fp-story-image { height:200px; }.fp-story h2 { font-size:29px; }
  .fp-apps .fp-section-head { flex-direction:column;gap:14px; }.fp-apps .fp-section-head>p { max-width:none; }
  .fp-app-controls { gap:10px; }.fp-app-controls .fp-muted { flex-basis:100%; }.fp-segments button { padding:8px 11px;font-size:11px; }
  .fp-home .developer-app-grid { grid-template-columns:1fr; }.fp-home .developer-app-card { min-height:0;padding:22px; }.fp-home .developer-app-summary { font-size:13px; }
  .fp-download { padding-block:50px; }.fp-download-grid { grid-template-columns:1fr;gap:37px; }.fp-download h2 { font-size:32px; }
  .fp-trust { border-left:0; border-top:1px solid var(--fp-line);padding:25px 0 0; }.fp-trust img { width:45px;height:45px; }.fp-trust .release-evidence-copy { font-size:15px!important; }
  .fp-support { flex-direction:column;align-items:start;gap:19px; }.fp-footer-top { flex-direction:column;align-items:start; }.fp-footer-links { gap:15px 22px; }
}
@media(prefers-reduced-motion:reduce) {
  html:has(.fp-home) { scroll-behavior:auto; }
  .fp-home *, .fp-home *::before, .fp-home *::after { transition:none!important; animation:none!important; }
}
