:root {   --gutter: 24px;   --bg: #1a0710; --bg-elev: #210a15; --surface: #260c17; --surface-2: #30121e; --surface-3: #3d1826; --border: #43202e; --border-strong: #6b3244; --line: var(--border);     --text: #fdeee9; --text-dim: #d3aca6; --text-faint:#b4918a;   --coral: #ff5436;   --coral-2: #ff7a4d; --coral-ink: #c2381a;   --on-coral: #2b0a06;   --amber: #ffb02e; --rose: #ff8fb1; --jade: #4fd6a4;   --gold: var(--coral); --gold-dim: var(--coral-ink); --violet: var(--rose); --teal: var(--jade);   --bg-raise: var(--surface); --bg-sink: color-mix(in srgb, var(--text) 7%, transparent); --rule: var(--border); --rule-2: var(--border); --ok: #4fd6a4; --warn: #ffb02e; --bad: #ff6b6b; --radius: 5px; --radius-sm: 3px; --radius-lg: 10px; --pill: 999px; --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 34px -16px rgba(0, 0, 0, .8); --shadow-lg: 0 2px 6px rgba(0, 0, 0, .45), 0 40px 80px -34px rgba(0, 0, 0, .9); --shadow-spot: 0 10px 30px -14px rgba(255, 84, 54, .55);   --font-display: Poppins, Pretendard, "Noto Sans KR", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; --font-body: Poppins, Pretendard, "Noto Sans KR", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; --font-mono: "JetBrains Mono", D2Coding, "Noto Sans Mono CJK KR", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace; --wrap: 1240px; --measure: 70ch;   --ease-out: cubic-bezier(.16, .84, .44, 1); --ease-spring: cubic-bezier(.22, 1.2, .36, 1); --t-fast: .16s; --t-mid: .3s; --t-slow: .62s; }   [data-theme="light"] { --bg: #fff7f4; --bg-elev: #fffdfc; --surface: #ffffff; --surface-2: #fdefea; --surface-3: #f8ddd4; --border: #f2ddd5; --border-strong: #d9b0a2; --text: #1c0a11; --text-dim: #6b4b47; --text-faint:#87635c; --coral: #c8391a; --coral-2: #ff5436; --coral-ink: #9c2a10; --on-coral: #fff7f4; --amber: #9a6300; --rose: #a83a63; --jade: #0f7a58; --ok: #0f7a58; --warn: #9a6300; --bad: #bd2f21; --shadow: 0 1px 2px rgba(70, 20, 10, .05), 0 10px 26px -14px rgba(70, 20, 10, .3); --shadow-lg: 0 2px 6px rgba(70, 20, 10, .07), 0 30px 64px -30px rgba(70, 20, 10, .4); --shadow-spot: 0 10px 28px -16px rgba(200, 57, 26, .5); } * { box-sizing: border-box; } html { scroll-behavior: smooth; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; } body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: 17px; line-height: 1.7; letter-spacing: -.006em; -webkit-font-smoothing: antialiased; overflow-x: hidden; position: relative; }   body::before { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255, 200, 180, .016) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255, 200, 180, .012) 0 1px, transparent 1px 4px); } [data-theme="light"] body::before { background: repeating-linear-gradient(0deg, rgba(120, 40, 20, .018) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(120, 40, 20, .014) 0 1px, transparent 1px 4px); } body > * { position: relative; z-index: 1; }   :root[lang="ko"] body { word-break: keep-all; overflow-wrap: break-word; } img, svg { max-width: 100%; display: block; } a { color: inherit; } ::selection { background: color-mix(in srgb, var(--coral) 34%, transparent); color: var(--text); } .wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); } .measure { max-width: var(--measure); }   body.no-roster { --measure: min(880px, 100%); } body.no-roster .measure, body.no-roster .lede { max-width: var(--measure); margin-inline: auto; } h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.14; letter-spacing: -.03em; margin: 0; } h2 { font-size: clamp(1.7rem, 3.6vw, 2.6rem); } h3 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); } p { margin: 0 0 1.05em; } :focus-visible { outline: 2px solid var(--coral); outline-offset: 3px; border-radius: 2px; }     @keyframes rise { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; } } @keyframes fade { from { opacity: 0; } to { opacity: 1; } }   @keyframes lift { from { transform: translate3d(0, 20px, 0); } to { transform: none; } } @keyframes drop { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } } @keyframes drift { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(3%, -4%, 0) scale(1.1); } 100% { transform: translate3d(0, 0, 0) scale(1); } } @keyframes wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } } @keyframes pulse-dot { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ok) 45%, transparent); } 70% { box-shadow: 0 0 0 7px transparent; } }   html.js [data-reveal] { opacity: 0; transform: translate3d(0, 20px, 0); transition: opacity var(--t-slow) var(--ease-out) var(--reveal-delay, 0ms), transform var(--t-slow) var(--ease-out) var(--reveal-delay, 0ms); } html.js [data-reveal="left"] { transform: translate3d(-24px, 0, 0); } html.js [data-reveal="scale"] { transform: scale(.97); } html.js [data-reveal].is-in { opacity: 1; transform: none; }   html.js [data-meter] > i, html.js [data-meter] > .bar__fill, html.js [data-meter] > .pillar__fill { clip-path: inset(0 100% 0 0); } html.js [data-meter].is-in > i, html.js [data-meter].is-in > .bar__fill, html.js [data-meter].is-in > .pillar__fill { animation: wipe 1s var(--ease-out) forwards; } .hero .crumbs, .hero h1, .hero .byline, .hero .lede { animation: rise .82s var(--ease-out) both; } .hero .crumbs { animation-delay: .04s; } .hero h1 { animation-delay: .1s; } .hero .byline { animation-delay: .22s; } .hero .lede { animation-delay: .3s; } .masthead { animation: drop .5s var(--ease-out) both; }   .skip { position: absolute; inset-inline-start: -9999px; top: 0; z-index: 200; background: var(--coral); color: var(--on-coral); padding: 12px 20px; border-end-end-radius: var(--radius); font-weight: 700; } .skip:focus { inset-inline-start: 0; }   .agegate { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter: blur(18px) saturate(1.1); animation: fade .35s var(--ease-out) both; } .agegate[hidden] { display: none; } .agegate__card { background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--coral); border-radius: var(--radius-lg); padding: 42px 36px; max-width: 480px; text-align: center; box-shadow: var(--shadow-lg); animation: rise .5s var(--ease-spring) both .06s; } .agegate__title { font-family: var(--font-display); font-weight: 700; font-size: 1.7rem; line-height: 1.18; letter-spacing: -.03em; margin: 0 0 14px; } .agegate__card p { color: var(--text-dim); font-size: .95rem; } .agegate__actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; } .agegate__fine { font-size: .74rem; color: var(--text-faint); margin: 22px 0 0; font-family: var(--font-mono); line-height: 1.5; }     .btn { font: inherit; font-weight: 600; font-size: .92rem; cursor: pointer; padding: 12px 24px; border-radius: var(--radius); border: 1px solid var(--border-strong); background-color: transparent; background-image: linear-gradient(var(--text), var(--text)); background-repeat: no-repeat; background-position: left center; background-size: 0% 100%; color: var(--text); transition: color var(--t-mid) var(--ease-out), border-color var(--t-mid) var(--ease-out), background-size var(--t-mid) var(--ease-out), transform var(--t-fast) var(--ease-out); } .btn:hover { color: var(--bg); border-color: var(--text); background-size: 100% 100%; } .btn:active { transform: translateY(1px); } .btn--primary { background-color: var(--coral); color: var(--on-coral); border-color: var(--coral); background-image: linear-gradient(var(--coral-2), var(--coral-2)); box-shadow: var(--shadow-spot); } .btn--primary:hover { color: var(--on-coral); border-color: var(--coral-2); }   .progress { position: fixed; top: 0; inset-inline-start: 0; height: 3px; width: 100%; background: transparent; z-index: 60; pointer-events: none; } .progress__bar { height: 100%; width: 0; background: linear-gradient(90deg, var(--coral), var(--amber) 62%, var(--rose)); box-shadow: 0 0 14px color-mix(in srgb, var(--coral) 65%, transparent); transition: width .12s linear; }   .masthead { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 80%, transparent);   backdrop-filter: blur(8px) saturate(1.7); border-bottom: 1px solid transparent; transition: border-color var(--t-mid) ease, background var(--t-mid) ease, box-shadow var(--t-mid) ease; } .masthead.is-stuck { border-bottom-color: var(--border); background: color-mix(in srgb, var(--bg) 92%, transparent); box-shadow: 0 18px 34px -30px rgba(0, 0, 0, .9); } .masthead__inner { display: flex; align-items: center; gap: 20px; height: 66px; } .brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font-family: var(--font-display); font-weight: 700; letter-spacing: -.035em; font-size: 1.16rem; }   .brand__mark { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; filter: drop-shadow(0 6px 14px color-mix(in srgb, var(--coral) 45%, transparent)); transition: transform var(--t-mid) var(--ease-spring), filter var(--t-mid) ease; } .brand__mark svg { width: 100%; height: 100%; display: block; } .brand:hover .brand__mark { transform: rotate(-8deg) scale(1.08); filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--coral) 65%, transparent)); } .masthead nav { margin-inline-start: auto; display: flex; gap: 2px; align-items: center; } .masthead nav a { position: relative; text-decoration: none; color: var(--text-dim); font-size: .84rem; font-weight: 500; letter-spacing: -.01em; padding: 9px 12px; transition: color var(--t-fast) ease; } .masthead nav a::after { content: ""; position: absolute; inset-inline: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--coral); transform: scaleX(0); transform-origin: right; transition: transform var(--t-mid) var(--ease-out); } .masthead nav a:hover { color: var(--text); } .masthead nav a:hover::after { transform: scaleX(1); transform-origin: left; } .theme-toggle { width: 34px; height: 34px; border-radius: var(--radius); display: grid; place-items: center; background: transparent; border: 1px solid var(--border); color: var(--text-dim); cursor: pointer; font-size: 14px; margin-inline-start: 10px; font-variant-emoji: text; transition: color var(--t-fast), border-color var(--t-fast), transform var(--t-mid) var(--ease-spring); } .theme-toggle:hover { color: var(--coral); border-color: var(--coral); transform: scale(1.08); }   .hero { padding: 48px 0 26px; position: relative; overflow: hidden; } .hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; z-index: -1; border-radius: 50%; filter: blur(10px); } .hero::before { inset: -240px auto auto -160px; width: 660px; height: 480px; background: radial-gradient(ellipse at center, color-mix(in srgb, var(--coral) 30%, transparent), transparent 68%); animation: drift 26s ease-in-out infinite; } .hero::after { inset: -200px -200px auto auto; width: 580px; height: 440px; background: radial-gradient(ellipse at center, color-mix(in srgb, var(--rose) 24%, transparent), transparent 68%); animation: drift 34s ease-in-out infinite reverse; } .crumbs { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .02em; color: var(--text-faint); margin-bottom: 26px; text-transform: uppercase; } .crumbs a { color: var(--text-faint); text-decoration: none; transition: color var(--t-fast); } .crumbs a:hover { color: var(--coral); } .crumbs span { margin: 0 8px; opacity: .45; } .hero h1 { font-size: clamp(2.1rem, 5.2vw, 3.8rem); font-weight: 700; letter-spacing: -.045em; line-height: 1.04;   max-width: none; margin-bottom: 22px; text-wrap: balance; } .hero h1 em { font-style: italic; color: var(--coral); } .byline { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 0; border-block: 1px solid var(--border); margin-bottom: 0; }   .byline__avatar { width: 40px; height: 40px; border-radius: 50%; flex: none; filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--coral) 35%, transparent)); } .byline__avatar svg { width: 100%; height: 100%; display: block; } .byline__meta { font-size: .84rem; line-height: 1.45; } .byline__meta strong { display: block; font-size: .92rem; font-weight: 600; } .byline__meta span { color: var(--text-faint); } .byline__stamps { margin-inline-start: auto; display: flex; gap: 8px; flex-wrap: wrap; } .stamp { font-family: var(--font-mono); font-size: .7rem; padding: 5px 10px; border-radius: var(--radius-sm); border: 1px solid var(--border); color: var(--text-faint); font-variant-numeric: tabular-nums; text-transform: uppercase; letter-spacing: .04em; } .stamp strong { color: var(--text); font-weight: 500; }   .answer { position: relative; background: var(--surface); border: 1px solid var(--border); border-inline-start: 3px solid var(--coral); border-start-start-radius: 0; border-start-end-radius: var(--radius); border-end-end-radius: var(--radius); border-end-start-radius: 0; padding: 14px 20px; margin-bottom: 22px; box-shadow: var(--shadow); } .answer__label { font-family: var(--font-mono); font-size: .62rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); margin-bottom: 6px; } .answer p { margin: 0; font-size: .94rem; line-height: 1.55; }   .stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 34px; } .stat { padding: 20px; border-inline-start: 1px solid var(--border); } .stat:first-child { border-inline-start: none; } .stat__num { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; line-height: 1; color: var(--coral); font-variant-numeric: tabular-nums; letter-spacing: -.05em; } .stat__label { font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); margin-top: 10px; line-height: 1.4; letter-spacing: .04em; }   .whatsnew { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 26px; margin-bottom: 34px; } .whatsnew h2 { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; margin-bottom: 12px; display: flex; align-items: center; gap: 10px; } .whatsnew h2::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ok); animation: pulse-dot 2.6s ease-out infinite; } .whatsnew ul { margin: 0; padding-inline-start: 20px; font-size: .92rem; color: var(--text-dim); } .whatsnew li { margin-bottom: 7px; }   .notice { display: flex; gap: 12px; align-items: flex-start; background: color-mix(in srgb, var(--warn) 10%, var(--surface)); border: 1px solid color-mix(in srgb, var(--warn) 32%, transparent); border-radius: var(--radius); padding: 12px 16px; margin: 18px 0; font-size: .86rem; } .notice__icon { flex: none; font-size: 1rem; line-height: 1.45; font-variant-emoji: text; color: var(--warn); } .notice strong { color: var(--warn); } .notice p { margin: 0; color: var(--text-dim); } .notice--weights { background: color-mix(in srgb, var(--rose) 9%, var(--surface)); border-color: color-mix(in srgb, var(--rose) 30%, transparent); } .notice--weights strong { color: var(--rose); }   .callout { margin: 0 0 18px; padding: 11px 16px; border-start-start-radius: 0; border-start-end-radius: var(--radius); border-end-end-radius: var(--radius); border-end-start-radius: 0; font-size: .86rem; line-height: 1.55; color: var(--text-dim); background: var(--surface-2); border: 1px solid var(--border); border-inline-start: 3px solid var(--amber); } .callout--warn { background: color-mix(in srgb, var(--coral) 10%, var(--surface)); border-color: color-mix(in srgb, var(--coral) 30%, transparent); border-inline-start-color: var(--coral); color: var(--text); font-weight: 500; }   .support { margin: 28px 0 0; padding: 20px 22px; background: color-mix(in srgb, var(--jade) 8%, var(--surface)); border: 1px solid color-mix(in srgb, var(--jade) 34%, transparent); border-inline-start: 3px solid var(--jade); border-radius: var(--radius); } .support h2 { margin: 0 0 6px; font-size: 1.02rem; letter-spacing: -.01em; color: var(--text); } .support > p { margin: 0 0 14px; font-size: .9rem; color: var(--text-dim); max-width: var(--measure); } .support ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; } @media (min-width: 760px) { .support ul { grid-template-columns: repeat(3, 1fr); } } .support li { font-size: .88rem; line-height: 1.5; color: var(--text-dim); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; } .support li strong { display: block; color: var(--text); font-weight: 600; margin-bottom: 2px; } .support li .support__num { font-family: var(--font-mono); color: var(--jade); font-weight: 600; } .support li a { color: var(--jade); } .support__foot { margin: 14px 0 0; font-size: .8rem; color: var(--text-faint); max-width: var(--measure); }   .support--inline { margin: 0; } .support--inline h2 { font-size: .96rem; }   .section { padding: 68px 0; border-top: 1px solid var(--border); } .section__head { margin-bottom: 36px; max-width: var(--wrap); } .section__kicker { display: flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--coral); margin-bottom: 16px; } .section__kicker::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--coral); flex: none; } .section__head h2 { max-width: 22ch; text-wrap: balance; } .section__head p { color: var(--text-dim); max-width: var(--measure); margin-top: 16px; margin-bottom: 0; } .section__head a { color: var(--coral); text-decoration-thickness: 1px; text-underline-offset: 3px; } .layout { display: block; }   .pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 16px; margin-bottom: 36px; } .pillar { position: relative; overflow: hidden; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; transition: border-color var(--t-mid) ease, transform var(--t-mid) var(--ease-out), box-shadow var(--t-mid) ease; } .pillar::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--coral), var(--amber)); transform: scaleX(0); transform-origin: left; transition: transform var(--t-mid) var(--ease-out); } .pillar:hover { border-color: var(--border-strong); transform: translateY(-3px); box-shadow: var(--shadow); } .pillar:hover::before { transform: scaleX(1); } .pillar__top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; } .pillar__name { font-family: var(--font-display); font-size: 1.12rem; font-weight: 600; letter-spacing: -.02em; } .pillar__mark { color: var(--coral); font-size: .9em; margin-inline-end: .45em; } .pillar__weight { font-family: var(--font-display); font-size: 1.8rem; font-weight: 700; color: var(--coral); font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -.05em; } .pillar__type { display: inline-block; font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; padding: 4px 8px; border-radius: var(--radius-sm); margin-bottom: 14px; } .pillar__type--computed { background: color-mix(in srgb, var(--jade) 16%, transparent); color: var(--jade); } .pillar__type--editorial { background: color-mix(in srgb, var(--rose) 16%, transparent); color: var(--rose); } .pillar__short { font-size: .9rem; color: var(--text-dim); margin-bottom: 16px; } .pillar__track { height: 4px; background: var(--surface-3); border-radius: var(--pill); overflow: hidden; margin-bottom: 16px; } .pillar__fill { height: 100%; border-radius: var(--pill); background: linear-gradient(90deg, var(--coral), var(--amber)); } .pillar details { font-size: .87rem; color: var(--text-dim); } .pillar summary { cursor: pointer; color: var(--coral); font-weight: 500; font-size: .72rem; font-family: var(--font-mono); letter-spacing: .1em; text-transform: uppercase; list-style: none; } .pillar summary::-webkit-details-marker { display: none; } .pillar summary::after { content: " ↓"; display: inline-block; } .pillar details[open] summary::after { content: " ↑"; } .pillar details > div { padding-top: 12px; animation: rise .34s var(--ease-out) both; } .pillar details p { margin-bottom: .8em; } .pillar details p:last-child { margin-bottom: 0; } .pillar__why { border-inline-start: 2px solid var(--amber); padding-inline-start: 12px; font-style: italic; } .process { display: grid; border-top: 1px solid var(--border); margin-bottom: 34px; } .process__step { padding: 22px 4px; display: grid; grid-template-columns: 46px 1fr; gap: 20px; align-items: start; border-bottom: 1px solid var(--border); transition: background var(--t-mid) ease, padding-inline-start var(--t-mid) var(--ease-out); } .process__step:hover { background: var(--surface); padding-inline-start: 14px; } .process__num { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; line-height: 1; color: var(--coral); font-variant-numeric: tabular-nums; letter-spacing: -.05em; } .process__step h4 { font-size: 1.02rem; margin-bottom: 6px; font-weight: 600; letter-spacing: -.02em; } .process__step p { margin: 0; font-size: .89rem; color: var(--text-dim); } .cols2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; } .panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px 26px; } .panel h4 { font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; } .panel ul { margin: 0; padding-inline-start: 18px; font-size: .88rem; color: var(--text-dim); } .panel li { margin-bottom: 10px; } .panel li:last-child { margin-bottom: 0; } .panel--exclude { border-inline-start: 3px solid var(--bad); } .panel--exclude h4 { color: var(--bad); } .panel--limits { border-inline-start: 3px solid var(--warn); } .panel--limits h4 { color: var(--warn); } .panel--limits li strong { color: var(--text); display: block; font-weight: 600; }   .tablewrap { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: var(--surface); } .tabletools { display: flex; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); flex-wrap: wrap; align-items: center; background: var(--bg-elev); } .search { flex: 1 1 220px; min-width: 180px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 14px; color: var(--text); font: inherit; font-size: .86rem; transition: border-color var(--t-fast), box-shadow var(--t-fast); } .search::placeholder { color: var(--text-faint); } .search:focus { outline: none; border-color: var(--coral); box-shadow: 0 0 0 3px color-mix(in srgb, var(--coral) 20%, transparent); } .chip { font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .04em; cursor: pointer; padding: 8px 14px; border-radius: var(--radius); border: 1px solid var(--border); background-color: transparent; background-image: linear-gradient(var(--surface-2), var(--surface-2)); background-repeat: no-repeat; background-position: bottom; background-size: 100% 0%; color: var(--text-dim); transition: color var(--t-fast) ease, border-color var(--t-fast) ease, background-size var(--t-mid) var(--ease-out); } .chip:hover { color: var(--text); border-color: var(--border-strong); background-size: 100% 100%; } .chip.is-on { background-color: var(--coral); background-image: none; color: var(--on-coral); border-color: var(--coral); box-shadow: var(--shadow-spot); } .scroller { overflow-x: auto; } table.rank { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 720px; } table.rank th { text-align: start; padding: 13px 14px; font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); border-bottom: 1px solid var(--border); white-space: nowrap; background: var(--bg-elev); position: sticky; top: 0; z-index: 2; } table.rank th[data-sort] { cursor: pointer; user-select: none; transition: color var(--t-fast); } table.rank th[data-sort]:hover { color: var(--coral); } table.rank th[aria-sort="descending"]::after { content: " ▾"; color: var(--coral); } table.rank th[aria-sort="ascending"]::after { content: " ▴"; color: var(--coral); } table.rank td { padding: 12px 14px; border-bottom: 1px solid var(--border); vertical-align: middle; } table.rank tbody tr { transition: background var(--t-fast) ease, box-shadow var(--t-fast) ease; } table.rank tbody tr:hover { background: color-mix(in srgb, var(--coral) 9%, var(--surface)); box-shadow: inset 3px 0 0 var(--coral); } table.rank tbody tr:last-child td { border-bottom: none; } .t-rank { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; color: var(--coral); width: 46px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; } .t-name { font-weight: 600; text-decoration: none; letter-spacing: -.015em; transition: color var(--t-fast); overflow-wrap: break-word; } .t-name:hover { color: var(--coral); } .t-sub { font-size: .74rem; color: var(--text-faint); font-weight: 400; font-family: var(--font-mono); } .t-num { font-variant-numeric: tabular-nums; font-family: var(--font-mono); font-size: .82rem; } .t-score { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; font-variant-numeric: tabular-nums; letter-spacing: -.03em; } .badge { display: inline-block; font-family: var(--font-mono); font-size: .62rem; font-weight: 500; padding: 4px 7px; border-radius: var(--radius-sm); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; } .badge--hof { background: color-mix(in srgb, var(--coral) 16%, transparent); color: var(--coral); } .badge--active { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); } .badge--selective { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); } .badge--high { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); } .badge--medium { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); } .badge--low { background: color-mix(in srgb, var(--bad) 16%, transparent); color: var(--bad); } .t-person { display: flex; align-items: center; gap: 12px; min-width: 0; } .thumb { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; flex: none; border: 1px solid var(--border-strong); background: var(--surface-3); transition: border-color var(--t-fast) ease, transform var(--t-mid) var(--ease-spring); } .thumb img, .thumb svg { width: 100%; height: 100%; object-fit: cover; display: block; } tbody tr:hover .thumb { border-color: var(--coral); transform: scale(1.08); }   .roster { display: grid; gap: 26px; } .card { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; scroll-margin-top: 92px; transition: border-color var(--t-mid) ease, box-shadow var(--t-mid) ease, transform var(--t-mid) var(--ease-out); } .card:hover { border-color: var(--border-strong); box-shadow: var(--shadow); transform: translateY(-2px); } .card--top { border-color: color-mix(in srgb, var(--coral) 40%, var(--border)); } .card--top::before { content: ""; position: absolute; top: 0; inset-inline-start: 0; width: 100%; height: 3px; z-index: 3; background: linear-gradient(90deg, var(--coral), var(--amber) 55%, transparent); } .card__top { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 30px; padding: 28px 30px; border-bottom: 1px solid var(--border); background: linear-gradient(180deg, var(--surface-2), var(--surface)); } .card__ident { min-width: 0; display: flex; flex-direction: column; justify-content: center; } .card__body { padding: 28px 30px; min-width: 0; } .portrait__fallback { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s var(--ease-out); } .card__name { font-size: clamp(1.55rem, 3vw, 2.15rem); font-weight: 700; letter-spacing: -.045em; overflow-wrap: break-word; } .card__name a { text-decoration: none; transition: color var(--t-fast); } .card__name a:hover { color: var(--coral); } .card__flags { display: flex; gap: 6px; flex-wrap: wrap; margin-inline-start: auto; } .card__tagline { color: var(--amber); font-size: .95rem; font-style: italic; font-weight: 400; margin-bottom: 20px; letter-spacing: -.01em; } .identity__row { display: flex; align-items: center; gap: 22px; margin-bottom: 14px; } .identity__main { min-width: 0; flex: 1; } .identity__row .card__name { margin-bottom: 2px; }   .score { --pct: 0; width: 98px; flex: none; text-align: center; padding: 12px 9px 11px; border-radius: var(--radius); background: var(--bg-elev); border: 1px solid var(--border); } .score__val { font-family: var(--font-display); font-weight: 700; font-size: 1.7rem; line-height: 1.05; letter-spacing: -.055em; font-variant-numeric: tabular-nums; color: var(--text); } .score__cap { font-family: var(--font-mono); font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--text-faint); margin-top: 5px; } .score__bar { height: 4px; margin-top: 10px; border-radius: var(--pill); background: var(--surface-3); overflow: hidden; } .score__bar i { display: block; height: 100%; border-radius: var(--pill); width: calc(var(--pct) * 1%); background: linear-gradient(90deg, var(--coral), var(--amber)); } .card--top .score { border-color: color-mix(in srgb, var(--coral) 40%, var(--border)); background: color-mix(in srgb, var(--coral) 10%, var(--bg-elev)); } .card--top .score__val { color: var(--coral); }   .facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 22px; } .fact { padding: 12px 14px; border-inline-start: 1px solid var(--border); } .fact:first-child { border-inline-start: none; } .fact__k { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 4px; } .fact__v { font-size: .88rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.02em; overflow-wrap: break-word; } .fact__v small { font-weight: 400; color: var(--text-faint); font-size: .74rem; display: block; font-family: var(--font-mono); letter-spacing: 0; } .card h4 { font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); margin: 24px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }     .card__why { font-size: .97rem; } .card__why p { margin: 0 0 12px; } .card__why p:last-child { margin-bottom: 0; } .card__why p:first-of-type::first-letter { float: left; font-family: var(--font-display); font-weight: 700; font-size: 3em; line-height: .86; letter-spacing: -.05em; padding: .04em .1em 0 0; color: var(--coral); } .counterpoint { background: var(--surface-2); border-inline-start: 2px solid var(--rose); padding: 13px 16px; border-start-start-radius: 0; border-start-end-radius: var(--radius-sm); border-end-end-radius: var(--radius-sm); border-end-start-radius: 0; font-size: .87rem; color: var(--text-dim); margin-top: 16px; } .counterpoint strong { color: var(--text); font-weight: 600; }   .bars { display: grid; gap: 10px; } .bar { display: grid; grid-template-columns: 150px 1fr 38px; gap: 12px; align-items: center; font-size: .79rem; } .bar__label { color: var(--text-dim); overflow-wrap: break-word; } .bar__track { height: 5px; background: var(--surface-3); border-radius: var(--pill); overflow: hidden; } .bar__fill { height: 100%; border-radius: var(--pill); background: linear-gradient(90deg, var(--coral-ink), var(--coral)); } .bar--editorial .bar__fill { background: linear-gradient(90deg, color-mix(in srgb, var(--rose) 55%, transparent), var(--rose)); } .bar__val { text-align: end; font-variant-numeric: tabular-nums; font-weight: 500; font-family: var(--font-mono); font-size: .76rem; } .chips { display: flex; flex-wrap: wrap; gap: 7px; } .chips span, .chips a { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .02em; padding: 5px 10px; border-radius: var(--radius-sm); border: 1px solid var(--border); color: var(--text-dim); text-decoration: none; transition: color var(--t-fast), border-color var(--t-fast); } .chips a:hover { color: var(--coral); border-color: var(--coral); } .awards { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; } .awards li { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: baseline; font-size: .855rem; } .awards__yr { font-family: var(--font-mono); font-size: .8rem; font-weight: 500; color: var(--coral); font-variant-numeric: tabular-nums; } .awards__org { font-weight: 600; } .awards li[data-tier="hof"] .awards__org { color: var(--coral); } .awards li[data-tier="nomination"] { color: var(--text-faint); } .sources { font-size: .78rem; color: var(--text-faint); font-family: var(--font-mono); line-height: 1.6; overflow-wrap: break-word; } .sources a { color: var(--text-dim); } .sources a:hover { color: var(--coral); } .unverified { font-size: .79rem; color: var(--warn); background: color-mix(in srgb, var(--warn) 8%, transparent); border: 1px solid color-mix(in srgb, var(--warn) 26%, transparent); border-radius: var(--radius-sm); padding: 12px 14px; margin-top: 14px; } .unverified ul { margin: 6px 0 0; padding-inline-start: 18px; color: var(--text-dim); } .scorenote { margin-top: 12px; padding: 12px 14px; border-start-start-radius: 0; border-start-end-radius: var(--radius-sm); border-end-end-radius: var(--radius-sm); border-end-start-radius: 0; font-size: .82rem; line-height: 1.55; color: var(--text-dim); background: color-mix(in srgb, var(--rose) 9%, transparent); border: 1px solid color-mix(in srgb, var(--rose) 26%, transparent); border-inline-start: 3px solid var(--rose); } .scorenote strong { color: var(--rose); }   .slides { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface-3); } .slides__item { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity .9s var(--ease-out), transform 4.5s linear; } .slides__item.is-on { opacity: 1; transform: scale(1); } .slides__item > img, .slides__item > svg { width: 100%; height: 100%; object-fit: cover; display: block; } .slides__rank { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 4; min-width: 42px; height: 42px; padding: 0 10px; border-radius: var(--radius); display: grid; place-items: center; background: rgba(20, 5, 10, .7); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .18); font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -.04em; } .card--top .slides__rank { background: var(--coral); color: var(--on-coral); border-color: transparent; } .slides__dots { position: absolute; bottom: 11px; inset-inline: 0; z-index: 4; display: flex; gap: 6px; justify-content: center; } .slides__dot { width: 16px; height: 3px; border-radius: var(--pill); padding: 0; cursor: pointer; background: rgba(255, 255, 255, .42); border: none; transition: background var(--t-mid) ease, width var(--t-mid) var(--ease-out); } .slides__dot.is-on { background: var(--coral-2); width: 26px; } .slides__credit { position: absolute; bottom: 0; inset-inline: 0; z-index: 3; padding: 24px 9px 22px; font-size: .6rem; font-family: var(--font-mono); color: rgba(255, 255, 255, .7); background: linear-gradient(transparent, rgba(0, 0, 0, .82)); text-align: center; line-height: 1.35; }   .links { display: flex; flex-wrap: wrap; gap: 8px; }   .lnk { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: .74rem; font-weight: 500; letter-spacing: .02em; text-decoration: none; padding: 8px 12px; border-radius: var(--radius); border: 1px solid color-mix(in srgb, var(--coral) 55%, var(--border)); background: transparent; color: var(--text); position: relative; overflow: hidden; isolation: isolate; transition: transform var(--t-fast) var(--ease-out), border-color var(--t-fast), color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast); } .lnk::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; z-index: -1; background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, .3) 50%, transparent 100%); transform: skewX(-18deg); pointer-events: none; animation: lnk-shine 5s var(--ease-out) infinite; } .lnk:nth-child(2)::after { animation-delay: .18s; } .lnk:nth-child(3)::after { animation-delay: .36s; } .lnk:nth-child(4)::after { animation-delay: .54s; } .lnk:nth-child(n+5)::after { animation-delay: .72s; } @keyframes lnk-shine { 0% { left: -60%; } 24% { left: 130%; } 100% { left: 130%; } } .lnk:hover { transform: translateY(-2px); color: var(--text); border-color: var(--coral); background: color-mix(in srgb, var(--coral) 14%, transparent); } .lnk:focus-visible { outline: 2px solid var(--coral-2); outline-offset: 2px; } .lnk__ico { width: 14px; height: 14px; flex: none; } .lnk__ico svg { width: 100%; height: 100%; display: block; fill: currentColor; } .lnk__arrow { width: 10px; height: 10px; flex: none; margin-inline-start: -2px; opacity: .8; transition: transform var(--t-fast) var(--ease-out); } .lnk:hover .lnk__arrow { transform: translate(2px, -2px); opacity: 1; } [dir="rtl"] .lnk__arrow { transform: scaleX(-1); } [dir="rtl"] .lnk:hover .lnk__arrow { transform: scaleX(-1) translate(2px, -2px); } .lnk--primary { background: linear-gradient(135deg, var(--coral), var(--coral-ink)); border-color: transparent; color: var(--on-coral); font-weight: 600; box-shadow: 0 6px 18px -8px color-mix(in srgb, var(--coral) 70%, transparent); } .lnk--primary::after { background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, .38) 50%, transparent 100%); } .lnk--primary:hover { color: var(--on-coral); border-color: transparent; background: linear-gradient(135deg, var(--coral-2), var(--coral)); box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--coral) 85%, transparent); } @media (prefers-reduced-motion: reduce) { .lnk::after { animation: none; } .lnk:hover { transform: none; } } .lnk--official:hover { color: var(--on-coral); } .lnk--x:hover { color: #fff; background: #000; border-color: #000; } .lnk--instagram:hover{ color: #fff; background: linear-gradient(45deg, #f09433, #dc2743, #bc1888); border-color: transparent; } .lnk--onlyfans:hover { color: #fff; background: #00aff0; border-color: #00aff0; } .lnk--reddit:hover { color: #fff; background: #ff4500; border-color: #ff4500; } .lnk--youtube:hover { color: #fff; background: #ff0000; border-color: #ff0000; } .lnk--tiktok:hover { color: #fff; background: #010101; border-color: #010101; } .lnk--linktree:hover { color: #0a2b16; background: #43e660; border-color: #43e660; } .lnk--pornhub:hover { color: #000; background: #ff9000; border-color: #ff9000; } .lnk--cam { border-color: color-mix(in srgb, var(--jade) 45%, var(--border)); color: var(--jade); } .lnk--cam:hover { color: #06251a; background: var(--jade); border-color: var(--jade); } .lnk--cam .lnk__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 22%, transparent); } .links__none { font-size: .82rem; color: var(--text-faint); font-style: italic; } .links__note { font-size: .72rem; color: var(--text-faint); margin-top: 10px; font-family: var(--font-mono); }   .collapse { border: none; margin: 0; } .collapse > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); margin: 24px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border); transition: color var(--t-fast); } .collapse > summary::-webkit-details-marker { display: none; } .collapse > summary:hover { color: var(--coral); } .collapse__chev { margin-inline-start: auto; flex: none; width: 16px; height: 16px; position: relative; transition: transform var(--t-mid) var(--ease-spring); } .collapse__chev::before { content: ""; position: absolute; inset: 4px 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); } .collapse[open] > summary .collapse__chev { transform: rotate(180deg); } .collapse__count { font-size: .64rem; letter-spacing: .06em; text-transform: none; color: var(--coral); font-weight: 500; } .collapse[open] > .collapse__body { animation: rise .38s var(--ease-out) both; } .peek { margin-bottom: 4px; } .more > summary { margin: 12px 0 0; padding: 9px 0 0; border-bottom: none; border-top: 1px dashed var(--border); font-size: .68rem; letter-spacing: .1em; color: var(--coral); } .more > summary:hover { color: var(--text); } .more > summary .collapse__chev { width: 14px; height: 14px; } .more__body { padding-top: 10px; } .more__open { display: none; } .more[open] > summary .more__closed { display: none; } .more[open] > summary .more__open { display: inline; }   .taxonomy { width: 100%; border-collapse: collapse; font-size: .89rem; margin-top: 22px; min-width: 620px; } .taxonomy th { text-align: start; padding: 12px 14px; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); border-bottom: 1px solid var(--border); } .taxonomy td { padding: 14px; border-bottom: 1px solid var(--border); vertical-align: top; } .taxonomy td:first-child { font-weight: 600; color: var(--coral); white-space: nowrap; letter-spacing: -.02em; } .taxonomy tr:last-child td { border-bottom: none; } .taxonomy tbody tr { transition: background var(--t-fast); } .taxonomy tbody tr:hover { background: var(--surface); }     .companion { width: 100%; border-collapse: collapse; font-size: .89rem; margin-top: 22px; min-width: 560px; } .companion th { text-align: start; padding: 12px 14px; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); border-bottom: 1px solid var(--border); } .companion td { padding: 13px 14px; border-bottom: 1px solid var(--border); vertical-align: top; } .companion tbody tr:not(.companion__grouphead):hover { background: var(--surface); } .companion tbody tr:last-child td { border-bottom: none; } .companion__role { color: var(--text-dim); } .companion tr[data-adult="true"] .companion__role { color: var(--coral); font-weight: 500; }   .companion__grouphead td { background: var(--surface-2); font-family: var(--font-mono); font-size: .66rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); border-bottom: 1px solid var(--border); } .companion__group:first-child .companion__grouphead td { border-top: none; } .companion__group + .companion__group .companion__grouphead td { border-top: 1px solid var(--border); } .timeline { display: grid; gap: 0; position: relative; } .era { display: grid; grid-template-columns: 130px 1fr; gap: 30px; padding: 28px 0; border-top: 1px solid var(--border); position: relative; } .era:first-child { border-top: none; } .era::before { content: ""; position: absolute; inset-inline-start: 0; top: -1px; width: 0; height: 2px; background: var(--coral); transition: width .7s var(--ease-out); } .era.is-in::before { width: 130px; } .era__period { font-family: var(--font-mono); font-size: .8rem; font-weight: 500; letter-spacing: .04em; color: var(--coral); font-variant-numeric: tabular-nums; padding-top: .35em; } .era h3 { font-size: 1.3rem; margin-bottom: 10px; } .era p { margin: 0; color: var(--text-dim); font-size: .94rem; } .sublists { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; } .sublist { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px 26px; transition: border-color var(--t-mid), transform var(--t-mid) var(--ease-out), box-shadow var(--t-mid); } .sublist:hover { border-color: var(--border-strong); transform: translateY(-3px); box-shadow: var(--shadow); } .sublist h3 { font-size: 1.12rem; margin-bottom: 10px; } .sublist p { font-size: .87rem; color: var(--text-dim); margin-bottom: 14px; }   .faq { display: grid; gap: 10px; } .faq details { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: border-color var(--t-mid), box-shadow var(--t-mid); } .faq details:hover { border-color: var(--border-strong); } .faq details[open] { border-color: color-mix(in srgb, var(--coral) 40%, var(--border)); box-shadow: var(--shadow); } .faq summary { cursor: pointer; padding: 19px 22px; font-weight: 600; font-size: 1rem; letter-spacing: -.02em; list-style: none; display: flex; align-items: center; gap: 14px; transition: color var(--t-fast); } .faq summary::-webkit-details-marker { display: none; } .faq summary::after { content: ""; margin-inline-start: auto; flex: none; width: 12px; height: 12px; background: linear-gradient(var(--coral), var(--coral)) center / 100% 2px no-repeat, linear-gradient(var(--coral), var(--coral)) center / 2px 100% no-repeat; transition: transform var(--t-mid) var(--ease-spring); } .faq details[open] summary::after { transform: rotate(135deg); } .faq summary:hover { color: var(--coral); } .faq__a { padding: 0 22px 22px; color: var(--text-dim); font-size: .94rem; animation: rise .34s var(--ease-out) both; } .faq__a p { margin: 0; }   .misses { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; } .miss { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; display: grid; grid-template-columns: 64px 1fr; gap: 16px; align-items: start; transition: border-color var(--t-mid), transform var(--t-mid) var(--ease-out); } .miss:hover { border-color: var(--border-strong); transform: translateY(-2px); } .miss__name { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; margin-bottom: 6px; letter-spacing: -.03em; } .miss p { margin: 0; font-size: .85rem; color: var(--text-dim); } .miss__thumb { width: 64px; height: 80px; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border); background: var(--surface-3); } .miss__thumb img, .miss__thumb svg { width: 100%; height: 100%; object-fit: cover; display: block; } .miss--nophoto { grid-template-columns: 1fr; } .miss .links { margin-top: 10px; gap: 6px; } .miss .lnk { font-size: .68rem; padding: 5px 9px; } .miss .links__none { display: none; }   .changelog { border-top: 1px solid var(--border); } .change { padding: 18px 4px; display: grid; grid-template-columns: 112px 96px 1fr; gap: 18px; align-items: baseline; font-size: .88rem; border-bottom: 1px solid var(--border); transition: background var(--t-fast), padding-inline-start var(--t-mid) var(--ease-out); } .change:hover { background: var(--surface); padding-inline-start: 14px; } .change__date { font-family: var(--font-mono); font-size: .76rem; color: var(--text-faint); } .change__type { font-family: var(--font-mono); font-size: .62rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--rose); } .change p { margin: 0; color: var(--text-dim); }   .authorbox { display: grid; grid-template-columns: 68px 1fr; gap: 22px; background: var(--surface); border: 1px solid var(--border); border-inline-start: 3px solid var(--amber); border-start-start-radius: 0; border-start-end-radius: var(--radius); border-end-end-radius: var(--radius); border-end-start-radius: 0; padding: 26px; } .authorbox__avatar { width: 68px; height: 68px; border-radius: 50%; filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--coral) 35%, transparent)); } .authorbox__avatar svg { width: 100%; height: 100%; display: block; } .authorbox h3 { font-size: 1.18rem; margin-bottom: 4px; } .authorbox__role { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--coral); margin-bottom: 14px; } .authorbox p { font-size: .89rem; color: var(--text-dim); } .authorbox ul { margin: 12px 0 0; padding-inline-start: 18px; font-size: .85rem; color: var(--text-dim); }   .foot { border-top: 1px solid var(--border); padding: 52px 0 64px; margin-top: 48px; font-size: .85rem; color: var(--text-faint); background: var(--bg-elev); } .foot__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 32px; margin-bottom: 32px; } .foot h4 { font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 14px; } .foot p { margin: 0 0 .7em; } .foot a { color: var(--text-dim); text-decoration-thickness: 1px; text-underline-offset: 2px; } .foot a:hover { color: var(--coral); } .foot__legal { border-top: 1px solid var(--border); padding-top: 24px; font-size: .76rem; line-height: 1.7; font-family: var(--font-mono); }   .hubgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; } .hubcard { position: relative; display: block; text-decoration: none; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; transition: border-color var(--t-mid), transform var(--t-mid) var(--ease-out), box-shadow var(--t-mid); } .hubcard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--coral), var(--amber)); transform: scaleX(0); transform-origin: left; transition: transform var(--t-mid) var(--ease-out); } .hubcard:hover { border-color: var(--border-strong); transform: translateY(-4px); box-shadow: var(--shadow); } .hubcard:hover::before { transform: scaleX(1); } .hubcard__thumbs { display: flex; margin-bottom: 16px; } .hubcard__thumb { width: 46px; height: 46px; border-radius: 50%; overflow: hidden; flex: none; border: 2px solid var(--surface); background: var(--surface-3); margin-inline-start: -14px; transition: transform var(--t-mid) var(--ease-spring), margin var(--t-mid) var(--ease-out); } .hubcard__thumb:first-child { margin-inline-start: 0; } .hubcard:hover .hubcard__thumb { margin-inline-start: -6px; } .hubcard:hover .hubcard__thumb:first-child { margin-inline-start: 0; } .hubcard__thumb img, .hubcard__thumb svg { width: 100%; height: 100%; object-fit: cover; display: block; } .hubcard__title { font-size: 1.25rem; margin-bottom: 9px; letter-spacing: -.035em; transition: color var(--t-fast); } .hubcard:hover .hubcard__title { color: var(--coral); } .hubcard__desc { font-size: .88rem; color: var(--text-dim); margin-bottom: 16px; } .hubcard__meta { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 14px; border-top: 1px solid var(--border); font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--text-faint); } .hubcard__meta strong { color: var(--text); font-variant-numeric: tabular-nums; font-weight: 500; }   .tocfab { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 9px; padding: 13px 19px; border-radius: var(--pill); cursor: pointer; font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; background: var(--coral); color: var(--on-coral); border: none; box-shadow: 0 8px 22px -8px rgba(255, 84, 54, .7), 0 22px 48px -24px rgba(0, 0, 0, .8); transition: transform var(--t-mid) var(--ease-spring), box-shadow var(--t-mid), background var(--t-mid); } .tocfab:hover { transform: translateY(-3px); background: var(--coral-2); } .tocfab:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; } .tocfab__bars { width: 15px; height: 12px; flex: none; position: relative; } .tocfab__bars::before, .tocfab__bars::after, .tocfab__bars i { content: ""; position: absolute; left: 0; height: 2px; border-radius: 2px; background: currentColor; transition: width var(--t-mid) var(--ease-out); } .tocfab__bars::before { top: 0; width: 100%; } .tocfab__bars i { top: 5px; width: 72%; } .tocfab__bars::after { top: 10px; width: 45%; } .tocfab:hover .tocfab__bars i, .tocfab:hover .tocfab__bars::after { width: 100%; } .tocsheet { position: fixed; inset: 0; z-index: 95; display: grid; align-items: end; justify-items: end; padding: 22px; background: rgba(12, 3, 7, .6); backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity var(--t-mid) ease; } .tocsheet.is-open { opacity: 1; pointer-events: auto; } .tocsheet[hidden] { display: none; } .tocsheet__panel { width: min(350px, 100%); max-height: min(72vh, 640px); display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); transform: translateY(18px) scale(.97); transition: transform .34s var(--ease-spring); overflow: hidden; } .tocsheet.is-open .tocsheet__panel { transform: none; } .tocsheet__head { display: flex; align-items: center; gap: 10px; padding: 15px 18px; border-bottom: 1px solid var(--border); flex: none; } .tocsheet__title { font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--text-faint); } .tocsheet__close { margin-inline-start: auto; width: 28px; height: 28px; border-radius: var(--radius-sm); cursor: pointer; background: transparent; border: 1px solid var(--border); color: var(--text-dim); font-size: 15px; line-height: 1; display: grid; place-items: center; transition: color var(--t-fast), border-color var(--t-fast), transform var(--t-fast); } .tocsheet__close:hover { color: var(--coral); border-color: var(--coral); transform: rotate(90deg); } .tocsheet__body { overflow-y: auto; padding: 10px 0 14px; overscroll-behavior: contain; } .tocsheet__group { font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--text-faint); padding: 14px 18px 6px; } .tocsheet a { display: flex; align-items: center; gap: 10px; padding: 9px 18px; text-decoration: none; font-size: .87rem; color: var(--text-dim); border-inline-start: 2px solid transparent; transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast); } .tocsheet a:hover { background: var(--surface-2); color: var(--text); } .tocsheet a.is-active { color: var(--coral); border-inline-start-color: var(--coral); background: var(--surface-2); font-weight: 600; } .tocsheet a .toc__n { width: 22px; flex: none; text-align: end; font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: .74rem; color: var(--text-faint); } .tocsheet a .toc__score { margin-inline-start: auto; font-family: var(--font-mono); font-size: .72rem; color: var(--text-faint); font-variant-numeric: tabular-nums; }   .lede { font-size: 1.08rem; line-height: 1.65; color: var(--text-dim);   max-width: none; margin: 22px 0 0; } .lede > p { margin: 0 0 14px; } .lede > p:last-child { margin-bottom: 0; } .lede::first-line, .lede > p:first-child::first-line { color: var(--text); } .lede strong, .answer strong { font-weight: 600; color: var(--text); }   .card__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; align-items: start; } .card__cols > div { min-width: 0; } .card__cols h4:first-child { margin-top: 0; } .bars--wide .bar { grid-template-columns: 210px 1fr 42px; } .section--first { border-top: none; padding-top: 10px; } .section__head--tight { margin-bottom: 20px; } .section__head--tight h2 { font-size: clamp(1.5rem, 2.8vw, 2.05rem); } .section__head--tight p { font-size: .9rem; margin-top: 10px; } .stats--compact { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } .stats--compact .stat { display: flex; align-items: baseline; gap: 12px; padding: 14px 16px; } .stats--compact .stat__num { font-size: 1.45rem; flex: none; } .stats--compact .stat__label { margin-top: 0; font-size: .66rem; line-height: 1.35; }   @media (max-width: 1040px) { .layout { display: block; } } @media (max-width: 760px) { body { font-size: 16px; } :root { --gutter: 18px; } .hero { padding: 30px 0 20px; } .hero h1 { font-size: clamp(1.9rem, 8.5vw, 2.5rem); max-width: none; } .section { padding: 46px 0; } .card__top { grid-template-columns: 1fr; gap: 20px; padding: 18px; } .card__body { padding: 20px 18px; } .identity__row { flex-wrap: wrap; gap: 16px; } .bar { grid-template-columns: 118px 1fr 34px; font-size: .75rem; } .bars--wide .bar { grid-template-columns: 118px 1fr 34px; } .card__cols { gap: 6px; } .era { grid-template-columns: 1fr; gap: 8px; } .era.is-in::before { width: 64px; } .change { grid-template-columns: 1fr; gap: 4px; padding: 14px 4px; }   .authorbox { grid-template-columns: 1fr; } .byline__stamps { margin-inline-start: 0; width: 100%; } .card__why p:first-of-type::first-letter { font-size: 2.5em; } .stats--compact { grid-template-columns: 1fr 1fr; } .stats--compact .stat { flex-direction: column; gap: 2px; padding: 12px; } .stats--compact .stat__num { font-size: 1.3rem; } .stats--compact .stat__label { font-size: .62rem; } .stats--compact .stat:last-child:nth-child(odd) { grid-column: 1 / -1; } .stat { border-inline-start: none; border-top: 1px solid var(--border); } .stat:first-child { border-top: none; } table.rank { min-width: 0; font-size: .84rem; } table.rank th, table.rank td { padding: 10px 8px; } .col-secondary { display: none; } .t-rank { width: 30px; font-size: 1rem; } .thumb { width: 38px; height: 38px; } .t-sub { display: none; } .tabletools { padding: 10px 11px; gap: 7px; } .chip { font-size: .68rem; padding: 7px 10px; } .facts { grid-template-columns: 1fr 1fr 1fr; } .fact { padding: 9px 10px; border-inline-start: 1px solid var(--border); } .fact__k { font-size: .54rem; letter-spacing: .08em; margin-bottom: 2px; } .fact__v { font-size: .78rem; line-height: 1.25; } .fact__v small { font-size: .62rem; line-height: 1.2; } .collapse > summary { margin-top: 18px; } .answer { padding: 12px 15px; } .answer p { font-size: .87rem; line-height: 1.5; } .answer__label { font-size: .58rem; } .lede { font-size: .95rem; margin-top: 16px; } .tocfab { right: 14px; bottom: 14px; padding: 11px 15px; font-size: .66rem; } .tocsheet { padding: 0; justify-items: stretch; } .tocsheet__panel { width: 100%; max-height: 78vh; border-radius: var(--radius-lg) var(--radius-lg) 0 0; border-bottom: none; } } @media (max-width: 400px) { .facts { grid-template-columns: 1fr 1fr; } } @media (min-width: 761px) { .more > summary { display: none; } .more__body { padding-top: 0; } .peek + .more .more__body .bars { margin-top: 10px; } }   @media print { .masthead, .toc, .agegate, .progress, .tabletools, .tocfab, .tocsheet { display: none !important; } body { background: #fff; color: #000; } body::before { display: none; } html.js [data-reveal] { opacity: 1 !important; transform: none !important; } html.js .worldmap__grid[data-cascade] .tile { opacity: 1 !important; transform: none !important; } }   @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } html.js [data-reveal] { opacity: 1 !important; transform: none !important; } html.js [data-meter] > i, html.js [data-meter] > .bar__fill, html.js [data-meter] > .pillar__fill { clip-path: none !important; } }     .kicker { display: block; font-family: var(--font-mono); font-size: .66rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--coral); margin: 0 0 12px; }   .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }   .homehero { position: relative; overflow: hidden; padding: 74px 0 58px; }   .homehero::before, .homehero::after { content: ""; position: absolute; pointer-events: none; z-index: 0; width: 620px; height: 620px; border-radius: 50%; filter: blur(10px); } .homehero::before { top: -320px; left: -180px; background: radial-gradient(circle, color-mix(in srgb, var(--coral) 20%, transparent), transparent 68%); } .homehero::after { top: -260px; right: -240px; background: radial-gradient(circle, color-mix(in srgb, var(--amber) 13%, transparent), transparent 68%); } .homehero__inner { position: relative; z-index: 1; } .homehero__kicker { color: var(--text-faint); letter-spacing: .16em; } .homehero__kicker::first-line { color: var(--text-faint); } .homehero h1 { margin: 0 0 20px; font-size: clamp(2.3rem, 6vw, 4.4rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.03; text-wrap: balance; } .homehero h1 em { font-style: normal; color: var(--coral);   background-image: linear-gradient(var(--coral), var(--coral)); background-repeat: no-repeat; background-position: 0 92%; background-size: 100% 3px; padding-bottom: 2px; } .homehero__lede { font-size: 1.1rem; line-height: 1.62; color: var(--text-dim); max-width: 66ch; margin: 0 0 30px; } .homehero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 52px; } .homehero__cta .btn { text-decoration: none; }   .homestats { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: hidden; } .homestat { padding: 20px 22px; border-inline-start: 1px solid var(--border); } .homestat:first-child { border-inline-start: none; } .homestat__n { display: block; font-family: var(--font-mono); font-size: 1.75rem; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--coral); line-height: 1; } .homestat__l { display: block; margin-top: 9px; font-family: var(--font-mono); font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; color: var(--text-faint); line-height: 1.4; }   .browsehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 26px; } .browsehead h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); letter-spacing: -.04em; } .browsehead--tight { margin-bottom: 18px; } .browsehead__tools { display: flex; align-items: center; gap: 14px; } .browsehead__more { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .06em; color: var(--coral); text-decoration: none; white-space: nowrap; border-bottom: 1px solid transparent; transition: border-color var(--t-fast); } .browsehead__more:hover { border-bottom-color: var(--coral); } .browsesearch { display: flex; align-items: center; gap: 9px; padding: 0 14px; height: 44px; min-width: 320px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text-faint); transition: border-color var(--t-fast) ease, box-shadow var(--t-fast) ease; } .browsesearch:focus-within { border-color: var(--coral); color: var(--coral); box-shadow: 0 0 0 3px color-mix(in srgb, var(--coral) 18%, transparent); } .browsesearch input { flex: 1; min-width: 0; border: none; background: none; outline: none; font: inherit; font-size: .9rem; color: var(--text); } .browsesearch input::placeholder { color: var(--text-faint); }   .browsesearch input::-webkit-search-cancel-button { filter: grayscale(1) opacity(.6); cursor: pointer; } .browsecount { margin: 0; white-space: nowrap; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); }   .viewswitch { display: inline-flex; gap: 3px; margin-bottom: 30px; padding: 4px; border: 1px solid var(--border); border-radius: var(--pill); background: var(--surface); } .viewswitch__btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: none; border-radius: var(--pill); background: transparent; cursor: pointer; font-family: var(--font-mono); font-size: .74rem; font-weight: 500; letter-spacing: .06em; color: var(--text-dim); transition: color var(--t-fast) ease, background-color var(--t-mid) var(--ease-out); } .viewswitch__btn:hover { color: var(--text); } .viewswitch__btn.is-on { background: var(--coral); color: var(--on-coral); box-shadow: var(--shadow-spot); } .viewswitch__ic { flex: none; opacity: .8; }   html.js .viewpanel { display: none; } html.js .viewpanel.is-on { display: block; animation: rise .4s var(--ease-out) both; } .viewpanel + .viewpanel { margin-top: 40px; } html.js .viewpanel + .viewpanel { margin-top: 0; }   .worldmap { display: grid; gap: 16px; } .worldmap__grid { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); grid-template-rows: repeat(var(--rows), auto); gap: 8px; } .tile { position: relative; display: flex; flex-direction: column; justify-content: center; aspect-ratio: 1 / 1; padding: 6px 4px; text-decoration: none; text-align: center; border: 1px solid var(--border); border-top: 2px solid var(--acc, var(--border-strong)); border-radius: var(--radius); background: var(--heatfill, var(--surface)); color: var(--text); transition: transform var(--t-fast) var(--ease-spring), box-shadow var(--t-mid) ease, border-color var(--t-fast) ease; } .tile:hover, .tile:focus-visible { transform: translateY(-4px) scale(1.04); z-index: 3; border-color: var(--coral); border-top-color: var(--coral); box-shadow: var(--shadow-spot), var(--shadow); outline: none; } .tile__code { font-family: var(--font-mono); font-size: 1.02rem; font-weight: 700; letter-spacing: .04em; line-height: 1; }   .tile__name { margin-top: 4px; font-size: .58rem; line-height: 1.15; color: var(--text); letter-spacing: -.01em; overflow-wrap: anywhere; } .tile__n { position: absolute; top: 4px; right: 5px; font-family: var(--font-mono); font-size: .56rem; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }   [data-heat="1"] { --heatfill: color-mix(in srgb, var(--coral) 10%, var(--surface)); } [data-heat="2"] { --heatfill: color-mix(in srgb, var(--coral) 24%, var(--surface)); } [data-heat="3"] { --heatfill: color-mix(in srgb, var(--coral) 40%, var(--surface)); } [data-heat="4"] { --heatfill: color-mix(in srgb, var(--coral) 60%, var(--surface)); }   [data-continent="americas"] { --acc: var(--coral); } [data-continent="europe"] { --acc: var(--amber); } [data-continent="mideast"] { --acc: var(--rose); } [data-continent="asia"] { --acc: var(--jade); } [data-continent="africa"] { --acc: var(--amber); } [data-continent="oceania"] { --acc: var(--jade); }   .mapread { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) auto; align-items: center; gap: 8px 28px; padding: 18px 22px; border: 1px solid var(--border); border-inline-start: 2px solid var(--coral); border-radius: var(--radius); background: var(--surface); } .mapread .kicker { grid-column: 1 / -1; margin-bottom: 0; } .mapread h3 { margin: 0; font-size: 1.12rem; letter-spacing: -.03em; transition: color var(--t-fast) ease; } .mapread__title { margin: 0; font-size: .87rem; color: var(--text-dim); line-height: 1.5; } .mapread__top { margin: 0; grid-column: 1 / -1; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--text-faint); } .mapread__top:empty { display: none; } .mapread__cta {   margin: 0; white-space: nowrap; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .05em; color: var(--coral); }   .maplegend { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); } .maplegend__set { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .maplegend .kicker { margin: 0; color: var(--text-faint); } .maplegend__leg { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: .68rem; color: var(--text-dim); } .maplegend__leg i { width: 14px; height: 3px; border-radius: 2px; background: var(--acc); } .maplegend__sw { width: 18px; height: 18px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--heatfill); } .maplegend__scale { font-family: var(--font-mono); font-size: .66rem; color: var(--text-faint); letter-spacing: .06em; }   .mapregions { margin-top: 26px; } .mapregions .kicker { color: var(--text-faint); } .mapregions .chips a { padding: 8px 12px; font-size: .74rem; } .mapregions .chips a b { font-weight: 600; color: var(--coral); margin-inline-start: 5px; font-variant-numeric: tabular-nums; }   .catmap { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 18px; align-items: start; } .catcard { position: relative; overflow: hidden; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); transition: border-color var(--t-mid) ease; } .catcard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, var(--coral), var(--amber)); transform: scaleX(0); transform-origin: right; transition: transform var(--t-slow) var(--ease-out); } .catcard:hover { border-color: var(--border-strong); } .catcard:hover::before { transform: scaleX(1); transform-origin: left; } .catcard__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; } .catcard__head h3 { margin: 0; font-size: 1.06rem; letter-spacing: -.03em; } .catcard__n { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .06em; color: var(--text-faint); white-space: nowrap; font-variant-numeric: tabular-nums; } .catcard__blurb { margin: 8px 0 14px; font-size: .81rem; line-height: 1.5; color: var(--text-faint); } .catcard__list { list-style: none; margin: 0; padding: 0; } .catcard__list li { border-top: 1px solid var(--border); } .catcard__list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; text-decoration: none; color: var(--text-dim); transition: color var(--t-fast) ease, padding-inline-start var(--t-fast) var(--ease-out); } .catcard__list a:hover { color: var(--coral); padding-inline-start: 6px; } .catcard__title { font-size: .88rem; line-height: 1.35; } .catcard__meta { font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); font-variant-numeric: tabular-nums; flex: none; }   .azwrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); } .aztable { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 720px; } .aztable th { text-align: start; padding: 13px 16px; font-family: var(--font-mono); font-size: .62rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); background: var(--bg-elev); border-bottom: 1px solid var(--border); white-space: nowrap; } .aztable tbody th { text-transform: none; letter-spacing: normal; font-size: .92rem; background: none; overflow-wrap: break-word; } .aztable td { padding: 12px 16px; border-bottom: 1px solid var(--border); color: var(--text-dim); } .aztable tbody th { padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 500; } .aztable tbody tr { transition: background-color var(--t-fast) ease; } .aztable tbody tr:hover { background: var(--surface); } .aztable tbody a { color: var(--text); text-decoration: none; } .aztable tbody tr:hover a { color: var(--coral); } .az--num { text-align: end; font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: .82rem; } .az--date { font-family: var(--font-mono); font-size: .74rem; color: var(--text-faint); white-space: nowrap; } .az--cat { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .06em; padding: 3px 8px; border-radius: var(--radius-sm); border: 1px solid var(--border); color: var(--text-faint); white-space: nowrap; } .browsenull { margin-top: 22px; color: var(--text-dim); font-size: .92rem; } .browsenull button { font: inherit; color: var(--coral); background: none; border: none; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; } .browsenote { margin-top: 22px; font-size: .8rem; color: var(--text-faint); line-height: 1.6; } .browsenote a { color: var(--text-dim); }   .homelower { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 44px; align-items: start; } .updatelist { list-style: none; margin: 0; padding: 0; } .updatelist li { display: grid; grid-template-columns: 106px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding: 12px 0; border-top: 1px solid var(--border); } .updatelist time { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .04em; color: var(--text-faint); white-space: nowrap; } .updatelist a { color: var(--text); text-decoration: none; font-size: .92rem; transition: color var(--t-fast); } .updatelist a:hover { color: var(--coral); } .updatelist span { font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); white-space: nowrap; font-variant-numeric: tabular-nums; } .updatelist__foot { margin: 20px 0 0; } .updatelist__foot a { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .05em; color: var(--coral); text-decoration: none; } .updatelist__foot a:hover { text-decoration: underline; text-underline-offset: 3px; } .trustcard { padding: 28px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); } .trustcard h2 { margin: 0 0 12px; font-size: 1.35rem; letter-spacing: -.035em; } .trustcard__lede { margin: 0 0 22px; font-size: .87rem; line-height: 1.6; color: var(--text-dim); } .pillarbars { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 11px; } .pillarbars li { display: grid; grid-template-columns: minmax(0, 1fr) 96px 38px; gap: 12px; align-items: center; } .pillarbars__k { font-size: .8rem; color: var(--text-dim); } .pillarbars__bar { height: 5px; border-radius: var(--pill); background: var(--surface-3); overflow: hidden; } .pillarbars__bar i { display: block; height: 100%; border-radius: var(--pill); background: linear-gradient(90deg, var(--coral-ink), var(--coral)); } .pillarbars__w { font-family: var(--font-mono); font-size: .72rem; text-align: end; color: var(--text-faint); font-variant-numeric: tabular-nums; } .trustcard__links { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 18px; border-top: 1px solid var(--border); } .trustcard__links a { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .05em; color: var(--coral); text-decoration: none; } .trustcard__links a:hover { text-decoration: underline; text-underline-offset: 3px; }   .section--disclosure { padding: 44px 0 64px; } .disclosure { margin: 0; max-width: var(--measure); font-size: .8rem; line-height: 1.65; color: var(--text-faint); } .masthead__cta { margin-inline-start: 10px; padding: 7px 14px !important; border: 1px solid var(--coral); border-radius: var(--pill); color: var(--coral) !important; transition: background-color var(--t-fast) ease, color var(--t-fast) ease; } .masthead__cta::after { display: none; } .masthead__cta:hover { background: var(--coral); color: var(--on-coral) !important; }   @media (max-width: 1080px) { .homelower { grid-template-columns: 1fr; gap: 44px; } .mapread { grid-template-columns: 1fr; gap: 6px; } .mapread__cta { justify-self: start; } } @media (max-width: 880px) { .homestats { grid-template-columns: repeat(2, 1fr); } .homestat { border-top: 1px solid var(--border); } .homestat:nth-child(-n+2) { border-top: none; } .homestat:nth-child(odd) { border-inline-start: none; } .homestat:last-child:nth-child(odd) { grid-column: 1 / -1; } .browsehead { align-items: stretch; } .browsehead__tools { width: 100%; } .browsesearch { flex: 1; min-width: 0; } .viewswitch { display: flex; width: 100%; } .viewswitch__btn { flex: 1; justify-content: center; padding: 10px 8px; font-size: .68rem; }   .worldmap__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .tile { grid-column: auto !important; grid-row: auto !important; aspect-ratio: 1 / .82; } .tile__code { font-size: 1.15rem; } .tile__name { font-size: .62rem; } } @media (max-width: 560px) { .homehero { padding: 48px 0 40px; } .homehero__cta { margin-bottom: 34px; } .homehero__cta .btn { flex: 1; text-align: center; padding: 12px 14px; } .worldmap__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .viewswitch__ic { display: none; } .updatelist li { grid-template-columns: 1fr auto; } .updatelist time { grid-column: 1 / -1; } .catmap { grid-template-columns: 1fr; } }   @media (prefers-reduced-motion: reduce) { .tile { transition: border-color var(--t-fast) ease; } .tile:hover, .tile:focus-visible { transform: none; } html.js .viewpanel.is-on { animation: none; } }     [dir="rtl"] { --font-display: "IBM Plex Sans Arabic", "Noto Sans Arabic", Cairo, Tajawal, system-ui, -apple-system, Roboto, Arial, sans-serif; --font-body: "IBM Plex Sans Arabic", "Noto Sans Arabic", Cairo, Tajawal, system-ui, -apple-system, Roboto, Arial, sans-serif;   --font-mono: "IBM Plex Sans Arabic", "Noto Sans Arabic", Cairo, Tajawal, "JetBrains Mono", system-ui, monospace; }   [dir="rtl"] * { letter-spacing: normal !important; }   [dir="rtl"] .crumbs, [dir="rtl"] .eyebrow, [dir="rtl"] .stamp, [dir="rtl"] .answer__label, [dir="rtl"] .section__kicker, [dir="rtl"] .pillar__type, [dir="rtl"] .pillar summary, [dir="rtl"] .panel h4, [dir="rtl"] table.rank th, [dir="rtl"] .badge, [dir="rtl"] .ring__cap, [dir="rtl"] .score__cap, [dir="rtl"] .fact__k, [dir="rtl"] .card h4, [dir="rtl"] .collapse > summary, [dir="rtl"] .taxonomy th, [dir="rtl"] .change__type, [dir="rtl"] .authorbox__role, [dir="rtl"] .foot h4, [dir="rtl"] .tocfab, [dir="rtl"] .tocsheet__title, [dir="rtl"] .tocsheet__group, [dir="rtl"] .kicker, [dir="rtl"] .homestat__l, [dir="rtl"] .browsecount, [dir="rtl"] .aztable th { text-transform: none; font-weight: 700; }   [dir="rtl"] body { font-size: 18px; line-height: 1.8; } [dir="rtl"] p, [dir="rtl"] .lede, [dir="rtl"] .hero__lede, [dir="rtl"] .homehero__lede { line-height: 1.8; } [dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4, [dir="rtl"] .hero h1, [dir="rtl"] .homehero h1, [dir="rtl"] .agegate__title { line-height: 1.4; }   [dir="rtl"] .crumbs, [dir="rtl"] .navpanel a, [dir="rtl"] [data-legal-nav] a, [dir="rtl"] .slides__credit, [dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] .pillar__why, [dir="rtl"] .panel--limits li { unicode-bidi: isolate; }       .flag { display: block; width: 100%; height: auto; border-radius: 1.5px; box-shadow: 0 0 0 .5px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .3); } [data-theme="light"] .flag { box-shadow: 0 0 0 .5px rgba(0, 0, 0, .22), 0 1px 2px rgba(0, 0, 0, .14); } .tile__flag { display: block; width: 30px; margin: 0 auto 5px; transition: transform var(--t-mid) var(--ease-spring); } .tile:hover .tile__flag, .tile:focus-visible .tile__flag { transform: scale(1.12) translateZ(0); }   .tile__code { position: absolute; top: 4px; left: 5px; font-family: var(--font-mono); font-size: .55rem; font-weight: 600; letter-spacing: .06em; line-height: 1; color: var(--text); opacity: .72; } .tile__name { font-size: .6rem; font-weight: 500; line-height: 1.15; color: var(--text); letter-spacing: -.01em; overflow-wrap: anywhere; margin-top: 0; }   [data-heat="0"] { --heatfill: var(--surface); } .tile[data-heat="0"] { border-style: dashed; }     .worldmap__grid { position: relative; isolation: isolate; } .worldmap__grid::before { content: ""; position: absolute; inset: -18px; z-index: -1; pointer-events: none; border-radius: var(--radius-lg); background: radial-gradient(220px circle at var(--px, 50%) var(--py, 50%), color-mix(in srgb, var(--coral) 20%, transparent), transparent 70%); opacity: 0; transition: opacity var(--t-mid) ease; } .worldmap__grid.is-live::before { opacity: 1; }   .tile { transform: perspective(420px) rotateX(calc(var(--ty, 0) * -6deg)) rotateY(calc(var(--tx, 0) * 6deg)) translateY(var(--tile-lift, 0)); } .tile:hover, .tile:focus-visible { --tile-lift: -4px; }     html.js .worldmap__grid[data-cascade] .tile { opacity: 0; transform: perspective(420px) translateY(14px) scale(.9); transition: opacity .5s var(--ease-out) calc(var(--tile-i, 0) * 26ms), transform .5s var(--ease-spring) calc(var(--tile-i, 0) * 26ms), border-color var(--t-fast) ease, box-shadow var(--t-mid) ease; } html.js .worldmap__grid[data-cascade].is-in .tile { opacity: 1; transform: perspective(420px) rotateX(calc(var(--ty, 0) * -6deg)) rotateY(calc(var(--tx, 0) * 6deg)) translateY(var(--tile-lift, 0)); }   html.js .worldmap__grid[data-cascade].is-settled .tile { transition-delay: 0ms; }   .tile.is-dim { opacity: .16; filter: saturate(.15); pointer-events: none; transition: opacity var(--t-mid) ease, filter var(--t-mid) ease; }   .maplegend__leg { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: .68rem; color: var(--text-dim); padding: 5px 10px; border-radius: var(--pill); border: 1px solid transparent; background: none; cursor: pointer; transition: color var(--t-fast) ease, border-color var(--t-fast) ease, background-color var(--t-fast) ease; } .maplegend__leg i { width: 14px; height: 3px; border-radius: 2px; background: var(--acc); flex: none; } .maplegend__leg b { font-weight: 600; font-size: .62rem; color: var(--text-faint); font-variant-numeric: tabular-nums; } .maplegend__leg:hover { color: var(--text); border-color: var(--border); } .maplegend__leg[aria-pressed="true"] { color: var(--text); border-color: var(--border-strong); background: var(--surface-2); } .maplegend__leg[aria-pressed="true"] b { color: var(--coral); } .maplegend__leg--all { color: var(--text-faint); }   .mapread { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px 22px; } .mapread__flag { width: 52px; flex: none; } .mapread__flag:empty { display: none; } .mapread__body { min-width: 0; } .mapread .kicker { margin-bottom: 6px; } .mapread__top { margin: 6px 0 0; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .02em; color: var(--text-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }   .mapread__body, .mapread__flag { transition: opacity .18s ease, transform .18s var(--ease-out); } .mapread.is-swap .mapread__body, .mapread.is-swap .mapread__flag { opacity: 0; transform: translateY(5px); }     .viewswitch { position: relative; } .viewswitch__pill { position: absolute; top: 4px; bottom: 4px; left: 0; width: var(--pill-w, 0); transform: translateX(var(--pill-x, 0)); border-radius: var(--pill); background: var(--coral); box-shadow: var(--shadow-spot); pointer-events: none; z-index: 0; transition: transform var(--t-mid) var(--ease-spring), width var(--t-mid) var(--ease-spring); } .viewswitch__btn { position: relative; z-index: 1; }   html.js .viewswitch.has-pill .viewswitch__btn.is-on { background: transparent; box-shadow: none; }   .aztable th[data-sort] { cursor: pointer; user-select: none; transition: color var(--t-fast); } .aztable th[data-sort]:hover { color: var(--coral); } .aztable th[data-sort]::after { content: " ⇅"; opacity: .3; font-size: .9em; } .aztable th[aria-sort="descending"]::after { content: " ▾"; color: var(--coral); opacity: 1; } .aztable th[aria-sort="ascending"]::after { content: " ▴"; color: var(--coral); opacity: 1; }   html.js .aztable tbody tr { animation: fade .26s var(--ease-out) both; }   .section--rail { overflow: hidden; } .railnote { margin: -10px 0 22px; max-width: var(--measure); font-size: .87rem; color: var(--text-dim); line-height: 1.55; }   .railscroll { overflow-x: auto; overflow-y: hidden; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-snap-type: x proximity; scrollbar-width: thin; } .rail { display: flex; gap: 14px; list-style: none; margin: 0; padding: 4px 0 14px; } .railcard { flex: none; width: 132px; scroll-snap-align: start; } .railcard a { display: block; text-decoration: none; color: inherit; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); transition: border-color var(--t-fast) ease, transform var(--t-fast) var(--ease-out), box-shadow var(--t-mid) ease; } .railcard a:hover, .railcard a:focus-visible { border-color: var(--coral); transform: translateY(-4px); box-shadow: var(--shadow); outline: none; } .railcard__pic { display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius-sm); background: var(--surface-2); margin-bottom: 10px; } .railcard__pic img, .railcard__pic svg { width: 100%; height: 100%; object-fit: cover; display: block; } .railcard__name { display: block; font-size: .84rem; font-weight: 500; line-height: 1.25; letter-spacing: -.02em; transition: color var(--t-fast); } .railcard a:hover .railcard__name { color: var(--coral); } .railcard__meta { display: block; margin-top: 5px; font-family: var(--font-mono); font-size: .62rem; color: var(--text-faint); } .railcard__meta b { color: var(--coral); font-weight: 600; }     html.js .homehero__kicker, html.js .homehero__lede, html.js .homehero__cta, html.js .homestats { animation: rise .78s var(--ease-out) both; } html.js .homehero__kicker { animation-delay: .04s; }   html.js .homehero h1 { animation: lift .78s var(--ease-out) both .1s; } html.js .homehero__lede { animation-delay: .2s; } html.js .homehero__cta { animation-delay: .3s; } html.js .homestats { animation-delay: .38s; }   html.js .homehero h1 em { background-size: 0% 3px; animation: home-underline .5s var(--ease-out) .72s forwards; } @keyframes home-underline { to { background-size: 100% 3px; } }   .browsesearch kbd { font-family: var(--font-mono); font-size: .6rem; line-height: 1; padding: 3px 5px; border-radius: var(--radius-sm); border: 1px solid var(--border); color: var(--text-faint); background: var(--surface-2); flex: none; } .browsesearch:focus-within kbd { opacity: 0; }   @media (max-width: 1080px) { .mapread { grid-template-columns: auto minmax(0, 1fr); } .mapread__cta { grid-column: 1 / -1; justify-self: start; } } @media (max-width: 880px) { .tile__flag { width: 34px; } .tile__name { font-size: .66rem; } .tile__code { font-size: .58rem; } .railcard { width: 118px; } } @media (max-width: 560px) { .mapread__flag { width: 40px; } .browsesearch kbd { display: none; } }     @media (prefers-reduced-motion: reduce) { html.js .worldmap__grid[data-cascade] .tile, html.js .worldmap__grid[data-cascade].is-in .tile { opacity: 1; transform: none; transition: none; } .tile { transform: none; } .tile:hover, .tile:focus-visible { --tile-lift: 0; } .tile__flag, .tile:hover .tile__flag, .tile:focus-visible .tile__flag { transform: none; } .worldmap__grid::before { display: none; } .viewswitch__pill { transition: none; } .mapread__body, .mapread__flag { transition: none; } .mapread.is-swap .mapread__body, .mapread.is-swap .mapread__flag { opacity: 1; transform: none; } html.js .aztable tbody tr { animation: none; } html.js .homehero__kicker, html.js .homehero h1, html.js .homehero__lede, html.js .homehero__cta, html.js .homestats { animation: none; } html.js .homehero h1 em { animation: none; background-size: 100% 3px; } .railcard a:hover, .railcard a:focus-visible { transform: none; } }   .langswitch{position:relative;display:inline-block;margin-left:.5rem} .langswitch>summary{ list-style:none;cursor:pointer;user-select:none;white-space:nowrap; padding:.3rem .6rem;border:1px solid var(--rule,#3a3a44);border-radius:4px; font-size:.85rem;line-height:1.2; } .langswitch>summary::-webkit-details-marker{display:none} .langswitch>summary:hover{border-color:var(--gold,#d9a441)} .langswitch>summary:focus-visible{outline:2px solid var(--gold,#d9a441);outline-offset:2px} .langswitch__list{ position:absolute;inset-inline-end:0;top:calc(100% + .35rem);z-index:60; margin:0;padding:.35rem;list-style:none;min-width:11rem; background:var(--bg-raise,#16161d);border:1px solid var(--rule,#3a3a44); border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.35); } .langswitch__list li{margin:0} .langswitch__list a{ display:flex;align-items:baseline;gap:.5em; padding:.4rem .6rem;border-radius:4px; font-size:.88rem;text-decoration:none; } .langswitch__list a:hover{background:var(--bg-sink,#0f0f14)} .langswitch__list a[aria-current="true"]{font-weight:600;color:var(--gold,#d9a441)}   .langswitch__flag{ display:inline-block;flex:none;width:1.2em; text-align:center;vertical-align:-.1em; font-size:1em;line-height:1; } .langswitch>summary .langswitch__flag{margin-inline-start:.35em;margin-inline-end:.15em} @media (max-width:640px){     .langswitch__list{inset-inline-end:0;inset-inline-start:auto;max-width:min(15rem,calc(100vw - 1.5rem))} }   @media (max-width:640px){ .masthead__cta{display:none} .langswitch__name{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap} .langswitch>summary .langswitch__flag{margin-inline-end:0} .masthead nav{min-inline-size:0} .masthead__inner{gap:10px} }     .mapread { min-width: 0; } .mapread__cta { white-space: normal; }   .consent{ position:fixed;inset-inline:0;bottom:0;z-index:80; background:var(--bg-raise,#16161d); border-top:1px solid var(--rule,#3a3a44); box-shadow:0 -4px 20px rgba(0,0,0,.28); } .consent[hidden]{display:none} .consent__inner{ max-width:var(--wrap,1180px);margin-inline:auto; padding:.7rem var(--gutter,24px); display:flex;align-items:center;gap:1rem;flex-wrap:wrap; } .consent__text{ margin:0;flex:1 1 20rem;min-width:0; font-size:.85rem;line-height:1.45;color:var(--text-dim,#b6b6c0); } .consent__text a{color:var(--gold,#d9a441)} .consent__actions{display:flex;gap:.5rem;flex:0 0 auto}   .consent__btn{ padding:.42rem 1.1rem;font-size:.85rem;white-space:nowrap; border:1px solid var(--rule-2,#4a4a56);border-radius:4px; background:transparent;color:var(--text,#eceded);cursor:pointer; } .consent__btn:hover{border-color:var(--gold,#d9a441)} .consent__btn:focus-visible{outline:2px solid var(--gold,#d9a441);outline-offset:2px} @media (max-width:560px){ .consent__inner{padding:.6rem var(--gutter,18px);gap:.6rem} .consent__text{flex:1 1 100%;font-size:.8rem} .consent__actions{flex:1 1 100%} .consent__btn{flex:1 1 0} }   table.rank th[data-sort]:focus-visible{outline:2px solid var(--gold,#d9a441);outline-offset:-2px}   .slides__dot{min-width:12px;min-height:12px}         .sitesearch { display: flex; align-items: stretch; gap: 0; max-inline-size: 22rem; inline-size: 100%; border: 1px solid var(--border); border-radius: var(--radius, 5px); background: var(--surface); overflow: hidden; } .sitesearch:focus-within { border-color: var(--border-strong); } .sitesearch__lbl { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } .sitesearch__in { flex: 1 1 auto; min-inline-size: 0; padding: .42rem .6rem; border: 0; background: transparent; color: var(--text); font: inherit; font-size: .86rem; } .sitesearch__in::placeholder { color: var(--text-faint); } .sitesearch__in:focus { outline: none; } .sitesearch__go { flex: 0 0 auto; padding-inline: .7rem; border: 0; border-inline-start: 1px solid var(--border); background: var(--bg-elev); color: var(--text-dim); font: inherit; font-size: .78rem; cursor: pointer; } .sitesearch__go:hover { background: var(--coral); color: var(--on-coral); }   .masthead nav .sitesearch { flex: 0 0 auto; inline-size: 11.5rem; margin-inline-start: 10px; transition: inline-size .2s var(--ease-out, ease); } .masthead nav .sitesearch:focus-within { inline-size: 16rem; } .masthead nav .sitesearch__in { font-size: .8rem; padding-block: .34rem; } @media (max-width: 900px) { .masthead nav .sitesearch { display: none; } }   .trending { display: flex; align-items: baseline; gap: .55rem; padding-block: .45rem; border-block-end: 1px solid var(--border); overflow-x: auto; scrollbar-width: thin; } .trending__k { flex: 0 0 auto; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; color: var(--text-faint); } .trending__list { display: flex; gap: .45rem; margin: 0; padding: 0; list-style: none; white-space: nowrap; } .trending__list a { display: inline-block; padding: .16rem .5rem; border: 1px solid var(--border); border-radius: 999px; color: var(--text-dim); font-size: .78rem; text-decoration: none; } .trending__list a:hover { border-color: var(--coral); color: var(--text); }   .footdir { border-block-start: 1px solid var(--border); padding-block-start: 1.4rem; margin-block-start: 1.6rem; } .footdir__title { margin: 0 0 1rem; font-size: .72rem; font-family: var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); font-weight: 500; } .footdir__cols {   columns: 5 11rem; column-gap: 2rem; } .footdir__g { margin-block-end: 1.1rem; } .footdir__h { margin: 0 0 .3rem; font-size: .74rem; color: var(--text); font-weight: 600; break-after: avoid; } .footdir__l { margin: 0; padding: 0; list-style: none; } .footdir__l li { margin-block-end: .1rem; break-inside: avoid; } .footdir__l a { color: var(--text-dim); font-size: .78rem; text-decoration: none; line-height: 1.35; } .footdir__l a:hover { color: var(--coral); text-decoration: underline; }   .updated { margin-block: 1.6rem; } .updated__title { margin: 0 0 .6rem; font-size: .72rem; font-family: var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-faint); font-weight: 500; } .updlist { margin: 0; padding: 0; list-style: none; } .updlist__i { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding-block: .38rem; border-block-end: 1px solid var(--border); } .updlist__i:last-child { border-block-end: 0; } .updlist__i a { color: var(--text); font-size: .86rem; text-decoration: none; } .updlist__i a:hover { color: var(--coral); text-decoration: underline; } .updlist__d { flex: 0 0 auto; font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); white-space: nowrap; }   .faceset { margin-block: 1.6rem; } .faceset__title { margin: 0 0 .7rem; font-size: .95rem; color: var(--text); font-weight: 600; } .faces { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; } .faces__i { min-inline-size: 0; } .faces__a { display: flex; flex-direction: column; align-items: center; gap: .3rem; color: var(--text-dim); text-decoration: none; } a.faces__a:hover { color: var(--coral); } .faces__pic { display: block; inline-size: 44px; block-size: 44px; border-radius: 50%; overflow: hidden; background: var(--bg-elev); border: 1px solid var(--border); } .faces__pic img, .faces__pic svg { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; } a.faces__a:hover .faces__pic { border-color: var(--coral); } .faces__n { font-size: .72rem; line-height: 1.25; text-align: center; overflow-wrap: anywhere; } @media (max-width: 560px) { .footdir__cols { columns: 2 8rem; column-gap: 1.2rem; } .faces { grid-template-columns: repeat(auto-fill, minmax(4rem, 1fr)); } }       .trendingwrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); padding-block: 10px 0; }   .seriesstrip { margin: 10px 0 0; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .1em; } .seriesstrip a { color: var(--text-faint); text-transform: uppercase; text-decoration: none; border-bottom: 1px solid transparent; transition: color var(--t-fast) ease, border-color var(--t-fast) ease; } .seriesstrip a:hover { color: var(--coral); border-bottom-color: var(--coral); }   .seealso { margin-top: 22px; max-width: var(--measure); background: var(--surface); border: 1px solid var(--border); border-inline-start: 3px solid var(--coral); border-radius: var(--radius); padding: 16px 20px; } .seealso__k { font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); margin-bottom: 10px; } .seealso__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; } .seealso__list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: .9rem; } .seealso__list a { color: var(--text); text-decoration-thickness: 1px; text-underline-offset: 3px; } .seealso__list a:hover { color: var(--coral); } .seealso__shared { font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); }   .alsoranks { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 14px; } .alsoranks__k { font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); margin-inline-end: 2px; } .alsorank { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: .68rem; line-height: 1; padding: 6px 10px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface-2); color: var(--text-dim); text-decoration: none; transition: color var(--t-fast) ease, border-color var(--t-fast) ease, background var(--t-fast) ease; } .alsorank:hover { color: var(--text); border-color: var(--coral); background: var(--surface-3); } .alsorank__n { color: var(--coral); font-weight: 600; font-variant-numeric: tabular-nums; }   .slides__linkwrap { position: absolute; inset: 0; z-index: 2; } .slides__link { position: absolute; inset: 0; display: block; }   .alongsidewrap { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--border); } .alongsidewrap__k { display: block; font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 10px; }   .promo { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 22px 24px; } .promo__k { font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); margin-bottom: 16px; } .promo--photo .promo__grid { gap: 14px; } .promo--photo .hubcard { padding: 18px 20px; } .promo--photo .hubcard__title { font-size: 1.02rem; } .promo__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; } .promo__list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; padding-block: 9px; border-top: 1px solid var(--border); } .promo__list li:first-child { border-top: none; } .promo__list a { color: var(--text); font-size: .95rem; text-decoration: none; } .promo__list a:hover { color: var(--coral); } .promo__meta { margin-inline-start: auto; font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); white-space: nowrap; }   .spotlight { background: var(--surface); border: 1px solid var(--border); border-inline-start: 3px solid var(--coral); border-radius: var(--radius-lg); overflow: hidden; } .spotlight__link { display: flex; align-items: center; gap: 18px; padding: 20px 24px; color: inherit; text-decoration: none; transition: background var(--t-fast) ease; } .spotlight__link:hover { background: var(--surface-2); } .spotlight__thumb { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; flex: none; border: 1px solid var(--border-strong); background: var(--surface-3); } .spotlight__thumb img, .spotlight__thumb svg { width: 100%; height: 100%; object-fit: cover; display: block; } .spotlight__body { display: grid; gap: 4px; min-width: 0; } .spotlight__k { font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); } .spotlight__name { font-size: 1.1rem; letter-spacing: -.02em; } .spotlight__link:hover .spotlight__name { color: var(--coral); } .spotlight__tag { font-size: .86rem; color: var(--text-dim); } .spotlight__meta { font-family: var(--font-mono); font-size: .68rem; color: var(--text-faint); }   .subcat { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 18px; border: 1px dashed var(--border-strong); border-radius: var(--radius); } .subcat__k { font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--text-faint); }   .readnext { margin-block: 40px 0; } .readnext__card { display: grid; gap: 10px; padding: 26px 28px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); color: inherit; text-decoration: none; position: relative; overflow: hidden; transition: border-color var(--t-mid) ease, box-shadow var(--t-mid) ease, transform var(--t-mid) var(--ease-out); } .readnext__card::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; height: 3px; background: linear-gradient(90deg, var(--coral), var(--amber) 55%, transparent); } .readnext__card:hover { border-color: var(--border-strong); box-shadow: var(--shadow); transform: translateY(-2px); } .readnext__thumbs { display: flex; } .readnext__k { font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--coral); } .readnext__title { font-size: 1.5rem; letter-spacing: -.035em; line-height: 1.15; } .readnext__card:hover .readnext__title { color: var(--coral); } .readnext__desc { font-size: .92rem; color: var(--text-dim); max-width: var(--measure); } .readnext__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 4px; font-family: var(--font-mono); font-size: .7rem; color: var(--text-faint); }   .tocsheet__more { display: block; }   [dir="rtl"] .seriesstrip a, [dir="rtl"] .seealso__k, [dir="rtl"] .alsoranks__k, [dir="rtl"] .alongsidewrap__k, [dir="rtl"] .promo__k, [dir="rtl"] .spotlight__k, [dir="rtl"] .subcat__k, [dir="rtl"] .readnext__k, [dir="rtl"] .rail__k { letter-spacing: 0; } @media print { .seealso, .promo, .spotlight, .subcat, .readnext, .rail, .trendingwrap { display: none !important; } } @media (prefers-reduced-motion: reduce) { .readnext__card:hover { transform: none; } }       [data-track="profile-appearances"] .chips span { background: var(--surface); border: 1px solid var(--border); } [data-track="profile-appearances"] .chips a { color: var(--text); } [data-track="profile-appearances"] .chips a:hover { color: var(--coral); }           .factlinks { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-block-start: 10px; font-size: .8rem; } .factlinks a { color: var(--text-faint); text-decoration: none; border-block-end: 1px dotted var(--border-strong); } .factlinks a:hover { color: var(--coral); border-color: var(--coral); }   .neighbours { margin-block-start: 22px; padding-block-start: 18px; border-block-start: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; font-size: .86rem; color: var(--text-dim); } .neighbours a { color: var(--text); } .neighbours a:hover { color: var(--coral); } .neighbours__row:empty { display: none; } .neighbours__az { font-size: .8rem; color: var(--text-faint); display: flex; flex-wrap: wrap; gap: 0 8px; } .neighbours__azlabel { color: var(--text-faint); font-family: var(--font-mono); }         .upnext { position: fixed; inset-inline: 0; bottom: 0; z-index: 70; display: none;   align-items: center; gap: .7em; padding-block: .85rem; padding-inline: var(--gutter, 24px); padding-bottom: calc(.85rem + env(safe-area-inset-bottom)); background: var(--bg-elev); border-block-start: 1px solid var(--border); box-shadow: var(--shadow-lg); color: var(--text); text-decoration: none; transform: translateY(100%); transition: transform .32s ease; } .upnext:not([hidden]) { display: flex; } .upnext.is-visible { transform: translateY(0); } .upnext:hover, .upnext:focus-visible { border-block-start-color: var(--coral); } .upnext__k { flex: none; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--coral); } .upnext strong { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: var(--text); }   @media (min-width: 1041px) { .upnext, .upnext.is-visible { display: none !important; } } @media (prefers-reduced-motion: reduce) { .upnext { transition: none; } }   .frontblock .wrap { display: flex; flex-direction: column; gap: 28px; } .frontblock__grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; } @media (min-width: 900px) { .frontblock__grid { grid-template-columns: repeat(3, 1fr); } } .frontblock__col { min-width: 0; }   .frontblock__col > .section { padding: 0; margin: 0; border: 0; } .frontblock__col .section__head, .frontblock__col .section__head--tight { margin-bottom: 18px; } .frontblock__col .hubgrid { grid-template-columns: 1fr; gap: 14px; } .frontblock__surprise { align-self: center; display: inline-flex; align-items: center; gap: .5em; } .frontblock__surprise::before { content: "🎲"; font-size: 1em; line-height: 1; }     .stream__divider { display: flex; align-items: center; gap: 16px; margin: 48px 0; background: var(--bg); color: var(--text-faint); font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; } .stream__divider::before, .stream__divider::after { content: ""; flex: 1 1 auto; border-top: 1px solid var(--border); }   .roster > .card, .hubgrid > .hubcard, .misses > .miss, #the-list ~ section.section { contain-intrinsic-size: auto 1000px; content-visibility: auto; } .roster > .card { contain-intrinsic-size: auto 980px; } .hubgrid > .hubcard { contain-intrinsic-size: auto 312px; } .misses > .miss { contain-intrinsic-size: auto 230px; } #the-list ~ section.section { contain-intrinsic-size: auto 1400px; } @media (max-width: 1040px) { .roster > .card { contain-intrinsic-size: auto 2450px; } #the-list ~ section.section { contain-intrinsic-size: auto 1600px; } } @media (max-width: 760px) { .roster > .card { contain-intrinsic-size: auto 4100px; } .hubgrid > .hubcard { contain-intrinsic-size: auto 300px; } .misses > .miss { contain-intrinsic-size: auto 250px; } #the-list ~ section.section { contain-intrinsic-size: auto 2100px; } }   @media print { .roster > .card, .hubgrid > .hubcard, .misses > .miss, #the-list ~ section.section { content-visibility: visible; } }