@font-face { font-family: "Progression Georgia"; src: url("/art/georgia.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 400; } @font-face { font-family: "Progression Georgia"; src: url("/art/georgiab.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 700; } @font-face { font-family: "Progression Georgia"; src: url("/art/georgiaz.ttf") format("truetype"); font-display: swap; font-style: italic; font-weight: 700; } :root { color-scheme: dark; --bg: #151515; --surface: #212121; --surface-raised: #2b2b2b; --surface-deep: #171a1c; --line: #4d4d4d; --line-soft: #373737; --text: #f5f2ec; --body: #c8c8c8; --muted: #979797; --yellow: #f0a621; --green: #79a557; --green-bright: #8fbd30; --purple: #cf83ce; --red: #ff6863; --pink: #ef718f; --radius: 22px; --font-serif: "Progression Georgia", Georgia, "Times New Roman", serif; --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } * { box-sizing: border-box; } html { min-width: 320px; background: var(--bg); } body { position: relative; min-width: 320px; min-height: 100vh; margin: 0; background: #0b0b0c url("/art/Desolation.png") center / cover fixed no-repeat; color: var(--text); font-family: var(--font-ui); font-size: 16px; line-height: 1.5; } body::before { content: ""; position: fixed; z-index: 0; inset: 0; pointer-events: none; background: radial-gradient(circle at center, rgba(21, 21, 21, .08), rgba(21, 21, 21, .76) 72%), linear-gradient(rgba(21, 21, 21, .36), rgba(21, 21, 21, .66)); } button, input { font: inherit; } button { color: inherit; } img { display: block; max-width: 100%; } h1, h2, p { margin: 0; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .intro { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; overflow: hidden; background: #0b0b0c url("/art/Desolation.png") center / cover no-repeat; transition: opacity .7s ease, visibility .7s ease; } .intro-shade { position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(21, 21, 21, .08), rgba(21, 21, 21, .76) 72%), linear-gradient(rgba(21, 21, 21, .36), rgba(21, 21, 21, .66)); } .intro-content { position: relative; width: min(72vw, 760px); text-align: center; animation: intro-rise .85s cubic-bezier(.2, .72, .24, 1) both; } .intro-logo { width: 100%; filter: drop-shadow(0 10px 32px rgba(0, 0, 0, .7)); } .intro-content p { margin-top: 20px; color: rgba(245, 242, 236, .65); font-family: var(--font-serif); font-size: clamp(.85rem, 1.3vw, 1.05rem); font-style: italic; letter-spacing: .12em; text-transform: uppercase; } .is-ready .intro { opacity: 0; visibility: hidden; } .page-shell { position: relative; z-index: 1; width: min(1220px, calc(100% - 48px)); margin: 0 auto; padding-bottom: 26px; opacity: 0; transform: translateY(10px); transition: opacity .55s ease .18s, transform .55s ease .18s; } .is-ready .page-shell { opacity: 1; transform: none; } .site-header { min-height: 98px; display: flex; align-items: center; gap: 24px; } .brand { width: clamp(260px, 35vw, 420px); } .brand img { width: 100%; } .service-state { margin-left: auto; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: .78rem; font-weight: 800; letter-spacing: .08em; line-height: 1.3; text-align: right; text-transform: uppercase; } .service-state span:last-child { max-width: 300px; } .state-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 14px rgba(240, 166, 33, .5); } .service-state.ready .state-dot { background: #75bf77; box-shadow: 0 0 14px rgba(117, 191, 119, .5); } .service-state.failed .state-dot { background: var(--red); box-shadow: none; } .service-state.working .state-dot { animation: pulse 1.2s ease-in-out infinite; } main { display: grid; gap: 18px; padding-top: 2px; } .panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 18px 42px rgba(0, 0, 0, .18); } .hero { position: relative; min-height: 430px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr); align-items: stretch; } .hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, rgba(20, 25, 29, .97) 0 60%, rgba(28, 43, 38, .82) 100%); } .hero-copy { position: relative; z-index: 1; align-self: center; padding: clamp(34px, 5vw, 60px); } h1, h2 { font-family: var(--font-serif); } h1 { max-width: 760px; font-size: clamp(2.35rem, 5.4vw, 4.7rem); font-weight: 700; letter-spacing: -.035em; line-height: .97; } h1 em { color: #e7ffe0; font-size: .68em; } .hero-summary { max-width: 58ch; margin-top: 22px; color: var(--body); font-family: var(--font-serif); font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.55; } .start-button { width: min(100%, 620px); min-height: 86px; margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 18px 15px 22px; border: 1px solid #8bad3f; border-radius: 12px; background: linear-gradient(120deg, #6f981f, #84ad28); box-shadow: inset 0 1px rgba(255,255,255,.15), 0 12px 26px rgba(50, 80, 15, .19); color: #f8ffe9; cursor: pointer; text-align: left; transition: transform .18s ease, filter .18s ease, box-shadow .18s ease; } .start-button:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: inset 0 1px rgba(255,255,255,.15), 0 16px 32px rgba(50, 80, 15, .25); } .start-button:focus-visible { outline: 3px solid rgba(183, 226, 83, .35); outline-offset: 3px; } .start-button > span:first-child { display: grid; } .start-button strong { font-family: var(--font-serif); font-size: clamp(1.15rem, 2.3vw, 1.55rem); line-height: 1.15; } .start-button small { margin-top: 3px; color: rgba(248,255,233,.76); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; } .start-arrow { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(18, 38, 8, .23); font-size: 1.35rem; transition: transform .18s ease; } .start-button:hover .start-arrow { transform: translateX(3px); } .windows-download { width: min(100%, 620px); min-height: 62px; margin-top: 10px; display: grid; grid-template-columns: 36px minmax(0, 1fr) 28px; align-items: center; gap: 12px; padding: 10px 15px; border: 1px solid #4c565e; border-radius: 10px; background: rgba(19, 24, 27, .82); color: var(--text); text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; } .windows-download:hover { transform: translateY(-1px); border-color: #7a8994; background: rgba(25, 31, 35, .94); } .windows-download:focus-visible { outline: 3px solid rgba(151, 179, 198, .25); outline-offset: 3px; } .windows-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; background: #27343c; color: #b9d9eb; font-size: 1.35rem; line-height: 1; } .windows-download > span:nth-child(2) { min-width: 0; display: grid; } .windows-download strong { font-family: var(--font-serif); font-size: .98rem; } .windows-download small { color: var(--muted); font-size: .72rem; } .windows-download-arrow { color: #afc6d4; font-size: 1.1rem; text-align: center; } .freshness { width: fit-content; margin-top: 24px; display: grid; grid-template-columns: auto auto; column-gap: 13px; align-items: baseline; font-variant-numeric: tabular-nums; } .freshness > span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; } .freshness strong { color: var(--text); font-family: var(--font-serif); font-size: 1.04rem; } .freshness small { grid-column: 1 / -1; margin-top: 2px; color: var(--muted); } .hero-art { position: relative; z-index: 1; min-height: 290px; overflow: hidden; display: grid; place-items: center; padding: 30px; background: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 18px, transparent 18px 36px), linear-gradient(145deg, #2b3033, #1e2d28); border-left: 1px solid rgba(255,255,255,.09); } .hero-art img { position: relative; z-index: 1; width: min(62%, 220px); filter: drop-shadow(0 18px 16px rgba(0, 0, 0, .45)); } .count-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; } .count-card { position: relative; overflow: hidden; min-height: 132px; padding: 20px 22px; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--surface-raised); } .count-card::after { content: ""; position: absolute; top: 0; right: 0; width: 72px; height: 5px; background: var(--card-accent, var(--yellow)); } .count-total { --card-accent: var(--yellow); } .count-core { --card-accent: #d7d7d7; } .count-content { --card-accent: var(--green); } .count-cosmetics { --card-accent: var(--purple); } .count-label { color: var(--body); font-family: var(--font-serif); font-size: 1rem; font-weight: 700; } .count-card strong { display: block; margin-top: 4px; font-family: var(--font-serif); font-size: clamp(2rem, 3vw, 2.75rem); font-weight: 700; line-height: 1; } .count-card small { color: var(--muted); } .action-message { min-height: 18px; color: var(--muted); font-size: .86rem; text-align: center; } .action-message.error, .wizard-message.error { color: #ff918d; } .action-message.success, .wizard-message.success { color: #a2d596; } footer { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #747474; font-size: .76rem; } .footer-credits { margin-left: auto; display: flex; align-items: center; gap: 10px; } .art-credit { padding: 4px 8px; border: 1px solid #484848; border-radius: 999px; color: #999; font-family: var(--font-serif); font-style: italic; } .hr-link { width: 42px; height: 42px; display: block; align-items: center; flex: 0 0 auto; text-decoration: none; transition: transform .16s ease, filter .16s ease; } .hr-link:hover { transform: translateY(-1px); filter: brightness(1.12); } .hr-link:focus-visible { outline: 3px solid rgba(241, 99, 101, .28); outline-offset: 3px; border-radius: 5px; } .hr-link img { width: 100%; height: 100%; object-fit: contain; } .wizard { width: min(820px, calc(100% - 30px)); max-width: none; max-height: min(94vh, 820px); margin: auto; padding: 0; overflow: auto; border: 0; border-radius: 22px; background: transparent; color: var(--text); opacity: 0; transform: translateY(12px) scale(.988); transition: opacity .22s ease, transform .22s ease, overlay .22s allow-discrete, display .22s allow-discrete; } .wizard[open] { opacity: 1; transform: none; } @starting-style { .wizard[open] { opacity: 0; transform: translateY(12px) scale(.988); } } .wizard::backdrop { background: rgba(6, 8, 9, .82); backdrop-filter: blur(7px); animation: backdrop-in .22s ease both; } .wizard-shell { overflow: hidden; border: 1px solid #555; border-radius: 22px; background: repeating-linear-gradient(135deg, rgba(255,255,255,.017) 0 18px, transparent 18px 36px), #202224; box-shadow: 0 28px 90px rgba(0,0,0,.58); } .wizard-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 20px 14px 24px; border-bottom: 1px solid #393b3c; background: rgba(17, 20, 22, .78); } .wizard-header > div { display: grid; } .wizard-eyebrow, .step-kicker { color: var(--yellow); font-size: .67rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; } .wizard-header strong { font-family: var(--font-serif); font-size: 1.18rem; } .icon-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #454849; border-radius: 50%; background: #292c2e; color: var(--muted); cursor: pointer; font-size: 1.4rem; line-height: 1; } .icon-button:hover { border-color: #727576; color: var(--text); } .wizard-progress { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 20px 46px 18px; list-style: none; border-bottom: 1px solid #37393a; background: rgba(29, 31, 32, .9); } .wizard-progress::before { content: ""; position: absolute; top: 35px; left: 14%; right: 14%; height: 1px; background: #4a4c4d; } .wizard-progress li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; color: #777; } .wizard-progress li span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #505253; border-radius: 50%; background: #242627; font-family: var(--font-serif); font-size: .84rem; transition: background .22s ease, border-color .22s ease, color .22s ease; } .wizard-progress li small { font-size: .68rem; font-weight: 750; letter-spacing: .04em; } .wizard-progress li.active { color: var(--text); } .wizard-progress li.active span { border-color: #a78340; background: #524326; color: #ffe6a4; } .wizard-progress li.complete { color: #91b989; } .wizard-progress li.complete span { border-color: #5d7d57; background: #33452f; color: #c9efc0; } .wizard-viewport { min-height: 405px; } .wizard-step { padding: 28px 42px 26px; } .wizard-step.active { animation: step-enter .3s cubic-bezier(.2,.72,.24,1) both; } .wizard-step h2 { margin-top: 4px; font-size: clamp(1.8rem, 4vw, 2.65rem); line-height: 1.08; } .step-lede { max-width: 60ch; margin-top: 10px; color: var(--muted); } .collection-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; } .collection-checks > div { min-width: 0; display: flex; align-items: center; gap: 11px; padding: 15px; border: 1px solid #414443; border-radius: 10px; background: rgba(17,20,19,.72); } .collection-checks > div > span:last-child { min-width: 0; display: grid; } .collection-checks strong { font-family: var(--font-serif); } .collection-checks small { color: var(--muted); } .collection-checks b { color: #c8e9bd; font-weight: 800; } .checkmark { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #33452f; color: #bfe6b5; font-weight: 900; } .setup-list { display: grid; gap: 9px; margin: 24px 0 20px; padding: 0; list-style: none; } .setup-list li { display: flex; align-items: center; gap: 11px; padding: 10px 13px; border-radius: 8px; background: rgba(15,18,17,.58); color: var(--body); } .setup-list li span { color: #95ca89; font-weight: 900; } .confirm-row { width: fit-content; display: flex; align-items: center; gap: 10px; color: var(--text); cursor: pointer; font-weight: 750; } .confirm-row input { width: 18px; height: 18px; accent-color: #759f23; } .dlc-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; min-width: 0; margin: 27px 0 16px; padding: 0; border: 0; } .dlc-grid label { min-width: 0; cursor: pointer; } .dlc-grid input { position: absolute; opacity: 0; pointer-events: none; } .dlc-grid span { min-height: 58px; display: grid; place-items: center; padding: 8px 5px; border: 1px solid var(--line); border-radius: 9px; background: #1b1b1b; color: var(--muted); font-size: .78rem; font-weight: 800; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; } .dlc-grid input:checked + span { border-color: #807551; background: #3d392c; color: #fff7c8; } .dlc-grid label.missing span { border-color: #9b4446; background: #392426; color: #ffaaa7; } .dlc-grid label:hover span { transform: translateY(-1px); } .dlc-grid input:focus-visible + span { outline: 3px solid rgba(240,166,33,.32); outline-offset: 2px; } .expansion-warning { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 13px 0; padding: 11px 14px; border: 1px solid #814347; border-radius: 11px; background: repeating-linear-gradient(135deg, rgba(255,95,91,.045) 0 12px, transparent 12px 24px), #2d2022; animation: warning-enter .24s cubic-bezier(.2,.72,.24,1) both; } .expansion-warning[hidden] { display: none; } .expansion-warning-copy { min-width: 0; display: grid; } .expansion-warning-copy > span { color: #ff7773; font-size: .64rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; } .expansion-warning-copy strong { margin-top: 2px; font-family: var(--font-serif); font-size: 1.05rem; } .expansion-warning-copy p { margin-top: 2px; color: #cba9a8; font-size: .78rem; } .missing-expansion-icons { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; } .missing-expansion-icons img { width: 58px; height: 58px; object-fit: contain; } .missing-expansion-fallback { width: 58px; height: 58px; display: grid; place-items: center; align-content: center; border: 2px solid #a8b2bd; clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%); background: #31363a; text-align: center; } .missing-expansion-fallback b { color: #ff3f3a; font-family: var(--font-serif); font-size: 1.7rem; line-height: .75; } .missing-expansion-fallback small { margin-top: 3px; color: #d9dde0; font-size: .44rem; font-style: normal; font-weight: 900; letter-spacing: .03em; } .missing-expansion-fallback em { color: #fff; font-size: .46rem; font-style: normal; font-weight: 900; } .list-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; } .list-type-grid label { cursor: pointer; } .list-type-grid input { position: absolute; opacity: 0; pointer-events: none; } .list-type-grid label > span { min-height: 84px; display: grid; align-content: center; padding: 15px 17px; border: 1px solid #484a4b; border-radius: 10px; background: #191b1c; transition: border-color .16s ease, background .16s ease, transform .16s ease; } .list-type-grid label:hover > span { transform: translateY(-1px); } .list-type-grid strong { font-family: var(--font-serif); font-size: 1.05rem; } .list-type-grid small { color: var(--muted); } .list-type-grid input:checked + span { border-color: #987c47; background: #332f25; } .list-type-grid label:last-child input:checked + span { border-color: #8a608d; background: #332735; } .list-type-grid input:focus-visible + span { outline: 3px solid rgba(240,166,33,.25); outline-offset: 2px; } .homebrew-upload { margin-top: 12px; animation: step-enter .25s ease both; } .homebrew-upload[hidden] { display: none; } .file-picker { min-height: 61px; min-width: 0; display: flex; align-items: center; gap: 14px; padding: 9px 10px 9px 14px; border: 1px dashed #665669; border-radius: 9px; background: #1b191c; cursor: pointer; } .file-picker:hover, .file-picker.has-file { border-color: var(--purple); } .file-picker input { position: absolute; opacity: 0; pointer-events: none; } .file-picker input:focus-visible + .file-picker-copy { outline: 3px solid rgba(207,131,206,.28); outline-offset: 3px; } .file-picker-copy { min-width: 0; display: grid; } .file-picker-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-picker-copy small { color: var(--muted); } .file-action { margin-left: auto; padding: 7px 10px; border-radius: 6px; background: #302a31; color: #edc9ed; font-size: .78rem; font-weight: 800; } .homebrew-upload p { margin-top: 8px; color: var(--muted); font-size: .78rem; } .homebrew-upload p strong { color: #d6b7d6; } .install-location { margin-top: 14px; padding: 12px 13px; border: 1px solid #454849; border-radius: 10px; background: rgba(17, 19, 20, .72); } .install-location-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .install-location-heading > div { min-width: 0; display: grid; } .install-location-heading > div > span { color: var(--yellow); font-size: .62rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; } .install-location-heading strong { margin-top: 2px; font-family: var(--font-serif); font-size: .91rem; } .path-toggle { flex: 0 0 auto; border: 0; padding: 3px 0; background: transparent; color: #c6b77f; cursor: pointer; font-size: .72rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; } .path-toggle:hover { color: #ffe5a0; } .detected-path, .all-install-paths code { display: block; overflow-wrap: anywhere; color: #bad1b4; font-family: Consolas, "Cascadia Mono", monospace; font-size: .7rem; line-height: 1.45; } .detected-path { margin-top: 8px; padding: 7px 9px; border-radius: 6px; background: #111413; } .all-install-paths { display: grid; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #393c3d; } .all-install-paths[hidden] { display: none; } .all-install-paths > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; } .all-install-paths strong { color: var(--body); font-size: .7rem; } .autosort-confirmation { margin-top: 14px; } .autosort-card { min-height: 118px; display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 18px; padding: 17px 19px; border: 1px solid #8b6728; border-radius: 12px 12px 0 0; background: linear-gradient(125deg, rgba(73, 51, 17, .84), rgba(38, 32, 22, .9)); box-shadow: inset 0 1px rgba(255, 227, 157, .08); } .autosort-mark { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid #aa7c2d; border-radius: 10px; background: #322615; color: #ffc75d; font-family: var(--font-serif); font-size: 2.35rem; font-weight: 900; line-height: 1; } .autosort-card > div { min-width: 0; } .autosort-eyebrow { color: #f4b947; font-size: .63rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; } .autosort-card h3 { margin-top: 2px; font-family: var(--font-serif); font-size: 1.35rem; line-height: 1.1; } .autosort-card p { margin-top: 6px; color: #c8bda7; font-size: .79rem; line-height: 1.45; } .autosort-card p strong { color: #ffe0a0; } .autosort-acknowledge { width: 100%; min-height: 44px; border: 1px solid #8b6728; border-top: 0; border-radius: 0 0 12px 12px; background: #211d16; color: #f4d28e; cursor: pointer; font-weight: 850; transition: background .16s ease, color .16s ease, border-color .16s ease; } .autosort-acknowledge:hover { background: #2c2519; color: #ffe4a8; } .autosort-acknowledge:focus-visible { outline: 3px solid rgba(240, 166, 33, .3); outline-offset: 2px; } .autosort-confirmation.acknowledged .autosort-card { border-color: #56734f; background: linear-gradient(125deg, rgba(42, 64, 36, .75), rgba(29, 38, 27, .9)); } .autosort-confirmation.acknowledged .autosort-mark { border-color: #688a60; background: #293a25; color: #bde5b4; } .autosort-confirmation.acknowledged .autosort-acknowledge { border-color: #56734f; background: #31472d; color: #ccefc5; } .availability { margin-top: 14px; padding: 9px 11px; border-radius: 7px; font-size: .79rem; } .availability.waiting { background: #302b20; color: #cdbd91; } .availability.ready { background: #273424; color: #a9d49e; } .wizard-message { min-height: 22px; margin-top: 6px; color: var(--muted); font-size: .8rem; } .wizard-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 22px; } .wizard-actions-end { justify-content: flex-end; margin-top: 72px; } .button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 28px; border: 1px solid transparent; border-radius: 8px; padding: 10px 20px; cursor: pointer; font-weight: 850; transition: transform .15s ease, filter .15s ease, border-color .15s ease; } .button:hover { transform: translateY(-1px); filter: brightness(1.08); } .button:disabled { cursor: not-allowed; opacity: .42; transform: none; filter: none; } .button-primary { min-width: 150px; background: #729f20; color: #f7ffe9; } .button-back { border-color: #4b4d4e; background: transparent; color: var(--muted); } .button-download { min-width: 230px; justify-content: space-between; background: #729f20; color: #f7ffe9; } @keyframes intro-rise { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } } @keyframes pulse { 50% { opacity: .45; transform: scale(.78); } } @keyframes backdrop-in { from { background: rgba(6,8,9,0); backdrop-filter: blur(0); } } @keyframes step-enter { from { opacity: 0; transform: translateX(9px); } to { opacity: 1; transform: none; } } @keyframes warning-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } } @media (max-width: 980px) { .hero { grid-template-columns: 1fr minmax(230px, .52fr); } .hero-copy { padding: 38px; } .count-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 700px) { .page-shell { width: min(calc(100% - 24px), 1220px); } .site-header { min-height: 78px; gap: 12px; } .brand { width: min(59vw, 330px); } .service-state { max-width: 36vw; font-size: .62rem; } .hero { grid-template-columns: 1fr; } .hero-copy { padding: 30px 24px; } .hero-art { min-height: 180px; border-top: 1px solid rgba(255,255,255,.09); border-left: 0; } .hero-art img { width: 122px; } .freshness { grid-template-columns: 1fr; } .freshness small { grid-column: auto; } footer { align-items: flex-start; gap: 10px; } .wizard { width: min(100% - 18px, 820px); max-height: 94vh; } .wizard-header { min-height: 66px; padding-left: 18px; } .wizard-progress { padding: 16px 16px 14px; } .wizard-progress::before { top: 31px; } .wizard-progress li small { display: none; } .wizard-step { padding: 27px 20px 24px; } .wizard-viewport { min-height: 470px; } .collection-checks { grid-template-columns: 1fr; } .wizard-actions-end { margin-top: 30px; } .dlc-grid { grid-template-columns: repeat(2, 1fr); } .expansion-warning { align-items: flex-start; flex-direction: column; } .missing-expansion-icons { max-width: 100%; flex-wrap: wrap; } .list-type-grid { grid-template-columns: 1fr; } .install-location-heading { align-items: flex-start; flex-direction: column; gap: 6px; } .autosort-card { grid-template-columns: 54px minmax(0, 1fr); gap: 13px; padding: 15px; } .autosort-mark { width: 50px; height: 50px; font-size: 1.9rem; } } @media (max-width: 430px) { .count-grid { grid-template-columns: 1fr; } .count-card { min-height: 100px; } .start-button { min-height: 78px; padding-left: 16px; } .footer-credits { gap: 6px; } .wizard-actions { display: grid; grid-template-columns: 1fr 1.5fr; } .button, .button-download { min-width: 0; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; } .intro { display: none; } .page-shell { opacity: 1; transform: none; } }