:root {
  --ink: #07080c;
  --panel: #0d1015;
  --panel-soft: #12161c;
  --paper: #e9f3f2;
  --muted: #89999e;
  --yellow: #f3ef27;
  --cyan: #27d7ff;
  --cyan-dark: #176d80;
  --wine: var(--yellow);
  --wine-dark: #6f6c16;
  --violet: var(--cyan);
  --line: rgba(39, 215, 255, 0.16);
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --chip-cut: 12px;
  --chip-clip: polygon(0 0, calc(100% - var(--chip-cut)) 0, 100% var(--chip-cut), 100% 100%, var(--chip-cut) 100%, 0 calc(100% - var(--chip-cut)));
  --chip-diagonal-size: calc(var(--chip-cut) + 4px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}
button, a { font: inherit; }
button { color: inherit; }
a,button,summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--yellow); color: var(--ink); }

main { min-height: 100vh; overflow: hidden; position: relative; }
.noise {
  pointer-events: none; position: fixed; inset: 0; z-index: 50; opacity: .13;
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(255,255,255,.035) 4px);
  mix-blend-mode: screen;
}

.topbar {
  min-height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  border-bottom: 1px solid var(--line); padding: 0 32px; position: relative; z-index: 4;
  background: rgba(7,8,12,.9); backdrop-filter: blur(16px);
}
.brand { display: flex; align-items: baseline; gap: 8px; width: max-content; }
.brand-logo { display: block; width: 176px; height: 50px; overflow: hidden; }
.brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand-mark { font-weight: 800; letter-spacing: -.04em; font-size: 21px; }
.brand-year { color: var(--cyan); font-family: ui-monospace, "SFMono-Regular", monospace; font-size: 13px; }
.top-status { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: 10px; letter-spacing: .14em; font-family: ui-monospace, monospace; text-transform: uppercase; }
.top-status span { display: flex; align-items: center; gap: 8px; }
.pulse { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); animation: pulse 2.4s ease-in-out infinite; }
.topbar nav { display: flex; justify-content: flex-end; gap: 26px; font-size: 12px; }
.topbar nav a { color: #b9bab7; transition: color .2s ease; }
.topbar nav a:hover { color: var(--cyan); }

/* Tactical Asia archive map */
.atlas { padding: 72px clamp(24px, 6vw, 100px) 88px; background: radial-gradient(circle at 65% 45%, rgba(39,215,255,.09), transparent 26%), radial-gradient(circle at 40% 70%, rgba(243,239,39,.15), transparent 30%), #070a0f; border-bottom: 1px solid var(--line); overflow: hidden; }
.atlas-head { display: grid; grid-template-columns: 1fr minmax(280px, 440px); gap: 8vw; align-items: end; margin-bottom: 38px; }
.atlas-head>div>span { color: var(--cyan); font: 9px ui-monospace, monospace; letter-spacing: .16em; }
.atlas-head h2 { margin: 18px 0 0; font-size: clamp(44px, 6vw, 84px); line-height: .98; letter-spacing: -.055em; }
.atlas-head p { color: var(--muted); font-size: 11px; line-height: 1.9; border-left: 1px solid var(--wine); padding-left: 20px; }
.atlas-scroll { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--cyan-dark) transparent; }
.atlas-frame { min-width: 900px; min-height: 520px; aspect-ratio: 16/8.2; position: relative; border: 1px solid rgba(39,215,255,.25); background: linear-gradient(135deg, rgba(39,215,255,.025), rgba(243,239,39,.035)); box-shadow: inset 0 0 80px rgba(0,0,0,.65), 0 30px 100px rgba(0,0,0,.35); animation: atlas-boot .85s cubic-bezier(.2,.8,.2,1) both; }
.atlas-frame::before, .atlas-frame::after { content: ""; position: absolute; pointer-events: none; z-index: 1; }
.atlas-frame::before { inset: 16px; border: 1px solid rgba(39,215,255,.08); clip-path: polygon(0 0,18% 0,18% 1px,82% 1px,82% 0,100% 0,100% 22%,calc(100% - 1px) 22%,calc(100% - 1px) 78%,100% 78%,100% 100%,82% 100%,82% calc(100% - 1px),18% calc(100% - 1px),18% 100%,0 100%,0 78%,1px 78%,1px 22%,0 22%); }
.atlas-frame::after { width: 86px; height: 86px; left: 50%; top: 50%; border: 1px solid transparent; border-radius: 50%; transform: translate(-50%,-50%) scale(.3); opacity: 0; box-shadow: 0 0 35px rgba(39,215,255,.2); transition: transform .35s, opacity .35s, border-color .35s; }
.atlas-frame.targeting::after { transform: translate(-50%,-50%) scale(1); opacity: .6; border-color: var(--cyan); }
.atlas-grid { position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(39,215,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(39,215,255,.09) 1px, transparent 1px), linear-gradient(rgba(39,215,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(39,215,255,.025) 1px, transparent 1px); background-size: 90px 90px,90px 90px,18px 18px,18px 18px; }
.landmass { position: absolute; display: block; z-index: 0; background: linear-gradient(135deg, rgba(30,80,92,.55), rgba(17,33,39,.7)); border: 1px solid rgba(39,215,255,.17); filter: drop-shadow(0 0 18px rgba(39,215,255,.08)); }
.landmass-main { left: 20%; top: 10%; width: 59%; height: 73%; clip-path: polygon(0 4%,35% 0,52% 13%,63% 22%,75% 19%,83% 34%,75% 44%,67% 43%,65% 54%,58% 63%,56% 82%,46% 100%,39% 79%,29% 72%,22% 54%,10% 48%,4% 31%); }
.landmass-japan { left: 78%; top: 24%; width: 12%; height: 25%; clip-path: polygon(68% 0,100% 8%,78% 30%,66% 54%,36% 71%,20% 100%,0 88%,24% 61%,48% 45%); }
.landmass-islands { left: 45%; top: 70%; width: 24%; height: 21%; clip-path: polygon(0 13%,22% 0,42% 22%,62% 16%,100% 46%,84% 67%,55% 52%,38% 85%,16% 100%,8% 60%); }
.atlas-coordinate { position: absolute; z-index: 2; color: rgba(39,215,255,.43); font: 8px ui-monospace, monospace; letter-spacing: .12em; }.atlas-coordinate-a { right: 22px; top: 20px; }.atlas-coordinate-b { left: 22px; bottom: 42px; }
.atlas-scan { position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow: 0 0 20px var(--cyan); opacity: .6; animation: atlas-scan 5s linear infinite; pointer-events: none; }
.map-marker { position: absolute; z-index: 5; width: 1px; height: 1px; }
.map-marker>summary { list-style: none; width: 42px; height: 26px; margin: -13px 0 0 -13px; display: flex; align-items: center; gap: 7px; cursor: pointer; color: var(--cyan); font: 8px ui-monospace, monospace; }
.map-marker>summary::-webkit-details-marker { display: none; }
.map-marker>summary i { width: 12px; height: 12px; border: 2px solid var(--cyan); background: #071012; transform: rotate(45deg); box-shadow: 0 0 14px rgba(39,215,255,.8); position: relative; transition: transform .25s, background .25s, box-shadow .25s; }
.map-marker>summary i::after { content: ""; position: absolute; inset: -7px; border: 1px solid rgba(39,215,255,.35); animation: target-pulse 2.2s ease-out infinite; }
.map-marker:hover>summary i,.map-marker[open]>summary i,.map-marker.linked>summary i { background: var(--cyan); transform: rotate(135deg) scale(1.25); box-shadow: 0 0 28px var(--cyan); }
.map-city-card { display: none; position: absolute; z-index: 30; left: 22px; top: -15px; width: 270px; padding: 18px; border: 1px solid rgba(39,215,255,.48); background: rgba(7,10,15,.96); box-shadow: 16px 18px 50px rgba(0,0,0,.65), inset 2px 0 var(--cyan); backdrop-filter: blur(12px); animation: mission-open .22s ease-out both; }
.map-marker[open]>.map-city-card,.map-marker:hover>.map-city-card,.map-marker.linked>.map-city-card { display: block; }
.map-marker.edge>.map-city-card { left: auto; right: 18px; }.map-marker.south>.map-city-card { top: auto; bottom: 18px; }
.map-city-card small { color: var(--cyan); font: 8px ui-monospace, monospace; letter-spacing: .13em; }.map-city-card strong { display: block; margin: 14px 0 2px; font-size: 26px; }.map-city-card em { color: var(--wine); font: 9px ui-monospace, monospace; font-style: normal; letter-spacing: .14em; }.map-city-card p { color: #92989a; font-size: 10px; line-height: 1.7; margin: 14px 0; }.map-city-card>div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.map-city-card a { padding: 10px 8px; border: 1px solid var(--line); color: var(--cyan); font-size: 8px; text-align: center; }.map-city-card a:last-child { background: var(--cyan); color: var(--ink); font-weight: 800; }
.atlas-legend { position: absolute; z-index: 3; left: 22px; right: 22px; bottom: 16px; display: flex; justify-content: space-between; color: #60686b; font: 8px ui-monospace, monospace; letter-spacing: .11em; }.atlas-legend span:first-child { color: var(--cyan); }.atlas-legend i { display: inline-block; width: 6px; height: 6px; margin-right: 8px; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.city-menu.linked { box-shadow: inset 3px 0 var(--cyan), 0 0 28px rgba(39,215,255,.09); background: linear-gradient(90deg, rgba(39,215,255,.12), transparent); animation: menu-lock .5s ease-out; }
.city-menu.linked>.city-summary::after { content: "TARGET LOCKED"; position: absolute; right: 30px; bottom: 7px; color: var(--cyan); font: 7px ui-monospace, monospace; letter-spacing: .12em; }

@keyframes atlas-boot { from { opacity: 0; transform: perspective(900px) rotateX(5deg) translateY(24px); filter: brightness(2); } to { opacity: 1; transform: none; filter: none; } }
@keyframes atlas-scan { from { transform: translateY(0); } to { transform: translateY(518px); } }
@keyframes target-pulse { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }
@keyframes mission-open { from { opacity: 0; transform: translateX(-8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes menu-lock { 0% { filter: brightness(2); } 100% { filter: none; } }

.hero { min-height: 720px; display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(380px, 32vw); border-bottom: 1px solid var(--line); position: relative; }
.hero::before { content: ""; position: absolute; width: 600px; height: 600px; left: 38%; top: 12%; border-radius: 50%; background: radial-gradient(circle, rgba(243,239,39,.16), transparent 65%); filter: blur(15px); pointer-events: none; }
.system-rail { border-right: 1px solid var(--line); padding: 30px 20px; display: flex; flex-direction: column; gap: 28px; position: relative; }
.rail-label, .section-code, .eyebrow, .panel-heading, .chip-meta, .region div, .intel-title>span, .intel-data, .footer-status { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.rail-label { color: var(--cyan); font-size: 9px; writing-mode: vertical-rl; }
.rail-block { padding-top: 14px; border-top: 1px solid var(--line); }
.rail-block span { display: block; color: var(--muted); font-size: 9px; margin-bottom: 7px; }
.rail-block strong { font: 500 18px ui-monospace, monospace; }
.meter { height: 2px; background: #262a30; margin-top: 10px; }
.meter i { height: 100%; display: block; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.rail-copy { color: #777b80; font-size: 10px; line-height: 1.75; margin-top: auto; }
.vertical-code { font: 8px ui-monospace, monospace; color: #3e4248; writing-mode: vertical-rl; position: absolute; right: 7px; bottom: 20px; letter-spacing: .18em; }

.hero-core { padding: 70px clamp(38px, 5vw, 84px) 38px; position: relative; min-width: 0; }
.eyebrow { color: var(--muted); font-size: 9px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.eyebrow span:first-child { color: var(--cyan); }
h1 { font-size: clamp(66px, 8vw, 130px); line-height: .94; margin: 74px 0 38px; letter-spacing: -.065em; font-weight: 800; }
h1 em { font-style: normal; color: transparent; -webkit-text-stroke: 1px rgba(232,229,220,.48); text-shadow: 22px 22px 60px rgba(243,239,39,.25); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.site-title { display: block; position: relative; width: min(100%,760px); height: 260px; margin: 0 0 18px; padding: 0; overflow: visible; isolation: isolate; }
.brand-vector { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.hero-lede { color: #b7b7b2; font-size: 15px; line-height: 1.85; max-width: 590px; border-left: 2px solid var(--wine); padding-left: 20px; }
.hero-actions { display: flex; gap: 28px; align-items: center; margin: 36px 0 50px; }
.primary-action { min-width: 220px; display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; background: var(--yellow); color: var(--ink); font-size: 12px; font-weight: 700; clip-path: var(--chip-clip); transition: background .2s, transform .2s; }
.primary-action:hover { background: var(--cyan); transform: translateY(-2px); }
.primary-action b { font-size: 20px; }
.ui-chevron { font-family: Arial, Helvetica, sans-serif !important; font-size: 24px !important; line-height: 1; font-weight: 400; }
.text-action { font-size: 11px; color: #b5b6b4; border-bottom: 1px solid #5d6063; padding-bottom: 5px; }
.text-action span { color: var(--cyan); margin-left: 8px; }
.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); max-width: 520px; border-top: 1px solid var(--line); }
.trust-grid div { padding: 20px 0; border-right: 1px solid var(--line); }
.trust-grid div+div { padding-left: 22px; }
.trust-grid strong { display: block; font: 300 28px ui-monospace, monospace; color: var(--cyan); }
.trust-grid span { display: block; color: var(--muted); font-size: 9px; margin-top: 5px; letter-spacing: .12em; }
.stat-counter { white-space: nowrap; }
.stat-counter.is-loading { animation: stat-load-glitch .22s steps(2,end) infinite; }
.corruption-map { position: absolute; right: 22px; bottom: 32px; width: 170px; height: 74px; display: flex; align-items: end; gap: 7px; border-bottom: 1px solid var(--wine-dark); }
.corruption-map i { flex: 1; background: linear-gradient(to top, var(--wine-dark), var(--wine)); opacity: .55; }
.corruption-map i:nth-child(1) { height: 22%; }.corruption-map i:nth-child(2) { height: 55%; }.corruption-map i:nth-child(3) { height: 36%; }.corruption-map i:nth-child(4) { height: 76%; }.corruption-map i:nth-child(5) { height: 58%; }.corruption-map i:nth-child(6) { height: 92%; }.corruption-map i:nth-child(7) { height: 66%; }
.corruption-map span { position: absolute; top: -16px; font: 8px ui-monospace, monospace; color: #5f6267; }
.corruption-map b { position: absolute; right: 0; top: -22px; font: 13px ui-monospace, monospace; color: var(--wine); }

.mission-panel { border-left: 1px solid var(--line); padding: 30px 28px; background: linear-gradient(150deg, rgba(243,239,39,.08), transparent 45%); display: flex; flex-direction: column; position: relative; overflow: hidden; isolation: isolate; }
.mission-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .18; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(39,215,255,.055) 3px 4px); mix-blend-mode: screen; }
.mission-panel>* { position: relative; z-index: 1; }
.panel-heading { display: flex; justify-content: space-between; font-size: 10px; color: var(--cyan); padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.panel-heading span { text-shadow: 8px 0 16px rgba(39,215,255,.35); animation: city-heading-glitch 6s steps(1,end) infinite; }
.panel-heading b { color: var(--paper); }
.mission-panel>p { color: var(--muted); font-size: 11px; margin: 15px 0 22px; }
.mission-list { display: flex; flex-direction: column; gap: 7px; padding: 7px 3px 12px; border-top: 1px solid var(--line); max-height: 720px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: var(--cyan-dark) transparent; }
.mission { border: 0; border-bottom: 1px solid var(--line); background: transparent; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 12px; text-align: left; padding: 16px 8px; cursor: pointer; transition: background .2s, padding .2s; }
.mission:hover, .mission.active { background: linear-gradient(90deg, rgba(39,215,255,.1), transparent); padding-left: 14px; }
.mission.active { box-shadow: inset 2px 0 var(--cyan); }
.mission-index { font: 9px ui-monospace, monospace; color: #555a60; }
.mission strong { display: block; font-size: 15px; }
.mission small { display: block; color: #656a70; font: 8px ui-monospace, monospace; margin-top: 4px; text-transform: uppercase; letter-spacing: .1em; }
.mission-signal { text-align: right; font: 10px ui-monospace, monospace; color: var(--cyan); }
.mission-signal small { color: var(--wine); }
.city-menu { flex: 0 0 auto; min-height: 58px; border: 1px solid rgba(39,215,255,.12); position: relative; overflow: hidden; background: rgba(8,11,16,.74); animation: city-row-boot .38s cubic-bezier(.2,.8,.2,1) both; }
.city-menu:hover,.city-menu[open] { z-index: 2; border-color: var(--yellow); box-shadow: 0 8px 26px rgba(243,239,39,.14); }
.city-menu:nth-child(2n) { animation-delay: .05s; }.city-menu:nth-child(3n) { animation-delay: .1s; }.city-menu:nth-child(5n) { animation-delay: .15s; }
.city-menu::before { content: ""; position: absolute; z-index: 3; left: -45%; top: 0; bottom: 0; width: 35%; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, rgba(39,215,255,.24), transparent); transform: skewX(-18deg); }
.city-menu:hover::before,.city-menu[open]::before { opacity: 1; animation: city-row-scan .72s ease-out; }
.city-summary { list-style: none; position: relative; min-height: 58px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px 10px; cursor: pointer; transition: background .2s, padding .2s; }
.city-summary::-webkit-details-marker { display: none; }
.city-menu:hover>.city-summary,.city-menu[open]>.city-summary { background: var(--yellow); color: var(--ink); padding-left: 14px; box-shadow: none; animation: city-select-lock .42s steps(2,end) both; }
.city-menu:hover>.city-summary strong,.city-menu:hover>.city-summary small,.city-menu:hover>.city-summary .mission-index,.city-menu:hover>.city-summary .city-menu-state,.city-menu[open]>.city-summary strong,.city-menu[open]>.city-summary small,.city-menu[open]>.city-summary .mission-index,.city-menu[open]>.city-summary .city-menu-state { color: var(--ink); }
.city-menu:hover>.city-summary strong { animation: city-theme-glitch .34s steps(2,end) 1; }
.city-summary strong { display: block; font-size: 15px; line-height: 1.25; }
.city-summary small { display: block; color: #656a70; font: 8px/1.35 ui-monospace, monospace; margin-top: 5px; text-transform: uppercase; letter-spacing: .1em; }
.city-menu-state { color: var(--cyan); font: 15px ui-monospace, monospace; transition: transform .2s; }
.city-menu[open] .city-menu-state { transform: rotate(45deg); }
.city-menu[open]>.city-summary strong { text-shadow: none; }
.city-dropdown { display: none; margin-top: 5px; padding: 16px 10px 18px 36px; border-top: 1px solid rgba(39,215,255,.16); background: linear-gradient(120deg, rgba(10,14,19,.98), rgba(12,18,22,.98)); }
.city-menu[open]>.city-dropdown, .city-menu:hover>.city-dropdown { display: block; }
.city-menu[open]>.city-dropdown,.city-menu:hover>.city-dropdown { animation: city-dropdown-in .24s ease-out both; }
.city-core-guide { display: block; padding: 16px; border: 1px solid rgba(39,215,255,.32); background: rgba(39,215,255,.06); position: relative; overflow: hidden; }
.city-core-guide::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); box-shadow: 0 0 14px var(--cyan); animation: core-guide-scan 2.8s ease-in-out infinite; }
.city-core-guide small, .city-updates-label { color: var(--cyan); font: 8px ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.city-core-guide strong { display: block; margin: 8px 0 10px; font-size: 12px; line-height: 1.45; }
.city-core-guide span { color: var(--muted); font-size: 9px; }
.city-updates-label { color: var(--wine); padding: 17px 2px 8px; }
.city-update { display: grid; grid-template-columns: 68px 1fr auto; gap: 10px; align-items: center; padding: 10px 2px; border-top: 1px solid var(--line); }
.city-update:hover { color: var(--cyan); }
.city-update small { color: #666b70; font: 8px ui-monospace, monospace; }
.city-update span { font-size: 10px; line-height: 1.45; }
.city-update b { color: var(--cyan); }

@keyframes city-row-boot { from { opacity: 0; transform: translateX(18px); filter: brightness(2); } to { opacity: 1; transform: none; filter: none; } }
@keyframes city-row-scan { from { transform: translateX(0) skewX(-18deg); } to { transform: translateX(440%) skewX(-18deg); } }
@keyframes city-dropdown-in { from { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0); } }
@keyframes city-select-lock { 0% { opacity: .35; transform: translateX(7px); filter: contrast(1.8); } 35% { opacity: 1; transform: translateX(-3px); } 55% { opacity: .55; transform: translateX(2px); } 100% { opacity: 1; transform: none; filter: none; } }
@keyframes core-guide-scan { 0%,100% { transform: translateX(-80%); opacity: .2; } 50% { transform: translateX(80%); opacity: .9; } }
@keyframes city-heading-glitch { 0%,91%,94%,100% { transform: none; filter: none; } 92% { transform: translateX(2px); filter: hue-rotate(45deg); } 93% { transform: translateX(-2px); } }
@keyframes city-text-glitch { 0%,100% { transform: none; } 35% { transform: translateX(1px); } 60% { transform: translateX(-1px); } }
.chip-trigger { margin-top: auto; border: 1px solid rgba(39,215,255,.38); background: rgba(39,215,255,.05); padding: 14px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; text-align: left; cursor: pointer; transition: background .2s; }
.chip-trigger:hover { background: rgba(39,215,255,.12); }
.chip-trigger small { display: block; font: 8px ui-monospace, monospace; color: var(--cyan); letter-spacing: .13em; margin-bottom: 4px; }
.chip-trigger strong { font-size: 11px; }
.chip-icon { height: 36px; border: 1px solid var(--cyan-dark); position: relative; display: flex; align-items: center; justify-content: center; gap: 3px; }
.chip-icon i { width: 3px; background: var(--cyan); height: 12px; opacity: .7; }
.chip-icon i:nth-child(2) { height: 22px; background: var(--wine); }

.chip-reader, .regions, .intel, .protocol { padding: 110px clamp(28px, 6vw, 100px); }
.section-code { font-size: 9px; color: #74787c; display: flex; align-items: center; gap: 12px; margin-bottom: 35px; }
.section-code span { color: var(--cyan); border: 1px solid var(--cyan-dark); padding: 5px 7px; }
.chip-reader { background: #090b0f; }
.chip-card { display: grid; grid-template-columns: minmax(240px, .8fr) 1.4fr .7fr; min-height: 390px; border: 1px solid var(--line); background: linear-gradient(120deg, #0e1117, #0b0d12); position: relative; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.chip-card::before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 2px; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); transition: width .8s ease; }
.chip-card.loaded::before { width: 100%; }
.chip-visual { margin: 34px; border: 1px solid var(--cyan-dark); padding: 20px; display: flex; flex-direction: column; background: radial-gradient(circle at 50% 50%, rgba(39,215,255,.08), transparent 60%); }
.chip-visual>span { font: 9px ui-monospace, monospace; color: var(--cyan); letter-spacing: .14em; }
.chip-visual>b { font: 9px ui-monospace, monospace; color: var(--muted); margin-top: auto; }
.loaded .chip-visual>b { color: var(--cyan); }
.chip-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; margin: auto 0; }
.chip-grid i { aspect-ratio: 1; background: #13262c; border: 1px solid #175568; transition: background .3s; }
.loaded .chip-grid i:nth-child(3n), .loaded .chip-grid i:nth-child(5n+1) { background: var(--cyan); box-shadow: 0 0 10px rgba(39,215,255,.5); }
.loaded .chip-grid i:nth-child(7n) { background: var(--wine); border-color: var(--wine); }
.chip-content { padding: 55px 42px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.chip-meta { color: var(--muted); font-size: 8px; display: flex; gap: 18px; }
.chip-meta span:first-child { color: var(--cyan); }
.chip-content h2 { font-size: clamp(42px, 5vw, 74px); letter-spacing: -.06em; margin: 34px 0 22px; }
.chip-content h2 small { display: block; font-size: 12px; letter-spacing: .08em; color: var(--wine); margin-top: 12px; font-weight: 500; }
.chip-content>p { color: #a8aaa9; line-height: 1.9; max-width: 620px; font-size: 13px; }
.tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin: 25px 0 32px; }
.tag-row span { border: 1px solid #333941; color: #8f9499; font: 8px ui-monospace, monospace; padding: 7px 9px; text-transform: uppercase; }
.read-chip { border: 0; border-bottom: 1px solid var(--cyan-dark); background: transparent; color: var(--paper); padding: 8px 0; font-size: 11px; cursor: pointer; }
.read-chip span { color: var(--cyan); margin-left: 40px; }
.decrypt-log { padding: 55px 28px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 20px 15px; font: 8px ui-monospace, monospace; color: #666b71; opacity: .35; transition: opacity .4s; }
.loaded .decrypt-log { opacity: 1; }
.decrypt-log b { color: var(--cyan); font-weight: 400; }.decrypt-log b.danger { color: var(--wine); }

.regions { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; border-top: 1px solid var(--line); }
.section-intro h2, .intel-header h2, .protocol-copy h2 { font-size: clamp(42px, 5vw, 76px); line-height: .95; letter-spacing: -.06em; margin: 0 0 28px; }
.section-intro>p, .protocol-copy>p { color: var(--muted); max-width: 460px; line-height: 1.8; font-size: 13px; }
.region-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.region { min-height: 220px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; transition: background .2s; }
.region:hover { background: linear-gradient(135deg, rgba(39,215,255,.08), transparent); }
.region div { display: flex; justify-content: space-between; font-size: 8px; color: #50545a; }
.region div b { color: var(--wine); font-weight: 500; }
.region h3 { font-size: 28px; margin: 35px 0 7px; }
.region p { color: #919498; font-size: 11px; }
.region small { color: #5d6166; font: 8px ui-monospace, monospace; }
.region a { position: absolute; left: 26px; bottom: 23px; font-size: 9px; color: #8f9295; }
.region a span { color: var(--cyan); margin-left: 8px; }

.intel { background: #e5e1d8; color: #0b0d11; }
.intel .section-code { color: #65676a; }.intel .section-code span { color: #625f0d; border-color: #89864a; }
.intel-header { display: grid; grid-template-columns: 1fr auto; align-items: end; }
.intel-header .section-code { grid-column: 1 / -1; }
.intel-header h2 { margin-bottom: 44px; }
.live-line { font: 9px ui-monospace, monospace; color: #55595d; margin-bottom: 48px; }
.live-line .pulse { background: var(--wine); box-shadow: 0 0 12px var(--wine); }
.intel-list { border-top: 1px solid rgba(11,13,17,.25); }
.intel-list article { min-height: 126px; display: grid; grid-template-columns: 70px minmax(0, 1fr) 150px 120px; align-items: center; border-bottom: 1px solid rgba(11,13,17,.2); transition: background .2s, padding .2s; }
.intel-list article:hover { background: rgba(243,239,39,.08); padding: 0 14px; }
.intel-no { color: #888680; font: 10px ui-monospace, monospace; }
.intel-title>span { color: var(--wine); font-size: 8px; }
.intel-title h3 { font-size: clamp(16px, 1.5vw, 22px); margin: 8px 0 0; max-width: 760px; }
.intel-data { font-size: 8px; color: #65666a; display: flex; flex-direction: column; gap: 8px; }
.intel-list a { font-size: 10px; font-weight: 700; }
.intel-list a span { color: var(--wine); margin-left: 10px; }

.protocol { display: grid; grid-template-columns: 1fr 1.15fr; gap: 9vw; background: radial-gradient(circle at 0 100%, rgba(243,239,39,.16), transparent 35%), #08090d; }
.protocol-copy h2 em { font-style: normal; color: var(--wine); }
.rules { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.rules li { display: grid; grid-template-columns: 48px 1fr auto; gap: 20px; align-items: center; padding: 30px 4px; border-bottom: 1px solid var(--line); }
.rules li>span { color: var(--cyan); font: 9px ui-monospace, monospace; }
.rules h3 { font-size: 17px; margin: 0 0 7px; }.rules p { font-size: 11px; color: var(--muted); margin: 0; }
.rules li>b { font: 8px ui-monospace, monospace; color: #676b70; border: 1px solid #30343a; padding: 7px; }

footer { min-height: 150px; border-top: 1px solid var(--line); padding: 34px clamp(28px, 6vw, 100px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
.footer-brand { min-width: 0; }.footer-brand .brand-logo { width: 220px; height: 64px; }
footer>p { margin: 0; color: var(--muted); font-size: 11px; max-width: 380px; line-height: 1.7; }
.footer-status { font-size: 8px; color: #666a70; }
.compact-footer { min-height: 150px; padding-top: 34px; padding-bottom: 34px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
.compact-footer>p { margin: 0; max-width: none; color: #8b9094; font: 9px ui-monospace,monospace; letter-spacing: .08em; }

/* Paid upgrade */
.upgrade { padding: 110px clamp(28px, 6vw, 100px); display: grid; grid-template-columns: 1fr minmax(380px, .8fr); gap: 9vw; align-items: center; background: radial-gradient(circle at 80% 50%, rgba(39,215,255,.16), transparent 35%), #090a0f; border-top: 1px solid var(--line); }
.upgrade-copy h2 { font-size: clamp(54px, 7vw, 104px); line-height: .84; letter-spacing: -.07em; margin: 34px 0; }
.upgrade-copy h2 em { color: var(--violet); font-style: normal; }
.upgrade-copy>p { max-width: 620px; color: #a7a9aa; line-height: 1.9; font-size: 13px; margin-bottom: 34px; }
.upgrade-badge { width: max-content; border: 1px solid rgba(39,215,255,.45); color: #8cecff; padding: 7px 10px; font: 9px ui-monospace, monospace; letter-spacing: .08em; }
.upgrade-card { border: 1px solid rgba(39,215,255,.42); background: linear-gradient(145deg, rgba(39,215,255,.13), rgba(243,239,39,.07)); padding: 34px; box-shadow: 0 40px 100px rgba(0,0,0,.35); }
.upgrade-head, .price-compare { display: flex; justify-content: space-between; font: 9px ui-monospace, monospace; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 15px; }
.upgrade-head b, .price-compare b { color: var(--violet); }
.upgrade-price { padding: 34px 0 22px; }.upgrade-price small { display: block; color: var(--muted); font-size: 10px; }.upgrade-price strong { display: block; font: 400 clamp(46px, 5vw, 72px) ui-monospace, monospace; letter-spacing: -.06em; margin-top: 6px; }
.price-compare { padding-bottom: 24px; }.price-compare s { color: #6b6e73; }
.upgrade-card ul { list-style: none; padding: 20px 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.upgrade-card li { font-size: 11px; color: #b0b2b1; }.upgrade-card li i { color: var(--cyan); font-style: normal; margin-right: 8px; }
.upgrade-link { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 20px; color: var(--paper); font-size: 11px; }.upgrade-link span { color: var(--cyan); }

/* Shared detail pages */
.detail-page, .guide-page, .upgrade-page { min-height: 100vh; background: var(--ink); }
.detail-topbar { min-height: 70px; padding: 0 clamp(20px, 5vw, 80px); display: grid; grid-template-columns: 1fr auto auto; gap: 30px; align-items: center; border-bottom: 1px solid var(--line); background: rgba(7,8,12,.95); }
.detail-topbar>a:not(.brand) { color: #92969a; font-size: 10px; }
.detail-topbar>a:hover { color: var(--cyan); }
.guide-page .detail-topbar { border-bottom: 0; }
.article-city-ticker { position: relative; height: 30px; overflow: hidden; border-top: 1px solid rgba(39,215,255,.46); border-bottom: 1px solid rgba(39,215,255,.46); background: linear-gradient(90deg,rgba(39,215,255,.035),rgba(243,239,39,.055),rgba(39,215,255,.035)); color: var(--cyan); }
.article-city-ticker::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--ink),transparent 8%,transparent 92%,var(--ink)); }
.article-city-ticker-track { display:flex; width:max-content; min-width:200%; height:100%; will-change:transform; }
.article-city-ticker-set { display:flex; align-items:center; flex:none; min-width:50%; }
.article-city-ticker span { display:flex; align-items:center; flex:none; gap:10px; padding-right:30px; font:700 10px/1 ui-monospace,"SFMono-Regular",monospace; font-style:normal; letter-spacing:.16em; white-space:nowrap; }
.article-city-ticker span b { color:var(--yellow); font-size:11px; font-style:normal; }
.article-city-ticker span em { color:var(--cyan); font-style:normal; }
.article-city-ticker span i { display:block; flex:none; width:5px; height:5px; margin-left:12px; border-radius:50%; background:var(--yellow); box-shadow:0 0 4px rgba(243,239,39,.9),0 0 10px rgba(39,215,255,.72); }
.mission-panel>.home-city-ticker { flex:none; width:calc(100% + 56px); margin:-30px -28px 28px; }
main>.home-footer-ticker+footer { border-top:0; }
.guide-page>.ticker-bottom+.compact-footer { border-top:0; }
.city-hero { padding: 90px clamp(24px, 8vw, 130px) 70px; background: radial-gradient(circle at 70% 30%, rgba(243,239,39,.16), transparent 35%); border-bottom: 1px solid var(--line); }
.city-code, .article-kicker { color: var(--muted); font: 9px ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; }.city-code span { color: var(--cyan); margin-right: 14px; }
.city-hero h1 { margin: 58px 0 30px; font-size: clamp(72px, 10vw, 150px); }.city-hero h1 em { display: block; font-size: .28em; color: var(--wine); -webkit-text-stroke: 0; text-shadow: none; letter-spacing: .06em; margin-top: 22px; }
.city-hero>p { max-width: 760px; color: #b6b7b4; font-size: 15px; line-height: 1.85; }
.city-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 50px; }.city-tags span { border: 1px solid #343942; color: #8f949a; padding: 7px 9px; font: 8px ui-monospace, monospace; }
.city-facts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); max-width: 1100px; }.city-facts div { padding: 24px 24px 0 0; }.city-facts small { display: block; color: var(--muted); font-size: 9px; margin-bottom: 8px; }.city-facts strong { font-size: 15px; }
.city-body { padding: 100px clamp(24px, 8vw, 130px); display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 7vw; }
.article-nav { position: sticky; top: 20px; align-self: start; display: flex; flex-direction: column; border-top: 1px solid var(--line); }.article-nav span { color: var(--cyan); font: 8px ui-monospace, monospace; padding: 16px 0; }.article-nav a { color: var(--muted); font-size: 10px; padding: 12px 0; border-top: 1px solid var(--line); }.article-nav a:hover { color: var(--paper); }
.city-article>section { padding-bottom: 100px; }.city-article h2, .included h2, .coverage h2, .who-for h2 { font-size: clamp(38px, 5vw, 70px); line-height: 1; letter-spacing: -.055em; margin: 0 0 36px; }
.play-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.play-grid>div { min-height: 190px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 25px; }.play-grid span { color: var(--wine); font: 8px ui-monospace, monospace; }.play-grid h3 { font-size: 21px; margin: 36px 0 8px; }.play-grid p { color: var(--muted); font-size: 10px; line-height: 1.7; }
.area-list { border-top: 1px solid var(--line); }.area-list>div { display: grid; grid-template-columns: 50px 1fr 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line); }.area-list b { color: var(--cyan); font: 9px ui-monospace, monospace; }.area-list strong { font-size: 17px; }.area-list span { color: var(--muted); font-size: 10px; }
.price-section>p { color: var(--muted); max-width: 700px; line-height: 1.8; }.warning-box { margin-top: 30px; border-left: 2px solid var(--wine); background: rgba(243,239,39,.08); padding: 20px; }.warning-box span { color: var(--wine); font: 9px ui-monospace, monospace; }.warning-box p { color: #b6b6b3; line-height: 1.7; font-size: 12px; margin-bottom: 0; }
.full-guide-cta { border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; padding-top: 45px; }.full-guide-cta>div>span { color: var(--cyan); font: 9px ui-monospace, monospace; }.full-guide-cta h2 { font-size: clamp(32px, 4vw, 54px); margin: 14px 0; }.full-guide-cta p { color: var(--muted); font-size: 11px; }
.detail-upgrade { padding: 80px clamp(24px, 8vw, 130px); display: grid; grid-template-columns: 1fr .7fr auto; gap: 50px; align-items: center; border-top: 1px solid rgba(39,215,255,.35); border-bottom: 1px solid rgba(39,215,255,.35); background: rgba(39,215,255,.08); }.detail-upgrade span { color: var(--violet); font: 9px ui-monospace, monospace; }.detail-upgrade h2 { font-size: clamp(30px, 4vw, 55px); line-height: 1; margin: 15px 0 0; }.detail-upgrade p { color: var(--muted); font-size: 11px; line-height: 1.8; }.detail-upgrade>a { border-bottom: 1px solid var(--violet); padding-bottom: 6px; font-size: 11px; }
.related-cities { padding: 90px clamp(24px, 8vw, 130px); }.related-cities>div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.related-cities a { min-height: 170px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.related-cities small, .related-cities span { display: block; color: var(--muted); font-size: 9px; }.related-cities strong { display: block; font-size: 25px; margin: 38px 0 10px; }

/* Long-form guide */
.longform>header { padding: 70px clamp(24px, 10vw, 160px) 12px; border-bottom: 0; overflow: hidden; }.longform>header h1 { position: relative; isolation: isolate; margin: 0; max-width: 1180px; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.16; letter-spacing: -.035em; overflow-wrap: anywhere; }.guide-page .longform>header h1 { color: var(--yellow); }
.longform>header .article-title-lockup { position: relative; display: flex; width:100%; max-width:none; align-items: flex-end; min-height: clamp(110px,12.8vw,184px); padding-bottom: 5px; overflow: visible; }
.longform>header .article-title-city { --city-baseline-shift: 7px; --city-width-scale:1; position: relative; z-index: 0; display: block; flex:none; margin-left:clamp(-62px,-4.4vw,-46px); white-space: nowrap; color: rgba(39,215,255,.46); -webkit-text-stroke: 1px rgba(39,215,255,.88); font: 900 clamp(112px,13.5vw,204px)/.92 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; letter-spacing: -.065em; transform: translateY(var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); transform-origin: left bottom; pointer-events: none; user-select: none; }
.longform>header .article-title-city.is-long { --city-width-scale:.78; }
.longform>header .article-title-city.is-extra-long { --city-width-scale:.62; }
.longform>header .article-title-main { position:relative; z-index:1; display:block; flex:none; margin-bottom:5px; color: var(--yellow); font-size: clamp(44px,4.8vw,68px); line-height: 1.1; padding-bottom:2px; font-style: italic; font-weight: 900; letter-spacing: -.055em; text-shadow: 4px 0 0 var(--ink); }
.longform>header .article-title-detail { position: relative; z-index: 1; display: block; max-width: 1050px; margin-top: clamp(28px,3.2vw,46px); color: var(--yellow); font-size: clamp(34px,3.6vw,50px); line-height: 1.12; font-weight: 820; letter-spacing: -.04em; }
.article-layout { padding: 24px clamp(24px, 10vw, 160px) 90px; display: block; max-width: 1220px; margin: 0 auto; }.article-layout>.article-content { max-width: 900px; margin: 0 auto; }
.article-content section { padding-bottom: 90px; }.article-content h2 { font-size: clamp(35px, 4vw, 58px); letter-spacing: -.05em; margin: 0 0 28px; }.article-content p { color: #a4a6a5; line-height: 2; font-size: 14px; }.article-content strong { color: var(--paper); }
.article-content>section:not(.paywall)>h2 { --chip-stroke: var(--yellow); position: relative; width: fit-content; max-width: 100%; margin: 0 0 28px; padding: 10px 16px; border: 1px solid var(--chip-stroke); background: var(--yellow); color: var(--ink); clip-path: var(--chip-clip); font: 750 clamp(14px,1.6vw,18px)/1.4 ui-monospace,"SFMono-Regular",monospace; letter-spacing: -.01em; }
.article-content>section:not(.paywall)>h2::after { content: ""; position: absolute; inset: -2px; pointer-events: none; background: linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat; }
.summary-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }.summary-strip span, .summary-strip b { border: 1px solid var(--line); padding: 8px 10px; font: 9px ui-monospace, monospace; }.summary-strip span { color: var(--cyan); }.summary-strip b { font-weight: 400; color: var(--muted); }
.guide-block { display: grid; grid-template-columns: 40px 1fr; gap: 20px; padding: 25px 0; border-top: 1px solid var(--line); }.guide-block>span { color: var(--wine); font: 9px ui-monospace, monospace; }.guide-block h3 { margin: 0; font-size: 20px; }.guide-block p { margin-bottom: 0; font-size: 12px; }
.budget-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); margin-top: 30px; }.budget-grid>div { background: var(--panel); padding: 25px; }.budget-grid small { color: var(--cyan); }.budget-grid strong { display: block; margin: 10px 0; }.budget-grid p { font-size: 11px; margin: 0; }
.article-content ol { list-style: none; padding: 0; }.article-content ol li { display: grid; grid-template-columns: 100px 1fr; border-top: 1px solid var(--line); padding: 20px 0; }.article-content ol b { color: var(--cyan); font-size: 11px; }.article-content ol p { margin: 0; font-size: 12px; }
.source-article ol { list-style: disc; padding-left: 24px; }
.source-article ol li { display: list-item; border-top: 0; padding: 4px 0; }
.source-article ol li::marker { color: var(--cyan); }
.source-article .long-list { columns: 2; column-gap: 36px; }
.source-article .long-list li { break-inside: avoid; }
.article-upgrade { border: 1px solid rgba(39,215,255,.4); padding: 35px !important; background: rgba(39,215,255,.07); }.article-upgrade>span { color: var(--violet); font: 9px ui-monospace, monospace; }.article-upgrade h2 { margin: 15px 0; }.article-upgrade a { display: inline-block; color: var(--paper); border-bottom: 1px solid var(--violet); padding-bottom: 5px; font-size: 11px; }

/* Upgrade detail */
.upgrade-hero { padding: 100px clamp(24px, 8vw, 130px); background: radial-gradient(circle at 70% 50%, rgba(39,215,255,.2), transparent 35%); }.upgrade-hero-grid { display: grid; grid-template-columns: 1fr minmax(360px, .65fr); gap: 9vw; align-items: center; }.upgrade-hero h1 { margin: 45px 0 35px; }.upgrade-hero h1 em { color: var(--violet); -webkit-text-stroke: 0; text-shadow: none; }.upgrade-hero p { color: #adaeac; line-height: 1.9; max-width: 650px; }
.purchase-card { border: 1px solid rgba(39,215,255,.45); padding: 35px; background: rgba(39,215,255,.08); }.purchase-card>small { color: var(--violet); font: 9px ui-monospace, monospace; }.purchase-card>strong { display: block; font: 400 clamp(50px, 6vw, 80px) ui-monospace, monospace; margin: 28px 0; }.purchase-card>div { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; border-top: 1px solid var(--line); padding-top: 16px; }.purchase-card>div b { color: var(--cyan); }.purchase-card>a { display: block; text-align: center; background: var(--paper); color: var(--ink); padding: 16px; margin-top: 28px; font-size: 11px; font-weight: 700; }
.included, .coverage, .who-for { padding: 100px clamp(24px, 8vw, 130px); border-top: 1px solid var(--line); }.included { display: grid; grid-template-columns: .65fr 1fr; gap: 8vw; }.included-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.included-grid article { padding: 25px; min-height: 170px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.included-grid span { color: var(--violet); font: 8px ui-monospace, monospace; }.included-grid h3 { margin: 32px 0 8px; }.included-grid p { color: var(--muted); font-size: 10px; }
.coverage>div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.coverage a { padding: 20px; min-height: 130px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.coverage small, .coverage span { display: block; color: var(--muted); font-size: 8px; }.coverage strong { display: block; font-size: 22px; margin: 22px 0 8px; }
.who-for { display: grid; grid-template-columns: 1fr .8fr; gap: 8vw; }.who-for ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }.who-for li { padding: 22px 0; border-bottom: 1px solid var(--line); color: #b2b3b1; }.who-for li::before { content: "✓"; color: var(--cyan); margin-right: 12px; }
.buy-section { padding: 72px clamp(24px, 8vw, 130px); text-align: center; background: var(--paper); color: var(--ink); }.buy-section>span { color: var(--wine); font: 9px ui-monospace, monospace; }.buy-section h2 { font: 600 clamp(36px, 5vw, 58px) ui-monospace, monospace; margin: 20px 0; }.buy-section p { max-width: 680px; margin: 0 auto 26px; line-height: 1.7; color: #4e5052; font-size: 12px; }.buy-section a { display: inline-block; background: var(--yellow); color: var(--ink); font-weight: 700; font-size: 11px; }

/* Homepage subscription */
.intel-title>small { display: block; width: max-content; color: var(--wine); border: 1px solid rgba(243,239,39,.35); padding: 5px 7px; margin-top: 10px; font: 8px ui-monospace, monospace; }
.subscription { padding: 64px clamp(28px, 6vw, 100px); background: radial-gradient(circle at 20% 30%, rgba(39,215,255,.15), transparent 30%), #090a0f; border-top: 1px solid var(--line); }
.subscription-intro { display: grid; grid-template-columns: minmax(180px,.55fr) 1fr 1.15fr; gap: 14px 4vw; align-items: center; margin-bottom: 34px; }
.subscription-intro .section-code, .subscription-intro .upgrade-badge { grid-column: 1 / -1; }.subscription-intro h2 { font-size: clamp(34px, 4.2vw, 52px); line-height: 1; letter-spacing: -.045em; margin: 12px 0; }.subscription-intro>p { color: #a8aaa9; line-height: 1.65; max-width: 520px; font-size: 12px; }
.subscription-intro>ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.subscription-intro>ul li { color: #b1b3b2; font-size: 10px; }.subscription-intro>ul i, .pricing-card li i { color: var(--cyan); font-style: normal; margin-right: 8px; }
.plan-grid, .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.plan { min-height: 278px; padding: 22px; border: 1px solid var(--line); display: flex; flex-direction: column; position: relative; background: rgba(255,255,255,.01); }.plan.featured { background: linear-gradient(150deg, rgba(39,215,255,.17), rgba(39,215,255,.04)); box-shadow: inset 0 2px var(--violet); }
.plan-label { width: max-content; color: var(--muted); border: 1px solid #343941; padding: 5px 7px; font: 8px ui-monospace, monospace; }.featured .plan-label { color: #9eefff; border-color: var(--violet); }
.plan h3 { font-size: 18px; margin: 22px 0 12px; }.plan-price strong { display: block; font: 400 30px ui-monospace, monospace; }.price-pair { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }.plan .price-pair,.pricing-card .price-pair { flex-direction: column; align-items: flex-start; gap: 2px; }.price-pair del,.plan-compare del { color: #656970; font: 12px ui-monospace, monospace; text-decoration-color: var(--wine); text-decoration-thickness: 1px; }.plan-price small { color: var(--muted); font-size: 9px; }.plan ul { list-style: none; padding: 14px 0; margin: 14px 0 0; border-top: 1px solid var(--line); }.plan li { color: #898d91; font-size: 9px; margin: 7px 0; }.plan a { display: flex; justify-content: space-between; margin-top: auto; background: var(--yellow); color: var(--ink); padding: 12px 14px; font-size: 10px; font-weight: 700; }.plan a span { color: var(--ink); }.article-subscription .plan li { font-size: 9px; line-height: 1.45; }.article-subscription .plan>a,.article-subscription .plan>a span { color: var(--ink); border-bottom: 0; }
.purchase-entry { padding: 54px clamp(28px,6vw,100px); border-top: 1px solid var(--line); background: radial-gradient(circle at 78% 50%,rgba(39,215,255,.12),transparent 28%),#090a0f; display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: clamp(28px,6vw,80px); align-items: center; }
.purchase-copy h2 { margin: 16px 0 10px; font-size: clamp(28px,3.8vw,46px); line-height: 1; letter-spacing: -.04em; }
.purchase-copy>p { margin: 0; color: var(--muted); font-size: 11px; }
.purchase-selection { margin-top: 24px; max-width: 560px; display: grid; grid-template-columns: 1fr auto; gap: 7px 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.purchase-selection span { grid-column: 1/-1; color: var(--cyan); font: 8px ui-monospace,monospace; letter-spacing: .1em; }
.purchase-selection strong { font-size: 16px; }.purchase-selection b { color: var(--yellow); font: 400 22px ui-monospace,monospace; }
.qr-placeholder { --chip-stroke: rgba(39,215,255,.5); position: relative; aspect-ratio: 1; border: 1px solid var(--chip-stroke); background: repeating-linear-gradient(45deg,rgba(39,215,255,.04) 0 8px,transparent 8px 16px); clip-path: var(--chip-clip); display: grid; place-content: center; justify-items: center; gap: 8px; }
.qr-placeholder::after { content:""; position:absolute; inset:-2px; pointer-events:none; background:linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat; }
.qr-placeholder span,.qr-placeholder small { color: var(--muted); font: 8px ui-monospace,monospace; letter-spacing: .1em; }.qr-placeholder strong { color: var(--cyan); font: 400 34px ui-monospace,monospace; }

/* Article free progress and paywall */
.free-progress { margin-top: 34px; max-width: 620px; }.free-progress>div { height: 3px; background: #252a30; }.free-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--violet)); box-shadow: 0 0 12px rgba(39,215,255,.45); }.free-progress span { display: block; color: var(--muted); font: 8px ui-monospace, monospace; margin-top: 10px; }
.paywall { border: 1px solid rgba(39,215,255,.45); padding: 38px !important; background: linear-gradient(145deg, rgba(39,215,255,.13), rgba(243,239,39,.08)); position: relative; }.paywall-progress { display: flex; justify-content: space-between; color: var(--muted); font: 9px ui-monospace, monospace; border-bottom: 1px solid var(--line); padding-bottom: 16px; }.paywall-progress strong { color: var(--violet); }.paywall h2 { margin: 32px 0 15px; }.paywall>p { max-width: 620px; }.paywall-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 18px; }.paywall-options>a { min-height: 100px; border: 1px solid var(--line); padding: 18px; display: flex; flex-direction: column; justify-content: space-between; position: relative; }.paywall-options>a:hover { border-color: var(--cyan); }.paywall-options span { font-size: 11px; }.paywall-options strong { font: 400 25px ui-monospace, monospace; }.paywall-options .price-pair del { font-size: 10px; }.paywall-options .recommended { border-color: var(--violet); background: rgba(39,215,255,.09); }.paywall-options b { position: absolute; right: 10px; top: 10px; color: #9eefff; font: 8px ui-monospace, monospace; }.all-plans { display: inline-block; color: var(--cyan); font-size: 10px; border-bottom: 1px solid var(--cyan-dark); padding-bottom: 4px; }
.article-subscription { margin-top: 18px; background: radial-gradient(circle at 18% 30%,rgba(39,215,255,.16),transparent 34%),#090a0f; }
.article-subscription .paywall-progress { margin-bottom: 24px; }
.paywall-intro { grid-template-columns: minmax(170px,.6fr) 1.4fr; margin-bottom: 26px; }
.paywall-intro h2 { font-size: clamp(30px,4vw,44px); margin: 8px 0; }
.paywall-intro>p { align-self: center; }
.paywall-plan-grid { margin-top: 0; }
.paywall-plan-grid .plan { min-height: 300px; }
.chip-password { --chip-stroke: rgba(39,215,255,.45); position: relative; display: grid; grid-template-columns: minmax(180px,.7fr) 1.3fr; gap: 18px 28px; align-items: center; margin-top: 18px; padding: 18px; border: 1px solid var(--chip-stroke); background: rgba(39,215,255,.055); clip-path: var(--chip-clip); }
.chip-password::after { content: ""; position: absolute; inset: -2px; z-index: 10; pointer-events: none; background: linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat; }
.chip-password-copy label { display: block; color: var(--yellow); font-size: 14px; font-weight: 700; }
.chip-password-copy span { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.chip-password-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.chip-password input { min-width: 0; border: 1px solid var(--cyan-dark); background: #080b10; color: var(--paper); padding: 12px 13px; outline: none; font: 11px ui-monospace,monospace; }
.chip-password input:focus { border-color: var(--cyan); box-shadow: inset 3px 0 var(--cyan); }
.chip-password button { --button-hover-bg: var(--cyan); position: relative; overflow: hidden; border: 0; padding: 12px 15px; background: var(--yellow); color: var(--ink); clip-path: var(--chip-clip); cursor: pointer; font-size: 10px; font-weight: 800; }
.chip-password button:focus-visible { background: var(--button-hover-bg); color: var(--ink); outline: none; animation: city-select-lock .42s steps(2,end) both; }
.chip-password button::before { content: ""; position: absolute; z-index: 3; left: -45%; top: 0; bottom: 0; width: 35%; pointer-events: none; opacity: 0; background: linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent); transform: skewX(-18deg); }
.chip-password button:focus-visible::before { opacity: 1; animation: city-row-scan .72s ease-out; }
.chip-password-status { grid-column: 2; min-height: 1em; color: var(--cyan); font: 8px ui-monospace,monospace; }
.unlock-gate-panel { transform-origin: top center; transition: transform .22s ease, opacity .22s ease; }
.unlock-gate-panel.is-collapsing { opacity: 0; transform: translateY(-8px) scale(.985); pointer-events: none; }
.unlocked-source { width: 100%; margin: 0; padding: 0; opacity: 0; transform: translateY(12px); scroll-margin-top: 28px; }
.unlocked-source.locked-source { padding: 0; border-top: 0; }
.unlocked-source.is-revealed { opacity: 1; transform: none; transition: opacity .34s ease, transform .34s ease; }
.subscription-disclosure { margin-top: 10px; }
.subscription-disclosure>summary { --chip-stroke: rgba(39,215,255,.4); position: relative; display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 13px 15px; border: 1px solid var(--chip-stroke); background: rgba(39,215,255,.045); clip-path: var(--chip-clip); cursor: pointer; list-style: none; color: var(--muted); font-size: 10px; }
.subscription-disclosure>summary::-webkit-details-marker { display: none; }.subscription-disclosure>summary strong { color: var(--yellow); font-size: 10px; }.subscription-disclosure>summary b { color: var(--cyan); font: 18px ui-monospace,monospace; transition: transform .2s ease; }.subscription-disclosure[open]>summary b { transform: rotate(45deg); }
.subscription-disclosure>summary::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(39,215,255,.02),rgba(39,215,255,.13),rgba(243,239,39,.04)); box-shadow:0 0 18px rgba(39,215,255,.13),inset 0 0 12px rgba(39,215,255,.06); opacity:.2; }
.subscription-disclosure>summary::after { content:""; position:absolute; inset:-2px; pointer-events:none; background:linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat; }
.subscription-disclosure .article-subscription { margin-top: 8px; }
.article-purchase { margin-top: 10px; padding: 24px; grid-template-columns: minmax(0,1fr) 132px; gap: 24px; border: 1px solid var(--line); opacity: 0; transform: translateY(10px); }
.article-purchase[hidden] { display: none !important; }
.article-purchase.is-visible { opacity: 1; transform: none; transition: opacity .3s ease,transform .3s ease; }.article-purchase .purchase-copy h2 { font-size: 25px; }.article-purchase .qr-placeholder { width: 132px; }
.locked-preview { position: relative; max-height: 430px; overflow: hidden; margin-top: 0; filter: blur(6px); opacity: .28; user-select: none; }.locked-preview::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, var(--ink)); }.locked-preview section { padding: 40px 0 !important; border-bottom: 1px solid var(--line); }.locked-preview h2 { font-size: 35px; }.locked-preview p { font-size: 12px; }

/* Pricing detail */
.upgrade-hero.compact h1 { font-size: clamp(38px, 5vw, 58px); line-height: 1.05; }.upgrade-need-list { border-top: 1px solid var(--line); }.upgrade-need-list>span { display: block; color: var(--violet); font: 9px ui-monospace, monospace; padding: 15px 0; }.upgrade-need-list>div { padding: 15px 0; border-top: 1px solid var(--line); color: #b0b2b1; font-size: 11px; }.upgrade-need-list i { color: var(--cyan); font-style: normal; margin-right: 10px; }
.pricing-section { padding: 70px clamp(24px, 8vw, 130px); border-top: 1px solid var(--line); }.pricing-card { min-height: 340px; padding: 24px; border: 1px solid var(--line); display: flex; flex-direction: column; }.pricing-card.featured { background: linear-gradient(150deg, rgba(39,215,255,.18), transparent); box-shadow: inset 0 2px var(--violet); }.pricing-card h2 { font-size: 20px; margin: 24px 0 16px; }.pricing-card ul { list-style: none; padding: 18px 0; border-top: 1px solid var(--line); margin-top: 18px; }.pricing-card li { color: #999da0; font-size: 10px; margin: 9px 0; }.pricing-card>a { margin-top: auto; text-align: center; background: var(--yellow); color: var(--ink); padding: 14px; font-size: 10px; font-weight: 700; }.pricing-card.featured>a { background: var(--cyan); color: var(--ink); }
.plan-compare { padding: 100px clamp(24px, 8vw, 130px); display: grid; grid-template-columns: .7fr 1fr; gap: 8vw; border-top: 1px solid var(--line); }.plan-compare h2 { font-size: clamp(40px, 5vw, 72px); line-height: 1; letter-spacing: -.05em; }.plan-compare>div:last-child { border-top: 1px solid var(--line); }.plan-compare article { padding: 22px 0; border-bottom: 1px solid var(--line); }.plan-compare article>span { color: var(--muted); font: 8px ui-monospace, monospace; }.plan-compare h3 { margin: 9px 0; }.plan-compare p { color: var(--muted); font-size: 10px; }.plan-compare article.hot h3 { color: var(--violet); }

/* One shared cut-chip silhouette for interactive panels */
.primary-action,.city-menu,.city-core-guide,.city-update,.plan,.plan>a,.paywall,.paywall-options>a,.all-plans,.pricing-card,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card,.purchase-card>a,.article-upgrade,.full-guide-cta { clip-path: var(--chip-clip); }

/* Complete only the two clipped corners on panels that already have a border. */
.city-menu,.city-core-guide,.city-update,.plan,.paywall,.paywall-options>a,.all-plans,.pricing-card,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card,.article-upgrade {
  --chip-stroke: var(--line);
  position: relative;
}
.city-menu { --chip-stroke: rgba(39,215,255,.12); }
.city-menu:hover,.city-menu[open] { --chip-stroke: var(--yellow); }
.city-core-guide { --chip-stroke: rgba(39,215,255,.32); }
.paywall,.purchase-card { --chip-stroke: rgba(39,215,255,.45); }
.article-upgrade { --chip-stroke: rgba(39,215,255,.4); }
.paywall-options>a:hover { --chip-stroke: var(--cyan); }
.paywall-options .recommended { --chip-stroke: var(--violet); }
.city-menu::after,.city-core-guide::after,.city-update::after,.plan::after,.paywall::after,.paywall-options>a::after,.all-plans::after,.pricing-card::after,.buy-section>a::after,.detail-upgrade>a::after,.related-cities a::after,.purchase-card::after,.article-upgrade::after {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 20;
  pointer-events: none;
  background:
    linear-gradient(45deg, transparent calc(50% - .5px), var(--chip-stroke) calc(50% - .5px), var(--chip-stroke) calc(50% + .5px), transparent calc(50% + .5px)) top right / var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,
    linear-gradient(45deg, transparent calc(50% - .5px), var(--chip-stroke) calc(50% - .5px), var(--chip-stroke) calc(50% + .5px), transparent calc(50% + .5px)) bottom left / var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat;
}
.city-update,.all-plans,.buy-section>a,.detail-upgrade>a { border: 1px solid var(--line); padding: 11px 14px; }
.all-plans { background: rgba(39,215,255,.08); }

/* Shared mission-lock interaction for button-like links. */
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a) {
  --button-hover-bg: var(--yellow);
  --button-hover-fg: var(--ink);
  position: relative;
  overflow: hidden;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
:where(.primary-action,.plan>a,.pricing-card>a,.buy-section>a) { --button-hover-bg: var(--cyan); }
.pricing-card.featured>a { --button-hover-bg: var(--yellow); }
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):focus-visible {
  --chip-stroke: var(--button-hover-bg);
  background: var(--button-hover-bg);
  border-color: var(--button-hover-bg);
  color: var(--button-hover-fg);
  outline: none;
  animation: city-select-lock .42s steps(2,end) both;
}
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):focus-visible :where(span,strong,small,b,i,del) {
  color: var(--button-hover-fg);
}
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):focus-visible :where(span,strong,b) {
  animation: city-theme-glitch .34s steps(2,end) 1;
}
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a)::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: -45%;
  top: 0;
  bottom: 0;
  width: 35%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent);
  transform: skewX(-18deg);
}
:where(.primary-action,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):focus-visible::before {
  opacity: 1;
  animation: city-row-scan .72s ease-out;
}
:where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a,.chip-password button):active { transform: scale(.985); }

:where(.city-dropdown a,.plan>a,.pricing-card>a,.paywall-options>a,.all-plans).is-touch-locked {
  --chip-stroke: var(--yellow);
  background: var(--yellow) !important;
  border-color: var(--yellow) !important;
  color: var(--ink) !important;
  transform: scale(.985);
  animation: city-select-lock .42s steps(2,end) both;
}
:where(.city-dropdown a,.plan>a,.pricing-card>a,.paywall-options>a,.all-plans).is-touch-locked :where(span,strong,small,b,i,del) {
  color: var(--ink) !important;
}
:where(.city-dropdown a,.plan>a,.pricing-card>a,.paywall-options>a,.all-plans).is-touch-locked :where(span,strong,b) {
  animation: city-theme-glitch .34s steps(2,end) 1;
}
:where(.city-dropdown a,.plan>a,.pricing-card>a,.paywall-options>a,.all-plans).is-touch-locked::before {
  opacity: 1;
  animation: city-row-scan .72s ease-out;
}

@media (hover: none), (pointer: coarse) {
  :where(.city-core-guide,.city-update,.chip-trigger,.paywall-options>a,.all-plans,.detail-upgrade>a,.related-cities a,.purchase-card>a):active {
    --chip-stroke: var(--yellow);
    background: var(--yellow);
    border-color: var(--yellow);
    color: var(--ink);
    transform: scale(.985);
    animation: city-select-lock .42s steps(2,end) both;
  }
  :where(.city-core-guide,.city-update,.chip-trigger,.paywall-options>a,.all-plans,.detail-upgrade>a,.related-cities a,.purchase-card>a):active :where(span,strong,small,b,i,del) {
    color: var(--ink);
  }
  :where(.city-core-guide,.city-update,.chip-trigger,.paywall-options>a,.all-plans,.detail-upgrade>a,.related-cities a,.purchase-card>a):active :where(span,strong,b) {
    animation: city-theme-glitch .34s steps(2,end) 1;
  }
  :where(.city-update,.chip-trigger,.paywall-options>a,.all-plans,.detail-upgrade>a,.related-cities a,.purchase-card>a):active::before {
    opacity: 1;
    animation: city-row-scan .72s ease-out;
  }
}

@media (hover: hover) and (pointer: fine) {
  .chip-password button:hover { background: var(--button-hover-bg); color: var(--ink); outline: none; animation: city-select-lock .42s steps(2,end) both; }
  .chip-password button:hover::before { opacity: 1; animation: city-row-scan .72s ease-out; }
  :where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):hover {
    --chip-stroke: var(--button-hover-bg);
    background: var(--button-hover-bg);
    border-color: var(--button-hover-bg);
    color: var(--button-hover-fg);
    outline: none;
    animation: city-select-lock .42s steps(2,end) both;
  }
  :where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):hover :where(span,strong,small,b,i,del) { color: var(--button-hover-fg); }
  :where(.primary-action,.city-core-guide,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):hover :where(span,strong,b) { animation: city-theme-glitch .34s steps(2,end) 1; }
  :where(.primary-action,.city-update,.chip-trigger,.plan>a,.paywall-options>a,.all-plans,.pricing-card>a,.buy-section>a,.detail-upgrade>a,.related-cities a,.purchase-card>a):hover::before { opacity: 1; animation: city-row-scan .72s ease-out; }
}

@keyframes pulse { 0%,100% { opacity: .45; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }
@keyframes brand-flicker { 0%,89%,91%,94%,100% { opacity: 1; transform: none; } 90% { opacity: .38; transform: translateX(1px); } 92% { opacity: .82; } 93% { opacity: .2; transform: translateX(-1px); } }
@keyframes brand-slice-cyan { 0%,89%,94%,100% { opacity: 0; clip-path: inset(0); } 90% { opacity: .72; clip-path: inset(12% 0 58% 0); } 91% { opacity: 0; } 92% { opacity: .45; clip-path: inset(65% 0 8% 0); } 93% { opacity: 0; } }
@keyframes brand-slice-wine { 0%,89%,94%,100% { opacity: 0; clip-path: inset(0); } 90% { opacity: .48; clip-path: inset(54% 0 18% 0); } 91% { opacity: 0; } 93% { opacity: .5; clip-path: inset(5% 0 78% 0); } }
@keyframes year-flicker { 0%,83%,86%,100% { opacity: 1; filter: none; } 84% { opacity: .25; filter: brightness(2); } 85% { opacity: .72; } }
@keyframes stat-load-glitch { 0% { opacity: .18; transform: translateX(8px); text-shadow: -4px 0 var(--yellow); } 30% { opacity: .75; transform: translateX(-4px); text-shadow: 4px 0 var(--yellow); } 52% { opacity: .35; transform: translateX(3px); } 72% { opacity: 1; transform: translateX(-1px); text-shadow: 2px 0 var(--yellow); } 100% { opacity: 1; transform: none; text-shadow: none; } }
@keyframes city-theme-glitch { 0%,100% { transform: none; text-shadow: none; } 30% { transform: translateX(2px); text-shadow: -3px 0 var(--cyan),3px 0 var(--yellow); } 60% { transform: translateX(-2px); text-shadow: 3px 0 var(--cyan),-3px 0 var(--yellow); } }
@keyframes article-heading-glitch { 0%,91%,95%,100% { transform: none; text-shadow: none; } 92% { transform: translateX(1px); text-shadow: -2px 0 var(--cyan); } 93% { transform: translateX(-1px); text-shadow: 2px 0 var(--cyan),-2px 0 var(--yellow); } 94% { transform: none; text-shadow: 1px 0 var(--cyan); } }
@keyframes article-city-glitch { 0%,74%,82%,100% { opacity: 1; transform: translateY(var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); text-shadow: none; } 75% { opacity: .76; transform: translate(-5px,var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); text-shadow: 7px 0 rgba(243,239,39,.46),-5px 0 rgba(39,215,255,.72); } 77% { opacity: 1; transform: translate(4px,var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); text-shadow: -6px 0 rgba(243,239,39,.38),4px 0 rgba(39,215,255,.66); } 79% { opacity: .62; transform: translate(-2px,var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); text-shadow: 3px 0 rgba(243,239,39,.42); } 81% { opacity: 1; transform: translateY(var(--city-baseline-shift)) skewX(-9deg) scaleX(var(--city-width-scale)); text-shadow: -2px 0 rgba(39,215,255,.65); } }
@keyframes article-ticker-scroll { to { transform:translateX(-50%); } }
@keyframes subscription-breathe { 0%,100% { opacity:.18; } 50% { opacity:.72; } }
@keyframes chip-decode-flicker { 0%,100% { opacity:1; filter:none; } 18% { opacity:.62; filter:brightness(1.7); } 34% { opacity:.9; } 52% { opacity:.7; filter:contrast(1.35); } 76% { opacity:1; filter:none; } }
@keyframes chip-decode-line { 0% { transform:translateX(-105%); opacity:0; } 14% { opacity:.9; } 76% { opacity:.65; } 100% { transform:translateX(105%); opacity:0; } }
[data-chip-decode] { position:relative; }
.is-chip-decoding { animation:chip-decode-flicker .5s steps(2,end) both; text-shadow:-1px 0 rgba(39,215,255,.72),1px 0 rgba(243,239,39,.62); }
.is-chip-decoding::after { content:""; position:absolute; z-index:3; left:0; right:0; bottom:-3px; height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,var(--cyan) 28%,var(--yellow) 58%,transparent); box-shadow:0 0 8px rgba(39,215,255,.72); animation:chip-decode-line .5s steps(7,end) both; }
.is-chip-decoded { text-shadow:none; }
@media (prefers-reduced-motion: no-preference) { .article-content>section:not(.paywall)>h2,.source-article .annotation,.unlocked-source h2 { animation: article-heading-glitch 5.8s steps(1,end) infinite; }.plan>a:not(.is-touch-locked),.pricing-card>a:not(.is-touch-locked) { animation: article-heading-glitch 6.4s steps(1,end) infinite; }.article-title-city { animation: article-city-glitch 2.6s steps(1,end) infinite; }.article-city-ticker-track { animation:article-ticker-scroll 46s linear infinite; }.ticker-bottom .article-city-ticker-track { animation-direction:reverse; }.subscription-disclosure>summary::before { animation:subscription-breathe 4.6s ease-in-out infinite; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }.stat-counter { animation: none !important; }.is-chip-decoding::after{display:none;} }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 92px 1fr; }
  .mission-panel { grid-column: 1 / -1; border-left: 0; border-top: 0; }
  .mission-list { display: flex; flex-direction: column; max-height: 620px; }
  .chip-trigger { margin-top: 24px; }
  .chip-card { grid-template-columns: .75fr 1.25fr; }.decrypt-log { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
  .regions, .protocol { grid-template-columns: 1fr; }
  .upgrade, .upgrade-hero-grid, .included, .who-for { grid-template-columns: 1fr; }
  .plan-grid, .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-compare { grid-template-columns: 1fr; }
  .detail-upgrade { grid-template-columns: 1fr; }
  .related-cities>div:last-child { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .source-article .long-list { columns: 1; }
  .topbar { grid-template-columns: 1fr auto; min-height: 62px; padding: 0 18px; }.topbar nav, .desktop-only { display: none !important; }.top-status { font-size: 8px; }
  .atlas { padding: 52px 20px 60px; }.atlas-head { display: block; }.atlas-head p { margin-top: 24px; }.atlas-scroll { margin-right: -20px; }.atlas-frame { min-width: 820px; min-height: 500px; }.map-marker:hover:not([open])>.map-city-card { display: none; }
  .hero { display: block; min-height: 0; }.system-rail { display: none; }.hero-core { padding: 14px 18px 70px; }.site-title { width: 100%; height: 144px; margin: 0 0 10px; }.brand-vector { width:365px; max-width:100%; height:137px; }.eyebrow span:last-child { display: none; }
  .hero-lede { font-size: 13px; }.hero-actions { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }.trust-grid { margin-bottom: -37px; }.trust-grid div+div { padding-left: 12px; }.trust-grid strong { font-size: 22px; }.corruption-map { display: none; }
  .mission-panel { padding: 28px 18px 32px; }.mission-panel>.home-city-ticker { width:calc(100% + 36px); margin:-28px -18px 24px; }.mission-list { display: flex; flex-direction: column; max-height: none; overflow: visible; scrollbar-width: none; }.mission-list::-webkit-scrollbar { display: none; }.city-dropdown { padding-left: 28px; }.city-menu:hover:not([open])>.city-dropdown { display: none; }
  .chip-reader, .regions, .intel, .protocol { padding: 74px 20px; }
  .chip-card { display: block; }.chip-visual { min-height: 240px; margin: 18px; }.chip-content { padding: 38px 22px; border: 0; border-top: 1px solid var(--line); }.decrypt-log { padding: 32px 22px; grid-template-columns: 1fr auto; }
  .region-grid { grid-template-columns: 1fr; }.region { min-height: 200px; }
  .intel-header { display: block; }.live-line { margin-top: -25px; }.intel-list article { grid-template-columns: 40px 1fr; padding: 25px 0; }.intel-data, .intel-list article>a { grid-column: 2; margin-top: 14px; }.intel-data { flex-direction: row; }
  .rules li { grid-template-columns: 36px 1fr; }.rules li>b { grid-column: 2; width: max-content; }
  footer { min-height: 0; padding: 30px 20px; gap: 8px; }.footer-brand .brand-logo { width: 170px; height: 50px; }
  .upgrade { padding: 74px 20px; }.upgrade-card { padding: 24px 18px; }.upgrade-card ul { grid-template-columns: 1fr; }
  .subscription { padding: 44px 18px 50px; }.subscription-intro { grid-template-columns: 1fr; gap: 10px; margin-bottom: 24px; }.subscription-intro h2 { font-size: 34px; margin: 10px 0 4px; }.subscription-intro>p { font-size: 12px; line-height: 1.6; }.subscription-intro>ul { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }.subscription-intro>ul li { font-size: 9px; }.plan-grid { display: grid; grid-template-columns: 1fr; gap: 9px; overflow: visible; padding: 0; }.plan { min-height: 0; padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 14px; align-items: center; }.plan-label { grid-column: 1 / -1; }.plan h3 { margin: 2px 0; font-size: 16px; }.plan-price { grid-column: 2; grid-row: 2; text-align: right; }.plan-price strong { font-size: 24px; }.plan-price .price-pair { align-items: flex-end; }.plan ul { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; padding: 10px 0; margin: 2px 0; }.plan li { margin: 0; font-size: 9px; }.article-subscription .plan li { font-size: 8.5px; line-height: 1.4; }.plan a { grid-column: 1 / -1; margin: 0; padding: 10px 12px; }.pricing-grid { grid-template-columns: 1fr; }.paywall { padding: 26px 18px !important; }.paywall-options { grid-template-columns: 1fr; }
  .purchase-entry { padding: 42px 18px 48px; grid-template-columns: minmax(0,1fr) 112px; gap: 20px; }.purchase-copy h2 { font-size: 28px; }.purchase-selection { grid-template-columns: 1fr; gap: 6px; }.purchase-selection span { grid-column: 1; }.purchase-selection b { font-size: 20px; }.qr-placeholder { width: 112px; }
  .detail-topbar { min-height: 57px; padding: 0 15px 8px; margin: 10px 0 12px; gap: 12px; grid-template-columns: 1fr auto; }.guide-page .detail-topbar { margin-bottom:0; }.detail-topbar .brand-logo { width: 112px; height: 34px; transform: translate(-5px,2px); }.detail-topbar>a:not(.brand) { font-size: 9px; }.detail-topbar>a:last-child { display: none; }.article-city-ticker { height:27px; }.article-city-ticker span { gap:7px; padding-right:22px; font-size:8px; letter-spacing:.12em; }.article-city-ticker span b { font-size:9px; }.article-city-ticker span i { width:4px; height:4px; margin-left:8px; }
  .city-hero { padding: 70px 20px 55px; }.city-facts { grid-template-columns: 1fr; }.city-facts div { border-top: 1px solid var(--line); padding: 18px 0; }
  .city-body, .article-layout { display: block; padding: 70px 20px; }.article-nav { display: none; }.play-grid { grid-template-columns: 1fr; }.area-list>div { grid-template-columns: 35px 1fr; }.area-list span { grid-column: 2; }
  .full-guide-cta { grid-template-columns: 1fr; }.detail-upgrade { padding: 60px 20px; }.related-cities { padding: 70px 20px; }.related-cities>div:last-child { grid-template-columns: 1fr 1fr; }
  .longform>header { padding: 10px 18px 8px; border-bottom: 0; }.longform>header h1 { display: block; overflow: visible; line-height: 1.3; overflow-wrap: anywhere; }.longform>header .article-title-lockup { min-height: clamp(76px,23vw,102px); padding-bottom: 4px; }.longform>header .article-title-city { --city-baseline-shift: 5px; margin-left:clamp(-38px,-8vw,-28px); font-size: clamp(60px,17vw,92px); color: rgba(39,215,255,.48); -webkit-text-stroke-color: rgba(39,215,255,.9); }.longform>header .article-title-city.is-long { --city-width-scale:1.31; }.longform>header .article-title-city.is-extra-long { --city-width-scale:.86; }.longform>header .article-title-main { margin-bottom:4px; font-size: clamp(32px,9vw,40px); line-height: 1.1; }.longform>header .article-title-detail { margin-top: 20px; font-size: clamp(20px,5.1vw,22px); line-height: 1.18; font-weight: 820; letter-spacing: -.025em; text-wrap: balance; }.longform .article-layout { padding-top: 12px; }.upgrade-hero, .included, .coverage, .who-for { padding: 54px 20px; }.upgrade-hero.compact h1 { font-size: 34px; margin: 24px 0 18px; }.article-content h2 { font-size: clamp(26px,7.4vw,34px); line-height: 1.12; }.article-content>section:not(.paywall)>h2 { font-size: 18px; line-height: 1.4; }.budget-grid, .included-grid { grid-template-columns: 1fr; gap: 8px; }
  .paywall-intro,.chip-password { grid-template-columns: 1fr; }.paywall-plan-grid { grid-template-columns: 1fr; }.paywall-plan-grid .plan { min-height: 0; }.chip-password-status { grid-column: 1; }.chip-password-control { grid-template-columns: minmax(0,1fr) auto; }
  .article-purchase { padding: 18px; grid-template-columns: minmax(0,1fr) 96px; gap: 14px; }.article-purchase .purchase-copy h2 { font-size: 21px; }.article-purchase .qr-placeholder { width: 96px; }.subscription-disclosure>summary { grid-template-columns: 1fr auto auto; padding: 12px; }
  .upgrade-hero-grid { display: block; }.purchase-card { margin-top: 50px; padding: 25px 20px; }.coverage>div:last-child { grid-template-columns: 1fr 1fr; }.buy-section { padding: 70px 20px; }
  .pricing-section, .plan-compare { padding: 54px 20px; }.pricing-card { min-height: 310px; }.plan-compare h2 { font-size: 34px; }.buy-section { padding: 54px 20px; }.buy-section h2 { font-size: 34px; }
}


/* Imported article library */
.library{padding:110px clamp(28px,6vw,100px);background:#090b0f;border-top:1px solid var(--line)}.library-head{max-width:850px;margin-bottom:55px}.library-head h2{font-size:clamp(44px,6vw,82px);letter-spacing:-.06em;margin:0 0 22px}.library-head p{color:var(--muted);line-height:1.8}.library-groups{display:grid;gap:34px}.library-group{display:grid;grid-template-columns:190px 1fr;border-top:1px solid var(--line)}.library-group header{padding:24px 20px 20px 0}.library-group header span,.library-group header b{font:9px ui-monospace,monospace;color:var(--cyan)}.library-group header h3{font-size:30px;margin:22px 0 8px}.library-group header b{color:var(--muted)}.library-group>div{border-left:1px solid var(--line)}.library-group a{display:grid;grid-template-columns:100px 1fr auto;gap:20px;padding:20px;border-bottom:1px solid var(--line);align-items:center}.library-group a:hover{background:rgba(39,215,255,.06)}.library-group a span{font:8px ui-monospace,monospace;color:var(--muted)}.library-group a strong{font-size:14px}.library-group a i{color:var(--cyan);font-style:normal}
.source-longform>header{padding-bottom:12px;border-bottom:0}.source-longform>header h1{font-size:clamp(34px,4.2vw,58px);line-height:1.16;letter-spacing:-.035em;max-width:1180px;margin:0;color:var(--yellow);overflow-wrap:anywhere}.source-layout{display:block;max-width:1220px}.source-article{max-width:900px;margin:0 auto;line-height:1.9;color:#c4c4bf}.source-article>p,.source-article li{font-size:15px}.source-article .annotation{--chip-stroke:var(--yellow);position:relative;width:fit-content;max-width:100%;margin:58px 0 18px;padding:10px 16px;border:1px solid var(--chip-stroke);background:var(--yellow);color:var(--ink);clip-path:var(--chip-clip);font:750 clamp(14px,1.6vw,18px)/1.4 ui-monospace,monospace;letter-spacing:-.01em}.source-article .annotation::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat}.source-article .annotation-note{display:block;margin:22px 0;padding:14px 18px;border-left:2px solid var(--cyan);background:rgba(39,215,255,.06);color:#aeb7b6;font-size:12px}.source-article strong{color:#f0ede4}.source-article ul,.source-article ol{padding-left:24px}.source-article ol{list-style:disc}.source-article ol li{display:list-item;border-top:0;padding:4px 0}.source-article ol li::marker{color:var(--cyan)}.source-article figure{margin:36px 0}.source-article img{display:block;max-width:100%;height:auto;border:1px solid var(--line)}.source-article figcaption{color:var(--muted);font-size:10px;margin-top:8px}.source-article table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:30px 0}.source-article th,.source-article td{border:1px solid var(--line);padding:12px;min-width:120px;text-align:left;font-size:12px}.source-article th{color:var(--cyan);background:#11161a}.source-article a{color:var(--cyan);border-bottom:1px solid var(--cyan-dark)}.source-article .article-subscription .plan li{font-size:9px;line-height:1.45}.source-article .article-subscription .plan>a,.source-article .article-subscription .plan>a span{color:var(--ink);border-bottom:0}.local-preview{--chip-stroke:rgba(39,215,255,.45);position:relative;margin-top:30px;border:1px solid var(--chip-stroke);background:rgba(39,215,255,.05);clip-path:var(--chip-clip)}.local-preview::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat}.local-preview summary{cursor:pointer;padding:18px 20px;color:#8cecff;font-size:12px}.locked-source{padding:0 22px 40px;border-top:1px solid var(--line)}
.source-article .annotation::after,.local-preview::after{inset:-2px;background:linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) top right/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat,linear-gradient(45deg,transparent calc(50% - .5px),var(--chip-stroke) calc(50% - .5px),var(--chip-stroke) calc(50% + .5px),transparent calc(50% + .5px)) bottom left/var(--chip-diagonal-size) var(--chip-diagonal-size) no-repeat}
.source-article .long-list{columns:2;column-gap:36px}.source-article .long-list li{break-inside:avoid}
/* Unified article typography and restrained cyan signals */
.source-article{font-family:var(--font-sans);font-size:15px;line-height:1.9}
.source-article>p,.source-article .unlocked-source>p,.source-article li{font-size:15px;line-height:1.9}
.source-article .annotation{font-family:var(--font-sans);font-size:18px;font-weight:750;line-height:1.4}
.source-article .annotation-note{font-family:var(--font-sans);font-size:15px;font-weight:650;line-height:1.75;color:#b7c4c4;box-shadow:inset 8px 0 22px rgba(39,215,255,.025);animation:article-note-signal 5.4s steps(1,end) infinite}
.source-article .annotation-note:nth-of-type(3n+2){animation-delay:-1.8s}.source-article .annotation-note:nth-of-type(3n){animation-delay:-3.6s}
.source-article figcaption{font-size:11px;line-height:1.6}
.source-article th,.source-article td{font-size:13px;line-height:1.65}
.source-article>ul,.source-article>ol,.source-article .unlocked-source>ul,.source-article .unlocked-source>ol{list-style:none;padding-left:24px}
.source-article>ul>li,.source-article>ol>li,.source-article .unlocked-source>ul>li,.source-article .unlocked-source>ol>li{position:relative;display:list-item;border-top:0;padding:4px 0}
.source-article>ul>li::before,.source-article>ol>li::before,.source-article .unlocked-source>ul>li::before,.source-article .unlocked-source>ol>li::before{content:"";position:absolute;left:-18px;top:.9em;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 4px rgba(39,215,255,.62);transform:translateY(-50%);animation:article-dot-signal 4.8s steps(1,end) infinite}
.source-article li:nth-child(3n+2)::before{animation-delay:-1.6s}.source-article li:nth-child(3n)::before{animation-delay:-3.2s}
@keyframes article-note-signal{0%,86%,90%,100%{border-left-color:var(--cyan);background:rgba(39,215,255,.06);box-shadow:inset 8px 0 22px rgba(39,215,255,.025)}87%{border-left-color:#8cecff;background:rgba(39,215,255,.09);box-shadow:inset 10px 0 28px rgba(39,215,255,.1),0 0 9px rgba(39,215,255,.08)}88%{border-left-color:rgba(39,215,255,.5);background:rgba(39,215,255,.045);box-shadow:none}89%{border-left-color:#8cecff;background:rgba(39,215,255,.08);box-shadow:inset 8px 0 25px rgba(39,215,255,.08)}}
@keyframes article-dot-signal{0%,82%,87%,100%{opacity:.78;box-shadow:0 0 4px rgba(39,215,255,.62)}83%{opacity:1;box-shadow:0 0 9px rgba(39,215,255,.95)}84%{opacity:.48;box-shadow:0 0 2px rgba(39,215,255,.35)}85%{opacity:1;box-shadow:0 0 11px rgba(39,215,255,1)}86%{opacity:.72;box-shadow:0 0 4px rgba(39,215,255,.55)}}
@media(prefers-reduced-motion:reduce){.source-article .annotation-note,.source-article li::before{animation:none}}
@media(max-width:760px){
  .library-group{grid-template-columns:1fr}.library-group>div{border-left:0}.library-group a{grid-template-columns:75px 1fr auto;padding:16px 8px}
  .source-longform>header{padding:10px 18px 8px;border-bottom:0}
  .source-longform>header h1{display:block;overflow:visible;font-size:clamp(19px,5.4vw,24px);line-height:1.3;letter-spacing:-.018em;margin:0;overflow-wrap:anywhere}
  .source-layout{padding:12px 18px 54px}
  .source-article>p,.source-article li{font-size:16px;line-height:1.9}
  .source-article .annotation{margin:46px 0 16px;font-size:clamp(13px,3.9vw,15px);line-height:1.45;letter-spacing:-.01em}
  .source-article .article-subscription .plan li{font-size:8.5px;line-height:1.4}
  .source-article .annotation-note{font-size:13px;line-height:1.75}
  .source-article .long-list{columns:1}
  .source-article th,.source-article td{font-size:13px;padding:10px}
  .source-article>p,.source-article .unlocked-source>p,.source-article li{font-size:15px;line-height:1.9}
  .source-article .annotation{font-size:18px;line-height:1.4}
  .source-article .annotation-note{font-size:15px;line-height:1.75}
  .source-article figcaption{font-size:11px}
}
